Ego2Robot: Scalable Robot Data Synthesis from Egocentric Human Data论文笔记
Ego2Robot: Scalable Robot Data Synthesis from Egocentric Human Data
核心一句话
把大量第一人称人类操作视频,自动转换成“看起来像机器人在操作、并带有机器人动作标签”的训练数据,用来提升机器人 VLA 模型的泛化能力。 方法分三步:
- 动作对齐:从视频中估计手部 3D 姿态,把手的拇指、手指、手腕等关键点转换成机器人夹爪的 TCP 位姿、夹爪宽度和运动轨迹。然后做时间平滑,并调整速度,因为人手动作通常比机器人快很多。
- 视觉对齐:先把视频里的人的手臂分割出来,再用视频修复模型把手臂擦掉,重建背景。接着为目标机器人搜索合适的底座位置,用 MuJoCo 做逆运动学,最后把机器人手臂渲染回原始场景中,并用深度关系处理遮挡。
- 质量筛选:分三层过滤:IK 失败、自碰撞、动作突变等低级错误;统计异常轨迹;以及用 VLM 检查“机器人视频是否真的符合任务描述”。
摘要以及引言部分
训练具有泛化能力的机器人操作策略需要大规模且多样化的演示数据。 提出了 Ego2Robot,这是一个可扩展的流水线,通过动作重定向、机器人手臂视觉合成以及多层级质量筛选,将第一视角的人类操作视频转化为机器人训练数据。
核心假设是:尽管存在实体差异,但只要进行合理的对齐,第一视角操作视频中包含的可迁移交互规律就能补充机器人数据。 Ego2Robot,这是一个端到端的流水线,通过动作对齐(action alignment)、视觉对齐(visual alignment)和多层级质量筛选(multi-level quality curation),将第一视角的人类操作数据转化为特定实体的机器人训练数据
图1:Ego2Robot 流程。通过动作对齐、视觉对齐和质量筛选,将以自我为中心的视频转化为涵盖15种形态的18561小时机器人训练数据。
贡献如下:
- 提出 Ego2Robot:一个完整的 ego-to-robot 合成流水线,包含动作对齐、视觉对齐和多层级质量筛选,支持 15 种机器人形态。
- 构建最大数据集:构建了迄今为止最大的 ego-to-robot 数据集,包含从多样化第一视角视频源生成的 18,561 小时合成机器人训练数据。
- 引入解耦基准:提出了一个解耦泛化基准,将视觉、场景、实体和语义扰动拆开,用于精细评估机器人策略的鲁棒性。
- 验证泛化性能:证明了将 ego2robot 合成数据与纯机器人数据结合可以提高泛化性能,特别是在分布外偏移(out-of-distribution shifts)的情况下。
方法 Ego2Robot 管线 (Ego2Robot Pipeline)
作者把第一人称人类操作视频,先转成机器人能执行的动作轨迹,再把画面里的手换成机器人手臂,最后用 IK 和深度合成保证“动作能做、画面也像真的”。
给定描绘人类双手操作的以人为主视角(第一人称/第一视角,Egocentric)视频,管线通过三个阶段生成特定构型(Embodiment-specific)的机器人训练数据:动作对齐(Action Alignment)、视觉对齐(Visual Alignment) 和 质量筛选(Quality Curation)
- 动作对齐:通过重定向(Retargeting)和平滑处理,将手部姿势转换为机器人末端执行器(End-effector)的运动轨迹。
- 视觉对齐:通过手臂分割、手部消除、基于逆运动学(IK)求解的机器人基座姿势搜索以及深度感知渲染,将人类手臂替换为渲染的机器人手臂。
- 质量筛选:在轨迹级、帧级和片段(Episode)级对样本进行过滤筛选。
本管线支持两种输入路径,在手部姿势估计完成后,两条路径合并入统一的管线:
- Path A:接收带有现有手部姿势标注的以人为主视角数据集。
- Path B:处理无标注视频,首先通过 WiLoR [47, 48] 逐帧重建与 DynHaMR [49] 时序优化来估计手部姿势。对于长视频,我们采用 Qwen3.5 [50] 将连续录像分割为带有自然语言描述的离散子任务。
动作对齐 (Action Alignment)
动作对齐阶段通过重定向和时序平滑,将手部姿势转换为平行夹爪末端执行器的轨迹。
时序平滑 (Temporal Smoothing): 逐帧的手部检测会引入高频噪声。我们对位置和宽度应用 Savitzky-Golay 滤波器,对朝向应用高斯加权 SLERP(球面线性插值),在保留运动结构的同时生成平滑的轨迹。
动作速度对齐 (Action Speed Alignment): 以人为主视角的人手操作动作速度显著高于机器人遥操作数据。为了对齐速度分布,我们在训练期间对每个数据源应用帧下采样:ANT 和 EgoDex 被下采样至原始帧率的 60%(慢约 1.7 倍),EgoVerse 下采样至 45%(慢约 2.2 倍),ViTRA 下采样至 25%(慢约 4 倍)。
手部到夹爪重定向 (Hand-to-Gripper Retargeting):对于检测到手部的每一帧,我们从 21 个手部关键点中提取出紧凑的夹爪表示。我们将虚拟指尖(Virtual Fingertip)定义为食指和中指指尖的加权混合: $$p_{vf} = 0.7 \cdot p_{index} + 0.3 \cdot p_{middle} \quad (1)$$ 工具中心点(TCP)和夹爪张开宽度分别为: $$p_{tcp} = \frac{p_{thumb} + p_{vf}}{2}, \quad w = \Vert{}p_{thumb} - p_{vf}\Vert{} \quad (2)$$ 抓取朝向是一个右手正交规范基框架 R=[x y z]。抓取轴 z 沿夹爪线(拇指指尖到虚拟指尖);它与“手腕到指尖”方向 d=pvf−pwrist 共同构成夹爪平面,该平面的法线为夹爪法线轴 y;接近轴 x 完成该框架的构建:$$z = s \frac{p_{thumb} - p_{vf}}{w}, \quad y = \frac{z \times d}{\Vert{}z \times d\Vert{}}, \quad x = y \times z \quad (3)$$其中,右手 s=+1,左手 s=−1,使 z 轴不论左右手朝向均保持一致,并将双手映射到相同的夹爪框架中。三个轴分别为:x — 接近方向,y — 夹爪法线(垂直于夹爪平面),z — 抓取轴(沿夹爪线)。
视觉对齐 (Visual Alignment)
视觉对齐将以人为主视角的视频从展示人手改变为展示在同一场景中操作的机器人手臂。
- 手臂分割 (Arm Segmentation):我们使用 SAM 3 [51] 分割每帧中的人类手臂区域,在跨帧间提供时序一致的掩码(Mask)。
- 手部消除 (Hand Removal):基于手臂掩码,ProPainter [52] 执行时序一致的视频修复(Inpainting),以消除人类手臂并重建背景。
- 机器人基座姿势搜索 (Robot Base Pose Search):将以人为主视角视频转换为机器人数据的一个核心挑战是确定机器人的基座放置位置。与具有源基座位置可用的“机器人到机器人”迁移不同,以人为主视角的手部轨迹是无构型限制的(Embodiment-free):没有物理机器人基座可供参考。我们必须找到一个基座姿势 Tbase=(t,R)∈SE(3),使重定向后的轨迹对于目标机器人构型在运动学上可行。我们将其公式化为对基座放置位置的优化问题。给定包含 N 个目标末端执行器姿势的轨迹 {Tiee}i=1N 和最大工作到达范围为 rmax 的机器人,我们寻求:$$T_{base}^* = \arg\max_{T_{base}} \frac{1}{\vert{}\mathcal{K}\vert{}} \sum_{k \in \mathcal{K}} #[\text{IK}(T_{base}^{-1} T_k^{ee}) \text{ 是可行的}] \quad (4)$$其中 K⊂{1,…,N} 是选择用于覆盖轨迹空间极限(具有最大位移或朝向变化的位置)的一组代表性关键帧,IK(⋅) 表示 MuJoCo [53, 54] 中的逆运动学求解器。候选基座放置位置通过在轨迹质心周围进行网格搜索产生,并受到各构型运动学到达范围 rmax 的约束。每个候选位置通过在所有关键帧求解 IK 来验证,并选择可行率最高的位置。由于不同的手臂长度和关节配置对于同一轨迹需要不同的基座放置,该搜索针对 15 种机器人构型分别独立执行。
- 逆运动学与渲染 (Inverse Kinematics and Rendering):在确定优化的基座放置位置后,在 MuJoCo 中逐帧求解 IK。机器人将从原始相机视角进行渲染。
- 深度感知合成 (Depth-Aware Compositing):机器人从相机视角渲染,并利用深度排序合成到已修复背景的场景中:$$I_{final}(u,v) = \begin{cases} I_{robot}(u,v) & \text{若 } D_{robot}(u,v) < D_{scene}(u,v) \land M_{robot}(u,v)=1 \ I_{inpaint}(u,v) & \text{其他情况} \end{cases} \quad (5)$$其中 Dscene 从深度传感器获取或通过单目深度估计得到。该过程独立应用于 15 种机器人构型(Panda, UR5e, ARX-L5, xArm7, Sawyer, Kinova Gen3, IIWA, Jaco, FR3, UR10e, ViperX, WidowX, Piper, YAM, Aloha-Agilex),从每段以人为主视角的视频生成并行训练流。
质量筛选 (Quality Curation)
三个层级的质量过滤:
- L1(管线内部 Level 1):存在 IK 求解失败、自碰撞、动作异常值或工作空间覆盖不足的帧会在处理过程中被标记。
- L2(统计级 Level 2):剔除具有极端动作值、突然不连续或无效帧比例过高的轨迹。
- L3(VLM 一致性级 Level 3):视觉语言模型(VLM)[50] 审计合成视频,检查渲染的机器人动作与原始操作意图之间的语义一致性。
评估框架 (Evaluation Framework)
图2:评估框架。包含4个泛化维度,共12种评估设置。
虚线边框:从捆绑随机化中解耦出的设置,用于独立测试。
实线边框:新引入的评估轴。
灰色边框:外部基准(EBench)。
将 RoboTwin 2.0 进行了扩展:增加了 11 个独立的扰动设置,并支持基于相机坐标系的相对末端执行器(EEF)表达还引入了 EBench 作为补充基准
扩展后的评估框架涵盖了四个主要泛化维度:
- 视觉外观 (Visual Appearance):实现了对背景纹理、照明条件以及机器人颜色的独立控制。背景和照明扰动从原先的打包随机化设置中解耦出来,以便进行独立测试。机器人颜色扰动会在所有机器人连杆上应用随机的色调偏移,用于测试模型对训练集中未见过的具身外观变化的视觉不变性。
- 场景布局 (Scene Layout):包括桌面高度变化(±4cm)、干扰物(distractor objects)以及相机视角偏移(±5cm),这些因子均被解耦以进行独立评估。这些空间扰动用于探究模型对真实世界部署中常见的物理放置变化的鲁棒性。
- 具身形态 (Embodiment):在零样本(zero-shot)跨具身评估中,将默认的 Aloha-Agilex 机器人替换为 UR5-WSG、ARX-X5 和 Franka Panda。每种替代具身形态的初始末端执行器(EEF)姿态均通过逆运动学(IK)进行了对齐,以确保起始条件一致。这用于测试相机坐标系下的动作表达是否能够在未经特定具身微调的情况下,直接泛化到形态截然不同的机器人上。
- 任务语义 (Task Semantics):在 50 个评估任务中引入该任务训练阶段未见过的物体实例(unseen object instances),并使用 505 条改写的自然语言指令(paraphrased natural language instructions,以口语化形式重新表述命令)。这旨在探究模型对新颖物体外观的泛化能力以及对语言表达变化的鲁棒性。
实验
实验主要想回答一个问题:Ego2Robot 合成出来的人类第一视角转机器人数据,是否真的能提升机器人 VLA 模型的泛化能力?
实验设置
使用一个 VLA 模型作为基座:视觉语言骨干是 Qwen3.5-4B,动作头是 Diffusion Transformer DiT
预测 32 步 action chunk,动作表示采用 camera-frame relative EEF
预训练数据分为两类: Robot-only:只用机器人数据,包括 DROID、AgibotWorld、InternData,总计约 6,565 小时 Ego2R + Robot:把 Ego2Robot 合成数据和机器人数据混合,比例包括 1:3、3:1、1:1
所有预训练设置都训练 200K steps,batch size 和超参数相同 微调和评估方面:
- 在 RoboTwin2.0 的 50 个 clean tasks 上微调,每个任务 50 条 demonstration
- 在不同扰动条件下测试,每个任务 50 个 episode
- 额外在 EBench 上测试桌面精细操作任务
- 最后还做了 真实机器人实验,平台是 ARX ACone,测试 5 个长程任务
实验设计
主实验:不同预训练数据比例对比
表1:主要结果。 在 RoboTwin2.0 和 EBench 上的成功率(%)。绿色表示相比仅机器人(Robot-only)提升超过 5%。
比较 Robot-only 和 Ego2R+Robot 不同比例混合后的效果。核心指标包括 RoboTwin Clean、Randomized、Visual、Scene、Embodiment、Task 和 EBench。 结果显示:Ego2R 和 Robot 以 1:1 混合时整体最好。 相比 Robot-only: Clean:从 62.2% 提升到 68.1% Randomized:从 50.9% 提升到 53.5% Visual:从 61.4% 提升到 67.3% Scene:从 52.9% 提升到 56.9% Task:从 46.2% 提升到 54.1% 说明 Ego2Robot 数据确实能补充真实机器人数据,尤其提升 OOD 泛化。
细粒度扰动实验
表2:各扰动分解。 与仅机器人(Robot-only)相比的变化。绿色表示提升超过 5%。
把泛化拆成几个维度,而不是只看一个混合随机扰动分数: Visual Appearance:背景、光照、机器人颜色 Scene Layout:桌高、杂物、相机偏移 Embodiment:换成 ARX、UR5、Franka Task Semantics:新物体、语言改写 结果显示,Ego2R+Robot 对 视觉变化、机器人形态变化、新物体、语言改写帮助明显。比如 1:1 设置下: Lighting:+7.6 Robot Color:+6.4 Camera Offset:+5.9 ARX:+7.1 Unseen Objects:+10.3 Paraphrased Language:+5.4 这说明 Ego2Robot 不是只增加轨迹数量,而是提供了更多视觉、物体、语言和形态多样性。
消融实验:Ego2Robot 流水线有没有必要?
图3:流程价值与具身扩展。 在 RoboTwin 随机化(RoboTwin Randomized)设置上的成功率。 作者只用 ego-sourced 数据预训练,不加真实机器人数据,比较: 原始 ego 视频 Ego2R 单一机器人形态 Ego2R 5 种形态 Ego2R 10 种形态 Ego2R 15 种形态 Ego2R 15 种形态 + raw ego 结论: 原始 ego 数据效果较低,RoboTwin Randomized 为 28.1% 经过 Ego2Robot 流水线后,单形态提升到 31.7% 形态越多效果越好,15 种形态到 33.5% 加上 raw ego 后进一步到 37.3% 说明两个点:流水线转换是有价值的,多机器人形态渲染也是有价值的。
真实机器人实验
图4:真实机器人实验结果。ARX ACone平台上五项任务的成功率(%)。 作者在 ARX ACone 双臂机器人上测试 5 个长程任务: Put Fruits Put Blocks Fold Towel Sweep Trash Insert Screw 比较三种设置: Scratch Robot-only Mix Mix + Ego2R Play 其中 Ego2R Play 是把真实场景中随手录制的人类第一视角 play video 转成机器人数据,再加入微调。 结果是:Mix + Ego2R Play 在 5 个任务上都最好,尤其 Put Blocks 和 Insert Screw 提升明显。说明这套方法不只是仿真 benchmark 有效,也能帮助真实机器人部署。
结论与局限性
Ego2Robot 证明了“人类第一视角操作视频 -> 机器人训练数据”这条路线是可扩展且有效的。合成数据与真实机器人数据互补,能提升 VLA 在视觉、形态和任务语义扰动下的 OOD 泛化,并在真实机器人上取得收益。
手部动作被简化为平行夹爪 它把人手姿态重定向到 parallel-jaw gripper,因此会丢失细粒度手指关节运动。对于灵巧手、多指操作、复杂手内操作,这种表示不够。
视觉合成仍可能有伪影 视觉对齐依赖手臂分割、视频修复、机器人渲染和深度合成。遇到严重遮挡、复杂光照、背景重建困难时,合成画面可能不真实,造成视觉 domain gap。
评估任务范围有限 主要评估集中在 RoboTwin2.0 和少量真实机器人任务上。虽然结果不错,但还不能证明它能泛化到所有机器人形态、所有复杂任务和更开放的真实环境。