DP3(3D Diffusion Policy):给扩散策略装上「3D 眼睛」
🧠 一句话心智模型:Diffusion Policy 很强,但它是「2D 近视眼——只看相机图像」,所以一个任务要 100-200 条人演示才学得会。DP3 给它换上「3D 眼睛」(稀疏点云),仿真任务只需 10 条、真机任务 40 条演示,精度还更高。核心就一句:3D 表示比 2D 像素信息量大得多,少量数据就够。
🎯 为什么重要:扩散策略的「数据饥渴」
Diffusion Policy 用 2D 图像当输入,泛化靠「看过多样的图像」。但 2D 图像里 3D 结构是被压扁的——同一个抓取,视角稍变像素就全变,模型只能靠堆数据硬记。结果:每个真机任务要 100-200 条演示,采到手软。DP3 的洞察:问题不在扩散,在「2D 表示」。
核心矛盾:2D 像素对 3D 几何不敏感(视角/光照变化 → 像素剧变)→ 需要海量数据覆盖各种外观。而 3D 点云直接给几何,视角不变性强得多。
💡 核心思想:稀疏点云 → 紧凑 3D 表征 → 扩散动作
图:DP3——单视角稀疏点云 → 紧凑 3D 表征(替代 2D 像素)→ 扩散策略。仿真 10 demos / 真机 40 demos。
🛠️ 关键设计
| 设计 | 心智 | 为什么必要 |
|---|---|---|
| 稀疏点云(单视角) | 只用一个深度相机的点云,不做多视角重建 | 实用——真机通常就一个 wrist/外部深度相机;避免复杂多视角对齐 |
| 紧凑 3D 表征 | 高效点编码器把点云压成 64 维向量 | 避免直接处理海量点;紧凑表征让扩散策略学得快、泛化好 |
| 3D 条件的扩散 | 扩散过程的条件是 3D 表征而非 2D 图像 | 3D 几何对视角/光照不变 → 少量数据即覆盖 |
🔮 关键反直觉:不是「更多数据 + 更大模型」,而是「更好的输入表示」。2D→3D 这一改,数据需求降一个数量级。说明很多 IL 的「数据饥渴」其实是「表示不对」造成的。
📊 结果:数据效率数量级提升
| 维度 | 结果 |
|---|---|
| 数据需求 | Diffusion Policy 需 100-200 demos;DP3 仿真 10 demos / 真机 40 demos |
| 仿真任务覆盖 | 72 任务 / 7 domain(DexHands、DexArt、DexDeform、DexMV、MetaWorld 等) |
| 相对提升 | 72 仿真任务平均 +24.2% 相对提升(vs Diffusion Policy) |
| 真机成功率 | 4 个真机任务平均 85% 成功率(每个任务仅 40 demos) |
| 核心收益 | 把「采 200 条演示」压到「采 10-40 条」——大幅降低 IL 落地门槛 |
🌐 在领域中的位置
Diffusion Policy(2D,数据饥渴)→
DP3(3D 点云,数据高效)⭐→
iDP3(单场景训练→多场景泛化)
DP3 是「3D 表征进扩散策略」的代表作,开启了 3D diffusion policy 线。关联 T05 扩散策略。
❓ 常见误区
DP3 需要多视角点云重建吗?
不需要。它只用单视角的稀疏点云(一个深度相机),靠高效编码器提取表征。这是它能实用的关键(多视角对齐在真机上很麻烦)。
它比 Diffusion Policy 强是因为扩散更好吗?
不是。扩散机制一样。强在输入表示——3D 点云比 2D 像素信息密度高、不变性强,所以数据需求骤降。