弥补2D拖拽缺陷!南大&蚂蚁等重磅开源LeviTor:首次引入3D目标轨迹控制,效果惊艳
论文链接:https://arxiv.org/pdf/2412.15214
项目链接:https://ppetrichor.github.io/levitor.github.io/
亮点直击
- LeviTor,一种通过结合深度信息和K-means聚类点来控制视频合成中3D物体轨迹的新方法,无需显式的3D轨迹跟踪。
- 利用高质量的SAV数据集进行训练,有效捕捉了多样场景中复杂的物体运动和交互。
- 开发了一个用户友好的推理 pipeline,简化了3D轨迹的输入,使其对更广泛的用户群体更加易用。
- 首次在图像到视频合成中引入了3D物体轨迹控制,为更先进和易于使用的视频生成技术铺平了道路。
总结速览
解决的问题
- 现有的2D空间拖拽方法在处理平面外运动时存在歧义,无法有效控制图像到视频合成中的物体轨迹。
提出的方案
- 引入深度维度,增强基于拖拽的交互方式,使用户能够为轨迹上的每个点指定相对深度,从而实现3D空间中的轨迹控制。
- 将物体mask抽象为几个聚类点,并结合深度信息和实例信息,将这些信息作为控制信号输入到视频扩散模型中。
应用的技术
- LeviTor方法:结合深度信息和K-means聚类点进行3D物体轨迹控制。
- 使用高质量的SAV数据集进行模型训练,以捕捉复杂的物体运动和交互。
- 开发用户友好的推理 pipeline ,简化3D轨迹的输入过程。
达到的效果
- LeviTor能够在从静态图像生成照片级逼真视频时,精确操控物体运动。
- 拓宽了创意应用的范围,使3D轨迹控制更加易于使用,适用于更广泛的用户群体。
- 首次在图像到视频合成中实现了3D物体轨迹控制,为更先进和易用的视频生成技术铺平了道路。
方法
问题表述
为了学习真实的物体运动,训练数据集应包含具有准确物体运动的高质量视频。然而,现有提供3D运动轨迹的数据集要么规模有限,要么仅由合成数据组成。视频对象分割(VOS)数据集,特别是最近发布的SAM2,提供了高质量的视频和精确的物体mask标注,使其成为我们目的的适当选择。然而,仍然存在两个主要挑战:
- 数据集中缺乏明确的3D轨迹信息,而这是训练模型理解和合成3D运动所必需的。因此,需要隐式表达数据中包含的3D运动信息。
- 提供的mask标注对于实际用户输入来说过于详细,因为不能期望用户提供如此细致的mask或密集的3D轨迹进行控制。因此,有必要设计一种用户易于输入的3D轨迹表示方法。
为了解决这些问题,建议使用从物体mask中提取的K-means点及其深度信息作为控制信号。具体来说,对mask的像素应用K-means聚类,以获得一组代表性的控制点:
这种表示方式允许用户通过简单地在二维图像上选择点并根据需要调整深度值来高效地指定三维轨迹。因此,按照下文中的描述设计了训练和推理流程。
训练 Pipeline
接着,使用 DepthAnythingV2来估计每帧的相对深度。因此,我们可以将深度值分配给相应的二维坐标轨迹,从而获得三维轨迹。最后,我们用高斯热图表示二维轨迹,并将轨迹、实例点和深度点连接在一起,作为控制信号。这一信号通过 ControlNet注入到稳定视频扩散(SVD)中,以生成与三维轨迹对齐的视频。我们的控制信号生成过程如下图 3 所示。
训练过程可以表示为:
推理 Pipeline
设计了一个用户友好的交互系统用于推理,其概览如下图4所示。以图像作为输入,系统首先使用DepthAnythingV2和SAM自动从图像中提取深度信息和物体mask。然后,用户可以利用检索面板通过简单点击图像来选择要移动的物体mask。他们还可以自动获取点击点的相对深度值。之后,用户可以使用交互面板点击更多点以形成物体轨迹。同时,用户可以参考先前获得的点击位置的相对深度值,根据需要输入轨迹内点的深度信息,从而提供相应的三维轨迹。
对于用户提供的稀疏三维轨迹和选定的mask作为输入,需要将其转换为相应的多点控制信息。这是因为要求用户输入符合物理规律的多点轨迹以表示正确的遮挡和深度变化是困难的。通常,他们只输入单一轨迹以指示物体的移动。因此,需要这种转换以通过控制点的聚集或分散来表示物体的三维运动。通过生成三维渲染的物体mask,然后使用K-means选择控制点来实现这一点,如下图5所示。
具体来说,首先将起始图像中像素的二维坐标与它们的深度值结合,以获得三维空间点,表示为 ,其中n表示选定mask中的像素数。然后我们将这些点转换到相机坐标系中。我们假设所有相机的内参都相同且相机保持静止,因此旋转矩阵是单位矩阵。转换的第一步是将二维像素点及其深度值转换到相机坐标系中,并在这个转换后的三维空间中移动属于用户选定mask的点。
通过这种方式,仅通过用户输入的稀疏轨迹来表示物体的移动、遮挡以及由于前后移动导致的尺寸变化。同时,从三维空间渲染到二维的mask变化也完全遵循物理定律。通过将点映射到三维空间,然后再渲染回二维mask图像,将稀疏的用户控制转换为密集的mask表示。这些mask可以准确反映物体的移动和遮挡。接下来,基于渲染得到的mask使用 K-means 计算聚类中心。结合用户指定的深度变化,推导出适当数量的控制轨迹,以使用LeviTor 生成最终视频。进一步使用 K-means 选择控制点是必要的,因为三维空间中的移动过程无法表示非刚性变换。如果直接使用密集mask进行控制,只会导致物体的简单平移,如下图 8 所示。通过将mask转换为适量的轨迹控制信号,生成模型能够捕捉物体的运动变化,同时还添加一些非刚性运动的细节。
实验
实验设置
数据集。 为了训练,使用高质量的视频对象分割(VOS)数据集 Segment Anything Video (SA-V) ,该数据集包含 51K 个多样化的视频和 643K 个高质量时空分割mask。在 DAVIS 数据集上进行评估,并将视频分割为 16 帧的剪辑进行测试。受 DragAnything 的启发,对起始帧中每个物体的mask应用 K-means,以在每个mask区域选择 K 个点作为控制点。然后,使用 Co-Tracker 跟踪这些控制点,以生成相应的点轨迹作为真实值。
指标。 根据 [45, 47],采用 Frechet 视频距离(FVD) 来衡量视频质量,并使用 Frechet Inception 距离 (FID) 评估图像质量。对于运动可控性评估,利用 ObjMC ,其计算生成轨迹与预定义轨迹之间的欧氏距离。生成视频的轨迹是使用 Co-Tracker 提取的。
与其他方法对比
将我们的方法与DragNUWA和DragAnything进行比较,这两者能够在给定图像上实现运动控制,并且其代码是公开可用的。进行了定性和定量比较。
定性比较。在定性分析中,重点验证了在视频生成中引入3D轨迹的重要作用,包括以下三个方面:
- 物体之间相互遮挡的控制;
- 更好地控制物体相对于镜头的前后运动;
- 复杂运动(如轨道运动)的实现。
定性比较结果如下图6所示,向所有模型输入相同的2D控制轨迹。图像的前两行展示了遮挡控制的验证结果。在这种情况下,为LeviTor提供了不同的深度变化:第一行的深度从远到近变化,而第二行的深度仅靠近,但没有比街边建筑更靠近镜头。生成的结果完美地符合我们的要求,龙卷风从远到近逐渐变大。同时,第一行的龙卷风从建筑物前方扫过,而第二行则从建筑物后方经过。相比之下,其他两种方法只能通过2D轨迹控制生成。可以观察到,DragAnything误将龙卷风的运动解释为镜头的前进运动,导致输出模糊。而DragNUWA虽然正确理解了龙卷风需要移动,但由于缺乏对深度变化的考虑,龙卷风的大小在移动后几乎没有变化,这不符合物理规律。
关于物体相对于镜头的前后运动控制的评估结果如上图6左下角所示。显然,2D轨迹无法提供深度信息,因此DragAnything和DragNUWA只能模拟符合该轨迹的行星运动,导致视频模糊且不确定。相比之下,LeviTor可以根据用户指定的输入生成准确清晰的两个行星的运动,同时符合物理规律。基于用户输入的信息,可以推导出3D轨迹来控制物体的运动,代表用户期望的物体遮挡和大小变化。此外,我们可以模拟更复杂的运动,如物体绕行。上图6右下角展示了一个例子,我们的模型能够准确模拟一个黑色碗绕着花瓶旋转的情况,并正确处理遮挡关系。而DragAnything无法直接解释2D轨迹以实现我们期望的旋转效果,仅生成一个碗从右向左移动然后返回的视频。在此过程中,碗还出现了变形和模糊。
DragNUWA则将此2D输入视为镜头轨迹,生成的视频显示一个静止的桌子和碗从不同角度拍摄。
定性比较结果表明,通过引入用户易于输入的3D轨迹控制,LeviTor能够更好地管理物体的距离变化。它可以生成仅凭2D轨迹无法实现的视频效果,例如控制物体遮挡和执行绕轨等复杂运动。此外,由于我们的流程中包含了SAM自动提取的所有物体mask,LeviTor确保只有用户选择的物体可以移动。这防止了将物体运动误解为摄像机运动。摄像机运动可以通过移动选定背景的mask来实现(如下图7所示)。
定量比较。 在两种输入设置下评估定量结果:单点(Single-Point)和多点(Multi-Points)。单点设置与之前工作的评估一致,这意味着每个mask只选择一个点轨迹作为生成视频的条件。然而,如上文所述,单一的点轨迹无法表示物体相对于镜头的前后运动或遮挡。因此,还在多点设置下进行评估,在每个mask中选择最多8个点并使用其轨迹作为条件。下表1显示了我们的方法在DAVIS数据集上与基线的定量比较结果。
在使用相同的SVD作为基础模型的情况下,由于考虑了3D轨迹并在高质量的VOS数据集SA-V上进行训练,我们的方法在FID和FVD指标上取得了显著优势。此外,增加控制轨迹的数量可以有效地提升DragNUWA和我们的方法。这表明考虑物体随时间的大小变化和遮挡是有效的。DragAnything使用单一轨迹和第一帧中的物体mask语义信息进行训练,因此增加轨迹数量与训练不匹配,改进有限。LeviTor在ObjMC指标上表现不如DragNUWA,将其归因于没有使用跟踪方法来获得完整的点轨迹,并要求生成的视频完美匹配这些轨迹。相反,直接提取每帧中所有mask的K-means聚类中心作为控制信号,更加注重物体的整体运动和时间变化。
消融研究
在本节中,进行消融实验以研究深度点、实例信息以及推理时控制点数量如何影响我们在多点设置下的合成结果。
深度和实例信息。 下表2展示了在没有深度或对象实例输入的情况下训练LeviTor的结果,表明深度和实例信息都有助于模型学习。相比深度信息,对象实例更为重要,因为它代表了与不同控制点对应的对象。缺少此信息时,模型容易混淆不同对象的控制点,导致模糊和不现实的结果。对象的深度信息在某种程度上隐含在点的聚集程度中,因此其影响相对较小。还在上图7中展示了定性消融结果,表明缺乏实例或深度信息时,模型容易混淆对象之间的遮挡关系,导致模糊和不现实的生成结果。具体来说,没有对象实例信息时,模型将不属于自身的控制点估计为自身的,导致例如剑与人融合或剑变形的现象。没有深度信息时,模型在基于控制点填充对象时会混淆前后关系,导致剑的主体消失但剑尖穿过人头的情况。
推理时的控制点数量。 在推理过程中,我们的模型可以选择不同数量的控制点,以在运动幅度和生成质量之间取得平衡。上图8展示了一个示例,我们通过乘以一个比例来评估不同数量的控制点对生成结果的影响。可以看到,当控制点较少时,生成结果表现出显著的运动幅度,但对象在运动过程中可能会出现一些变形或模糊。然而,过多的控制点可能会接近对象的遮罩。尽管将这些点作为控制点可确保对象形状的合理性,但它阻止了模型生成其运动的结果。如上图8的最后一行所示,小狗将直接从后面移动到前面。因此,用户可以根据自己的需求调整控制点的数量,以实现所需的生成结果。
结论
LeviTor,一种用于在图像到视频合成中实现3D对象轨迹控制的新模型。通过将深度信息与K-means聚类点结合作为控制信号,方法在无需显式3D轨迹估计的情况下捕获了基本的3D属性。用户友好型推理 pipeline 允许用户通过简单地在2D图像上绘制并调整点的深度来输入3D轨迹,从而使合成过程更加易于访问。对于未来的工作,计划通过结合能够捕捉可变形物体和复杂动态的更先进的视频基础模型来扩展我们的模型,以更好地处理非刚性运动。这一增强将扩大方法的适用范围。
本文转自AI生成未来 ,作者:AI生成未来