引言: 数据瓶颈

回顾自然语言处理 (如 GPT-4) 或计算机视觉领域的近期爆发,你会发现一个共同点: 海量数据集 。 这些模型是在从互联网上轻松抓取的数十亿数据点上训练出来的。

然而,机器人技术却受困于数据瓶颈。要训练一个机器人洗碗,通常需要对其进行“遥操作”——即手动控制机械臂数百次来执行任务,以收集训练数据。这一过程缓慢、昂贵,且极度依赖硬件。

但是,如果我们只需要观察人类洗碗并从中学习呢?人类无处不在,而且人类执行任务的视频资源非常丰富。问题在于具身差距 (Embodiment Gap) 。 人手的外观和移动方式与机器人的机械爪截然不同。如果你在人手的像素数据上训练机器人,然后启动它,它看到的是金属夹爪,就会不知所措。

在这篇文章中,我们将深入探讨 Phantom , 这是来自斯坦福大学的一篇引人入胜的论文。研究人员提出了一种仅使用人类视频来训练机器人策略的方法——在训练过程中不需要任何真实世界的机器人数据 。 他们通过在视频中的人类身上视觉“幻化”出一个机器人,有效地弥合了人类感知与机器人感知之间的差距。

从人类视频中学习的概览。该流程获取人类视频,通过图像修复移除人类,并插入渲染的机器人。

背景: 跨具身难题

要理解 Phantom 的重要性,我们需要了解视觉模仿学习 (Visual Imitation Learning) 的问题。

在标准设置中,机器人接收图像 (观察) 并预测动作 (移动) 。神经网络非常擅长这一点,前提是测试时的图像看起来与训练图像相似。

当我们尝试使用人类视频时,我们面临两个巨大的分布偏移:

  1. 视觉偏移: 肉做的手看起来与金属爪不同。
  2. 物理偏移: 人类手臂拥有 7 个以上的自由度 (DOF) 和复杂的运动学特征;而机械臂的移动方式不同。

以前解决这个问题的尝试通常需要一块“罗塞塔石碑”——即用于学习翻译的小型人类-机器人配对数据集,或者大量使用模拟环境。Phantom 通过使用生成式 AI 和计算机视觉技术来编辑数据本身 , 从而绕过了这个问题,使得人类数据在策略模型看到之前就看起来像机器人数据。

Phantom 方法

Phantom 的核心思想是将人类演示数据集转换为“机器人”演示数据集。这个过程完全离线进行。一旦数据被转换,就可以在这些“假”机器人数据上训练一个标准策略 (如 Diffusion Policy) 。

该流程主要包括三个阶段: 动作标注、视觉数据编辑和推理适应。

数据编辑流程概览。估计手部姿态,通过图像修复去除手部,并叠加虚拟机器人。

第一步: 动作标注 (从像素到姿态)

视频只是一系列图像。要训练机器人,我们需要动作 。 具体来说,对于视频的每一帧,我们需要知道末端执行器 (夹爪应该在的位置) 的 6 自由度 (6-DOF) 姿态以及夹爪的宽度。

\[ a _ { r , t } = ( { \bf p } _ { t } , { \bf R } _ { t } , g _ { t } ) \]

机器人动作方程。

这里,\(p_t\) 是位置,\(R_t\) 是旋转,\(g_t\) 是夹爪的开/合状态。

为了从人手视频中获得这些数值,作者使用了一个两步过程:

  1. 手部姿态估计: 他们使用一个名为 HaMeR 的模型从图像中预测人手的 3D 网格。
  2. 通过深度优化: 单目 (单摄像头) 估计在绝对 3D 空间中通常会出现抖动或不准确。他们通过获取相机的深度图,将手部转换为点云,并使用迭代最近点 (ICP) 配准将预测的网格锁定到实际深度读数上,从而对此进行优化。

优化手部姿态估计。HaMeR 的预测结果通过 ICP 配准与点云对齐。

一旦他们获得了准确的手部网格,就将其映射到机器人夹爪的启发式规则上:

  • 位置: 拇指和食指之间的中点。
  • 旋转: 通过拟合穿过手指的平面来计算。
  • 夹爪宽度: 拇指和食指指尖之间的距离。

第二步: 视觉桥接 (魔术戏法)

现在我们有了数学数据 (动作) ,我们需要修复像素 (观察) 。如果我们用人手的图像训练机器人,当它看到自己的夹爪时就会失败。

作者采用了一种“数据编辑”策略。对于人类视频的每一帧:

  1. 分割: 使用 SAM2 (Segment Anything Model 2) 找到属于人类手臂和手的像素。
  2. 图像修复 (Inpainting) : 擦除人类。研究人员使用视频修复技术来填充手臂背后的背景。
  3. 叠加: 使用第一步计算出的动作姿态,他们渲染一个虚拟机器人 (使用 MuJoCo 物理引擎) 并将其粘贴到图像中。

这实际上创造了一个“幽灵 (Phantom) ”机器人。对于神经网络来说,这看起来就像是一个机器人在执行任务。

为什么图像修复很重要?

你可能会问: 为什么要费劲做图像修复?我们不能直接用红色方框或遮罩盖住人类吗?

研究人员对此进行了测试。他们将自己的方法( Hand Inpaint )与更简单的方法进行了比较,例如仅遮挡手部( Hand Mask )或在其上画一条线( Red Line )。

数据编辑策略比较: Hand Inpaint vs Hand Mask vs Red Line。

正如我们在结果中将看到的, Red Line 方法完全失败了 (0% 成功率) 。神经网络依赖于视觉一致性。如果训练数据看起来很抽象 (红线) ,但现实世界看起来很逼真,策略就会失效。 Hand Inpaint 方法产生了最逼真的训练数据,这也最好地迁移到了现实世界。

第三步: 推理时的差距

这是论文中最聪明的部分。

你可能会认为,一旦训练完成,你就可以直接在机器人上运行策略。但有一个问题: 虚拟机器人 (在 MuJoCo 中渲染) 看起来与真实的物理机器人略有不同。 光照、阴影和材质纹理无法完美匹配。

为了解决这个问题,Phantom 在测试时应用了类似的技巧:

  1. 机器人使用其摄像头拍摄照片。
  2. 利用其自身的传感器 (本体感觉) ,机器人确切地知道其手臂在哪里。
  3. 系统在实时视频流中的真实机器人之上渲染虚拟机器人

这确保了神经网络无论是在训练期间还是测试期间,都只能看到虚拟机器人 。 这消除了“仿真到现实 (Sim-to-Real) ”的视觉差距,因为从视觉上看,机器人从未离开过模拟环境。

实验与结果

作者在 6 个不同的任务上评估了 Phantom,包括操作刚性物体、可变形物体 (绳索) 和颗粒状物品 (垃圾) 。

Franka 机器人上的五个评估任务。

1. 没有机器人数据能行吗?

行。在“拾取放置”、“叠杯子”和“系绳子”等任务中,Phantom 方法取得了很高的成功率。

  • 拾取/放置书籍: 92% 成功率。
  • 系绳子: 64% 成功率 (对于可变形物体来说令人印象深刻) 。

至关重要的是, Red LineVanilla (原始人类视频) 基线完全失败 (0% 成功率) 。这证明了视觉数据编辑是必要的。

2. 它能泛化到新场景吗?

从人类视频中学习的最大承诺之一是多样性。将机器人移动到森林或客厅很难,但人类在那里录制视频很容易。

研究人员在不同的环境 (休息室、户外草坪等) 中收集了人类扫地的演示,并在机器人以前从未见过的场景中进行了测试。

分布外评估场景。

该方法显示了强大的泛化能力。例如,在各种室内房间的人类视频上进行训练,使得机器人能够在户外草坪环境中工作 (72% 成功率) ,尽管在训练期间它从未见过户外环境或处于该环境中的机器人。

3. 它是否与机器人无关?

因为训练数据中的机器人是渲染出来的,所以你可以更换 3D 模型。作者展示了同一段人类视频可以被处理用来训练 Franka 机器人、UR5 或 Kinova 机器人。

机器人无关性演示。一段人类视频可以转换为多种不同机器人的演示。

4. 人类数据 vs. 机器人数据的精度

这存在一个权衡。遥操作机器人数据是精确的 (\(<1\)mm 精度) 。人手估计是有噪声的 (从像素估计) 。

研究发现:

  • 50 个机器人演示上训练的策略击败了在 50 个人类转机器人演示上训练的策略。
  • 然而,由于人类数据更容易收集,他们扩展到了 300 个人类演示 。 在这个规模下,人类数据策略追平或击败了机器人数据策略。

这证实了假设: 数量可以弥补精度的不足。

主要结论

Phantom 代表了迈向“通用机器人”的重要一步。以下是这篇论文具有影响力的原因:

  1. 可访问性: 你不需要遥操作设备或孪生机器人来收集数据。你只需要一个 RGBD 摄像头 (像带有 LiDAR 的 iPhone 或 RealSense) 和你的双手。
  2. 视觉桥梁: 它强调了对于卷积神经网络来说,一致性是王道。通过强制训练和测试图像共享相同的“虚拟”叠加层,他们绕过了领域适应这一难题。
  3. 规模: 它解锁了在咖啡店、公园和家庭中收集机器人训练数据的能力——目前机器人无法去这些地方收集自己的数据。

通过将“具身差距”视为数据编辑问题而不是学习问题,Phantom 让我们能够使用地球上最智能的操作器——我们自己——来训练机器人。