香港大学与阿里达摩院联合提出视频任意门(VideoAnydoor)模型,该方法支持将目标准确插入指定视频中。在该过程中,提出的方法可以准确保持参考目标的身份信息,同时根据给定轨迹进行精准动作控制,实现高保真的视频目标插入。提出的方法无需微调便可应用于包含视频目标交换,视频换脸,视频虚拟换衣,视频多区域编辑等多种领域,具有广泛的应用价值。
-
论文标题:VideoAnydoor: High-fidelity Video Object Insertion with Precise Motion Control
-
项目主页:
https://videoanydoor.github.io/
-
论文链接:
https://arxiv.org/pdf/2501.01427
-
视频介绍:
https://www.youtube.com/watch?v=4YYGejumDfU
效果展示
我们首先展示方法在目标插入任务上的性能,实验结果表明方法可以将给定对象无缝插入到给定视频中,并精确控制其运动及位置。该方法具有较强的应用前景,可以将视频编辑的门槛大大降低,让更多创作者可以根据自己的创意快速实现内容创作。
如下所示,用户可以让美丽的蝴蝶轻盈地飞到花朵上;哈士奇可以和主人在雪中同步起跳;海鸥在广阔的海面上自由翱翔;车辆潇洒地转弯....
另外,VideoAnydoor支持向视频中的某个目标插入图案,实验结果表明,插入的图案能够非常自然地融入到背景中(例如向人的衣服上贴上LV的图案),能够展现出与背景一致的和谐度,同时具有良好的帧间一致性,显著提升了任务的生成质量。
随后我们展示了方法在视频虚拟换衣任务上的性能。作为目标插入的子任务,视频虚拟换衣对于细节保持上有着更为严格的要求。实验结果表明VideoAnydoor 能够精准地保留对象的外观细节,让每一个纹理、每一处图案、每一处色彩都清晰可见。同时,它还具备卓越的视频流畅性,让换衣后的视频如同自然拍摄一般,毫无卡顿与不自然之感。
此外,VideoAnydoor 支持视频多区域编辑,展现出许多未经过专门训练的强大能力,进一步证明其通用性和扩展性。这种多区域编辑能力为视频创作提供更大的灵活性和可能性。
除了上述结果外,我们在论文中也展示了更多VideoAnydoor编辑得到的结果,如下所示,编辑之后的结果可以准确地根据参考图像以及给定的运动轨迹,向视频中流畅地插入目标,具有较强的实际应用潜力。
方法介绍
动机
作为视频编辑领域的重要方向,视频目标插入在实际场景中有着广泛的应用潜力。
该任务存在两个难点: 准确身份保持和精准动作控制。现有的方法(如AnyV2V或是ReVideo)大多采用两阶段编辑方式,即先用图像的定制化方法编辑第一帧,随后以第一帧作为条件生成后续帧。然而这种方式在生成的第一帧并不完美的情况,会导致整个视频出现严重的失真现象。
另外由于他们并没有向后续帧注入身份信息,因此这些帧中目标的身份以及动作常会出现明显瑕疵。因此我们在本文中旨在设计一种端到端零样本目标插入框架,可同时实现准确的身份信息保持和精准的目标动作控制。
模型结构
我们基于2D补全扩散模型并插入动作模块构建初始网络,同时利用DINOv2作为身份信息提取器实现初步身份保持,另外使用包围框作为粗粒度动作指导条件。
在将参考图输入该提取器之前,我们使用分割模型去除对应的背景区域以得到紧致的身份信息潜在编码。对于细粒度控制,我们采用交互友好的轨迹线作为控制条件,同时提出了一个像素包裹器根据用户想要的动作及姿态打包像素中包含的细节信息,实现外观信息和准确动作的同时建模。
最后我们引入了一个重加权重建损失以放大关键点带来的影响,并设计了一种图像和视频混合训练的策略来缓解因为缺少大量高质量数据带来的影响,实现高保真的目标插入。
推理过程中,用户只需提供一张参考图像,一个需要编辑的原视频,以及一个运动框轨迹或是运动框轨迹加关键点轨迹,我们的方法便可端到端自动完成对象插入及运动控制,无需额外微调,大大简化了视频编辑的流程。
像素包裹器
-
轨迹采样: 在训练过程中,从视频中提取轨迹以提供运动条件是至关重要的。先前的工作表明,物体的运动可以通过关键点来控制。因此,如下图所示,我们首先将第一帧输入到 X-Pose中,以初始化后续轨迹生成的点。对于 X-Pose 未能检测到任何关键点的情况,我们使用网格对密集采样点进行稀疏化。我们凭经验发现,运动幅度较大的点对轨迹控制更有帮助。然而,这些点大多密集分布在某些区域,导致严重的信息冗余。因此,为了过滤掉不需要的点,我们首先执行非极大值抑制以过滤掉密集分布的点。然后,我们对每个点进行运动跟踪以获得它们的路径长度。然后,我们保留运动幅度最大的 N 个点,并使用相应的轨迹图作为控制信号。
-
动作注入: 一种简单的运动注入实现方法是像之前的方法,只训练一个类似的控制模块来注入运动条件。然而,这样的方案可能无法准确地插入具有期望运动和外观细节的物体,因为它与参考物体没有明确的语义对应关系。因此,物体可能会以不期望的姿势插入到视频中,导致前景区域出现严重失真。为了解决这个问题,我们输入一对轨迹图和对应的参考图像作为细粒度的指导。在该过程中,轨迹序列与关键点标注后的参考图对应的潜在编码分别输入两个交叉注意力模块进行语义感知融合。随后融合后的特征输入ControlNet提取多尺度特征输入扩散模型的各层中,实现细粒度外观信息建模及准确动作控制。
-
重加权: 为了进一步增强对身份和运动的细粒度建模,我们提出了一种重加权的扩散损失,它区分了轨迹周围区域与剩余区域的贡献。具体来说,我们放大轨迹周围区域的贡献,以增强主体和运动学习,同时对这些剩余的区域保留原始的扩散损失。
数据构造
用于训练的理想样本应当是“同一场景位置但包含不同物体”的视频对,但现有的数据集很难收集到这样的样本。
作为替代方案,我们从同一视频中抽取所有需要的数据。具体来说,对于一个视频,我们选取一个视频片段和一个与该片段距离最大的帧。
对于视频片段,我们生成框序列,并去除框区域以得到场景视频,未被掩码的视频可以用作训练的真实值。具体来说,在实现中我们使用扩展的边界框而不是紧密包围的边界框。
对于移动范围较小的框,我们使用框的并集作为最终框,以减少边界框对运动的影响。所有的训练数据如下图所示:
为了缓解高质量视频数据不足带来的问题,我们采用图像与视频一起进行联合训练。然而,直接重复图像会损害时间模块的判别性学习。相反,我们通过手动操作相机将图像增强为视频。
具体来说,我们从不同方向以等间隔随机平移/裁剪图像获得图像序列。然后,对图像序列进行双线性插值处理以增强视频的平滑度。虽然增强后的视频有利于外观变化的学习,但它们与真实视频的本质区别可能会损害运动学习。
因此,我们采用自适应时间步长采样,使不同模态的数据能够在去噪训练的不同阶段做出贡献。
效果对比
为了进一步凸显我们的方法在目标插入方面的优势,我们与目前最为优秀的方法进行了综合对比。
如下图所示,由于采用两阶段编辑范式,AnyV2V在编辑区域和未编辑区域都存在严重的内容失真问题。此外,由于使用文本作为控制信号,它的动作一致性较差。
对于 ReVideo 来说,也存在明显的编辑内容丢失情况,特别是在有较大运动的情况下。由于运动信号中缺乏语义信息,它对插入对象的姿态控制较差(蝴蝶以相反的姿态移动)。
相比之下,我们的 VideoAnydoor 可以有效地保留未编辑的内容,同时允许用户在编辑区域自定义运动。
为了更加有力地验证我们所提出的方法能够准确地与给定的运动轨迹进行对齐,我们特意展示了同一目标在不同运动轨迹下的生成结果。
无论是柴犬起跳时的活力瞬间,转身时的灵动姿态,还是向前走时的坚定步伐,所有的结果都令人惊叹地展现出了良好的身份以及动作一致性。
同时,背景与柴犬的融合也达到了较高的和谐程度。我们的方法以其卓越的性能,为视频创作和处理带来了全新的可能,让每一个画面都成为艺术的杰作。
最后为了验证每个模块对于最终性能的提升,我们进行了详细的消融实验。
如下所示,仅使用静态图像进行训练会损害模型的动作一致性,而只使用真实视频则会因为缺少足够的训练数据导致结果出现失真的情况,另外当移除我们提出的像素包裹器模块,插入的姿态和身份信息都出现了明显的错误。
当融合所有提出的模块时,VideoAnydoor可以取得最优秀的性能。