引言

想象一下你正在观看一段标准的视频片段。这是一个 2D 的图像序列。你的大脑在处理这个单目 (单眼) 视角时,瞬间就能理解两件事: 场景的 3D 结构 (什么离得近,什么离得远) 以及物体的运动 (物体在 3D 空间中是如何移动的) 。

对于计算机视觉模型来说,复制这种人类直觉是一项极其困难的任务,被称为 单目场景流 (Monocular Scene Flow, MSF) 。 虽然我们在人工智能领域已经看到了静态深度估计或 2D 光流方面的巨大飞跃,但从单摄像头估计密集的 3D 运动仍然是一个难以攻克的前沿领域。

问题在于,大多数现有的模型都是“专才”。它们可能在汽车行驶在高速公路上的数据集上表现良好,但如果你给它们看一段舞者或一个人玩积木的视频,它们就会彻底失败。它们缺乏 泛化能力

在这篇文章中,我们将深入探讨一篇新论文: “Zero-Shot Monocular Scene Flow Estimation in the Wild” (野外环境下的零样本单目场景流估计) ,该论文提出了一个稳健的解决方案。研究人员开发了一种方法,不仅在标准基准测试中取得了最先进的结果,更重要的是,它具备“零样本”工作的能力——这意味着它可以准确地预测它从未见过的视频类型的 3D 运动。

背景: “病态”问题 (The “Ill-Posed” Problem)

在看解决方案之前,我们需要理解为什么单目场景流如此困难。

场景流 (Scene Flow) 是代表场景中每个点运动的 3D 向量场。如果你取时间 \(t\) 的一个 3D 点并将其追踪到时间 \(t+1\),那个向量就是场景流。

当我们试图从单摄像头 (单目) 估计它时,我们面临一个 病态问题 (ill-posed problem) 。 当视频中的物体在屏幕上移动时,摄像头看到的是 2D 位移。然而,这种 2D 移动是两个纠缠在一起的因素的结合体:

  1. 几何 (深度): 物体有多远?
  2. 运动: 它实际上移动得有多快?

一个靠近摄像头快速移动的小物体,看起来可能与远处缓慢移动的巨大物体完全一样。在没有双目摄像头或激光雷达 (LiDAR) 来锁定深度的情况下,计算机必须同时猜测几何结构和运动。如果它把几何结构搞错了,运动预测必然会出错,反之亦然。

现有的方法之所以举步维艰,是因为它们将这些视为独立的问题,或者在狭窄的小型数据集上进行训练。这项新研究认为,要在野外环境中解决这个问题,我们需要将几何和运动视为紧密纠缠的“兄弟”,并在大规模范围内对它们进行联合训练。

核心方法

研究人员确定了解决泛化难题所需的三个主要支柱:

  1. 联合推理: 用于几何和运动的统一架构。
  2. 数据规模: 庞大、多样化的训练配方。
  3. 尺度自适应: 处理度量 (米) 数据和相对 (无单位) 数据之间的差异。

1. 联合架构

该方法的核心是一个统一的、前馈神经网络。与以前可能分别使用一个网络进行深度估计、另一个网络进行光流估计的方法不同,该模型使用一个 Vision Transformer (ViT) 主干网络在任务之间共享信息。

正如下面的概览所示,该模型将两张图像 (时间 \(t_1\) 的 \(C_1\) 和时间 \(t_2\) 的 \(C_2\)) 作为输入。

图 2. 概览。我们的方法通过一个信息共享的 ViT 主干网络,后接三个预测头,联合预测点图和场景流。

该架构建立在 CroCoV2 主干之上,分为两个解码器,但共享对场景的底层理解。它输出三个具体内容:

  1. \(\hat{X}_1\) : 第一张图像的 3D 点图 (Pointmap)。
  2. \(\hat{X}_2\) : 第二张图像的 3D 点图。
  3. \(\hat{S}\) : 场景流 (3D 偏移量) 。

在数学上,网络预测头的运作方式如下:

X1, X2 和 S 预测头的方程。

通过联合预测这些内容,模型建立了一种反馈循环。3D 几何先验帮助模型理解运动,而时序对应关系 (随时间追踪点) 则有助于细化几何结构。

2. 参数化选择

这篇论文的一个微妙但关键的贡献是确定了 如何 在数学上表示场景流。研究人员探索了三种选择:

  • EP (End Point,终点): 预测点的最终 3D 坐标。
  • \(\Delta D\) + OF: 预测深度的变化加上 2D 光流。
  • CSO (Camera-Space 3D Offsets,相机空间 3D 偏移量): 预测起点和终点之间直接的 3D 向量差。

图 4. SF 参数化比较。

如上图所示, CSO (相机空间偏移量) 方法 (显示为红色) 被发现是最有效的。它显式地建模了 3D 位移,这能与点图预测头自然地结合。其他方法,特别是那些依赖分离的深度变化和光流的方法,在相机位姿不完全已知的情况下 (这是“野外”视频中的常见情况) 性能会显著下降。

3. 大规模数据配方

如果你只在城市街道上训练,你就无法学会如何在“野外”泛化。研究人员汇集了一个包含来自不同数据集的超过 100 万个样本 的庞大训练集。

表 1. 我们配方中的训练数据集。

上表 1 中的“数据配方”突出了这种多样性:

  • SHIFT & Virtual KITTI 2: 驾驶场景。
  • Dynamic Replica & PointOdyssey: 室内和以物体为中心的场景。
  • MOVi-F: 具有复杂物理特性的合成物体。
  • Spring: 动画风格的数据。

这种混合确保了模型能看到从在树旁飞驰的汽车到桌子上翻滚的积木等各种场景。

4. 解决尺度模糊性

这是混合数据集最棘手的部分。有些数据集是 度量的 (Metric) (它们知道一辆车有 4 米长) 。有些是 相对的 (Relative) (它们只知道车比自行车大两倍,但不知道绝对尺寸) 。

如果你在没有调整的情况下同时向神经网络提供这两种类型的数据,损失函数就会变得混乱。模型不知道“1.0”是指一米还是“整个场景的宽度”。

为了可视化这一点,请看 MOVi-F (相对) 和 Virtual KITTI (度量) 之间的区别:

图 3. 不同的数据集有不同的尺度。MOVi-F 和 Virtual KITTI 的比较。

为了解决这个问题,作者引入了 尺度自适应优化 (Scale-Adaptive Optimization)

当数据是度量数据时,他们使用原始值。当数据是相对数据时,他们使用有效点的平均距离对真实值 (Ground Truth) 和预测值进行归一化。

归一化因子 \(\hat{z}\) (用于预测值) 和 \(z\) (用于真实值) 计算如下:

计算比例因子 z 的方程。

然后通过简单地除以此因子得出归一化的点图和场景流:

归一化点图和场景流的方程。

这使得损失函数能够有效地“切换模式”。网络在可能的情况下学习绝对尺度,但在必要时回退到尺度不变的结构学习。

5. 使用光流监督进行训练

即使采用联合架构,几何结构 (\(X\)) 和场景流 (\(S\)) 仍然是不同的输出。为了将它们紧密地粘合在一起,研究人员使用了一个聪明的技巧: 光流监督 (Optical Flow Supervision)。

他们提取预测的几何结构和预测的场景流,将它们“投影”回 2D 图像平面,并检查由此产生的 2D 运动是否与光流匹配。

投影光流和损失项的方程。

这强制了一致性。如果模型预测一个点在 100 米外并且移动了 1 米,那会产生一个微小的 2D 像素位移。如果光流显示像素移动了 50 个像素,模型就知道它的几何/运动组合是错误的。

实验与结果

这个配方真的有效吗?结果表明答案是肯定的,特别是在最难的测试中: 零样本泛化

定量成功

下表将新方法与最先进的同行进行了比较。最令人印象深刻的行是标记为 “Out” (域外/Out-of-Domain) 的行,这意味着模型是在训练期间 从未见过 的数据集上进行测试的。

表 2. 域内/域外定量结果。

Spring 数据集 (一个高难度的动画基准) 上,所提出的方法 (Ours-exclude) 实现了 0.014 的终点误差 (EPE),大大优于 Self-Mono-SF (EPE 1.005) 或 MASt3R 基线等方法。这证明了模型不仅仅是在记忆特定的场景;它正在理解视觉的物理规律。

定性魔法

数字虽然重要,但在计算机视觉中,眼见为实。定性结果展示了模型如何处理复杂的非刚性运动。

下面是 KITTI 数据集上的比较。请注意,“Ours”列 (左起第二列) 生成的流图非常清晰且接近真实值 (最左侧) ,而竞争对手通常会引入噪声或完全遗漏移动的物体。

图 6. KITTI 上的额外定性结果,与 Self-Mono-SF 和 MASt3R 的比较。

该方法的真正威力显现在“随意拍摄”的视频中,例如 DAVIS 数据集 (包含随机的 YouTube 风格片段) 。

在下面舞者的例子中,其他方法都很吃力。 Self-Mono-SF (右上) 在背景中产生了运动幻觉。 MASt3R (右下) 产生了一个嘈杂、破碎的结果。所提出的方法 (左下,“输入”在左上) 正确地识别了静态背景,并分离了舞者腿部的复杂运动。

图 8. DAVIS 数据集上显示舞者的定性结果。我们的方法正确分离了腿部运动。

同样,在下面摩托车进行烧胎特技的场景中,该模型正确地将摩托车的快速圆周运动与静态环境区分开来。

图 9. DAVIS 数据集上显示摩托车的定性结果。

为什么联合估计很重要

研究人员不仅仅是猜测联合估计会更好;他们证明了这一点。在他们的消融实验中,他们比较了使用几何模型 (如 DUSt3R 或 MASt3R) 的预训练权重初始化偏移量预测头,与从头开始训练的效果。

表 4. 联合估计流程的消融实验。

如表 4 所示,使用强大的 3D 先验进行初始化 (“Ours (MASt3R)” 行) 将误差从 1.071 (从头开始) 降低到了 0.452。这证实了假设: 如果你不先理解几何结构,你就无法很好地理解运动。

结论

“Zero-Shot Monocular Scene Flow Estimation in the Wild” 代表了计算机视觉向前迈出的重要一步。通过认识到几何和运动是不可分割的,并设计了一个可以消化大规模、多尺度数据的训练流程,作者创建了一个可以泛化到现实世界的模型。

这对未来的影响是巨大的。

  • 机器人技术: 机器人可以在新环境中导航并与动态物体互动,而无需重新训练。
  • 增强现实: 虚拟物体可以仅使用标准摄像头与移动的现实世界物体进行逼真的互动。
  • 视频编辑: 编辑可以对平面视频文件中的特定移动 3D 图层应用特效。

虽然挑战依然存在——例如更明确地分解相机运动和物体运动——但这项工作证明,只要有正确的架构和数据配方,我们就可以有效地“驯服”动态视频场景这片荒野。