Dense Object Nets: Learning Dense Visual Object Descriptors By and For Robotic Manipulation
作者: Peter R. Florence, Lucas Manuelli, Russ Tedrake · CoRL 2018
许可协议
- 开放获取
- 论文: CC BY 4.0
以下内容均依据论文全文,按其 CC BY 4.0 许可协议使用;其中的图已注明作者。
一句话总结
机器人用腕部 RGBD 相机扫描物体,从 3D 重建中自监督地学习逐像素描述符,然后在不同位姿、变形和实例之间抓取用户选定的点。
为何重要
稠密描述符让机器人能够在新的位姿、变形以及同一类别的其他实例之间指代物体上的某个特定点,例如鞋的后跟或玩具的耳朵。机器人自行采集并标注训练数据,一个新物体大约 20 分钟即可学会。
问题
通用抓取方法能拾取任何可抓取的物品,但不保留一致的物体表示;而针对特定任务的学习可能需要大量试验,才能在不同物体构型或任务之间泛化。实例分割只给出整个物体的掩码,无法说明物体的结构。作者希望得到一种与任务无关、适用于刚性和非刚性物体、利用 3D 视觉先验并完全通过自监督学习得到的表示。
提出的方法
一台装有腕部 RGBD 相机的 Kuka 机械臂扫描每个静态场景,利用由正运动学得到的相机位姿进行 TSDF 融合,得到稠密的 3D 重建,从而为图像之间提供像素对应关系,用于 ResNet-34 全卷积网络上的逐像素对比损失。由 3D 变化检测得到的物体掩码使掩码内匹配采样和背景域随机化成为可能,难负样本缩放使非匹配损失保持有效信息,跨物体损失和合成的多物体场景则使不同物体的描述符彼此区分。运行时,用户在参考图像中点击一个像素,机器人在新场景中找到最佳描述符匹配,并抓取对应的 3D 点。
关键见解
- 由经过标定的机器人得到的静态场景 3D 重建,无需人工标注即可提供稠密的像素对应关系。
- 仅靠静态场景的数据关联并不能得到一致的物体描述符;还需要物体掩码、背景和朝向随机化以及难负样本缩放。
- 只在场景内部训练会使不同物体在描述符空间中重叠;跨物体损失可以把它们分开,但代价是低维描述符的对应精度下降,而稍大一些的维度可以恢复这一精度。
- 在相似实例上联合训练时,描述符可在一个类别(帽子、鞋、马克杯)内泛化,而“特定”训练模式即使对非常相似的实例也能将其区分开。
- 将描述符投影到单位球面上,在从 D = 4 增加到 D = 8 时带来了显著提升,不过硬件实验中没有使用这一做法。
主要结果
- 为 275 个场景中的 47 个物体学习了描述符,包括 3 个类别(8 顶帽子、15 双鞋、15 个马克杯)和 9 个其他物体。
- 训练运行 3500 步,每步约 0.22 s(约 13 分钟),使用单块 Nvidia 1080 Ti 或 Titan Xp;加上场景采集,一个新物体约需 20 分钟。
- 使用标准的单物体流程时,在 93% 的图像对中,最佳匹配与真实匹配的距离在图像对角线长度的 13% 以内;其表现优于作者对 Schmidt 等人流程的复现,物体掩码和难负样本缩放各自都带来了可测量的提升。
- 仅用 6 个实例训练的帽子描述符能泛化到未见过的帽子,包括一顶蓝色帽子,而蓝色是训练中从未见过的颜色。
- 机器人演示:在不同构型下抓取毛毛虫玩具的尾巴或右耳;在 4 只鞋上训练后,在未见过的鞋上抓取类别通用的点;以及在杂乱的一堆鞋中抓取某一只鞋的后跟。
- 每次扫描约需 70 s,以 30 Hz 采集约 2,100 帧 RGBD 图像,每个场景下采样为约 315 张图像。
局限
- 在多物体情况下,仍需人为机器人更换物体,并指明哪些场景对应哪个物体。
- 差异足够大的物体不会共享描述符:拟人化玩具 Baymax 和 Starbot 没有得到通用描述符。
- 描述符在学习完成之前无法引导抓取,也不约束夹爪朝向,因此抓取依赖于一个简单的几何点云规划器。
- 在多物体网络中,跨物体损失会降低低维描述符空间的对应精度。
- 抓取演示仅以定性方式展示;论文没有报告抓取成功率。
对领域的影响
获得 CoRL 2018 最佳论文奖(Best Paper Award),被引用 321 次。代码、数据和视频发布于 github.com/RobotLocomotion/pytorch-dense-correspondence。
摘要
什么是适合操作的物体表示?我们希望机器人能从视觉上感知场景,并学会对场景中物体的一种理解,这种理解应当 (i) 与任务无关,可作为多种操作任务的构建模块,(ii) 普遍适用于刚性和非刚性物体,(iii) 利用 3D 视觉提供的强先验,并且 (iv) 完全通过自监督学习得到。以往的方法很难做到这一点:近期许多抓取方面的工作无法扩展到抓取特定物体或其他任务,而针对特定任务的学习可能需要大量试验才能在不同物体构型或其他任务之间良好泛化。本文提出 Dense Object Nets,它建立在自监督稠密描述符学习的最新进展之上,作为一种用于视觉理解和操作的一致的物体表示。我们证明,它们可以针对各种以前未见过且可能是非刚性的物体被快速训练(约 20 分钟)。我们还提出了支持多物体描述符学习的新贡献,并表明通过修改训练过程,我们既可以获得在物体类别之间泛化的描述符,也可以获得对每个物体实例都不同的描述符。最后,我们展示了学习到的稠密描述符在机器人操作中的新应用。我们展示了在物体可能发生变形的不同构型下抓取物体上的特定点,并展示了使用类别通用的描述符在同一类别的物体之间迁移特定抓取。
链接
- arXiv 1806.08756: https://arxiv.org/abs/1806.08756
- DOI 10.48550/arXiv.1806.08756: https://doi.org/10.48550/arXiv.1806.08756
- PDF: http://proceedings.mlr.press/v87/florence18a/florence18a.pdf
- 代码: https://github.com/RobotLocomotion/pytorch-dense-correspondence