来源:arxiv 作者:Chong Mou 等 论文题目:Remake a Video with Motion and Content Control 论文链接:https://arxiv.org/pdf/2405.13865 内容整理:汪奕文 尽管在利用扩散模型生成和编辑视频方面取得了重大进展,但实现精确的视频编辑仍是一项巨大挑战。在本文中,提出了一种新颖的视频编辑(ReVideo)方法,通过指定内容和动作,解决了内容和运动控制之间的耦合和训练不平衡问题,实现了在特定区域进行精确的视频编辑。
基于扩散模型的图像和视频生成技术取得了长足进步。为了实现个性化生成目的,许多作品在生成过程中添加了控制信号,如文本引导的图像和视频生成,以及图像引导的视频生成。
在这些基础模型的基础上,大量工作都在探索如何将其生成功能转移到视频编辑中。早期的工作 (Fate-Zero, Flatten, Tune-A-Video) 基于文本到图像扩散模型来实现视频编辑。然而,文本提示只能提供粗略的条件,限制了编辑的准确性。与文本相比,最新的方法采用图像作为条件,能提供更准确的编辑指导。例如提供目标视频的空间属性 (VideoComposer),或通过提供参考对象来编辑视频中的特定对象 (DreamVideo, Make-a-protagonist)。不过,这些方法在局部编辑和引入新元素(如在视频中添加新对象)方面仍有困难。AnyV2V 通过修改第一帧来编辑视频,实现了内容的精确控制。Pika 可以通过选择编辑区域来重新生成视频中的特定区域。虽然这些方法提高了视频编辑的性能,但只关注视觉内容编辑,无法实现物体的运动控制。
运动是视频的重要方面,但有关视频运动编辑的研究仍然有限。虽然有些方法使用基于轨迹的运动引导 (DragNUWA, DragAnything, MotionCtrl) 和基于 box 的运动引导 (Boximator, Peekaboo) 来实现运动引导的视频生成,但这些方法并不支持运动编辑。
本文的主要贡献如下:
图1
任务定义 本文的目标是对视频进行局部编辑,包括视觉信息和运动信息。此外,视频中未经编辑的内容应保持不变。
因此,条件视频生成模型涉及三个控制信号:已编辑的内容,未编辑区域的内容,已编辑区域的运动条件。本方法通过修改视频的第一帧,然后将其传播到后续视频帧来实现内容编辑。
将编辑后的第一帧表示为 。对于运动条件,使用轨迹线作为控制信号,对于包含 帧的视频,运动条件包含 个轨迹图,每个轨迹图 由 2 个通道组成,分别表示被跟踪点相对于上一帧在水平和垂直方向上的运动。未编辑内容 ,其中 分别指原始视频和编辑区域 mask。
由于本方法采用 SVD 作为预训练的基础模型,其图像到视频的生成能力自然可以作为编辑后第一帧的输入方法。对于未经编辑的内容和运动轨迹条件,本方法训练了额外的控制模块,将其导入生成过程。
轨迹跟踪 在训练过程中,需要从视频中提取轨迹,以提供运动条件 。首先使用网格对密集采样点进行稀疏化处理,从而获得 个初始点。由于运动幅度较大的点有利于训练轨迹控制,本方法首先对每个点进行运动跟踪,以获得它们的路径长度 ,。然后,使用这些点的归一化长度作为采样概率,随机采样 个点。由于高稀疏性不利于模型从这些轨迹中学习,本方法应用高斯滤波器来获得平滑轨迹图 。
图2
具体方法 视频编辑的一个简单实现方式是直接训练一个额外的控制模块(如 ControlNet)将运动和内容条件注入扩散生成过程,如方法 A 所示。具体来说,在输入端,内容编码器 和运动编码器 分别将内容条件 和编辑区域的运动条件 编码为条件嵌入,将它们相加得到融合条件特征 。然后,ControlNet 从 中提取多尺度中间特征,并将其添加到扩散模型的相应层中。
其中, 是 zero-conv 函数。 和 是 SVD 模型和额外控制模块的参数。
图3
根据这一想法进行了几个演示实验。输入视频包含一名先向左移动,再向右移动的女性。编辑目标是在保持其他内容不变的情况下,改变面部向右的运动。
在演示实验 1 中,固定 SVD 并训练控制模块。结果显示,内容条件精确控制了生成视频的未编辑区域。但运动条件没有控制效果,编辑区(黑框区域)的轨迹线与未编辑区的轨迹线一致。可能的原因是单一控制分支难以同时处理两个控制条件。
为了验证这一假设,设计并训练了结构 B 来分别处理这内容条件和运动条件。演示实验 2 表明,运动控制仍然无效,这说明问题更多是由控制条件的训练而不是网络结构造成的。
为了加强运动控制训练,将结构 B 的训练分为两个阶段。在第一阶段,只训练运动控制模块,使其具有运动控制先验。在第二阶段,同时训练运动控制模块和内容控制模块。演示实验 3 的结果表明,虽然运动先验训练产生了良好的运动控制能力,但在引入内容控制后,控制精度会被削弱,并受到未经编辑的内容的影响。
图4
经过这些演示实验,得到了以下启示:
为了纠正忽略运动控制的问题,本方法在简洁的结构 A 上联合控制未经编辑的内容和运动控制的新内容,设计了一种从粗到细的训练策略。
Stage 1 运动先验训练 运动轨迹是一种稀疏且难以学习的控制信号。演示实验表明,运动先验训练可以减轻运动控制内容与未编辑内容之间的耦合。因此,在第一阶段,只训练运动轨迹控制模块,以获得良好的运动控制先验。
Stage 2 解耦训练 基于第一阶段的控制模块,第二阶段的训练旨在增加对未编辑区域的内容控制。即使具有良好的运动控制先验,在引入未经编辑的内容条件后,运动控制的精度仍然会下降。
因此,在这一阶段设计了一种将运动控制和内容控制分离的训练策略。具体来说,本方法将训练样本 中的待编辑部分和未编辑部分设置为两个不同的视频,即 和 。 和 通过编辑 mask 结合在一起,即 。由于编辑区域和未编辑区域来自两个不同的视频,因此无法通过未编辑内容预测编辑区域的运动信息。因此,在训练过程中可以将内容控制和运动控制分离开来。
图5
Stage 3 去块状训练 虽然解耦训练能高精度地实现对定制运动和未编辑内容的联合控制,但它破坏了已编辑区域和未编辑区域之间的一致性,在边界上产生了块状伪影。
为了解决这个问题,本方法设计了第三个训练阶段来消除块状伪影。该阶段的训练以第二阶段的模型为初始,并在普通视频数据上进行训练。为了保留第二阶段解耦的运动和内容控制先验,我们只微调了控制模块和 SVD 模型的时间自注意层中的 key 和 value 。经过这一阶段的训练后,模型消除了块状伪影,并保留了对未编辑内容和运动定制的联合控制。
虽然由粗到细训练策略实现了内容控制和运动控制的解耦,但在一些复杂的运动轨迹中,观察到大量的失败案例。
为了进一步区分未编辑内容和运动轨迹在生成过程中的控制作用,本方法设计了一个时空自适应融合模块(SAFM)。具体来说,SAFM 通过编辑掩码M来预测权重图 ,以融合运动和内容控制,而不是直接求和。由于扩散生成是一个多步迭代过程,控制条件在时间步间的融合应具有自适应调节能力。因此,我们在通道维度上串联时间步长t和M,形成一个时空条件来指导 预测。运动和内容条件的融合公式为
,
其中 为时空嵌入函数,并与 和 联合训练。通过可视化 在不同的时间步长,可以看出 学习了编辑区域的空间特征。它为编辑区域中的运动条件和未编辑区域中的内容条件分配更高的权重。
图6
本方法选择 SVD 作为基本模型,在 WebVid 数据集上训练。在4个NVIDIA A100 gpu上训练,每个GPU的batch size 为 4,分辨率为 512×320,所有训练阶段大约需要6天。在训练过程中,使用 CoTracker 提取运动轨迹,在第一个训练阶段,在整个视频中进行轨迹采样。在第二和第三个训练阶段,在视频中随机选择一个最小尺寸为64 × 64的矩形编辑区域,在其中进行轨迹采样。
从视觉对比可以看出,在一些细粒度的编辑场景中,比如给男人戴上墨镜,AnyV2V 会出现编辑内容丢失的情况。此外,InsV2V和AnyV2V的未编辑区域存在内容失真的问题。尽管Pika可以生成平滑和高保真的结果,但是很难通过文本精确地生成新内容,特别是在添加新对象时。由于缺乏运动控制,AnyV2V 和 Pika 通常会对编辑过的内容生成静态运动。相比之下,ReVideo 可以在整个视频中有效地生成编辑的内容,同时允许用户在编辑区域自定义运动。
图7
图8
ReVideo在所有评估项上都优于InsV2V和AnyV2V。与Pika相比,Revideo 在时间一致性和未编辑内容质量的评估方面的表现略低。值得注意的是,由于缺乏运动控制,AnyV2V 和 Pika 通常会生成新内容的静态运动。由于一致性指标通过相邻视频帧的 CLIP 相似度来衡量,静态运动倾向于在一致性评估中得分更高。ReVideo可以精确地指定编辑区域的外观和运动,更好地满足精确定制的要求。
表1
SAFM的有效性 为了证明SAFM的有效性,用运动和内容控制的直接求和取代 SAFM。实验结果表明,在一些复杂的运动轨迹中,如波浪线,直接求和融合不能精确地控制运动。相比之下,使用 SAFM 可以帮助在编辑区域解耦内容和运动控制,实现更精确的轨迹控制。
SAFM中时间适应的有效性 在这一部分,去掉了 SAFM 模块中的时间条件,即在每个扩散采样步骤中使用相同的融合权重 来融合内容和运动控制。实验结果表明,在不同采样步骤中不区分 会导致编辑区域边界处的伪影不理想。
去块化训练 虽然第一阶段和第二阶段的训练使控制模块具有良好的局部运动控制能力,但我们发现在第三阶段的训练中仍然存在对运动控制的忽略。在第三阶段对整个控制模块进行了微调后,局部运动控制能力下降。因此,在第三阶段仅对部分参数进行优化,以保持局部运动控制先验。实验表明,微调空间层仍然会导致运动控制被忽略。相比之下,微调 Controlnet 和 SVD 中时间层的 Key 和 Value 对局部运动控制能力的影响最小。
图9