EgoHumanoid‑V2 方法分析
论文:EgoHumanoid‑V2: Human‑to‑Humanoid Transfer of Coordinated Whole‑Body Skills for Loco‑Manipulation,作者来自 OpenDriveLab/HKU、阿里巴巴等,2026.09
一、它要解决什么问题
V1(Shi et al., RSS 2026)用的是解耦控制:上半身靠 IK 跟手臂目标,下半身单独负责行走和平衡。V1 的重点是让 loco‑manipulation 能泛化到更多场景。V2 想更进一步:让机器人从人类第一视角示范里直接学会全身协调技能,比如弯腰配合伸手、单脚抬起踢抽屉同时保持平衡。
要做到这点,就必须换成全身跟踪控制器(这里用的是 SONIC),由它根据全身参考统一输出关节命令。这样做带来两个矛盾:
- 直接跟踪人类参考,末端误差很大。 只用初始化 H 时,平均误差为 11.2 cm / 21.2°,真机得分只有 21.25%。
- 用在线 IK 修正末端会破坏平衡。 原因是 IK 覆盖了控制器协调输出的一部分。附录 D 测了 3 种在线 IK 组合,60 次仿真全部不稳定,抽屉任务 15/15 在初始化阶段就摔倒。
所以核心问题是:在不破坏全身协调的前提下,提高末端交互精度。 V2 的回答是:把修正放到离线阶段,并且在 SONIC 的 motion token 空间里做。
二、整体流程
如图所示EgoHumanoid‑V2:

- 人类采集 (GoPro + PICO 全身/手部追踪, 50Hz)
- │
- ├── 动作对齐 (offline, coarse-to-fine)
- │ H: 人体运动经 SONIC 仿真 rollout → 初始轨迹 b(29-D) + token
- │ K: 约束离线 IK 修正参考几何 → 用 SONIC 编码器 E_r 编成 token z⁰
- │ D: 基于 rollout 反馈 + MLP 响应模型,迭代优化 token
- │ D_s: 历史候选筛选 + 稳定性验证
- │
- ├── 视觉对齐
- │ SAM2 分割前臂/追踪器 → DiffuEraser 补全 → 渲染 G1 机械臂合成
- │ + 训练时图像增强
- │
- └── π0.5 VLA 后训练(每任务一个策略,无目标任务机器人数据)
统一的观测与动作接口(式 1)
- 观测:o = (Ĩ, q, ℓ),即对齐后的图像、43 维 G1 状态、语言指令。
- 动作:a = (z, hᴸ, hᴿ),其中 z ∈ ℝ⁶⁴ 是 SONIC motion token,hᴸ/ᴿ ∈ ℝ⁶ 是 Revo2 灵巧手命令,合计 76 维。
- 训练时用到的机器人状态 q 来自控制器的仿真 rollout,不是人体状态。所以训练和部署时策略看到的都是机器人状态空间。
- 4 个任务共用同一个 SONIC checkpoint,不做任何任务相关的微调。
关键设计:VLA 不直接输出关节角,而是输出全身跟踪器的 latent token。 全身协调交给 SONIC 解码器负责,VLA 只需要学"做什么动作"。
三、动作对齐(核心贡献)
如图所示用于人类演示捕捉及人形机器人部署的硬件:

如图所示视觉和动作对齐的流水线:

0. 目标构造
- 所有点都转到以骨盆为中心、只随 yaw 旋转的坐标系(式 5)。z 轴始终竖直,不随身体倾斜。
- 手部目标取人类手掌位姿。高度按人和机器人的骨盆高度差逐帧平移:y = p_z^H + h^{R,0} − h^H,用来补偿身高差异。
- 足部目标用踝关节和脚部关键点的中点近似鞋底中心,并用中位数估计的地面高度做校正。
- 目标在整个优化过程中保持不变。
1. H:运动初始化
把人体运动直接送进 SONIC 在仿真里跑一遍,记录得到的关节轨迹和 token。文中还对比了 GMR 重定向和 HuMI 式全身 IK(表 2)。三者末端误差相近,但 SONIC rollout 的运动质量最好:骨盆下沉、倾斜、关节跳变、多余 yaw 都最小,所以选它做初始化。
2. K:运动学参考修正(粗阶段)
- 对初始参考做有约束的离线 IK,减小末端误差,同时限制偏离原轨迹的幅度并保持时间连续。
- 手部任务只动手臂和腰,足部任务只动腿,以原始运动为锚点。
- 修正后的参考经 SONIC 机器人运动编码器得到 z⁰ = E_r(b^ref)。
作用:一轮就去掉大部分几何误差,从 11.21 cm 降到 4.45 cm。但这只是运动学上的修正,没有考虑控制器实际执行时的偏差。
3. D:动力学感知精修(细阶段,最有意思的部分)
本质上是一种以学习到的局部响应模型为代理的迭代学习控制(ILC)。
第 k 轮流程:
- 在仿真里执行 zᵏ,得到观测历史 sᵏ 和末端残差 rᵏ(目标位姿减去实际执行位姿)。
- 固定 rollout 上下文,用 SONIC 解码器算出候选 token 带来的关节命令变化:
Δu(z) = D_c(z, sᵏ) − D_c(zᵏ, sᵏ) - 用运动学雅可比 Jᵏ 把它映射成运动学末端变化,再交给 MLP 响应模型,预测实际执行时的末端变化:
Δê(z) = R_ψ(Jᵏ Δu(z)) - 在 zᵏ 的邻域 N(zᵏ) 内优化 token,让预测的执行变化正好抵消残差(式 6):
z^{k+1} = argmin ‖Δê(z) − rᵏ‖²_Q + L_reg
关键点:
- 梯度只穿过冻结的 SONIC 解码器和 MLP,不穿过仿真器。 仿真器只用来每轮重新 rollout、给出新的残差和上下文,类似闭环 shooting。
- 正则项包括:关节命令惩罚 ‖Δu‖²_W、token 变化惩罚、时间平滑项,以及 IK 修正先验。
- 关节保持权重按任务区分。手部任务是腿/腰/臂 = (20, 20, 0.1),即尽量不动腿;足部任务是 (0.1, 20, 20)。
- 每轮 400 步 Adam。默认调度是 1 轮 K、7 轮常规 D、1 轮保守 D。
MLP 响应模型 R_ψ(附录 A.3):
- 训练数据来自 BONES‑SEED 动作库,对 token 做扰动后成对 rollout,共 34.5 万对,训练和验证按采集日期划分。
- 输入:两手掌加两脚底的位置与旋转变化(24 维);当前值加 5 条不同时间常数的指数平滑历史(144 维),用来表达执行响应的时间滞后;另有 93 维机器人状态和 64 维 token。
- 结构:冻结的线性响应,加一个小 MLP 残差(两层,宽 64,SiLU)。减去零输入时的输出,保证输入为零时响应也为零。
- 实际用法:手部任务里学习响应的混合权重只有 0.15,其余用单位响应(即假设实际执行变化等于运动学变化)。足部任务则完全使用学习响应。
4. D_s:候选筛选与验证
- 所有轮次的候选都会记录,包括 H 和 H+K 本身。
- 硬阈值:位置误差 5 cm、姿态误差 15°、骨盆下沉 0.10 m、基座倾斜 25°。
- 按"最大归一化误差"排序后,依次独立重放验证。都不通过就丢弃整条 episode。
- 这一步保证了训练数据在动力学上可执行且稳定。仅看末端误差低还不够:附录 D 中在线 IK 变体 B 的误差只有 1.5–2.4 cm,但目测明显不稳。
为什么"先 K 后 D"(图 6、表 8)
| 配置 | 位置 (cm) | 姿态 (°) | 耗时 (s/帧) |
|---|---|---|---|
| K¹(1 轮 K) | 4.86 | 16.46 | 0.65 |
| K⁸(8 轮 K) | 4.77 | 16.51 | 2.55 |
| D⁸(只做 8 轮 D) | 8.40 | 16.40 | 1.27 |
| D¹⁶(只做 16 轮 D) | 7.16 | 12.36 | 2.11 |
| K¹D⁸(本文默认) | 3.97 | 8.08 | 1.49 |
- K 负责大幅几何纠偏,但重复做没有收益:误差卡在约 4.8 cm,因为它看不到执行偏差。
- D 负责执行层面的精修,对姿态误差改善尤其明显。但从很差的初值出发收敛很慢。
- 两者互补,所以采用 1 轮 K 加多轮 D。
四、视觉对齐
- 采集时戴蓝手套,方便分割。
- 用 SAM2 分割人的前臂和腕部 PICO 追踪器,再用 DiffuEraser 做视频补全。
- 根据对齐后的关节位置渲染 G1 机械臂,调整平移、旋转和尺度,使其与人的手腕对齐后合成到画面里。
- 训练时加随机裁剪、小角度旋转和颜色扰动,以应对人和机器人运动幅度不同造成的视角差。部署时直接使用机器人相机图像。
消融结果(表 4):基线 33.33%,只加增强 47.50%,只加渲染(3 个手部任务)38.89%,两者都加 48.33%。不过收益因任务而异:Close Laptop 只加增强得 61.67%,反而高于两者都加的 53.33%。
五、主要结果
| 指标 | 数值 |
|---|---|
| 200 条人类示范,4 任务平均得分 | 51.67%(38.33–61.67%) |
| 示范从 25 条增加到 200 条 | 38.33% → 51.67% |
| 动作对齐消融:H → H+K → H+K+D_s | 21.25% → 47.08% → 51.67% |
| 末端误差:H → H+K → H+K+D_s | 11.21/21.22 → 4.45/13.77 → 3.41 cm/6.71° |
| 50 任务仿真扩展实验 | 17.03 → 5.22 → 3.83 cm |
| 每条示范采集人力 | 比遥操作低 76.36%(140.85 → 33.30 人·秒) |
| 与机器人数据对比 | 200 条人类数据 53.33% / 53.33%,50 条遥操作数据 63.33% / 56.67% |
六、评价
亮点
- 在跟踪器的 latent 空间里修正动作。 这是全文最核心的想法。修正量经过 SONIC 解码器后天然是"协调的"全身命令,避免了 IK 覆盖部分关节导致失衡。
- 把在线修正改为离线优化。 离线可以多轮 rollout、跨轮次挑选候选、设置稳定性门槛。这些在实时控制里都做不到,而且部署端完全不变。
- 梯度不穿过仿真器。 用"冻结解码器 + 雅可比 + 学习响应"作为可微代理,仿真只负责提供闭环反馈,工程上很务实。
- 负面结果做得扎实。 附录 D 系统证明了在线 IK 在全身跟踪器下不可行,给"为什么要离线"提供了直接证据。
局限与疑点
- 对齐目标纯粹是运动学的。 仿真 rollout 里没有任务物体(附录图中写明 “Task objects are omitted”)。对齐的是"手掌到达人类手掌的位置",而不是接触力或交互动力学。对于需要持续用力的任务(比如拉冰箱门,得分最低 38.33%),这可能是瓶颈。
- MLP 响应模型的贡献偏小。 3 个手部任务只改善了 0.13–0.17 cm,混合权重也只有 0.15。真正明显的收益集中在 Close Drawer(9.18 → 5.80 cm),说明学习响应主要在需要平衡调整的足部任务上有价值。
- 人类数据效率仍明显低于机器人数据。 大约需要 4 倍数量的示范才接近机器人数据的效果。"人力成本降低 76%"的结论是按单条示范计算的。按达到同等效果计算,节省会少很多(文中给出的是 26–31%)。
- 评估规模较小。 每个任务一个专用策略,每个条件 20 次试验,没有误差棒,且不涉及跨任务泛化。表 4 中部分条件之间的差异可能落在噪声范围内。
- 处理成本较高。 约 1.49 s/帧,作者也承认吞吐量受限。文中没有报告 D_s 验证阶段的丢弃率,这会影响数据的真实可用比例。
- 对 SONIC 强依赖。 整套方法建立在 SONIC 的编码器、解码器和 token 接口上。换用别的全身跟踪器需要重新训练响应模型,通用性有待验证。
总结
EgoHumanoid‑V2 的本质是:把"人类运动到机器人动作"的映射,变成在冻结全身跟踪器 token 空间里的一次离线迭代学习控制。 它先用 IK 修正参考几何,再用一个可微的执行响应代理逐轮抵消执行残差,最后用稳定性门槛筛选出可执行的轨迹,作为 VLA 的监督数据。真正有效的主要是 K 阶段(得分从 21% 提升到 47%),D 阶段加历史筛选则把姿态精度和最终得分进一步推高。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)