Diffusion Models视频生成-博客汇总
前言:随着Sora的爆火,视频生成和视频编辑受到了越来越多的关注。这篇博客总结一下目前开源的视频生成和视频编辑的大模型,并分析他们各自的优缺点,以及在自己进行科研任务或者工作中应该如何选用对应的开源模型,希望能给从事这一领域研究和使用的小伙伴们帮助。
目录
Open-Sora Plan
因果视频VAE
模型结构
训练细节
推理技巧
数据构建
Stable Video Diffusion
Open-Sora
ModelScope T2V
AnimateDiff
VideoCraft
VideoComposer
DynamiCrafter
Open-Sora Plan
https://github.com/PKU-YuanGroup/Open-Sora-Plan/tree/main
相比之前的视频生成模型,Open-Sora-Plan v1.0.0 有以下的改进:
- CausalVideoVAE 高效的训练与推理。用 4×8×8 的对视频进行时间和空间的压缩。
- 图片视频联合训练提升质量。 CasualVideoVAE 视觉将首帧图像,天然支持同时编码图像和视频。这允许扩散模型提取更多时空细节来提高质量。
Open-Sora-Plan v1.0.0支持图片视频联合训练。
因果视频VAE
模型结构
因果VAE架构继承了稳定扩散图像VAE。为了保证图片VAE的预训练权重可以无缝应用到视频VAE中,模型结构采取如下设计:
-
CausalConv3D : 将Conv2D 转变成CausalConv3D 可以实现图片和视频的联合训练。 CausalConv3D 对第一帧进行特殊处理,因为它无法访问后续帧。更多细节,请参考#145
-
初始化:将Conv2D初始化Conv3D常用的方法有两种:平均初始化和中心初始化。但是我们采用了特定的初始化方法(尾部初始化)。这种初始化方法确保模型不需要训练任何就能够直接重建图像,甚至视频。
训练细节
我们展示了17×256×256下两种不同初始化方法的损失曲线。黄色曲线代表使用尾部初始化的损失,而蓝色曲线对应中心初始化的损失。如图所示,尾部初始化在损失曲线上表现出来更好的性能。此外,我们发现中心初始化会导致错误累积,导致长时间内崩溃。
推理技巧
尽管训练Diffusion中VAE始终是冻结的,我们仍然无法负载CasualVideoVAE的花销。在我们的实验中,80G的显着只存能够在半精度下推理一个256×512×512或32×1024×1024的视频,这限制了我们划分更长更高清的视频。因此我们采用平铺卷积,能够以几乎恒定的内存推理无论何时长或无论分辨率的视频。
数据构建
我们定义高质量的视频数据集包括两个核心原则:(1) 不与内容无关的水印。(2) 高质量的文本注释。
对于法则1,我们从开源网站(CC0协议)爬取了大约40k视频:1234个来自mixkit,7408个来自pexels,31616个来自pixabay。我们根据Panda70M提供的场景转换剪切脚本将这些视频大概差不多434k 视频剪辑。事实上,根据我们的剪切结果,从这些网上爬取的 99% 的视频都是单一的场景。此外,我们发现爬取的数据中超过 60% 为风景相关视频。更多细节可以在这里找到。
对于2,很难有大量的高质量的文本注释能够从网上直接抓取因此。我们用成熟的图片标注模型来获取高质量的稠密描述。我们对2个多模态大模型进行消融实验:ShareGPT4V-Captioner-7B和LLaVA-1.6-34B。原先是专门用于制作文本注释的模型实验,而晚上是一个通用的多模态大模型。在我们的消融之后,他们在标题中的表现大约。但是他们推理速度在A800上差距很大:ShareGPT4V-Captioner-7B的批量大小为12的40s/it,ShareGPT4V-Captioner-7B的批量大小为1的15s/it。我们开源所有的文本注释和原视频。
Stable Video Diffusion
https://github.com/Stability-AI/generative-models
我们提出了Stable Video Diffusion——一种用于高分辨率、最先进的文本到视频和图像到视频生成的潜在视频扩散模型。最近,通过插入时间层并在小型、高质量的视频数据集上微调它们,将训练用于 2D 图像合成的潜在扩散模型转化为生成视频模型。然而,文献中的训练方法差异很大,该领域尚未同意 cu-* 同等贡献的统一策略。评级视频数据。在本文中,我们确定并评估了三种不同的阶段,以成功训练视频ldm:文本到图像预训练、视频预训练和高质量的视频微调。此外,我们展示了精心策划的预训练数据集生成高质量视频的必要性,并提出了一个系统管理过程来训练一个强大的基础模型,包括字幕和过滤策略。然后,我们探讨了微调基础模型对高质量数据的影响,并训练了一个与闭源视频生成竞争的文本到视频模型。我们还表明,我们的 base1 模型为下游任务提供了强大的运动表示,例如图像到视频生成以及对相机运动特定 LoRA 模块的适应性。最后,我们证明了我们的模型提供了强大的多视图 3D 先验,可以作为微调多视图扩散模型的基础,该模型以前馈方式联合生成对象的多个视图,在其计算预算的一小部分上优于基于图像的方法。
Open-Sora
https://github.com/hpcaitech/Open-Sora
Open-Sora项目是一项致力于高效制作高质量视频,并使所有人都能使用其模型、工具和内容的计划。 通过采用开源原则,Open-Sora 不仅实现了先进视频生成技术的低成本普及,还提供了一个精简且用户友好的方案,简化了视频制作的复杂性。 通过 Open-Sora,我们希望更多开发者一起探索内容创作领域的创新、创造和包容。
ModelScope T2V
GitHub - modelscope/modelscope: ModelScope: bring the notion of Model-as-a-Service to life.
ModelScopeT2V集成了时空块,以确保一致的帧生成和平滑的运动转换。该模型可以适应训练和推理过程中不同帧数的变化,使其适用于图像文本和视频文本数据集。ModelScopeT2V集合了三个组件(即VQGAN、文本编码器和去噪UNet),总共包含17亿个参数,其中5亿个参数专用于时间能力。该模型在三个评估指标上展示了优于最先进方法的性能。
AnimateDiff
https://github.com/guoyww/AnimateDiff
随着文本到图像模型(如Stable Diffusion)和相应的个性化技术(如LoRA和DreamBooth)的发展,每个人都可以以可承受的成本将自己的想象力表现为高质量的图像。因此,对图像动画技术有很大的需求,以进一步将生成的静止图像与运动动力学相结合。在这个项目中,我们提出了一个有效的框架来一次性地对大多数现有的个性化文本到图像模型进行动画处理,从而节省了特定于模型的调优工作。
提出的框架的核心是将新初始化的运动建模模块附加到基于冻结的文本到图像模型中,然后在视频剪辑上对其进行训练,以提取合理的运动。一旦训练,通过简单地注入这个运动建模模块,所有的个性化版本派生自同一基础一个很容易成为文本驱动模型,产生多样化和个性化的动画图像。
VideoCraft
https://github.com/VideoCrafter/VideoCrafter
VideoCrafter是一个用于制作视频内容的开源视频生成和编辑工具箱。它目前包括Text2Video和Image2Video模型
VideoComposer
https://github.com/ali-vilab/videocomposer
对可控性的追求作为视觉内容创作的更高标准,在可定制图像合成方面取得了显著进展。然而,由于时间动态的巨大变化和跨帧时间一致性的要求,实现可控视频合成仍然是一个挑战。基于合成生成的范例,这项工作提出了VideoCompoer,它允许用户灵活地使用文本条件、空间条件和更重要的时间条件来合成视频。具体来说,考虑到视频数据的特点,我们引入压缩视频的运动矢量作为明确的控制信号,为时间动态提供指导。此外,我们开发了一个时空条件编码器(STC-encoder),作为一个统一的接口,有效地结合时序输入的空间和时间关系,使模型能够更好地利用时间条件,从而实现更高的帧间一致性。大量的实验结果表明,VideoCompoer能够以各种形式同时控制合成视频中的空间和时间模式,例如文本描述、草图序列、参考视频,甚至是简单的手工制作动作。代码和模型将公开提供。
DynamiCrafter
https://github.com/Doubiiu/DynamiCrafter
动画的静态图像提供了一个引人入胜的视觉体验。传统的图像动画技术主要集中在用随机动力学(例如云和流体)或特定领域的运动(例如人的头发或身体运动)来动画自然场景,因此限制了它们对更一般的视觉内容的适用性。为了克服这一限制,我们探索了开放域图像的动态内容合成,将其转换为动画视频。关键思想是通过将图像纳入生成过程作为指导,利用文本到视频扩散模型的运动先验。给定图像,我们首先使用查询转换器将其投影到与文本对齐的富上下文表示空间中,这有助于视频模型以兼容的方式消化图像内容。然而,一些视觉细节仍然难以在最终的视频中保留下来。为了补充更精确的图像信息,我们进一步通过将完整图像与初始噪声连接起来,将其输入扩散模型。实验结果表明,该方法可以产生视觉上令人信服的、更符合逻辑和自然的运动,并且与输入图像的符合性更高。对比评估表明,我们的方法明显优于现有的竞争对手。