快手发表Direct-a-Video,国产AI导演,自定义视频生成
近日,港城大、快手、天大联合发表Direct-a-Video,成功解耦AI生成视频中物体运动和摄像机运动,让视频生成的灵活性和可控性大大增强!
摘要
Direct-a-Video可以让用户独立指定一个或多个对象的运动和/或相机运动,就像导演一样。该系统提出了一种简单而有效的策略,以分离控制对象运动和相机运动。对象运动通过空间交叉注意力调制来控制,相机运动则通过新的时间交叉注意力层来解释定量相机运动参数。该系统可以独立操作,允许单独或组合控制,并且可以推广到开放领域场景。实验结果表明,该方法具有优越性和有效性。
简介
当前的文本到视频合成方法缺乏对用户定义和分离控制摄像机运动和物体运动的支持,这限制了视频运动控制的灵活性。视频中的物体和摄像机都展示了各自的运动,物体运动源于主体的活动,而摄像机运动影响帧之间的过渡。只有当摄像机运动和物体运动都确定时,整个视频运动才变得明确。因此,分离和独立控制摄像机运动和物体运动不仅提供了更多的灵活性,而且减少了视频生成过程中的歧义。然而,这方面的研究目前受到了限制。
Direct-a-Video可以让用户独立指定摄像机移动和一个或多个物体的运动,实现他们想要的运动模式,就像导演一部电影一样。为了实现这一目标,作者提出了一种策略,通过采用两种正交的控制机制来解耦摄像机移动和物体运动控制。在摄像机移动控制方面,作者通过自监督和轻量级训练方法学习帧之间的转换。在物体运动控制方面,作者利用T2V模型的内部先验知识,通过空间交叉注意力调节实现训练免费的方法。总之,这个框架可以让用户独立或同时控制摄像机移动和物体运动,提供了更大的灵活性。
相关工作
可控运动视频生成
视频生成与运动控制的研究已经引起了越来越多的关注。根据输入媒体的类型,可以将这个领域的工作分为三类:图像到视频、视频到视频和文本到视频。
图像到视频的方法主要是将静态图像转换为视频,其中一种常用的运动控制方法是通过关键点拖拽。然而,这种方法由于关键点的局部和稀疏性而存在一定的局限性。
视频到视频的方法主要是进行运动转移,通过学习源视频中的特定动作,并将其应用于目标视频。这些方法高度依赖于源视频中的运动先验,然而这些先验并不总是实际可用的。
文本生成视频的方法重点探讨了如何实现对视频中物体和相机运动的可控性。与现有方法相比,本文提出的方法不需要运动注释,可以实现对多个物体和相机运动方向的控制,具有更高的灵活性和可用性。与其他方法相比,本文的方法更加直观易用,可以有效地实现视频合成。
方法
概述
本文研究了用户指导下的文本到视频生成,包括用户指定的摄像机移动和物体运动。用户需要提供文本提示和物体词汇,以确定摄像机移动的比例和物体运动的起始和结束位置。系统通过插值生成一系列沿着轨迹的物体框来定义物体的时空旅程。最终,模型生成符合用户要求的视频,创造定制化和动态的视觉叙事。
整体流程:训练阶段学习相机运动,推理阶段实现物体运动。训练阶段使用静止相机拍摄的视频样本,并通过增强来模拟相机运动。增强后的视频作为U-Net的输入。相机参数也被编码并注入到可训练的时间交叉注意力层中,以调整相机运动。推理阶段,通过训练好的相机嵌入器和模块,用户可以指定相机参数来控制其运动。同时,我们以无需训练的方式引入物体运动控制:根据用户提示的物体词和相应的框,调整帧级和物体级的空间交叉注意力图,以重新定位物体的空间-时间大小和位置。值得注意的是,推理阶段的调整不涉及额外的优化,因此增加的时间和内存开销可以忽略不计。
摄像机运动控制
我们选择三种类型的相机运动:水平平移、垂直平移和变焦,参数化为c cam三元组作为相机运动的控制信号。这不仅允许定量控制,而且对用户友好,用户可以指定三元组,就像输入文本提示一样简单。
数据构造和增强。由于需要识别和过滤目标运动,从现有视频中提取摄像机运动信息的计算成本很高。本文提出一种使用c cam驱动的相机增强的自监督训练方法,从而绕过了对密集运动标注的需要。
首先,我们正式定义了相机运动参数。在实践中,对于给定的c cam,通过对用固定摄像机捕获的视频的裁剪窗口应用平移和缩放来模拟摄像机运动。这种数据增强利用了现成的数据集,如movishot。
相机嵌入。为了将c cam编码为相机嵌入,我们使用了一个相机嵌入器,其中包括一个傅里叶嵌入器和两个mlp。一个MLP联合编码平移运动,而另一个编码缩放运动。我们根据经验发现,对平移和缩放进行单独编码有助于模型有效区分这两种不同类型的相机移动。
相机模块。我们通过时间层注入相机控制信号。受空间交叉注意力解释文本信息方式的启发,本文引入了新的可训练的时间交叉注意力层,专门用于解释相机信息,称为相机模块,被添加到T2V模型的每个U-Net块中现有的时间自注意力层之后,如图2所示。与文本交叉注意力类似,在此模块中,查询从视觉框架特征F映射,我们分别映射来自平移嵌入e xy和缩放嵌入e z的键和值。通过时间交叉注意力,摄像机运动被注入到视觉特征中,然后作为门控残差添加回来。我们将这个过程表述如下:
为了在学习相机运动的同时保留模型的先验知识,冻结原始权重,只训练新添加的相机嵌入器和相机模块。这些是以摄像机运动c cam和视频字幕c txt为条件的。训练采用扩散噪声-预测损失函数:
物体运动控制
我们选择边界框作为物体运动的控制信号,是因为它在可用性和可访问性方面达到了有利的平衡。边界框比密集条件(例如草图)更有效,因为它们不需要绘图技能,并且它们提供了对象大小的说明,这是稀疏条件(例如关键点)缺乏的特征。
本文选择通过将扩散过程引导到我们想要的结果,来充分利用预训练T2V模型的固有先验。之前的T2I工作已经证明了通过编辑交叉注意力图来控制物体的空间位置的能力。同样,在T2V模型中采用空间交叉注意力调制来制作物体运动。
在交叉注意力层中,查询特征Q来自视觉标记,键K和值特征V从文本标记映射。我们将注意力图QK⊤修改如下:
注意力放大。考虑第k个框中的第n个物体,由边界框B kn包围,由于我们旨在增加该区域内物体存在的概率,我们可以放大B kn区域内相应的物体单词(在提示中为T n)的注意力值。根据DenseDiff的结论,这种放大的规模应该与bkn的面积成反比,即盒子面积越小,注意力增加的幅度越大。由于我们的注意力放大是在盒形区域上进行的,这与对象的自然轮廓不一致,因此将放大限制在早期阶段(对于时间步长t≥τ, τ是放大截止时间步长),因为早期阶段主要专注于生成粗布局。对于t < τ,放松这种控制,使扩散过程能够逐渐细化形状和外观细节。
注意力抑制。为了减轻不相关单词对指定区域的影响,并防止对象特征意外分散到其他区域,抑制了不匹配的查询键标记对的注意力值(起始标记和结束标记除外,否则视频质量会受到影响)。与注意力放大不同,注意力抑制应用于整个采样过程,以防止相互语义干扰,在多目标生成场景中,一个目标的语义可能无意中渗透到另一个目标中。
我们对每一帧中的每个对象进行这种调制,从而可以确定完整的时空对象轨迹。请注意,尽管这种调制在每个帧中独立执行,但生成的视频保持连续,这是由于预训练的时间层保持了时间连续性。
实验
实验设置
实现细节。采用预ModelScopeT2V作为基础模型,集成所提出的可训练相机嵌入器和模块,以促进相机运动学习。
数据集。对于相机运动训练,我们使用movishot的一个子集。尽管训练样本的数量和类别有限,训练后的相机模块仍然能够适应一般场景。对于对象控制评估,收集了200个框-提示对的基准,包括不同的框大小、位置和轨迹,提示主要关注自然动物和物体。
评估指标。(1)为了评估视频生成质量,采用了FID-vid和FVD,参考集是来自MSRVTT的2048个视频,用于相机运动任务,参考集是来自AnimalKingdom的800个视频,用于物体运动任务。(2)为了测量目标框对齐,我们均匀地从每个视频样本中提取8帧,并仅在框区域内计算CLIP图像-文本相似度(CLIP-sim)。(3)为了评估摄像机和物体运动的对齐,引入了流误差。利用VideoFlow,从生成的视频中提取流图。然后将这些流与真实流(来自给定的摄像机运动和对象框)进行比较。在评价摄像机运动时,流误差在整帧上计算;在评价物体运动时,只计算框区域。
基线。包括AnimateDiff(用于相机运动)、Peekaboo(用于物体运动)和VideoComposer(关节控制)。
摄像机运动控制
与AnimateDiff相比,该方法可以支持混合摄像机运动,且更易于使用。与VideoComposer相比,该方法可以更轻松地控制摄像机速度,且不会影响前景物体的运动。该方法在视觉质量和摄像机控制精度方面表现更好。
物体运动控制
与现有的方法相比,该方法可以更好地控制物体的位置和运动,避免了语义混淆和缺失等问题。在定量比较中,该方法在生成质量和物体运动控制方面均优于VideoComposer。
摄像机运动和物体运动的联合控制
本方法支持同时控制摄像机移动和物体运动,通过图5展示了这种能力。给定相同的盒子序列,该方法可以生成具有不同前景-背景运动组合的视频。例如,图5(a)说明静止的盒子并不总是意味着物体静止不动,通过设置不同的摄像机移动,系统可以生成斑马静止不动、向右行走或向左行走的视频。同样,图5(b)表明移动的盒子并不一定意味着物体本身在运动,它可能在原地静止,而摄像机在移动。与现有方法只关注物体不同,该方法使用户能够明确指定摄像机移动和物体运动,提供了定义整体运动模式的灵活性。
消融分析
注意力放大。缺乏注意放大会导致模型失去其定位能力,即物体不会跟随框选框,如图6中的第一行所示。同时,这也会导致CLIP-sim分数下降和流错误增加。
注意力抑制。为了减轻多物体场景中意外的语义混合,特别是当物体具有相似特征时,引入了注意抑制。如果没有抑制,物体A的提示特征也会关注物体B的区域,导致语义重叠。通过启用注意抑制,可以解决这个问题。
相机嵌入设计。将平移(c x,c y)和缩放(c z)运动分别编码到相机控制中,与将它们合并编码的方法进行对比。结果表明,分别编码不同类型的相机运动可以更好地控制相机移动,流错误从0.46增加到1.68。这突显了分别编码不同类型的相机运动的优势。
限制
本方法可以对物体和相机运动进行分离控制,但输入信号之间可能存在冲突,需要合理的用户交互来解决。处理重叠的盒子时,一个物体的语义可能会干扰另一个物体,可以通过自适应自动分割区域来缓解这个问题。目前的数据增强方法限制了系统产生逼真的3D相机运动,未来可以采用更复杂的增强算法来解决这个问题。
总结
Direct-a-Video用于实现对摄像机运动和物体运动的独立和用户导向的控制。该方法通过集成自监督训练方案来解耦摄像机运动和物体运动,并使用无需训练的调制来控制物体运动。实验评估表明,该方法能够有效地实现摄像机运动和物体运动的分离和联合控制,使Direct-a-Video成为一种高效灵活的定制运动创作工具。