ControlVideo: 可控的Training-free的文本生成视频。
paper:https://arxiv.org/pdf/2305.13077.pdf
code:https://github.com/YBYBZhang/ControlVideo
哈工大&华为云提出的一种可控的文本-视频生成方法ControlVideo,在无需训练的条件下,仅使用一张2080Ti就可以合成较长的高质量视频。
1. 介绍
文本引导的扩散模型在图像合成领域效果很好。但如果想在视频生成中取得不错的效果,需要大量的计算资源和训练数据来学习时序关系的建模。除此之外,所合成的视频也存在着明显的外观不一致或者是结构上的抖动,尤其是在长视频生成中。
为了减少过度的训练要求,本文研究了一种新的高效形式:基于文本到图像模型的,可控文本到视频生成。旨在根据文本描述和运动序列(例如深度或边缘地图)生成视频。无需训练的高质量和一致的可控文本到视频生成方法ControlVideo,以及一种 交错帧平滑器来增强结构平滑度。
如图所示,它可以有效地利用预训练的文本到图像生成模型的生成能力,和运动序列的粗略时间一致性,来生成生动的视频。
ControlVideo是由文本-图片合成模型ControlNet迁移而来,直接继承了 ControlNet 的架构和权重,通过扩展自注意力与 完全跨帧交互 使其适用于视频。完全跨帧交互将所有帧连接起来成为一个“更大的图像”,从而直接继承了 ControlNet 的高质量和一致的生成。交错帧平滑器通过在选定的连续时间步骤上交错插值来消除整个视频的闪烁。
由于采用了高效的设计,即 xFormers 实现和分层采样器,ControlVideo 可以在一个 NVIDIA 上几分钟内生成短视频和长视频。
3. 方法
ControlVideo是由文本-图片合成模型ControlNet迁移而来,利用了输入的结构序列中的粗粒度结构一致性,并提出了三个模块来提升视频的时序一致性与高效性。
三个关键组件:ControlNet、ControlVideo 和 交错帧平滑器。这些组件通过控制噪声的传播路径,在生成的视频中保持了文本描述和运动信息之间的一致性,并通过完全跨帧交互和交错帧平滑器来保持了视频的连贯性和平滑性。
3.1 Fully Cross-Frame Interaction
完全跨帧交互模块,在原本的自注意力模块中添加了完全跨帧注意力机制。旨在通过使所有帧之间相互作用,来增强生成视频的时间一致性。将所有视频帧连接成一个“大图像”,然后使用基于注意力机制的Fully Cross-Frame Interaction来计算帧间交互:
WQ、WK、WV分别将zt投影为query、key、value。 注意力机制将查询和键矩阵相乘,然后使用softmax函数归一化,计算注意力权重。最后将注意力权重乘值矩阵,得到注意力值。
3.2 Interleaved-Frame Smoother:
ControlVideo提出了交错式帧间平滑器,来减少合成视频中的抖动效果。关键思想是通过插值中间帧来平滑每个三帧剪辑,然后以交错的方式重复,以平滑整个视频。
具体来说:在每个时间步,对偶数或奇数帧进行插值,以平滑其相应的三帧剪辑。通过这种方式,来自两个连续时间步的平滑的三帧剪辑重叠在一起,使视频去掉了闪烁。应用交错帧平滑之前,首先根据zt预测出干净的视频潜变量zt-0:
然后将zt-0投影到RGB视频空间,得到对应的视频帧xt-0=D(zt-0)。然后使用交错帧平滑器转换为更加平滑的视频帧~xt-0。通过DDIM去噪算法,计算更少噪声的潜在帧zt-1:
上述过程仅在选择的中间时间步骤进行,这有两个优点:(i)新增的计算负担可以忽略不计;(ii)插值帧的个性和质量能够在后续的去噪步骤中得到很好的保留。
图3:交错帧平滑的说明。通过中间帧插值,在时间步长t,预测的RGB帧xt-0被平滑成。两个连续时间步的组合减少了整个视频的结构闪烁。
3.3 Hierarchical Sampler:
视频扩散模型需要保持帧间交互的时间一致性,通常需要大量的GPU内存和计算资源。
层次化采样器,旨在以一段接一段的方式产生视频,实现高效和一致的长视频合成。在每个时间步中,一段长视频通过关键帧
被划分为多个短视频序列,长度都为Nc-1。然后,基于完全跨帧注意力机制来合成外观一致的关键帧:
以每对关键帧为条件,依次合成其对应的片段,保持整体一致性:
关键帧是用Fully Cross-Frame Attention预先生成的,以确保长距离的一致性。其余帧则使用扩散模型生成。
4. 实验
实现细节。ControlVideo从ControlNet 中调整,交错帧平滑器采用轻量级的RIFE来插值每个三帧剪辑的中间帧。合成的短视频长度为15帧,长视频约100帧。分辨率均为512×512。采用了DDIM采样,使用50个时间步,并默认在时间步骤{30,31}上对预测的RGB帧进行交错帧平滑处理。借助xFormers实现,ControVideo可以在2-10分钟内用一台NVIDIA RTX 2080Ti生成长视频。
评估指标。采用CLIP从两个角度评估视频质量:(i)帧一致性:连续帧之间的平均余弦相似度,以及(ii)提示一致性:输入提示与所有视频帧之间的平均余弦相似度。
baseline。(i)Tune-AVideo:将Stable Diffusion扩展到视频领域,并在源视频上进行微调,利用DDIM的反演代码提供结构引导。(ii)Text2Video-Zero:基于ControlNet,使用Stable Diffusion的第一个跨帧注意力,无需微调。(iii)Follow-Your-Pose:在稳定扩散模型的基础上进行初始化,在LAION-Pose微调以支持人体姿势条件。实现了时间上一致的视频生成。
图4:基于深度图和精细边缘的定性比较。ControlVideo制作的视频比其他视频具有更好的(a)外观一致性和(b)视频质量。相比之下,Tune-A-Video无法从源视频继承结构,而Text2Video-Zero在大运动视频中带来可见的伪影。
表1:ControlVideo与其他方法的定量比较。
图5:姿势的定性比较。Tune-A-Video只保留了原始的人体位置,而Text2Video-Zero和follow - you - pose产生了外观不连贯的帧。ControlVideo在结构和外观上都实现了更好的一致性。
图6:交叉框架机制和交错框架平滑的定性烧蚀研究。考虑到第一排边缘的灵巧性,我们的完全跨帧交互产生的视频帧比其他机制具有更高的质量和一致性,并且添加我们的平滑度进一步增强了视频的平滑度。
表3:交叉框架机制和交错框架平滑的定量消融研究。结果表明,全跨帧机制比其他机制具有更好的帧一致性,并且交错帧平滑显著提高了帧一致性。
5. 讨论
局限性:
-
该方法的生成结果受预训练的文本到图像生成模型的质量和性能影响,因此其生成的视频可能存在与图像生成模型相关的问题,如图像分辨率、细节和颜色等方面的不足。
-
该方法需要输入运动序列,如深度或边缘地图,以帮助生成视频,这可能会限制其适用范围,因为这些运动序列可能难以获取。
-
由于该方法使用分层采样器来生成长视频,因此在生成非常长的视频时可能会存在一些不连贯的问题。
-
该方法的处理速度受到硬件和预训练模型的性能限制,对于某些应用场景可能需要更快的处理速度。
应用场景:
-
视频游戏开发:可以使用该方法生成游戏场景中的动态场景,如人物移动、车辆行驶等。
-
电影和广告制作:可以使用该方法生成预览或草图,以帮助制片人和广告商确定最终的场景和效果。
-
交互式虚拟现实应用:可以使用该方法生成虚拟现实场景,如虚拟旅游、虚拟展览等。
-
视频编辑和后期制作:可以使用该方法生成缺失的镜头或补充一些场景,以帮助编辑和后期制作人员完成工作。
6. 结论
本文中,提出了一个无需训练的框架ControlVideo,用于一致和高效的可控文本到视频的生成。ControlVideo通过添加完全跨帧交互来从ControlNet扩展,以确保外观一致性而不牺牲视频质量。此外,交错帧平滑器在连续时间步长内插交替帧,有效地减少了结构闪烁。通过进一步引入分层采样器和内存效率设计,ControlVideo可以在几分钟内用商用gpu生成短视频和长视频。