简介

想象一下你是一个机器人。我递给你一个你从未见过的玩具——一个形状独特、手工雕刻的木制动物。我要求你在我挥动它时,在 3D 空间中追踪它的运动。

对于人类来说,这是轻而易举的。但对于计算机视觉系统来说,这是一个噩梦般的场景。

大多数最先进的 3D 物体追踪系统都依赖于先验知识 (priors) 。 它们要么需要预先获得物体精确的 3D CAD 模型 (基于模型的方法) ,要么需要在大量的训练阶段“见过”成千上万个类似的物体 (基于训练的方法) 。如果你没有 CAD 文件,也没有针对该类别物体训练过神经网络,系统就会失效。

这种对先验知识的依赖为具身智能 (embodied intelligence) 制造了瓶颈。我们无法预先扫描世界上的每一个物体,也无法针对每一种可能的形状训练网络。

在这篇文章中,我们将深入探讨一篇 CVPR 论文,该论文提出了解决这一“先有鸡还是先有蛋”问题的方案。这篇论文题为 “Prior-free 3D Object Tracking” (无先验 3D 物体追踪) , 介绍了一种称为 双向迭代追踪 (Bidirectional Iterative Tracking,简称 BIT) 的方法。

BIT 引人入胜之处在于,它仅从单张 RGB 图像开始。它同时学习物体的形状 (几何生成) 并追踪其运动 (姿态优化) 。实际上,它是在一边导航地形,一边构建地图。

Figure 1. We propose a prior-free 3D object tracking method called BIT, which is both model-free and training-free. The pose optimization and geometry generation modules iteratively enhance each other to ultimately realize object tracking.

背景: 为什么“无先验”很重要

要欣赏 BIT 的价值,我们需要了解当前 6DoF (6 自由度) 姿态估计领域的局限性。

基于模型的方法 (The Model-Based Approach)

这些方法是准确性的“黄金标准”。如果你有物体的完美激光扫描模型,像 SLOTRBOT 这样的算法可以通过将视频中的边缘和颜色与 3D 模型进行匹配,以极高的精度进行追踪。

  • 问题在于: 你需要模型。在动态环境中 (比如在新家中的服务机器人) ,你不可能在拿起每个咖啡杯或玩具之前都先停下来对其进行 3D 扫描。

基于训练的方法 (The Training-Based Approach)

这些方法使用深度学习。你在大型数据集 (如 ShapeNet) 上训练网络,使其学习物体的通用特征。

  • 问题在于: 泛化很难。一个在汽车上训练的网络很难处理鞋子。此外,收集带标注的 3D 训练数据既昂贵又耗时。

无先验的梦想 (The Prior-Free Dream)

BIT背后的研究人员提出了一个问题: 我们能否在没有任何给定模型且没有任何训练阶段的情况下追踪物体?系统能否实时生成自己的数据?

核心方法: 双向迭代追踪 (BIT)

BIT 运行在一个简单但强大的反馈循环上。它包含两个主要模块,就像两位艺术家在合作创作一幅肖像画:

  1. 几何生成模块 (Geometry Generation Module) : “雕塑家”。它尝试根据相机看到的内容构建物体的 3D 网格。
  2. 姿态优化模块 (Pose Optimization Module) : “观察者”。它追踪物体的移动方式,并寻找新的观察角度来帮助雕塑家。

Figure 2. Overview of our method BIT. The geometry generation module quickly inverse renders a mesh model for the pose optimization module, which in return supplies additional key frames.

如图 2 所示,这是一个循环过程。系统从一个通用的球体开始。“雕塑家”将球体变形,使其看起来像第一帧中的物体。“观察者”获取这个粗糙的形状,在接下来的几帧中追踪物体,并捕捉新的角度。这些新角度被送回给“雕塑家”,由其改进形状。这个循环不断重复,形状和追踪精度都在实时提高。

让我们详细分解这两个模块是如何工作的。

1. 几何生成模块

这个模块的工作是 逆向渲染 (Inverse Rendering) 。 前向渲染将 3D 模型转换为 2D 图像。逆向渲染则相反: 它获取 2D 图像并推断出是什么样的 3D 形状产生了它们。

输入是第一帧视频 (以及一个边界框) 加上追踪器目前收集到的任何“参考帧”。

Figure 3. The geometry generation module. It takes frames and poses to inverse render a mesh model, often starting from a sphere.

步骤 A: 使用 SAM 进行分割

首先,系统需要知道哪些像素属于物体,哪些是背景。作者使用了 Segment Anything (SAM) , 这是一个强大的分割模型。使用边界框作为提示,SAM 创建了物体的二值掩码 (轮廓) 。

步骤 B: 可微渲染 (SoftRas)

系统将 3D 网格初始化为一个简单的球体。然后,它使用一种称为 可微渲染 (Differentiable Rendering) 的技术 (具体来说是 SoftRas) 。

直观理解如下: 系统从相机的视角“想象” (渲染) 当前球体的样子。它将这个想象出的轮廓与 SAM 提供的实际掩码进行比较。自然,起初它们并不匹配——球体看起来并不像玩具狗。

因为渲染器是可微的,系统可以计算梯度。这使得它能够通过数学方式询问: “我应该如何移动这个球体的顶点,才能使它的投影看起来更像那个玩具狗?”

损失函数

优化过程由特定的损失函数指导:

Equation 1: Loss function combining IoU and Laplacian regularization.

  • \(\mathcal{L}_{IoU}\) : 这衡量了投影模型与真实物体掩码之间的重叠度 (Intersection over Union,交并比) 。我们希望最大化这个值。
  • \(\mathcal{L}_{l}\) : 这是一个拉普拉斯正则化项。它防止网格变得尖锐或混乱,确保表面保持平滑。
  • \(\mu\) : 一个平衡权重。

通过最小化这个损失,球体逐渐变形为目标物体的形状。

2. 姿态优化模块

一旦几何生成模块创建了一个粗糙的网格,它就会将其传递给姿态优化模块。

该模块有两个职责:

  1. 追踪物体: 估计物体在当前视频帧中的位置和旋转 (姿态) 。
  2. 搜寻数据: 识别“关键帧 (Key Frames) ”——即能提供物体形状新信息的全新视角。

Figure 4. The pose optimization module tracks the object and generates key frames for the model generation module.

追踪策略

对于追踪,作者使用了一种称为 SLOT 的基线方法。SLOT 不使用神经网络 (保持系统无需训练) 。相反,它根据投影模型掩码周围的颜色特征来优化物体的姿态。它构建了一个能量函数,将 3D 模型与 2D 图像进行对齐。

关键帧选择

这是 BIT 逻辑的关键部分。要构建一个好的 3D 模型,你需要从不同侧面观察物体。如果用户只是拿着物体不动,系统就学不到任何新东西。

该模块维护一个“视图组 (View Group) ” (\(\mathcal{V}\)) ,这是它目前所见过的所有独特视角的集合。

Equation 2: View Group definition.

对于每一个被追踪的帧,系统根据旋转矩阵 (\(R\)) 和平移向量 (\(t\)) 计算当前的观察角度 (\(v_i\)) :

Equation 3: Calculation of view vector.

然后,它检查这个新角度是否与视图组中的所有角度有显著差异。它使用点积来计算角度差:

Equation 4: Angular difference calculation.

如果角度差 (\(\Delta a_i\)) 大于某个阈值 (例如 \(3^{\circ}\)) ,该帧就被标记为 关键帧 。 这些关键帧被送回几何生成模块以细化 3D 网格。

实验结果

作者在标准数据集 (如 MOPED 和 RBOT) 以及使用标准网络摄像头捕捉的真实场景中测试了 BIT。

MOPED 数据集上的准确性

MOPED 数据集包含真实世界的物体视频。作者将 BIT 与几种最先进的方法进行了比较,包括:

  • PoseRBPFLatentFusion (基于训练,使用 RGB-D 数据) 。
  • Gen6D (可泛化方法) 。

结果令人震惊。即使是参考帧版本的 BIT (Ours(0)) 也优于那些在海量数据集上训练过的复杂深度学习方法。

Table 1. Tracking results on the MOPED dataset. BIT (Ours) outperforms existing methods even without reference frames.

当允许 BIT 积累仅 3 个参考帧时 (Ours(3)),准确性显著跃升 (平均 86.2,而次优方法为 73.7) 。这证明了迭代循环——即在追踪的同时改进模型——是一种优于依赖静态预训练的策略。

视觉演变

观察“雕塑家”的工作过程非常有帮助。在下图中,你可以看到模型是如何演变的。

  • 左侧: 视频输入。
  • 右侧: 生成的网格。

最初,网格很粗糙。但在 3次迭代内,它就捕捉到了飞机和钻头的独特几何形状。

Figure 5 & 6. Tracking results and generated models in 3 iterations on MOPED. The graph shows accuracy improving over iterations.

图 6 (上图中的图表) 定量地展示了这种收敛。实线代表模型准确性 (豪斯多夫距离,越低越好) ,虚线代表追踪准确性。这两个指标都在短短 3 次迭代中迅速改善。

可重用性: 终极测试

这就论文最令人兴奋的主张之一是 BIT 生成的是可重用的资产。由系统实时创建的 3D 模型不仅仅是临时的数学构造;它们是合法的网格,可以被保存并供其他追踪系统使用。

为了证明这一点,作者采用了 BIT 生成的模型,并将它们输入到其他基于模型的标准追踪器中 (如 SRT3D 和 RBGT) 。

Figure 9. Tracking accuracy of various trackers on the RBOT dataset using GT models and our generated models.

上面的雷达图 (图 9) 比较了使用真值 (Ground Truth, GT) CAD 模型 (绿色) 与使用 BIT 生成的模型 (橙色) 时的追踪性能。

  • 结果: BIT 模型的表现几乎与完美的 CAD 模型一样好。

这有效地将“无模型”问题转化为了“基于模型”的问题。你不需要下载 CAD 文件;你只需要让 BIT 运行 30 秒,它就会为你制作 CAD 文件。

以下是 RBOT 数据集上生成的网格与真值的视觉比较:

Figure 7. The final generated models compared to Ground Truth.

Figure 8. Detailed view of generated models with 6 references and 12 key frames.

请注意,“猿猴”和“猫”的具体几何形状在最后一次迭代时变得多么清晰和平滑。下面的表 2 量化了这种几何精度。

Table 2. Our generated models in different cases.

最后,表 3 强化了可重用性的主张。当标准追踪器使用 BIT 的模型 (特别是 Ours(12)) 时,它们的成功率与使用真值模型时相当。

Table 3. Tracking accuracy with GT models vs generated models.

真实世界表现

作者还在杂乱的真实环境中测试了该系统,包括遮挡 (手指遮住物体) 和动态移动。

Figure 10. Qualitative results on real world scenes.

即使在物体被旋转和用手操作时,系统也能保持对物体的锁定 (蓝色线框覆盖) 。

结论与未来展望

这篇 “Prior-free 3D Object Tracking (BIT)” 论文代表了计算机视觉向前迈出的重要一步。通过将 几何生成 (使用 SAM 和可微渲染) 与 姿态优化 (追踪和关键帧选择) 相结合,研究人员创建了一个大于部分之和的系统。

主要收获:

  1. 真正的无先验: 不需要 CAD 模型,也不需要训练数据。这降低了 3D 追踪的门槛,使其能够适用于新环境中的新颖物体。
  2. 双向协同: 追踪有助于构建模型;模型有助于追踪。这个循环解决了冷启动问题。
  3. 可重用性: BIT 充当了 3D 扫描仪。它生成的模型可以被存储,并在随后供其他机器人系统或追踪算法使用。

局限性

这种方法并非魔法。它依赖于物体的轮廓,因此在处理 凹陷 (concavities) 或拓扑孔洞 (如杯子的把手或甜甜圈形状) 时会很吃力,因为轮廓无法捕捉孔洞内部的深度。此外,如果 SAM 由于伪装或光照不佳而无法分割物体,几何生成就会失败。

然而,随着具身人工智能和机器人技术从受控的工厂设置转向非结构化的家庭和办公室,能够拿起一个未知物体,理解其形状,并立即追踪它——而无需“打电话回家”请求 CAD 文件——是一项至关重要的能力。BIT 证明,只要采用正确的迭代方法,机器人可以学会在飞行中观察世界。