想象一个机械臂在繁忙的厨房或生产车间里工作。为了安全地与人类或其他机器协作,这个机器人需要确切知道自己在相机视野中的空间位置。这就是所谓的机器人姿态估计 。
通常情况下,这很简单,因为我们可以“作弊”: 我们可以询问机器人内部的电机编码器它的关节角度是多少。但是,如果我们不能信任这些传感器呢?如果我们观察的是一个无法控制的机器人呢?或者,如果我们仅仅想要一个纯视觉的冗余系统呢?
这就提出了一个更难的问题: 仅凭单张 RGB 图像估计机器人的姿态 (位置和方向) 及其关节角度。
在这篇深度文章中,我们将探索 RoboPEPP , 这是一篇新颖的研究论文,它介绍了一种通过“嵌入预测预训练” (Embedding Predictive Pre-Training) 来解决这一问题的巧妙方法。研究人员意识到,标准的计算机视觉模型将机器人视为普通物体。RoboPEPP 改变了游戏规则,它强迫 AI 在尝试估计姿态之前,先理解机器人的物理结构——它的关节和连杆。
![现有机器人姿态估计方法 [5] 与 RoboPEPP 框架的对比。](/en/paper/2411.17662/images/001.jpg#center)
如图 1 所示,传统方法往往难以将机器人的物理约束整合到学习过程中。RoboPEPP (底部) 通过在训练期间遮挡关节,专门针对这一点,迫使网络利用其对机器人运动学的理解来“填补空白”。
“未知状态”带来的问题
要估计机器人相对于相机的位置,通常需要两样东西:
- 2D 关键点: 机器人的特定部位在图像中的位置 (像素) 。
- 3D 几何: 这些部位在物理世界中的位置 (米) 。
如果将 2D 像素与 3D 坐标匹配起来,就可以使用一种称为 Perspective-n-Point (PnP) 的算法来计算相机的位置。
然而,关节型机器人是会移动的。如果不知道关节角度 (即“状态”) ,就不知道机器人在 3D 空间中的形状。没有 3D 形状,就无法执行 PnP。
以前试图解决这个问题的尝试主要分为两派:
- 渲染并比较 (Render-and-Compare) : 这些系统猜测姿态,渲染机器人的 3D 模型,将其与图像进行比较,然后优化猜测。这种方法准确但计算昂贵且缓慢。
- 直接预测 (Direct Prediction) : 利用神经网络一次性预测所有内容。它们速度很快,但往往难以保证准确性,特别是当机器人被部分遮挡 (occluded) 或被画面边缘截断时。
RoboPEPP 的作者认为,这些直接预测方法失败的原因在于它们并没有真正“理解”机器人。它们看到的是一堆像素,而不是由关节连接的一系列刚性连杆。
RoboPEPP 的解决方案
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 强迫模型关注那些难以分类的样本 (即实际的关节) 。

第三阶段: 鲁棒性与推理
现实世界中的机器人环境是混乱的。机器人会被物体遮挡 (occlusion) 或部分移出相机画面 (截断) 。RoboPEPP 包含了处理这些情况的具体策略。
针对遮挡的随机掩码
在微调阶段,研究人员对输入图像应用 随机遮挡 。 他们人为地遮挡图像的最多 20%。这防止了模型过度依赖看到整个机器人。因为它经过预训练可以推断缺失的关节,所以它能自然地处理这些缺口。
基于置信度的关键点过滤
姿态估计中的一个主要问题是“截断”——即机器人的一部分在屏幕之外。标准的神经网络仍然会尝试猜测缺失关节的位置,通常会在图像内选择一个充满噪声的、错误的像素。
RoboPEPP 通过观察热图中的置信度峰值来解决这个问题。

在图 4 中,你可以看到区别。关节 5 (中间列) 是可见的,热图有一个强烈、明亮的峰值 (值 0.9 或 0.87) 。末端执行器 (右列) 在画面外。热图是一团低值的模糊区域 (峰值 0.005) 。
系统应用一个阈值。如果置信度太低,它就会丢弃该关键点。它实际上是在说: “我看不到手,所以我不会用手来计算位置。”
确定最终姿态
最后,系统综合所有信息:
- 3D 坐标: 使用预测的 关节角度 和机器人已知的 正向运动学 计算得出。
- 2D 坐标: 从 关键点网络 获得 (经过过滤后) 。
这些对应关系被输入到 EPnP (Efficient Perspective-n-Point) 算法中,该算法通过数学方法解算出机器人相对于相机的位置和旋转。
仿真到现实 (Sim-to-Real) 迁移
在合成数据 (视频游戏画面) 上训练的深度学习模型往往在现实世界中失效。为了弥合这一“仿真到现实”的差距,RoboPEPP 使用了真实图像上的自监督微调步骤。
他们将预测的 3D 点投影回 2D 图像并测量误差。因为他们使用了 可微 PnP 层,所以可以在不需要真实世界数据的真值标签的情况下,通过整个网络反向传播这个误差。

实验与结果
研究人员在 DREAM 数据集 上测试了 RoboPEPP,该数据集包括合成和现实世界环境中的各种机器人 (Panda, Kuka, Baxter) 。
最先进 (SOTA) 的准确率
使用的主要指标是 ADD (平均距离) 指标,它测量预测的 3D 关节位置与真实位置之间的平均距离。

表 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 学习 物理连接性 , 研究人员取得了最先进的成果。
给学生和从业者的主要启示是:
- 上下文为王: 掩码预训练迫使模型学习语义结构,而不仅仅是纹理。
- 通过推理实现鲁棒性: 简单的启发式技巧,如过滤低置信度的关键点,对于使神经网络在现实世界中工作至关重要。
- 效率: 你并不总是需要迭代的“渲染并比较”循环。训练有素的前馈网络既可以更快也可以更准确。
这项工作为更安全、更灵敏的人机交互打开了大门,使得机器即使在环境杂乱时,也能纯粹通过视觉理解自己的身体。
对于那些有兴趣深入研究实现细节的人,RoboPEPP 的完整代码已经开源。
](https://deep-paper.org/en/paper/2411.17662/images/cover.png)