iDP3: Generalizable Humanoid Manipulation with 3D Diffusion Policies
作者 / 机构:Yanjie Ze (Stanford), Zixuan Chen (SFU), Wenhao Wang (UPenn), Tianyi Chen (UPenn), Xialin He (UIUC), Ying Yuan (CMU), Xue Bin Peng (SFU), Jiajun Wu (Stanford)
发表:arXiv 2410.10803(2024.10 首发,2025.09 v3);IROS 2025
arxiv:2410.10803 · 项目页:https://humanoid-manipulation.github.io/
在线索中的位置:属于 [T05 · Diffusion Policy Lineage] 转折 4 / 3D 泛化支线;与 T07(人形 teleop)和 T11(dexterous manipulation)耦合。
PDF 核实源:papers_pdf/iDP3_2410.10803.pdf(v3,2025-09-09)正文 Sec.III–IV + Fig.2/3 + Tab.I/II/III。以下数字均与 PDF 对齐。
一句话定位:把 DP3 从「依赖相机标定 + 物体点云分割的第三人称 3D policy」改造成「egocentric 相机坐标系 + 场景级点云直接喂」的 Improved 3D Diffusion Policy,配合 Apple Vision Pro 全上半身 teleop 在 Fourier GR1(25-DoF 上半身:head+waist+arms+hands)上采数据,让一个全尺寸人形仅用单场景数据 + 机载计算就能 zero-shot 泛化到大量未见场景的抓放/倒水/擦拭任务。论文做了 2253 真机 episode(PDF Tab.I 精确数)的严格 ablation——是同期 humanoid manipulation 工作里评估规模最大的。
动机
到 2024 年中,diffusion policy 已经在桌面 bi-manual 场景大获成功,但人形 manipulation 还困在「单场景」:(1) 学习算法泛化能力有限;(2) 多场景人形数据太贵采不起。所有已发表的人形自主 manipulation 工作都只在训练场景里 demo,换场景就废(论文 Table I 系统对比)。
核心难点是:现成可用的 3D 学习算法 DP3 [Ze et al. 2024, arXiv:2403.03954] 虽然泛化强,但有两个部署硬约束:
- 依赖精确相机标定:DP3 的点云在世界坐标系(world frame),需要知道相机相对机器人 base 的 extrinsic。但人形机器人相机安装在头部、头会动,标定值不稳定;移动机器人(带轮/带腿)更没法固定 base frame。
- 依赖点云分割:DP3 用 sparse point sampling,要先从场景点云里分割出目标物体点云(用 foundation model 或手工 mask)。这一步在受控实验室能做,但每换一个场景就要重做分割,且 foundation model 在野外不可靠。
iDP3 要回答:能否设计一个无需标定、无需分割的 3D diffusion policy,让它直接吃「机器人头部相机看到的场景级点云」,从而把人形 manipulation 从「单场景」推到「单场景训练 + 多场景部署」?
方法核心:四个工程化改造把 DP3 推上人形
iDP3 的「方法」其实是 DP3 + 四个针对人形 noisy human data 的改造。整篇论文真正的贡献是「系统」——平台 + teleop + 算法 + 部署的全栈。
系统组成(四部分,Fig. 2)
1. 人形平台:Fourier GR1 全尺寸人形(整机 29-DoF),配两 Inspire Hand;实际只启用上半身 {head, waist, arms, hands} 共 25-DoF(PDF Sec.III-A 明确),下半身禁用。固定在可移动 + 高度可调 cart 上。cart 解决「桌面高度变化」问题——通过调 cart 高度代替 whole-body control,简化难度(论文坦言等 WBC 成熟后这套方法同样适用)。头部装 RealSense L515 solid-state LiDAR(不是 D435,D435 深度精度不够,DP3 在 D435 下性能差),提供 egocentric vision。也试过 Livox Mid-360,分辨率/帧率不够 contact-rich 任务。
2. 全上半身 teleop(关键创新之一):用 Apple Vision Pro (AVP) [35] 采人数据,实时拿到 head/hands/wrists 的 3D 位置和朝向([36] 输出)。映射到机器人(共控 25-DoF = head + waist + arms + hands):
- 手臂关节用 Relaxed IK [37] 跟踪人 wrist 位置
- 腰 + 头关节用人 head 的旋转
- 同时把机器人实时视觉(LiDAR 点云)回传给人做沉浸反馈(egocentric teleop,[10] 思路)
相比传统 bi-manual(只控双臂),这套系统纳入腰 + 头 + 主动视觉,大幅扩展工作空间——尤其是不同高度的任务(靠腰俯仰)。teleop 延迟约 0.5 秒(LiDAR 吃带宽/CPU)。试过腕上再加一个 LiDAR,延迟高到没法采数据。Tab.I 对比:同期 OpenTeleVision 只控 Arm&Hand(无 head/waist/leg),OmniH2O/HumanPlus 全身但 manipulation 不泛化——本工作是唯一全上半身 + 主动 vision + scene generalization 的。
3. iDP3 算法(核心):DP3 的四个改造。
4. 部署:实时 15Hz 推理,纯机载计算(PDF 仅说 onboard computing,未指明型号),open-world 直接部署——无 camera calibration、无 manual point cloud segmentation。
iDP3 算法的四个改造
改造 1:Egocentric 3D 表示(最重要)。DP3 把点云放在 world frame(Fig. 3 右),需要 camera extrinsic 把相机系点云变到 world。iDP3 直接在相机坐标系(camera frame)做 3D 表示(Fig. 3 左)——点云进网络前不做任何坐标系变换。这彻底消除对外部标定的依赖,相机可以随便动(人形头动、cart 动、未来带腿走都行)。论文给这类表示起名 egocentric 3D visual representations。
改造 2:Scaling up vision input。DP3 用 sparse point sampling(少量代表点),背景/桌面要靠分割去掉。iDP3 不分割,直接把场景级稠密点云喂进去——靠「点数足够多」让网络自己学会从背景里分辨任务相关几何。这个 trick 简单粗暴但有效(消融显示点数到一定数量后饱和)。
直觉:不分割靠「scaling up」让网络自己学注意力。代价是计算量上升,但论文 Fig. 7 显示 iDP3 训练时间仍少于 image-based DP(30min vs 80min)——因为 3D 表示比 2D 像素更紧凑。
改造 3:Improved visual encoder。DP3 用一个超简单的 MLP 点云编码器(这是 DP3 原论文卖点:不需要 PointNet++ 这类复杂 3D backbone)。iDP3 换成 pyramid convolutional encoder——卷积层从不同层级提特征金字塔。论文发现:从 noisy human data 学时,conv 比 FC 产生更平滑的行为;pyramid 多层特征进一步提升精度。
PDF Tab.III 精确消融(1st-1/1st-2/3rd-1/3rd-2 total):Linear (DP3 原版) 58/127 → Conv 49/131 → Linear+Pyramid 66/134 → Conv+Pyramid (iDP3) 75/139。conv 和 pyramid 各自都涨,合起来最强。
改造 4:Longer prediction horizon。human 专家演示本身有 jitter,传感器噪声大,短 horizon 预测学不动。iDP3 延长预测 horizon 让 diffusion policy 一次预测更长动作序列,缓解噪声影响。PDF Tab.III 明确:DP3 默认 horizon=4 完全学不会 noisy human data(0/0),iDP3 选 horizon=16(75/139);horizon=32 反而下降(55/130)。
点云点数 ablation(PDF Tab.III):1024 (DP3) → 2048 → 4096 (iDP3 选定) → 8192。点数到 4096 后性能饱和,8192 反而下降(噪声 + 计算开销)——iDP3 选 4096 作 trade-off。
实现细节(PDF Sec.III-C):
- 优化:AdamW,300 epochs。
- Diffusion:50 训练步 + 10 推理步(DDIM [40])。
- 点云采样:DP3 用 FPS (farthest point sampling),iDP3 换成 voxel sampling + uniform sampling 级联——更快且覆盖 3D 空间更均匀。
- action space:直接用 joint positions(不用 end-effector pose)——真机算 EEF pose 噪声大,joint position 更准。
实验结果:2253 episode 的严格 ablation(PDF Tab.I 精确总数)
主任务 Pick&Place(抓杯子放一边),难点是灵巧手大小和杯子差不多,小误差就撞/漏抓——比 parallel gripper 难得多。4 个 setting:{1st-1, 1st-2, 3rd-1, 3rd-2},「1st」=egocentric 视角,「3rd」=第三人称视角,数字 = 示教数量(每示教 = 20 次成功执行)。物体位置在 10cm×20cm 区域随机。每个方法跑 3 episode,每 episode 1000 action steps,共 ~130 trials/method。Tab.I 列出本工作 real-world episode 总数 2253(同期对比:OpenTeleVision 75、OmniH2O 90、HumanPlus 160、ManiWhere 200、Hato 300——本工作评估规模最大,约为次大 Hato 的 7.5×)。
对比(Tab. II):
- vanilla DP(ResNet18):24/106
- DP3 原版:0/0(完全失败——PDF §IV-B 原文「original DP [17] and DP3 [2] work badly on our humanoid robot」)
- DP + frozen R3M(❄R3M):62/138
- DP + finetuned R3M(✶R3M):99/147(最强 baseline,超过 iDP3)
- iDP3(用 DP3 encoder):58/127
- iDP3:75/139
关键发现:
- DP + finetuned R3M 在训练场景内比 iDP3 强(99 vs 75),因为预训练 + finetune 通常比 from-scratch 强,且当前没有对应的 3D 视觉预训练模型可用。
- 但 image-based 方法泛化性差(§IV-D):DP + finetuned R3M 换场景就过拟合,抓新场景里的新物体失败(Fig. 6);iDP3 的 3D 表示鲁棒得多。这是 iDP3 的核心价值——牺牲一点训练场景精度换多场景泛化。
- 训练更快(Fig. 7):iDP3 30min vs DP 80min,且示教数大时优势更明显。
消融(Tab. III):去掉任一改造(encoder、scaled input、longer horizon)DP3 都学不动或精度大降。其中 longer prediction horizon 是必须的——DP3 默认 horizon=4 完全学不会 noisy human data(0/0)。
部署泛化:仅用单场景数据训出的 iDP3 policy zero-shot 泛化到大量随机选择的未见场景,做 Pick&Place / Pour / Wipe 三类任务。这是论文标题「Generalizable」的实证。
为什么重要
- 首次让人形 manipulation 走出「单场景 demo」陷阱:用单场景数据 + 机载计算 zero-shot 部署到多场景。论文 2000+ episode 的严格评估(vs 同期工作大多只 demo 几次)为人形 IL 树立了新的实验标准。
- egocentric camera-frame 3D 表示是真正的范式创新:把 3D policy 从「固定相机 + 第三人称 + 分割」解放出来,让 3D diffusion policy 能上人形、mobile manipulator 这类「相机随本体动」的平台。这是 DP3 思想能否工业级落地的关键改造。
- AVP teleop 全上半身:把 teleop 从 bi-manual 扩展到 head+waist+hands+arms,配合 egocentric vision 回传,定义了 2024–2025 年人形数据采集的事实范式(OmniH2O、HumanPlus、ARMA 等都沿用 AVP 路线)。
- 训练效率反超 2D:3D 点云 + iDP3 比 2D DP 训练更快、数据效率更高,扭转了「3D 一定比 2D 慢」的偏见。
局限
- leg 固定 + cart 调高:本质回避了 loco-manipulation 难题,靠 cart 替代 WBC。作者承认这是阶段性简化,等 WBC 成熟才能去掉 cart。所以严格说这是「人形上半身 manipulation」,不是 full-body。
- 3D 传感器贵且噪声大:RealSense L515 solid-state LiDAR 比 D435 精度高但仍不完美;论文明确说「当前 3D observation 噪声大,更准的 3D 传感器能进一步提升」。室外强光、远距离仍是 3D 相机软肋。
- DP + finetuned R3M 在训练场景内更强:iDP3 牺牲 in-distribution 精度换泛化。如果有大规模 3D 视觉预训练模型(类似 R3M 但 3D),3D 路线还能大幅提升——目前没有。
- 任务仍偏桌面 contact-rich:Pick&Place / Pour / Wipe 都是近距离精细操作,没有展示推开、搬重物、双手协作的大尺度任务。
- 0.5s teleop 延迟:LiDAR 吃带宽导致延迟偏高,影响数据质量;这是为什么不能加第二个 LiDAR。
- 仅 Fourier GR1 验证:作者强调 iDP3 是通用算法,但实验只在一个平台上。
复现要点
- 硬件:Fourier GR1(启用 25-DoF 上半身:head+waist+arms+hands,腿禁用)、RealSense L515 头部、可调高 cart、AVP。机载计算(15Hz 推理,PDF 未指明型号)。
- 数据采集:AVP → head/hands/wrists 位姿 → Relaxed IK(手臂)+ 头部旋转映射(腰头)→ 记录 (point cloud, image, joint pos) → (joint pos target) 对。注意 action 用 joint position 不要用 EEF pose。
- iDP3 训练:
- 点云预处理:相机系坐标,不做 world 变换、不做分割;voxel + uniform sampling 级联替代 FPS。
- 视觉 encoder:pyramid conv(多层特征金字塔),不是 DP3 的 MLP。
- diffusion:DDIM,50 训练步 / 10 推理步。
- prediction horizon:必须延长,iDP3 选 16(PDF Tab.III 明确:horizon=4 时 0/0、=8 时 33/88、=16 时 75/139、=32 时 55/130)。
- 优化:AdamW,300 epoch。
- baseline 复现坑:vanilla DP3 在人形 noisy data 上完全失败(0/0)——PDF §IV-B 原文「original DP [17] and DP3 [2] work badly on our humanoid robot」;DP + frozen R3M 反而能学(62/138),DP + finetuned R3M 是最强 baseline(99/147)。
- 预期难度:高。硬件 + teleop 链路搭起来 1–2 个月;iDP3 训练本身快(30min 级),但采数据 + 调视角 + 调 cart 高度是大工程。
相关
- 建立在:DP3 [Ze et al. 2024, arXiv:2403.03954](3D diffusion policy 起点,T05 转折 4);Diffusion Policy [Chi et al. 2023](action diffusion 母方法,本仓库 P-DiffusionPolicy-2023.md);R3M [Nair et al. 2022](2D 视觉预训练 baseline);Relaxed IK(IK 求解器);Apple Vision Pro(手部追踪硬件)。
- 引出:人形 IL 数据采集范式(AVP teleop 被后续 OmniH2O/HumanPlus/HOX/ARMA 普遍采纳);3D 视觉预训练模型的需求(论文指出缺这个,是后续研究方向);pi0 / GR00T 等 VLA 路线(最终选择 2D RGB + 大模型而非 3D 路线,但 iDP3 证明了 3D 在小数据高泛化场景的价值)。
- 本仓库笔记交叉引用:T05-diffusion-policy-lineage.md(转折 4,DP3/iDP3 支线);与 P-DiffusionPolicy-2023.md 是 3D 升级关系;与 T07-humanoid-teleop-stack.md(AVP teleop 栈)、T11-dexterous-manipulation.md(灵巧手抓取)强耦合。