《GraspNet-1Billion: A Large-Scale Benchmark for General Object Grasping》论文解读
- Abstract
- 1. Introduction
- 2. GraspNet-1 Billion
- 2.1. Data Collection
- 2.2. Data Annotation
原文:GraspNet-1Billion: A Large-Scale Benchmark for General Object Grasping
收录:CVPR2020
注意: 本文只讲数据集部分,没介绍这篇论文提出的抓取姿态检测网络
Abstract
物体抓取 是当前CV具有挑战性的任务,但对于杂乱场景,目前的研究存在 训练数据不足 以及 缺乏评估标准 等问题。针对这项问题,本文提供一个大规模抓取姿态检测的数据集 GraspNet-1Billion 和一个统一的评估系统。
该数据集包含 97280张RGB-D图像 和 超过10亿的抓取姿势,同时,提供的评价系统通过分析计算可以直接反映抓取是否成功,做到不用详尽标注GT值,就可以对任何抓取姿势进行评价。
此外,还提出了一个端到端抓取姿态预测网络,点云 作为输入,采用 解耦 的方式来学习 接近方向和操作参数(approaching direction and operation parameters),例如平面旋转、抓取宽度。 数据集、源代码和模型都是公开的 —> 下载链接
1. Introduction
提升物体抓取性能有两个主要障碍:
- 抓取位姿有不同的表示形式,评价指标不统一:表示形式包括矩形或者6D位姿,并使用相对应的指标进行评估,但评估指标不同,就很难直接比较这些方法之间优劣,若使用真实机器人进行评估又会大大增加评估成本。
- 大规模高质量的训练数据难得:虽然在模拟环境中可以生成大规模数据集,但仿真模拟与现实之间的视觉域差距又会降低算法在现实应用中的性能。
为此,本文探索一个新的方向来解决这个问题,即 从现实世界中收集数据,并在模拟中通过分析计算来进行标注,从而发挥了两者的优势。
数据集介绍:该数据集包含97280张RGB-D图像,这些图像取自190多个杂乱场景的不同视角,其中每一个场景512张RGB-D图像(512*190=97280),对于数据集中88个物体,也提供了精确的3D网格模型,每个场景都密集标注物体的 6D pose 和 抓取姿态,一共有超过10亿个抓取姿态,比之前的数据集大5个数量级,此外,嵌入了一个在线评估系统,能够对当前主流抓取检测算法进行统一评估。
上图就是构建数据集的方法。方法:用真实世界的传感器收集数据,并通过分析计算为每一个物体标注抓取姿势。注意的是 物体的6D姿态需要手动标注,来将 抓取姿态 从物体坐标投影到场景坐标。这样的方法大大减少标注抓取姿势的劳动成本。
2. GraspNet-1 Billion
这一章将介绍数据集的主要特性以及如何构建它。
首先通过力封闭解析计算,对每幅图像进行了密集的6-DoF的抓取姿态标注,每个场景的抓取姿势从300万到900万不等,我们的数据集包含了超过11亿的抓取姿势,此外,还提供精确的物体 6D位姿标注、基于矩形的抓取位姿、物体掩码mask和 边界框(bounding boxes)。
2.1. Data Collection
从YCB数据集中选取适合抓取的32个物体,从DexNet 2.0中选取13个对抗性对象,并收集自己的43个对象来构建整个物体集(88个物体),为了收集杂乱场景的数据,将摄像机安装在机械臂上,因为它可以精确地重复轨迹,帮助自动化收集过程,在数据采集前进行摄像机标定,获得准确的摄像机姿态,对于每个场景,本文从整个物体集中随机挑选大约10个物体,并将它们杂乱地放置在一起,然后机器人手臂沿着固定的轨迹移动,覆盖四分之一球体上的256个不同视点。
2.2. Data Annotation
(1)6D Pose Annotation
由于记录了 相机姿势,我们只需要注释每个场景的第一帧的6D姿势,剩余帧的6D姿态通过以下方式获取:
物体mask和边界框也通过6D姿态将物体投射到图像上来获得。
(2)Grasp Pose Annotation
考虑到所有物体是已知的,标注 抓取姿态 分为两个阶段来进行,如图3所示。首先,对每个物体都要标注 抓取姿势。
除此之外,采用解析计算的方法对每个抓取进行评分,力封闭度量 在抓取评价中被证明是有效的:给定一个抓取姿态、关联物体和摩擦系数
,力封闭度量输出二元标签,表示抓取在该系数下是否可以,而且评分用下面式子来表示:
第二步:对于每个场景,根据标注的6D物体姿态将这些抓取投影到相应的物体上。
此外,还进行了 碰撞检查,以避免无效的抓取,机械手则是采用简化的夹持器模型,如图4所示,检查该区域是否存在物点。
通过这两个步骤,我们可以为每个场景生成密集的抓取集 ,根据统计发现数据集中正标签和负标签的比例大约是 1:2。