单图秒变好莱坞级运镜!MagicMotion实现多物体丝滑运动,复杂场景帧级精准对齐(复旦&微软)

文章链接:https://arxiv.org/pdf/2503.16421
项目链接:https://quanhaol.github.io/magicmotion-site/
Git链接:https://github.com/quanhaol/MagicMotion

亮点直击

  • 提出了MagicMotion,一种轨迹可控的图像到视频生成模型,支持三种控制信号:掩码、边界框和稀疏框。

  • 引入了一种数据整理和过滤机制,并构建了MagicData,这是第一个用于轨迹控制视频生成的公开数据集。

  • 提出了MagicBench,一个全面的基准,用于评估轨迹可控视频生成模型在不同控制对象数量下的视频质量和轨迹控制准确性。

总结速览

解决的问题

  • 复杂对象运动和多对象运动控制的困难:现有方法在处理复杂对象运动和多对象运动控制时,存在轨迹遵循不精确、对象一致性差和视觉质量下降的问题。

  • 单一轨迹控制格式的限制:现有方法仅支持单一格式的轨迹控制,限制了其在不同场景中的适用性。

  • 缺乏专门的数据集和基准:目前没有公开的大规模数据集或基准专门用于轨迹可控视频生成,阻碍了鲁棒训练和系统评估。

提出的方案

  • MagicMotion框架:引入了一个新的图像到视频生成框架,支持通过从密集到稀疏的三个层次条件(掩码、边界框和稀疏框)进行轨迹控制。

  • MagicData数据集:构建了一个大规模轨迹控制视频数据集,包含51K视频样本,每个样本都标注有<视频、文本、轨迹>三元组。

  • MagicBench基准:引入了一个全面的基准,评估不同数量对象的视频质量和轨迹控制准确性。

应用的技术

  • Trajectory ControlNet:使用类似于ControlNet的架构来编码轨迹信息,并通过零初始化卷积层将其添加到原始DiT模型中。

  • 渐进训练策略:支持三种类型的轨迹条件(掩码、边界框和稀疏框),并通过渐进训练策略提高模型性能。

  • 隐空间分割损失:提出了一种新的隐空间分割损失,帮助视频生成模型更好地理解对象的细粒度形状,同时减少计算量。

  • 数据pipeline:设计了一个数据pipeline,使用大型语言模型提取视频中的主要运动对象,并使用Segment Anything Model (SAM2)标注这些对象的分割掩码和边界框。

达到的效果

  • 提高轨迹控制精度和对象一致性:MagicMotion能够沿定义轨迹无缝动画对象,同时保持对象一致性和视觉质量。

  • 支持多种轨迹控制格式:通过支持从密集到稀疏的三种轨迹条件,提高了框架的适用性。

  • 构建高质量数据集和基准:MagicData和MagicBench为轨迹可控视频生成提供了高质量的数据集和系统评估基准,促进了该领域的研究和发展。

  • 实验验证:大量实验证明,MagicMotion在各种指标上优于现有方法。

方法

概述

本文的工作主要集中在轨迹可控的视频生成上。给定输入图像 和多个轨迹图 ,模型可以生成符合提供轨迹的视频 ,其中 表示生成视频的长度。

本节首先详细解释本文的模型架构。接着概述渐进训练过程。然后介绍了隐空间分割损失(Latent Segmentation Loss),并展示了它如何增强模型在细粒度对象形状上的能力。再描述了数据集整理和过滤流程。最后深入介绍了MagicBench。

模型架构

基础图像到视频生成模型
本文使用CogVideoX-5B-I2V作为本文的基础图像到视频模型。CogVideoX基于DiT(扩散Transformer)架构,结合了3D-Full Attention以生成高质量视频。如下图2所示,模型接收输入图像 和相应的视频 ,并使用预训练的3D VAE 将它们编码为隐空间表示 。随后, 被零填充到 帧,并与噪声版本的 连接,然后输入到扩散Transformer中,经过一系列Transformer块在预定义的步骤中迭代去噪。最后,去噪后的隐空间表示通过3D VAE解码器解码,得到输出视频 。

轨迹ControlNet
为了确保生成的视频遵循输入轨迹图 提供的运动模式,本文采用了类似于ControlNet的设计来注入轨迹条件。如上图2所示,使用3D VAE编码器将轨迹图编码为 ,然后将其与编码后的视频 连接,并作为Trajectory ControlNet的输入。Trajectory ControlNet由所有预训练DiT块的可训练副本构建,用于编码用户提供的轨迹信息。每个Trajectory ControlNet块的输出随后通过零初始化卷积层处理,并添加到基础模型中的相应DiT块中,以提供轨迹指导。

从密集到稀疏的训练过程

密集轨迹条件(如分割掩码)比稀疏条件(如边界框)提供更精确的控制,但对用户不太友好。为了解决这个问题,MagicMotion采用了渐进训练过程,其中每个阶段都使用前一阶段的权重初始化模型。这使得模型能够支持从密集到稀疏的三种轨迹控制。与从头开始使用稀疏条件训练相比,这种渐进训练策略有助于模型实现更好的性能。

在各个阶段采用以下轨迹条件:

  • 阶段1:使用分割掩码。

  • 阶段2:使用边界框。

  • 阶段3:使用稀疏边界框,其中少于10帧具有框标注。

此外,始终将轨迹条件的第一帧设置为分割掩码,以指定应该移动的前景对象。

本文的模型采用速度预测。设 为初始视频隐空间表示, 为高斯噪声, 为加噪后的视频隐空间表示, 为模型输出。扩散损失可以表示为:

隐空间分割损失

基于边界框的轨迹能够控制对象的位置和大小,但缺乏对细粒度形状的感知能力。为了解决这个问题,本文提出了隐空间分割损失(Latent Segmentation Loss),该损失在模型训练过程中引入分割掩码信息,从而增强模型对细粒度对象形状的感知能力。

以往的工作已经利用扩散生成模型进行感知任务,证明了扩散模型提取的特征包含丰富的语义信息。然而,这些模型通常在像素空间中操作,导致计算时间较长且GPU内存消耗较大。

为了在合理范围内保持计算成本的同时引入密集轨迹信息,本文提出利用轻量级分割头直接在隐空间中预测分割掩码,从而避免了解码操作。

本文的分割头从每个DiT块中提取一系列扩散特征 ,并输出隐空间分割掩码 。本文采用了一种受Panoptic FPN 启发的轻量级架构。每个扩散特征首先通过一个卷积层提取视觉特征 。然后将这些特征连接起来,并通过另一个卷积层和上采样层处理,生成最终的隐空间分割掩码。

通过计算 与真实掩码轨迹隐空间表示 之间的欧几里得距离来计算隐空间分割损失,其公式为:

在实践中, 仅在阶段2和阶段3中使用,当模型在稀疏条件下训练时,为其提供密集条件信息。将 的权重设置为0.5,原始扩散损失的权重设置为1。最终损失函数可以表示为:

在实践中, 仅在阶段2和阶段3中使用,当模型在稀疏条件下训练时,为其提供密集条件信息。将 的权重设置为0.5,原始扩散损失的权重设置为1。最终损失函数可以表示为:

其中, 在阶段1中设置为0,在阶段2和阶段3中设置为0.5。

数据Pipeline

轨迹可控视频生成需要一个带有轨迹标注的视频数据集。然而,现有的大规模视频数据集仅提供文本标注,缺乏轨迹数据。此外,几乎所有先前的工作都使用私有的数据集,这些数据集并未公开。

本文提出了一种全面且通用的数据pipeline,用于生成具有密集(掩码)和稀疏(边界框)标注的高质量视频数据。如图3所示,该pipeline由两个主要阶段组成:整理pipeline过滤pipeline。整理pipeline负责从视频-文本数据集中构建轨迹信息,而过滤pipeline确保在训练前移除不合适的视频。

整理pipeline
从Pexels开始数据集整理过程,这是一个包含396K视频片段及其文本标注的大规模视频-文本数据集。它涵盖了具有多样化主题、场景和运动的视频。使用Llama3.1 从每个视频的文本标注中提取前景运动对象。如下图3所示,将视频的标题输入语言模型,并提示其识别句子中提到的主要前景对象。如果模型确定句子中不包含任何前景对象,则返回“空”,并过滤掉此类视频。接下来,使用Grounded-SAM2,这是一个基于视频及其主要对象生成每个主要对象分割掩码的接地分割模型。每个对象都用唯一的颜色进行一致标注。最后,使用分割掩码的左上角和右下角坐标提取边界框,并为每个对象绘制相应的框。每个对象的边界框颜色与其分割掩码保持一致。

过滤pipeline
许多视频仅包含静态场景,这对训练轨迹控制视频生成模型没有帮助。为了解决这个问题,本文使用光流分数来过滤掉几乎没有运动和动态的视频。使用UniMatch 提取帧之间的光流图,并计算这些光流图的平均绝对值作为光流分数,代表视频的运动强度。然而,具有背景运动但前景静态的视频仍然可能具有较高的运动分数。为了解决这个问题,本文进一步使用UniMatch基于分割掩码和边界框提取前景对象的光流分数。过滤掉前景光流分数较低的视频,确保MagicData仅包含具有运动前景对象的视频。

整理pipeline生成的轨迹标注需要进一步优化。如图3所示,一些视频包含过多的前景对象标注,或者它们的大小可能过大或过小。为了解决这个问题,本文将这些因素控制在合理范围内,并过滤掉超出可接受范围的视频。基于广泛的手动评估,经验性地将光流分数阈值设置为2.0,将前景对象标注的数量限制在1到3之间,并将标注区域比例限制在0.008到0.83之间。整个数据整理和过滤pipeline最终生成了MagicData,这是一个高质量的轨迹可控视频生成数据集,包含51K视频,具有密集和稀疏的轨迹标注。

MagicBench

以往关于轨迹控制视频生成的工作主要在DAVIS(数据集规模相对较小)、VIPSeg(每视频标注帧数不足)或私有构建的测试集上进行验证。因此,迫切需要一个大尺度、公开可用的基准,以实现该领域不同模型之间的公平比较。为了填补这一空白,使用数据pipeline构建了MagicBench,这是一个包含600个视频及其对应轨迹标注的大规模开放基准。MagicBench不仅评估视频质量和轨迹准确性,还将控制对象的数量作为关键评估因素。具体来说,它根据控制对象的数量分为6组,范围从1到5个对象以及超过5个对象,每个类别包含100个高质量视频。

评估指标
对于评估指标,采用FVD来评估视频质量,FID来评估图像质量。为了量化运动控制准确性,使用Mask IoU和Box IoU,分别衡量掩码和边界框的准确性。给定生成的视频 ,使用第一帧的真实掩码 作为输入,通过SAM2 预测 中前景对象的掩码 。对于每个前景对象,计算每帧中 与真实掩码 之间的交并比(IoU),然后取平均值得到Mask IoU。类似地,本文计算每帧中预测边界框与真实边界框之间的IoU,并取平均值作为Box IoU。

实验

实验设置

实现细节
本文采用CogVideoX 5B 作为基础图像到视频模型,该模型训练用于生成分辨率为480×720的49帧视频。MagicMotion的每个阶段在MagicData上训练一个epoch。训练过程分为三个阶段:

  • 阶段1:从头开始训练Trajectory ControlNet。

  • 阶段2:使用阶段1的权重进一步优化Trajectory ControlNet,同时从头训练Segment Head。

  • 阶段3:使用阶段2的权重继续训练Trajectory ControlNet和Segment Head。

所有训练实验均在4个NVIDIA A100-80G GPU上进行。使用AdamW 作为优化器,学习率为$1e^{-5$,每个GPU的批量大小为1。在推理过程中,默认设置步数为50,引导尺度为6,Trajectory ControlNet的权重为1.0。

数据集
在训练过程中,使用MagicData作为训练集。MagicData通过第3.5节中描述的数据pipeline标注了从密集到稀疏的轨迹信息,共包含51,000个<视频、文本、轨迹>三元组。在训练过程中,每个视频被调整为480×720分辨率,并每段采样49帧。在评估过程中,在MagicBench和DAVIS上评估所有方法,使用第3.6节中描述的对比指标。

与其他方法的对比

为了进行全面且公平的比较,将本文的方法与7种公开的轨迹可控图像到视频(I2V)方法进行了对比。定量对比和定性对比结果如下。

定量对比
为了将MagicMotion与之前的工作进行比较,本文使用DAVIS和MagicBench中每个视频的前49帧作为真实视频。由于某些方法不支持生成长达49帧的视频,从这49帧中均匀采样N帧进行评估,其中N表示每种方法支持的视频长度。本文利用这些选定帧的掩码和边界框标注作为基于掩码或边界框方法的轨迹输入。对于基于点或光流的方法,提取每帧掩码的中心点作为输入。

如下表1所示,本文的方法在MagicBench和DAVIS上的所有指标均优于之前的所有方法,展示了其生成更高质量视频和更精确轨迹控制的能力。此外,根据控制对象的数量评估了每种方法在MagicBench上的表现。如图4所示,本文的方法在所有对象数量类别中均取得了最佳结果,进一步证明了本文方法的优越性。

定性对比
定性对比结果如下图5所示,提供了输入图像、提示和轨迹。如图5所示,Tora 能够准确控制运动轨迹,但在保持对象形状方面存在困难。而DragAnything、ImageConductor 和MotionI2V难以保持原始主题的一致性,导致后续帧中出现显著变形。同时,DragNUWA、LeviTor和SG-I2V在细节上经常产生伪影和不一致。相比之下,MagicMotion能够使移动对象沿指定轨迹平滑移动,同时保持高质量的视频。

消融实验

本节通过消融实验验证了MagicData数据集的有效性。此外,还展示了渐进训练过程和隐空间分割损失如何增强模型在稀疏控制条件下对精确对象形状的理解,从而提高轨迹控制的准确性。

数据集消融实验
为了验证MagicData的有效性,通过结合两个公开的视频对象分割(VOS)数据集MeViS和MOSE构建了一个消融数据集。为了公平比较,本文使用MagicData或消融数据集作为训练集,分别训练MagicMotion的阶段2一个epoch,两者均使用相同的阶段1权重进行初始化。然后,在MagicBench和DAVIS上评估了模型。

如下表2所示,使用MagicData训练的模型在所有指标上均优于使用消融数据集训练的模型。定性对比结果如下图6所示。在这个案例中,本文的目标是将右下角的男孩逐渐移动到图像中心。然而,不使用MagicData会导致一个意外的孩子出现在男孩旁边。相比之下,使用MagicData训练的模型表现良好,能够使男孩沿指定轨迹移动,同时保持视频质量。

渐进训练过程消融实验
渐进训练过程使模型能够利用前一阶段学习的权重,在稀疏轨迹条件下训练时融入密集轨迹控制信息。为了验证这种方法的有效性,从头开始训练模型一个epoch,使用边界框作为轨迹条件,并将其与MagicMotion的阶段2进行比较。

如下表3所示,排除渐进训练过程会削弱模型对对象形状的感知能力,最终降低轨迹控制的准确性。图7中的定性对比进一步说明了这些影响,其中未使用渐进训练过程训练的模型将女性的头部完全变成了头发。

隐空间分割损失消融实验

隐空间分割损失(Latent Segment Loss)使模型在使用稀疏轨迹训练时能够预测密集分割掩码,从而增强其在稀疏条件下对细粒度对象形状的感知能力。为了评估该技术的有效性,从阶段1开始训练模型一个epoch,使用边界框作为轨迹条件,并将其与MagicMotion的阶段2进行比较。下表3显示,缺少隐空间分割损失会降低模型对对象形状的感知能力,导致轨迹控制不够精确。下图8中的定性对比进一步突出了这种影响。在没有隐空间分割损失的情况下,生成视频中女性的手臂显得不完整。

结论

MagicMotion,一种轨迹控制的图像到视频生成方法,该方法使用类似ControlNet的架构将轨迹信息集成到扩散Transformer中。本文采用了渐进训练策略,使MagicMotion能够支持三种层次的轨迹控制:密集掩码、边界框和稀疏框。本文还利用隐空间分割损失(Latent Segment Loss)来增强模型在仅提供稀疏轨迹条件时对细粒度对象形状的感知能力。此外,提出了MagicData,这是一个通过鲁棒数据pipeline创建的高质量标注数据集,专门用于轨迹控制视频生成。最后,引入了MagicBench,这是一个用于评估轨迹控制视频生成的大规模基准。MagicBench不仅评估视频质量和轨迹准确性,还将控制对象的数量纳入考量。在MagicBench和DAVIS上进行的大量实验证明了MagicMotion相较于之前工作的优越性。

参考文献

[1] MagicMotion: Controllable Video Generation with Dense-to-Sparse Trajectory Guidance

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值