跨越现实鸿沟: CRISP 如何通过测试时适应掌握 3D 物体感知

想象一下,一个机械臂的任务是清理太空碎片。它看到一颗卫星漂浮在轨道上。为了安全地抓取它,机器人需要非常精确地知道两件事: 卫星在哪里 (它的位姿) 以及它长什么样 (它的几何形状) 。

在拥有完美数据的受控实验室环境中,这是一个可解的问题。但在现实世界——或者太空中——光照会变化,传感器会产生噪点,物体看起来可能与机器人训练时使用的 3D 模型略有不同。这就是所谓的域间隙 (Domain Gap) , 它是当今计算机视觉面临的最大障碍之一。

在这篇文章中,我们将深入探讨麻省理工学院 (MIT) 的一篇研究论文,题为 “CRISP: Object Pose and Shape Estimation with Test-Time Adaptation” 。 这篇论文介绍了一个令人着迷的管道,它不仅能推断物体的形状和位姿,还能在测试时主动进行修正,并利用这些修正来教导自己,从而弥合模拟与现实之间的鸿沟。

CRISP 在 YCBV 数据集和 SPE3R 数据集上的定性示例。上一行显示的是家居物品,下一行显示的是卫星。

如图 1 所示,CRISP 的通用性足以处理从厨房桌子上的午餐肉罐头到绕地球运行的卫星等各种物体。让我们来探索它是如何工作的。


挑战: 与类别无关的感知

传统的物体感知方法通常分为两类:

  1. 实例级 (Instance-level) : 机器人拥有它正在寻找的特定杯子的精确 CAD 模型。这很难扩展到新物体上。
  2. 类别级 (Category-level) : 机器人通常知道“杯子”长什么样。这比较好,但通常需要严格的类别定义。

CRISP (代表 Cropped RGB-D Inference Shape Pipeline,即裁剪 RGB-D 推理形状管道) 旨在做到与类别无关 (Category-Agnostic) 。 重建几何结构时,它不需要知道自己看的是“瓶子”还是“罐子”。此外,它还解决了模拟到现实 (Sim-to-Real) 的问题。如果你在合成图像 (如视频游戏画面) 上训练神经网络,当它面对真实照片时通常会失败。CRISP 的超能力在于它能够适应真实数据,而无需人工标注。


第一部分: CRISP 的架构

CRISP 接收单个 RGB-D 图像 (颜色 + 深度) 作为输入,并输出物体的 6D 位姿 (旋转和平移) 及其 3D 形状。它通过两个并行的神经网络分支来实现这一点,这两个分支由一个视觉 Transformer (ViT) 骨干网络驱动。

1. 利用隐式场估计形状

如何在神经网络中表示 3D 形状?你可以输出点云或体素网格,但这些往往分辨率较低或非常消耗内存。CRISP 使用了一种隐式神经表示 (Implicit Neural Representation) , 具体来说是符号距离场 (Signed Distance Field, SDF)

SDF 是一个函数,对于空间中的任意点 \((x, y, z)\),它会告诉你该点到最近表面的距离。如果数字是负数,则你在物体内部;如果是正数,则在外部;如果是零,则在表面上。

CRISP 形状头和形状解码器的架构图。

形状管道的工作原理如下:

  1. 编码器 (Encoder) : ViT 骨干网络从图像中提取特征。“形状头 (Shape Head) ”将这些特征压缩成一个潜在形状代码 (latent shape code, \(h\))
  2. 解码器 (Decoder) : 这就是奇迹发生的地方。解码器是一个多层感知机 (MLP) ,它接收 3D 坐标和形状代码 \(h\),预测 SDF 值。
  3. FiLM 调节 (FiLM Conditioning) : 注意上图中标记为“FiLM”的模块。 特征线性调制 (Feature-wise Linear Modulation, FiLM) 是一种技术,其中形状代码 \(h\) 调节神经网络的激活 (对其进行缩放和移位) 。这使得单个网络仅通过改变输入代码 \(h\) 就能表示无限变化的形状。

2. 利用 PNC 估计位姿

为了找到物体的位置和方向 (位姿) ,CRISP 并不只是回归单个向量。相反,它预测位姿归一化坐标 (Pose-Normalized Coordinates, PNC)

想象物体存在于一个以 \((0,0,0)\) 为中心的标准“完美”空间中。对于输入图像中的每个像素,网络预测该像素在该完美 3D 空间中应该在的位置。

CRISP PNC 头的架构图。

如上面的架构图所示,一个密集预测 Transformer (DPT) 为每个像素预测这些坐标。一旦我们有了观测到的 3D 点 (来自深度相机) 和预测的标准 3D 点 (来自网络) ,找到旋转和平移就是一个经典的几何问题,可以用成熟的算法 (如 Kabsch 算法或 Arun 方法) 来解决。


第二部分: 修正器——测试时的优化

如果我们只是训练上面的网络并运行它们,我们会得到不错的结果。但是,如果存在域间隙 (例如,测试图像中有奇怪的光照) ,预测可能会发生漂移。

CRISP 引入了一个修正器 (Corrector) 。 这是一个在推理期间运行的优化循环。直觉很简单: 从相机观测到的深度测量值应该与预测 SDF 的零水平集对齐。

我们可以将其形式化为一个优化问题:

最小化隐式形状场与变换后输入点之间差异的优化方程。

在这里,我们试图找到最佳的形状 (\(f\)) 和位姿 (\(R, t\)),使得所有观测点 (\(x_i\)) 在经过位姿变换后,其 SDF 值为零。

“主动形状模型”的洞察

在测试时直接优化神经网络的形状代码 \(h\) 是危险的。所有可能代码的空间是巨大的,而且大多数代码会产生垃圾形状。

研究人员做出了一个关键观察: 形状解码器在其训练期间看到的形状的“凸包” (或单纯形) 内部表现良好,但在外部进行外推时则会失效。

从形状解码器生成的 SDF 中提取的网格的可视化,随着潜在形状代码的插值和外推。

在上图中,请注意当 \(\alpha\) 在 0 到 1 之间 (插值) 时,形状看起来是合理的。但是一旦我们要超出这个范围 (外推,\(\alpha > 1\) 或 \(\alpha < 0\)) ,形状就会变异成一团。

为了解决这个问题,CRISP 限制了优化。它不再允许形状代码 \(h\) 为任意值,而是强制 \(h\) 必须是已知“基”形状 (训练样本) 的加权平均。

主动形状解码器 (Active Shape Decoder, \(f_a\)) 用线性组合替换了标准解码器:

主动形状解码器作为基形状线性组合的方程。

通过将深度网络近似为基形状的线性组合,复杂的非线性优化问题变成了一个受限线性最小二乘 (Constrained Linear Least Squares, LSQ) 问题。

这为什么重要?

非线性优化速度慢且容易陷入糟糕的解。线性最小二乘法是凸 (convex) 的,这意味着它有一个单一的最优解,可以使用标准求解器 (如内点法) 非常快速地找到。

这使得 CRISP 能够在毫秒级而不是秒级内优化形状和位姿。


第三部分: 用于适应的自训练

现在我们有了一个强大的管道: 一个预测形状/位姿的神经网络,以及一个修正错误的数学修正器。拼图的最后一块是自训练 (Self-Training)

目标是让模型在新的、无标签的数据上自我改进。作者提出了一个修正与认证 (Correct-and-Certify) 循环。

展示 CRISP 管道、修正器和自训练循环的贡献概览。

流程如下:

  1. 前向传播 (Forward Pass) : ViT 骨干网络预测初始形状和位姿。
  2. 修正 (Correction) : 基于优化的修正器 (使用主动形状模型) 优化这些估计值,以更好地拟合观测到的深度数据。
  3. 认证 (Certification) : 我们不能盲目信任修正器。有时优化会出错。系统会检查一个证书 (Certificate) : 几何一致性误差是否足够低?
  4. 伪标签 (Pseudo-Labeling) : 如果认证误差很低,修正后的输出将被视为“地面真值 (Ground Truth) ”标签。
  5. 反向传播 (Backpropagation) : 网络使用这个新生成的自我标签更新其权重。

这个循环持续运行。随着时间的推移,网络学会了直接预测“修正后”的值,从而有效地适应新领域。


实验与结果

它真的有效吗?研究人员在三个不同的数据集上测试了 CRISP: YCBV (家居物品) 、SPE3R (卫星) 和 NOCS (混合类别) 。

1. 家居物品 (YCBV)

在 YCBV 数据集上,CRISP 与 Shap-E (一种扩散模型) 和 CosyPose 等最先进的方法进行了比较。

CRISP 在 YCBV 数据集上的定性示例。上: 变换后的重建网格投影。下: 重建网格。

结果表明,CRISP 重建形状的保真度要高得多。因为它使用了“修正与认证”循环,它有效地忽略了坏数据并从好数据中学习。

我们可以使用倒角距离 (Chamfer Distance,一种形状误差度量——越低越好) 的累积分布函数 (CDF) 来可视化性能。

YCBV 数据集上重建形状的倒角距离的累积分布函数。

在这个图表中,橙色线 (CRISP-Real) 上升最快,表明其大部分重建的误差非常低。粉色线 (Shap-E) 虽然是一个强大的生成模型,但在这一特定任务的准确性上落后。

2. 太空碎片 (SPE3R)

SPE3R 数据集特别具有挑战性,因为测试对象是模型从未见过的卫星。这测试了“泛化”能力。

自训练改进卫星形状重建的定性示例。

上图是自训练实际效果的完美例子。

  • 中间行: 在自训练之前,CRISP 从训练记忆中检索到一个“最近邻”形状。它看起来大致像一颗卫星,但太阳能电池板是错的。
  • 底行: 在测试图像上进行自训练后,CRISP 优化了形状。注意太阳能电池板现在是如何正确对齐和成形的,更好地匹配了地面真值 (顶行) 。

3. 速度

最近 3D 重建工作 (如扩散模型) 的局限性之一是速度。推理可能需要几秒甚至几分钟。

  • CRISP 推理: ~125 毫秒
  • LSQ 修正器: ~250 毫秒

这种亚秒级的性能使其在实时机器人应用中切实可行,因为机器人需要对移动物体做出快速反应。


结论

CRISP 代表了机器人感知向前迈出的重要一步。通过结合深度学习 (ViT/DPT) 的模式匹配能力与优化 (SDFs/最小二乘法) 的严谨数学结构,它实现了两全其美。

给学生的关键要点:

  1. 隐式表示: SDF 是表示连续形状的强大方式,对其进行调节 (通过 FiLM) 使其具有灵活性。
  2. 混合系统: 神经网络不必做所有事情。使用网络进行初始化,再用经典优化器进行细化,是一种稳健的设计模式。
  3. 约束是有益的: “主动形状模型”表明,约束搜索空间 (限制在已知形状的凸包内) 实际上可以改善结果并加速计算。
  4. 自监督: 机器人的未来在于能够在部署后从自身经验 (和错误) 中学习的系统,而不是仅仅依赖预先标记的训练数据。

CRISP 证明,有了正确的几何约束,机器人可以学会观察和理解它们从未遇到过的物体,这让我们离能够在混乱、无标签的现实世界中运行的自主系统更近了一步。