引言

在生成式 AI 飞速发展的今天,我们已经从生成静态图像迅速迈向了生成全动态视频。像 Sora、Runway 和 Stable Video Diffusion 这样的工具向我们展示了 AI 构想动态场景的能力。然而,要让这些工具在专业工作流 (如电影制作、游戏设计或 VR) 中真正发挥作用,仅仅依靠随机生成是不够的。我们需要控制

具体来说,我们需要准确地告诉 AI 一个物体应该向哪里移动。这种被称为“基于拖拽的交互 (drag-based interaction) ”的概念,允许用户点击图像上的一个点并将其拖动到新位置,从而向模型发出动画移动的信号。

但是,现有的方法有一个重大缺陷: 它们将世界视为一个平坦的 2D 表面。

如果你在一张街道照片上画一条“向上”移动的线,这究竟意味着汽车飞向天空,还是沿着道路驶向远方?现有模型很难处理这种歧义。它们通常无法处理深度 (物体移远时变小) 和遮挡 (物体从其他物体后面经过) 。

这就轮到 LeviTor 登场了。

LeviTor 展示了生成具有受控遮挡和深度变化的视频。第一行: 热气球。第二行: 汽车。第三行: 动漫角色。

如图 1 所示,LeviTor 是一种引入第三维度进行轨迹控制的新方法。通过将深度信息整合到生成过程中,它允许用户通过简单的交互来编排复杂的 3D 运动——比如热气球漂浮到摩天大楼后面,或者汽车驶向地平线。

在这篇文章中,我们将解构 LeviTor 的工作原理,从高层概念深入到底层的数学引擎。

背景: 2D 控制的局限性

在深入了解 LeviTor 之前,了解一下基准是有帮助的。大多数提供轨迹控制的“图生视频” (Image-to-Video, I2V) 模型都依赖于 2D 坐标。你给模型一个起点 \((x_1, y_1)\) 和一个终点 \((x_2, y_2)\)。

模型试图生成连接这一差距的帧。然而,由于缺乏对 3D 空间的理解,模型会创造出“物理上不可能”的视频。物体可能会在应该保持大小时缩小,或者在应该绕到障碍物后面时却滑到了障碍物上面。

LeviTor 背后的研究人员发现,要解决这个问题,我们要么需要海量的 3D 扫描数据集 (这很难) ,要么可以利用深度图分割掩码来增强现有的视频数据,以此教 AI 物体在 3D 空间中是如何表现的。

核心方法: LeviTor

LeviTor 架构建立在 Stable Video Diffusion (SVD) 之上,但它引入了一种表示控制信号的新颖方式。该方法解决了两个主要挑战:

  1. 训练: 当大多数视频数据集只是 2D 像素时,我们如何教模型 3D 运动?
  2. 推理: 我们如何让没有 3D 建模软件经验的人类用户也能轻松输入复杂的 3D 路径?

1. 控制信号: K-Means 与深度

第一个创新是研究人员表示物体的方式。简单的边界框或单个中心点太粗糙,无法捕捉旋转或变形等复杂运动。反之,密集的像素级掩码计算量太大,且用户难以操作。

LeviTor 找到了一个中间地带: 使用 K-means 聚类

用 K-means 聚类点表示物体运动和遮挡的示例。

如上图 2 所示,系统获取物体 (如汽车或摩托车) 的分割掩码,并将像素聚类为 \(N\) 个代表点。

  • 这有什么高明之处? 注意图中的摩托车。当它靠近相机时,点会散开。这种“扩散”隐式地编码了物体的大小和距离。
  • 当汽车被遮挡 (部分隐藏) 时,聚类点的分布会发生变化。

该算法通过数学方法提取这些点,如下所示:

K-means 聚类方程

其中 \(M_t\) 是第 \(t\) 帧的物体掩码,\((x^i_t, y^i_t)\) 是第 \(t\) 帧第 \(i\) 个控制点的坐标。

添加 Z 轴

为了让这些点具备 3D 感知能力,研究人员使用了一个预训练的深度估计模型 (DepthAnythingV2)。他们在每个聚类点处采样深度值。

采样深度方程

这产生了一个丰富的轨迹表示 \(\mathcal{T}\),它包含了随时间变化的每个关键点的 X、Y 和深度 (Z) 信息:

完整轨迹集方程

2. 训练流程

既然我们有了描述 3D 运动的方法,模型是如何训练的呢?研究人员使用了 SA-V (Segment Anything Video) 数据集,该数据集为视频中的物体提供了高质量的掩码。

训练过程可视化如下:

LeviTor 的控制信号生成过程。左: VOS 训练数据。上路径: K-means 实例点。下路径: 深度图。

以下是分步流程:

  1. 输入视频: 获取原始视频片段。
  2. 分割: 使用真实掩码 (ground truth masks) 识别物体。
  3. 聚类: 应用 K-means 逻辑将掩码转换为稀疏的“实例点”。
  • *注意: * 点的数量 \(k\) 是动态的。较大的物体获得更多的点。如果物体大小剧烈变化 (在 Z 空间快速移动) ,系统会确保使用足够的点来跟踪它。
  • 动态 \(k\) 的计算由物体面积 \(S\) 决定: 基于面积计算 k 的方程
  • 并经过修正以确保在大变焦期间的稳定性: 动态 k 调整方程
  1. 深度估计: 为视频生成相对深度图。
  2. 信号融合: 将 2D 轨迹和深度值结合成“控制信号”,通过类似 ControlNet 的适配器输入到扩散模型中。

然后,训练模型以最小化生成噪声与实际视频之间的差异,并以这个新的 3D 轨迹信号为条件。

损失函数方程

3. 推理流程: 使其可用

这是 LeviTor 对最终用户真正发光的地方。用户不想手动绘制 8 个不同聚类点的路径。他们只想画一条线。

作者设计了一个交互式流程,将简单的用户输入转化为模型所期望的复杂信号。

LeviTor 的推理流程。第 1 部分: 输入处理。第 2 部分: 交互面板。第 3 部分: 合成。

用户工作流:

  1. 选择物体: 用户点击第一帧中的物体 (由 SAM 自动分割) 。
  2. 绘制轨迹: 用户在屏幕上绘制一条 2D 路径。
  3. 调整深度: 用户指示相对深度 (例如,“从深度 1.0 开始,在深度 1.4 结束”) 。

系统的“想象”步骤: 系统需要将那条单一的用户绘制线条转换为训练中使用的多点聚类信号。为此,它执行 3D 投影和渲染模拟。

3D 渲染物体掩码生成流程。

如图 5 所示,系统获取所选物体的像素,并使用估计的深度图将它们“提升”到 3D 空间。

  1. 投影到 3D: 将 2D 像素 \((x, y)\) 和深度 \(d\) 转换为 3D 相机坐标 \((X, Y, Z)\)。 3D 投影方程
  2. 应用运动: 将用户的轨迹运动 \(\mathbf{T}\) 应用于这些 3D 点。
  3. 渲染回 2D: 将移动后的 3D 点投影回 2D 画布,为下一帧创建“虚拟掩码”。 2D 重投影方程

一旦系统拥有了未来几帧的这些“虚拟掩码”,它就会对它们运行 K-means。这将生成密集的多点控制信号,准确告诉扩散模型物体应该如何变形、缩放和移动才显得逼真。

实验与结果

添加深度信息真的有区别吗?研究人员将 LeviTor 与 DragAnythingDragNUWA 等最先进的基线模型进行了比较。

定性比较

结果如图 6 所示,突出了纯 2D 方法的局限性。

与 DragAnything 和 DragNUWA 的定性比较。

  • 第 1 行 (龙卷风) : 用户希望龙卷风扫过地貌。LeviTor 保持龙卷风与背景分离。其他方法通常会模糊龙卷风或错误地移动整个相机,混淆了物体运动与相机平移。
  • 第 2 行 (行星) : 这是一个经典的透视测试。当行星“向前”移动时,它应该变大。LeviTor (左) 由于深度信号,自然地处理了这种比例变化。DragNUWA (右) 移动了行星,但未能有效地缩放它,打破了 3D 的错觉。
  • 右下 (轨道) : 最复杂的情况是“轨道运行”,即一个物体从另一个物体前面经过,然后绕到后面。因为 LeviTor 在 3D 空间中对轨迹建模,它正确地处理了遮挡——物体绕到花瓶后面时消失,绕回来时重新出现。2D 方法只是像贴纸一样将物体滑过顶部。

定量指标

团队使用 FID (帧质量) 、FVD (视频连贯性/流畅度) 和 ObjMC (物体运动一致性——跟随路径的程度) 来衡量成功。

比较 LeviTor 与基线的表格。

LeviTor (Ours) 在 FID 和 FVD 方面显著优于基线。这里分数越低越好。

  • FVD (单点) : LeviTor 得分为 226.45 , 而 DragNUWA 为 330.17 。 这是视频质量和时间一致性的巨大飞跃。
  • FVD (多点) : 当使用多个控制点时,分数进一步下降到 190.44 , 证明基于聚类的控制信号非常有效。

消融实验: 为什么这些组件很重要

研究人员进行了消融实验,以证明他们复杂流程的每个部分都是必要的。

实例和深度信息的作用

如果你给模型点但不给深度值会发生什么?或者如果你忘记告诉模型这些点属于哪个物体 (实例 ID) ?

展示没有实例或深度信息导致模糊结果的视觉消融实验。

  • w/o Instance (无实例) : 模型对物体的边界感到困惑,导致边缘模糊 (中间行) 。
  • w/o Depth (无深度) : 模型在运动过程中失去了渲染清晰边缘的能力,因为它缺乏物体在空间中位置的几何上下文 (底行) 。

点密度的重要性

你需要多少个点?

  • 点太少: 物体移动了,但可能会不自然地摆动或变形,因为控制太松散。
  • 点太多: 物体变得僵硬。它只是在屏幕上平移,没有自然的细微变形 (比如小狗跑步时腿的移动) 。

关于推理控制点数量的消融实验。

图 8 展示了这种权衡。使用适当比例的点 (Scale = 1.0 或 2.0) ,小狗跑得很自然。如果控制太密集,小狗本质上就像一张静态图片一样在草地上“滑动”。

定量数据也支持这一点:

展示消融指标的表格

完整的 LeviTor 模型 (深度和实例均被选中) 在所有方面都产生了最低 (最好) 的分数。

结论

LeviTor 代表了可控视频生成向前迈出的重要一步。通过承认视频是 3D 世界的 2D 投影,作者构建了一个尊重深度和透视物理规律的系统。

主要收获:

  1. 深度即数据: 你不需要 3D 模型来获得 3D 效果;估计的深度图 + 分割掩码是强大的代理。
  2. 聚类 > 单点: 将物体表示为点的聚类,比单个质心能更好地跟踪尺寸变化和变形。
  3. 生成前先模拟: 推理流程——在要求 AI 生成像素之前模拟掩码的 3D 运动——弥合了用户意图与模型需求之间的差距。

虽然 LeviTor 仍然依赖于底层分割 (SAM) 和深度 (DepthAnything) 模型的质量,但它为新工具铺平了道路,这些工具将允许创作者通过标准的 2D 界面,以 3D 动画师的精度来指导 AI 视频场景。


本文中的图片和数据来源于研究论文 “LeviTor: 3D Trajectory Oriented Image-to-Video Synthesis”。