想象一个机械臂在繁忙的厨房或生产车间里工作。为了安全地与人类或其他机器协作,这个机器人需要确切知道自己在相机视野中的空间位置。这就是所谓的机器人姿态估计

通常情况下,这很简单,因为我们可以“作弊”: 我们可以询问机器人内部的电机编码器它的关节角度是多少。但是,如果我们不能信任这些传感器呢?如果我们观察的是一个无法控制的机器人呢?或者,如果我们仅仅想要一个纯视觉的冗余系统呢?

这就提出了一个更难的问题: 仅凭单张 RGB 图像估计机器人的姿态 (位置和方向) 及其关节角度。

在这篇深度文章中,我们将探索 RoboPEPP , 这是一篇新颖的研究论文,它介绍了一种通过“嵌入预测预训练” (Embedding Predictive Pre-Training) 来解决这一问题的巧妙方法。研究人员意识到,标准的计算机视觉模型将机器人视为普通物体。RoboPEPP 改变了游戏规则,它强迫 AI 在尝试估计姿态之前,先理解机器人的物理结构——它的关节和连杆。

现有机器人姿态估计方法 [5] 与 RoboPEPP 框架的对比。

如图 1 所示,传统方法往往难以将机器人的物理约束整合到学习过程中。RoboPEPP (底部) 通过在训练期间遮挡关节,专门针对这一点,迫使网络利用其对机器人运动学的理解来“填补空白”。

“未知状态”带来的问题

要估计机器人相对于相机的位置,通常需要两样东西:

  1. 2D 关键点: 机器人的特定部位在图像中的位置 (像素) 。
  2. 3D 几何: 这些部位在物理世界中的位置 (米) 。

如果将 2D 像素与 3D 坐标匹配起来,就可以使用一种称为 Perspective-n-Point (PnP) 的算法来计算相机的位置。

然而,关节型机器人是会移动的。如果不知道关节角度 (即“状态”) ,就不知道机器人在 3D 空间中的形状。没有 3D 形状,就无法执行 PnP。

以前试图解决这个问题的尝试主要分为两派:

  1. 渲染并比较 (Render-and-Compare) : 这些系统猜测姿态,渲染机器人的 3D 模型,将其与图像进行比较,然后优化猜测。这种方法准确但计算昂贵且缓慢。
  2. 直接预测 (Direct Prediction) : 利用神经网络一次性预测所有内容。它们速度很快,但往往难以保证准确性,特别是当机器人被部分遮挡 (occluded) 或被画面边缘截断时。

RoboPEPP 的作者认为,这些直接预测方法失败的原因在于它们并没有真正“理解”机器人。它们看到的是一堆像素,而不是由关节连接的一系列刚性连杆。

RoboPEPP 的解决方案

RoboPEPP 的核心创新是一个两阶段的训练过程,旨在将“物理直觉”融入神经网络中。

  1. 预训练: 一个自监督阶段,模型通过预测隐藏的关节来学习机器人结构。
  2. 微调: 模型针对预测角度和关键点的实际任务进行训练。

让我们分解一下完整的架构。

RoboPEPP 机器人姿态和关节角度估计框架概览。

如上图 2 所示,该框架包含一个编码器 (Encoder,处理图像) 和一个预测器 (Predictor,重建特征) 。一旦预训练完成,该系统将输入到两个下游网络: 关节网络 (Joint Net)关键点网络 (Keypoint Net)

第一阶段: 嵌入预测预训练

如何在不展示方程的情况下教神经网络机器人物理学?答案是使用 遮挡 (Masking)

掩码图像建模 (Masked Image Modeling, MIM) 是计算机视觉中的一种流行技术,图像的部分区域被隐藏,模型必须重建它们。然而,随机遮挡只能教模型纹理和一般形状。

RoboPEPP 引入了 关节遮挡 (Joint-Masking)

研究人员不是随机遮挡草地或背景,而是专门遮挡机器人关节周围的区域。为了成功重建掩码下的信息,模型必须观察周围未被遮挡的机器人部件 (上下文) 并推断连接关系。这实际上迫使模型学习: “如果上臂在这里,前臂在那里,那肘部一定就在这里。”

架构

输入图像被切割成小块 (16x16 像素) 。

  • 上下文: 未被遮挡的图像块被输入到 Vision Transformer (ViT) 编码器中。
  • 预测: 编码器输出可见部分的“嵌入” (数学摘要) 。 预测器网络随后尝试猜测缺失关节图像块的嵌入。

这个预训练阶段的损失函数简单而强大:

预训练损失方程

在这里,\(v_i\) 是预测的嵌入,而 \(\bar{v}_i\) 是从原始图像导出的实际目标嵌入。通过最小化它们之间的 \(L_1\) 距离,模型学习到了机器人物理结构的稳健内部表示。

第二阶段: 下游微调

一旦编码器理解了机器人的身体结构,就可以针对实际工作进行微调。系统分为两个并行任务。

1. 关节网络 (预测角度)

第一个目标是弄清楚机器人的配置。关节网络接收图像特征并预测每个关节 (例如肩部、肘部、手腕) 的角度 \(\Phi\)。

关节网络架构

如图 3 所示,关节网络将所有补丁信息聚合成一个全局向量 (\(v_g\))。然后,它使用迭代多层感知机 (MLP) 来优化其猜测。它从零角度开始,进行预测,将预测结果反馈回去,并在 4 个步骤 (G=4) 中进行优化。这种迭代方法有助于精准地确定角度。

该网络使用均方误差 (MSE) 针对真实角度进行训练:

关节损失方程

2. 关键点网络 (预测 2D 位置)

同时,关键点网络尝试找到关节的像素坐标。

关键点网络中的层输出大小

它获取补丁嵌入并逐步对其进行上采样 (如表 1 所示) ,以创建高分辨率的 热图 (heatmaps) 。 热图是一个概率网格,其中的亮点表示模型认为关节所在的位置。

为了训练这一点,作者使用了 Focal Loss 。 这一点至关重要,因为在 224x224 的图像中,大多数像素不是关节。标准的损失函数会变得“偷懒”,直接预测到处都没有关节。Focal loss 强迫模型关注那些难以分类的样本 (即实际的关节) 。

Focal Loss 方程

第三阶段: 鲁棒性与推理

现实世界中的机器人环境是混乱的。机器人会被物体遮挡 (occlusion) 或部分移出相机画面 (截断) 。RoboPEPP 包含了处理这些情况的具体策略。

针对遮挡的随机掩码

在微调阶段,研究人员对输入图像应用 随机遮挡 。 他们人为地遮挡图像的最多 20%。这防止了模型过度依赖看到整个机器人。因为它经过预训练可以推断缺失的关节,所以它能自然地处理这些缺口。

基于置信度的关键点过滤

姿态估计中的一个主要问题是“截断”——即机器人的一部分在屏幕之外。标准的神经网络仍然会尝试猜测缺失关节的位置,通常会在图像内选择一个充满噪声的、错误的像素。

RoboPEPP 通过观察热图中的置信度峰值来解决这个问题。

显示过滤的热图示例

在图 4 中,你可以看到区别。关节 5 (中间列) 是可见的,热图有一个强烈、明亮的峰值 (值 0.9 或 0.87) 。末端执行器 (右列) 在画面外。热图是一团低值的模糊区域 (峰值 0.005) 。

系统应用一个阈值。如果置信度太低,它就会丢弃该关键点。它实际上是在说: “我看不到手,所以我不会用手来计算位置。”

确定最终姿态

最后,系统综合所有信息:

  1. 3D 坐标: 使用预测的 关节角度 和机器人已知的 正向运动学 计算得出。
  2. 2D 坐标:关键点网络 获得 (经过过滤后) 。

这些对应关系被输入到 EPnP (Efficient Perspective-n-Point) 算法中,该算法通过数学方法解算出机器人相对于相机的位置和旋转。

仿真到现实 (Sim-to-Real) 迁移

在合成数据 (视频游戏画面) 上训练的深度学习模型往往在现实世界中失效。为了弥合这一“仿真到现实”的差距,RoboPEPP 使用了真实图像上的自监督微调步骤。

他们将预测的 3D 点投影回 2D 图像并测量误差。因为他们使用了 可微 PnP 层,所以可以在不需要真实世界数据的真值标签的情况下,通过整个网络反向传播这个误差。

自监督损失方程

实验与结果

研究人员在 DREAM 数据集 上测试了 RoboPEPP,该数据集包括合成和现实世界环境中的各种机器人 (Panda, Kuka, Baxter) 。

最先进 (SOTA) 的准确率

使用的主要指标是 ADD (平均距离) 指标,它测量预测的 3D 关节位置与真实位置之间的平均距离。

使用 ADD 指标的机器人姿态估计 AUC 比较。

表 2 显示了结果 (AUC 越高越好) 。 RoboPEPP 始终优于现有的方法 , 如 RoboPose 和 HPE,特别是在关节角度未知的场景中。

  • Panda Photo 数据集上,RoboPEPP 得分为 80.5 , 而 RoboPose 为 74.3。
  • 尽管 HPE 使用了已知边界框 (这是一个显著的优势) ,RoboPEPP 仍在许多情况下击败了它。

关节角度精度

RoboPEPP 不仅擅长找到机器人在哪里;它还非常擅长确定机器人是如何弯曲的。

关节角度误差表

表 3 显示了以度为单位的误差。RoboPEPP 实现了仅 3.8 到 4.3 度 的平均误差。这明显优于 RoboPose (约 6.0 度) ,证明预训练策略有效地教会了编码器关于机器人的内部状态。

终极测试: 遮挡

最令人印象深刻的结果来自遮挡测试。研究人员人为地遮挡了机器人的部分区域,看模型是否会崩溃。

遮挡数据集上的定性比较

在上图 (附录中的图 A4) 中,请看各列。

  • 输入图像 (Input Image) : 机器人被黑色形状严重遮挡。
  • RoboPose (红框) : 经常估计出偏差极大的姿态,将机器人扭曲成不可能的形状。
  • RoboPEPP: 保持与机器人网格可见部分的紧密、准确对齐,正确推断出隐藏部分。

从定量上看,这一优势是巨大的:

遮挡鲁棒性图表

图 6 绘制了性能随遮挡增加的变化 (X 轴向右移动) 。

  • RoboPose (红线) : 性能立即崩溃。
  • RoboPEPP (蓝线) : 即使在 40% 的遮挡下仍保持高精度。下降趋势平缓得多,表明模型具有鲁棒性。

速度 vs. 准确率

在机器人技术中,如果处理一帧需要 5 秒钟,那么准确率就毫无用处。

执行时间和计算分析

图 7 绘制了准确率 (Y 轴) 与时间 (X 轴) 的关系。

  • RoboPose 准确但缓慢 (~500毫秒) 。
  • RoboPEPP 是左上角的明显赢家: 拥有最高的准确率和极快的推理速度( ~23毫秒 )。这使得它在实时控制回路中切实可行。

为什么有效: 消融实验

作者进行了“消融实验” (移除系统的部分组件以观察哪些部分会崩溃) ,以证明他们的贡献至关重要。

消融图表 消融图表 仿真到现实

  • 关键点过滤 (图 8b) : 移除过滤步骤 (浅蓝色条) 会导致性能显著下降。知道何时忽略一个预测与预测本身同样重要。
  • 仿真到现实 (图 8c) : 自监督微调为现实世界数据集 (AK, XK, RS) 提供了稳固的提升,验证了可微 PnP 方法的有效性。

结论

RoboPEPP 代表了基于视觉的机器人感知迈出的重要一步。通过不再将机器人视为通用物体,而是通过关节遮挡预训练教 AI 学习 物理连接性 , 研究人员取得了最先进的成果。

给学生和从业者的主要启示是:

  1. 上下文为王: 掩码预训练迫使模型学习语义结构,而不仅仅是纹理。
  2. 通过推理实现鲁棒性: 简单的启发式技巧,如过滤低置信度的关键点,对于使神经网络在现实世界中工作至关重要。
  3. 效率: 你并不总是需要迭代的“渲染并比较”循环。训练有素的前馈网络既可以更快也可以更准确。

这项工作为更安全、更灵敏的人机交互打开了大门,使得机器即使在环境杂乱时,也能纯粹通过视觉理解自己的身体。

对于那些有兴趣深入研究实现细节的人,RoboPEPP 的完整代码已经开源。