DexArt:让灵巧手「看懂零件」才能泛化操作铰接物体
🎯 为什么重要:把灵巧手 + 铰接物体 + 泛化 同时塞进一个基准
2023 年前,操作基准要么用平行夹爪(ManiSkill、MetaWorld、RLBench),简单但能力天花板低;要么用灵巧手但只做单一物体(in-hand 重排、转笔)。DexArt 卡的是一个被忽略的交叉点:
💡 核心思想:把 RL 拆成「先看懂零件」+「再学动作」两步
DexArt 最重要的实证发现:RL 学不好,不是策略网络的问题,是视觉编码器没有「部件级」理解。解法是两阶段:
铰接物体操作的关键不是「整体识别这是桶」,而是「找到那个该被抓住的把手」。分类预训练只学到类别标签(全局信息),重建学到形状(被 max-pool 抹掉细节),SimSiam 学到的不区分部件。只有部件分割强迫网络对每个点回答「这是功能部件 / 其他物体 / 机器手 / 机械臂」——这个 4 类的逐点标注,恰好就是策略要用的操作前置信息。
另一个小但巧妙的设计是 Point Cloud Imagination(论文 §4.1):手-物交互时手指常被遮挡,而 RL 因内存只能用低分辨率点云,导致手指点稀少。作者用正运动学算出每根手指几何,从中采样点拼到观测里——把「该看见但没看见」的部分「想象」出来。
🛠️ 四个让 RL 能收敛到 0.79/0.58 的设计
| 设计 | 心智 | 为什么必要 |
|---|---|---|
| ① 三阶段 dense reward | reach(掌靠近)→ contact(掌 + ≥2 指触物)→ progress(任务特定,如把手角度变化) | 22 维动作空间稀疏奖励几乎学不出来;分阶段 dense reward 让 reward 信号始终存在;contact 项还避免「用攥拳撬开盖子」这种危险行为 |
| ② Point Cloud Imagination | 用正运动学算手指几何,采样点拼到观测里 | 低分辨率 + 遮挡下手指信息丢失;正运动学不依赖真值传感器,真机也可用 |
| ③ 部件分割预训练(DAM) | 对每个物体 6k 点云,4 类标签(功能部件 / 其他 / 手 / 臂)做分割 | 给 PointNet 注入「哪个点是该操作的部件」的先验——比分类、重建、SimSiam 都更贴近策略需求 |
| ④ 小 PointNet 反而更好 | 对比 small/medium/large PointNet,small 样本效率最高 | 符合「大编码器让 RL 优化变难」的文献观察——大网络在 RL 里不是 advantage,是 burden |
📊 关键结果:部件分割预训练「全任务通杀」
| 方法(success rate,seen / unseen) | Faucet | Bucket | Laptop | Toilet |
|---|---|---|---|---|
| No Pre-train | 0.30 / 0.28 | 0.51 / 0.56 | 0.81 / 0.41 | 0.71 / 0.46 |
| Classification on PMM | 0.20 / 0.18 | 0.56 / 0.58 | 0.80 / 0.41 | 0.69 / 0.38 |
| Reconstruction on DAM | 0.35 / 0.21 | 0.51 / 0.50 | 0.85 / 0.54 | 0.76 / 0.52 |
| SimSiam on DAM | 0.60 / 0.45 | 0.41 / 0.38 | 0.84 / 0.49 | 0.82 / 0.50 |
| Segmentation on DAM ⭐ | 0.79 / 0.58 | 0.75 / 0.76 | 0.92 / 0.60 | 0.85 / 0.55 |
| 关键消融(论文 §5.2) | 结果 |
|---|---|
| 训练物体数量 | 每个任务用 100% seen 物体 vs 50%,前者 unseen 成功率显著更高——训练物体越多,泛化越好(即使测试集不变) |
| PointNet 容量 | Small > Medium > Large——更大的编码器反而拖累 RL(呼应 ManiSkill2 同类观察) |
| 相机视角鲁棒性 | 训练时只见过一个视角,测试时大视角变化下成功率保持——点云策略对视角意外鲁棒,便于 sim2real |
| 训练规模 | 每个任务百万级环境步(Faucet ~10M,Bucket ~40M,Laptop ~15M,Toilet ~8M);3 个随机种子 |
🌐 在领域中的位置
DexArt 是灵巧操作「泛化化」的关键里程碑。它把「类别级铰接物体操作」做成可评测的标准题,并明确提出「部件级视觉理解」这一研究方向。后续 DexMimicGen(2024)把数据生成从「自动重投影」扩到「人-人-机器人」多智能体;DexCap / AnyDexRT 则走向真机遥操作 + 模仿学习——但都继承了 DexArt 的「部件 + 类别泛化」评价观。
❓ 常见误区
DexArt 是 RL 还是模仿学习基准?
纯 RL(PPO + dense reward)。基准的「数据集」(DAM、PMM)是用于视觉预训练,不是行为克隆的演示。这是和 DexMimicGen / DexCap 等后续 IL 工作的根本区别。
为什么用 PointNet 而不是更现代的 PointNet++ / Point Transformer?
论文实测:更大的点云网络反而让 RL 学得更差。PointNet(最简版:1 隐层 MLP + max-pool)在 RL 场景下样本效率最高。原因是 RL 的非平稳优化对编码器容量更敏感——大网络在小 batch 高方差的梯度下容易失稳。
22 维动作空间会不会太大?
确实大(6-DoF 臂 + 16-DoF 手)。论文用 operational space control(臂)+ joint position controller(手),把动作解释成「目标速度 / 目标关节位置」,再由 PD 控制器跟踪——这让策略不必从零学动力学,只需学高层规划。
能 sim2real 吗?
论文没有报告完整 sim2real,但 §5.3 显示策略对相机视角变化高度鲁棒——这是 sim2real 的最大障碍之一。后续 DexCap 等工作在 DexArt 风格设定下完成了真机部署。