跳转至

详读 · 3D Diffusion Policy(DP3:用简洁 3D 点云表征喂扩散策略)

卡片版见 卡片-3D-DiffusionPolicy。本页是全文精读:动机 → 方法(逐模块) → 实验(全表数字) → 局限/洞见 → 对我们。 来源:arXiv 2403.03954(v7, 2024-09-27)· 项目页 · 代码 · RSS 2024 作者:Yanjie Ze、Gu Zhang(共同一作)、Kangning Zhang、Chenyuan Hu、Muhan Wang、Huazhe Xu(通讯)。机构:上海期智研究院 / 上海交大 / 清华 IIIS / 上海 AI Lab

图1 DP3 在多样仿真+真机任务上评测(Make a Dumpling / Roll-Up / Drill / Pour 等)

0. 一句话定位

Diffusion Policy 的视觉条件从 2D 图像换成"单视角稀疏点云 + 一个极轻 MLP 编码器",得到一个 64 维紧凑 3D 表征去条件化扩散策略。结论:用更少示范(仿真常 10 条、真机 40 条)拿到更高成功率、更快收敛、更强泛化(空间/视角/外观/实例),且真机几乎不出"危险乱指令"。 卖点不是新模型,而是"3D 表征对真机模仿学习至关重要"这件事被一个简单设计干净地证明。

1. 问题与动机

  • 模仿学习采数贵:SOTA 的 Diffusion Policy 每个真机任务需 100–200 条人采示范,长程+易失败,采一套要好几天。
  • 在线学习不解渴:要考虑安全、自动复位、人为干预、额外硬件成本。→ 核心问题:离线模仿学习如何用尽量少的示范学到鲁棒、可泛化的技能
  • 既有 3D 策略两大毛病(PerAct/GNFactor/RVT/ACT3D/3D Diffuser Actor 等):
  • 设定不实用:把模仿学习改成"关键帧位姿预测+规划"范式,不适合高维稠密控制(如灵巧手)。
  • 推理慢:架构复杂。PerAct 仅 2.23 FPS、3D Diffuser Actor 1.67 FPS
  • DP3 的切入:做一个通用且快、既能高维(22-DoF 灵巧手)又能低维控制的 3D 策略。

2. 方法详解

图2 DP3 总览:上=端到端训练/评测闭环;下=感知(点云→Crop→FPS→无色点→MLP→MaxPool→投影=紧凑3D表征) + 决策(扩散策略 U-Net)

学一个视觉运动策略 π:O→A,分两块:(a) 感知(点云→紧凑 3D 特征)+ (b) 决策(扩散策略生成动作序列)。

2.1 感知 —— 稀疏点云编码(核心)

  • 单视角相机(不像原 DP 在机器人周围布多相机)—— 为真机实用性。仿真和真机都取 84×84 深度图,用相机内外参转点云。不用颜色通道(为外观泛化)。
  • 点云处理:① Crop 出包围盒内的点(去掉桌面/地面冗余点,消融显示这步极关键);② FPS 最远点采样降采样到 512 或 1024 点(比均匀采样更覆盖空间、更稳)。
  • DP3 Encoder(极简):三层 MLP (3→64→128→256),每层夹 LayerNorm + ReLU 稳训练 → MaxPool(顺序等变池化)→ 投影头 (256→64)。最终 3D 特征仅 64 维
  • PyTorch 实现就十几行(见附录);机器人位姿另过一个小 MLP→64 维,与点云特征拼成 128 维条件向量。
  • 反直觉结论:这个简单编码器胜过 PointNet/PointNet++/PointNeXt/Point Transformer,连预训练大编码器也不如它(见表)。

2.2 决策 —— 条件扩散策略

  • 沿用 Diffusion Policy卷积 U-Net 去噪骨干,条件 = 3D 特征 v + 机器人位姿 q。从高斯噪声 a_K 迭代 K 步去噪到 a_0(反向过程,式1)。
  • 训练目标:预测加到原动作上的噪声(MSE,式2,标准 DDPM 目标)。
  • 实现关键DDIM 调度器;用 sample prediction 而非 epsilon prediction(对高维动作生成更好、收敛更快,消融证实);训练 100 timesteps、推理 10 timesteps。MetaWorld 训 1000 epoch、其余 3000 epoch,batch 128
  • 短预测/执行 horizonH=4, N_obs=2, N_act=3(原 DP 常用 H=16/N_act=8)。为真机可被人打断时能立刻换动作;消融显示短 horizon 与长 horizon 几乎无差(78.3 vs 78.2)。

2.3 动机示例(图3)

图3 MetaWorld Reach 仅 5 条示范的 3D 空间泛化:DP3 覆盖整个空间,DP/IBC 只在平面,BC-RNN 失败

只给 5 条示范,评测 1000 次看成功点在 3D 空间的覆盖:DP3 成功 415 次(铺满空间)、IBC 327、Diffusion Policy 285、BC-RNN 0。直观说明 3D 表征带来的样本效率与空间泛化。

3. 实验数字(全量)

3.1 仿真主结果(72 任务 / 7 域,3 seeds,每实验取最高 5 次成功率均值)

域 (任务数) DP3 Diffusion Policy
Adroit (3) 68.3 31.7
Bi-DexHands (6) 70.2 61.3
DexArt (4) 68.5 49.0
DexDeform (6) 87.8 90.5
DexMV (2) 99.5 95.0
HORA (1) 71.0 49.0
MetaWorld Easy (28) 90.9 83.6
MetaWorld Medium (11) 61.6 31.1
MetaWorld Hard (6) 31.7 9.0
MetaWorld Very Hard (5) 49.0 26.6
平均 (72) 74.4±29.9 59.8±35.9
  • 相对提升 +24.2%,且方差更小。DP3 近 30 个任务成功率 >90%(DP 不足 15 个);DP3 没有任何任务 <10%,DP 有 >10 个任务 <10%。多数任务只用 10 条示范。
  • 更多基线(10 任务平均):DP3 74.4 ≫ Diffusion Policy 44.0 ≫ BCRNN+3D 14.5 > IBC+3D 10.4 > BCRNN 9.8 > IBC 5.0。注:给 BCRNN/IBC 加 3D(用 DP3 Encoder)只小涨,说明增益不只来自 3D,更来自 DP3 整体设计

3.2 效率

指标 DP3 Diffusion Policy Simple DP3
推理速度 (FPS) 12.7 12.3 25.3 (↑99%)
平均成功率 (10 任务) 74.4 44.0 70.2 (↓6%)
  • 收敛快:DP3 约 500 epoch就收敛(虽都训 3000 保证收敛),DP 慢得多或陷入次优。
  • 3D 不必慢:DP3 推理速度略快于 DP(稀疏点云 + 紧凑表征)。Simple DP3(精简 U-Net 冗余)再快近 2 倍、精度仅降 6%。
  • (脚注公平性)在 CALVIN 上对比 3D Diffuser Actor:同卡 2080Ti,3DDA 600ms 出 6 步、DP3 581ms 出 4 步 → 那个设定下 3DDA 控制频率反而更高(作者诚实标注)。

3.3 消融:3D 表征 & 编码器(6 任务 H/D/P/A/DA/SP 平均)

3D 表征 平均
Point cloud (DP3) 78.3
Oracle State 76.8
Image 40.7
RGB-D 34.7
Voxel 32.3
Depth 32.0

点云竟与 Oracle 状态(含物体状态/目标/速度)相当,说明点云足以学到近最优策略;RGB-D/Depth 远逊于点云 → 如何用深度信息很关键

点云编码器 平均
DP3 Encoder 78.3
PointNet 15.7
PointNeXt 2.3
PointNet++ 2.2
Point Transformer 1.0
PointNet++ (预训练) 6.8
PointNeXt (预训练) 8.8

为什么 PointNet 系列垮:逐步把 PointNet 改成 DP3 风格发现,T-Net 与 BatchNorm 是主要拖累;去掉这两者,PointNet 涨到 72.3(接近 DP3 的 78.3)。解释:固定相机的控制任务不需要 T-Net 的特征变换。

3.4 消融:设计选择(6 任务平均)

设计 平均 说明
DP3 (全) 78.3
w/o cropping 45.3 裁剪点云增益最大
w/o LayerNorm 73.0 稳训练
w/o sample pred 67.0 sample 预测收敛更快
w/o projection 77.7 投影头主要为加速、几乎不损精度
w/ color 72.0 去色 → 外观泛化更稳
DDIM→DPM-solver++ 48.3 DPM-solver++ 处理不了高维动作

3.5 真机(4 任务,2 机器人:Allegro 手 + 夹爪;单 RealSense L515;各 40 条示范;每任务 10 trial)

真机任务 Diffusion Policy DP (Depth) DP3
Roll-Up 0 40 90
Dumpling 30 20 70
Drill 70 10 80
Pour 40 10 100
平均 35.0±25.0 20.0±12.2 85.0±11.2
  • 泛化(真机):空间泛化(Pour 5 个未见位姿)DP3 4/5、两基线 0/5;外观泛化(Drill 5 种颜色)DP3 5/5、基线全败;实例泛化(Drill 换 5 种日常物)DP3 5/5;视角泛化(Roll-Up 3 视角)DP3 全过——但需手动变换点云、且大幅变视角仍难。杂乱场景(pick&place,50 条)DP3 80%、DP 60%、DP3+PointNeXt 0、DP3+color 80(但换色/换物就垮)。

3.6 部署安全(亮点,但作者标注为定性观察)

安全违规率 ↓ Roll-Up Dumpling Drill Pour 平均
Diffusion Policy 90 20 20 0 32.5
DP (Depth) 20 30 30 20 25.0
DP3 0 0 0 0 0.0

图/深度策略常发"乱指令"(撞地/打结)需人工急停;DP3 几乎零违规。直觉解释:直接在 3D 空间观测有助避碰。作者明确说此评估是定性的、机理待未来研究。

图10 真机 4 任务分阶段流程(Roll-Up/Dumpling/Drill/Pour) 图4 仿真任务的降采样点云观测 图8 真机平台:Franka 臂 + Allegro 手/夹爪 + RealSense L515 与日常物

4. 局限 / 存疑(诚实)

  • 作者自陈:① 控制的"最优 3D 表征"仍未找到(点云只是当前最好);② 未涉及极长程任务
  • 真机任务偏少(4 个)、每任务仅 10 trial、单相机单视角;安全结论仅定性
  • 依赖相机标定 + 点云分割/裁剪:要把深度反投影到世界系、靠包围盒裁剪(cropping 是增益最大的一步)→ 换场景/移动相机需重标定。这点被其后续工作 iDP3 直接点名(见外评)。
  • 视角泛化需手动变换点云,大幅变视角仍失效;外观泛化靠"丢颜色"换来——也意味着用不上颜色线索的任务才占优。

5. 核心洞见

  • 真正的贡献是"证伪复杂性":用一个十几行的 MLP 编码器 + 稀疏无色点云,就压过精心设计的 2D 扩散策略和复杂 3D 策略——说明表征模态(3D)比编码器容量更重要,且简单小编码器 > 预训练大编码器(呼应作者前作 [On pre-training for visuo-motor control])。
  • 3D 表征自带"安全先验":直接观测 3D 几何让策略少出危险动作 —— 对真机落地比成功率数字更值钱。
  • 样本效率来自几何泛化:点云对空间/视角/外观/实例的天然不变性,使 10–40 条示范足够。

🗣️ 外部评价

  • 🌐 RSS 2024 录用会议程序页OpenReview KwwJuZIBXH)。OpenReview 论坛存在,但逐条审稿意见未能抓取到公开正文(如实标注,未引述具体评分)。开源代码高关注,社区复现/二次开发活跃。
  • 🌐 同团队后续 iDP3(Improved 3D Diffusion Policy, arXiv 2410.10803)的"反向背书式批评":明确指出原 DP3 依赖精确相机标定 + 点云分割,因此无法直接用于通用机器人(人形/移动操作)——这类机器人相机不固定、标定/分割不现实。iDP3 改用自我中心(egocentric)相机坐标系表征绕开标定/分割。这是对 DP3 落地边界最具体的公开批评。(来源:arXiv 2410.10803Moonlight 评述
  • 🌐 后续工作的普遍共识性批评:DP3 在复杂任务上的精度仍待提升;对物体位置/形状的分布外变化适应有限——这推动了 AffordDP(加可迁移 affordance)、等变表征(卡片-EquivariantDiffusionPolicy 一类)、FP3/3D 基础策略等后续。(来源:AffordDP arXiv 2412.03142FP3 arXiv 2503.08950

🧑‍⚖️ 审稿人视角(🤖)

  • 新颖性偏"工程组合"而非新模型:把点云编码器塞进 Diffusion Policy 条件位,方法论增量有限——但作者用72 任务 + 充分消融把"3D 重要性"这个 claim 做扎实,属于"简单但说服力强"的好实验论文。
  • 基线公平性可质疑:主基线只跟图像/深度版 Diffusion Policy;与同期更强 3D 策略(3D Diffuser Actor 等)只在脚注/不同设定下比较,缺正面同台对比。作者已诚实标注设定差异。
  • 真机证据偏薄:4 任务、每任务 10 trial、单视角,安全违规率这一最吸睛结论是定性统计,统计显著性不足,易受实现/调参影响。
  • "点云≈Oracle 状态"值得追问:是否任务本身物体状态可从单视点云近乎完全恢复?换强遮挡/多物体堆叠场景能否成立存疑。
  • 泛化测试条件温和:视角泛化需人工变换点云、"轻微"改视角;外观泛化靠去色——边界条件下的鲁棒性未充分压测。

6. 对我们

  • 基线首选:若走点云/深度路线,DP3 是把 卡片-DiffusionPolicy / 详读-DiffusionPolicy 升到 3D 的最简、最强、可直接复用的基线(代码开源,DP3 Encoder 十几行)。
  • 可直接借的工程点:稀疏 FPS 点云 + Crop + 去色 + 极简 MLP 编码器 + LayerNorm + sample-prediction 这一套"配方"几乎零成本,且消融逐项交代了每个选择的收益。
  • 落地警示:DP3 的世界系点云依赖标定+裁剪;若我们目标是移动/人形/相机不固定平台,应直接看 iDP3 的 egocentric 方案,别照搬原 DP3。
  • 对照线:与同走点云统一表征的 卡片-RobotSynesthesia 呼应;与靠等变性提泛化的 卡片-EquivariantDiffusionPolicy 是两条不同的"提泛化"路线,可长期对照。