摘要

物体抓取对于许多应用来说都是至关重要的,这也是一个具有挑战性的计算机视觉问题。然而,对于杂乱的场景,目前的研究存在着训练数据不足、缺乏评价基准的问题。本文中我们提供了一个具有统一评价系统的大规模抓取姿态检测数据集。我们的数据集包含97280张RGB-D图像,包含超过10亿个抓取姿势。同时,我们的评价系统通过解析计算直接反映抓取是否成功,可以对任何一种抓取姿态进行评价,而不需要完全标注ground-truth。此外,我们提出了一个端到端的给定点云输入的抓取位姿预测网络,其中我们以解耦的方式学习接近方向和操作参数。设计了一种新的抓取,提高了抓取的鲁棒性。我们进行了大量的实验,表明我们的数据集和评估系统可以很好地与现实世界的实验匹配,我们提出的网络达到了最先进的性能。我们的数据集、源代码和模型已在www.graspnet.net开源。

简介

对象抓取是一个基本问题,在工业、农业和服务贸易中有着广泛的应用。抓取的关键是在给定的视觉输入(图像或点云)下检测抓取姿态,这已经引起了计算机视觉界的广泛关注。

虽然对象抓取很重要,但目前有两大障碍阻碍了这一领域的发展。首先,抓取姿态有不同的表示形式,包括矩形表示和6D表示,并用不同的指标对其进行评价。评估指标的差异使得这些方法难以直接统一比较,而用真实机器人进行评估将大大增加评估成本。其次,难以获得大规模高质量的训练数据。以往的人工标注数据集规模较小,仅提供稀疏标注。虽然从仿真环境中获取训练数据可以生成大规模的数据集,但仿真与现实的差距不可避免地会降低算法在现实应用中的性能。

为了为所构建的算法奠定坚实的基础,以下三件事是非常重要的:

  1. 提供与真实世界传感器的视觉感知相一致的数据
  2. 对大规模抓取位姿的ground-truth进行密集和准确的标注
  3. 以统一的方式评价不同表现形式的抓取位姿

这是很重要的,特别是当涉及到数据标注时。给定一个图像或场景,我们很难在连续的空间中手动标注无尽的抓取姿态。我们通过探索一个新的方向来规避这个问题,即从现实世界中收集数据,并在仿真中通过解析计算来标注它们,这充分利用了双方的优势。

具体来说,受先前文献的启发,我们提出了一个两阶段的方式来生成场景的大量抓取姿态。归功于我们的自动标注过程,我们建立了第一个大规模的抓取姿态数据集,可以作为训练和评估抓取姿态检测算法的基础。我们的数据集包含97280张RGB-D图像,这些图像来自190多个杂乱场景的不同视角。对于我们数据集中的所有88个对象,我们提供了精确的3D网格模型。每个场景都密集标注了物体6D姿态和抓取姿态,获得超过10亿个抓取位姿,比以往的数据集大5个数量级。此外,我们的基准嵌入了在线评价系统,能够对当前主流的抓取检测算法进行统一评价。实验还表明,我们的基准可以很好地与现实世界的实验相一致。图1显示了构建数据集的方法。

针对如此大规模的数据集,我们进一步提出一种新的抓取姿态学习方法。为了更好地进行几何推理和上下文编码,我们提出了一种基于端到端三维抓取姿态检测网络。我们的网络寻求一种更鲁棒的学习方式,在统一目标下明确学习逼近方向和操作参数,而不是直接预测抓取位姿矩阵。此外,为了提高抓取姿态的抗摄动性,我们提出了一种新的抓取亲和域表示,使我们的网络对干扰具有鲁棒性。实验证明了该方法的有效性和高效性。

相关工作

在本节中,我们首先回顾基于深度学习的抓取检测算法,然后是该领域的相关数据集。并对基于点云的深度学习方法进行了简要回顾。

基于深度学习的抓取预测算法

对于基于深度学习的抓取检测算法,可以分为三大类。其中最常用的是基于RGB-D图像输入检测可抓取矩形。

Lenz提出了一种级联方法,该方法首先剔除不太可能的抓取,然后用更大的网络评估剩余的抓取。Redmon提出了一种不同的网络结构,以单步方式直接回归出抓取姿态,更快更准确。Mahler提出了一种抓取质量CNN来预测抓取候选对象的鲁棒性得分。Zhang和Chu将其扩展到多目标场景。这些方法生成的抓取位姿是二维平面的,限制了抓取位姿的自由度。

随着单目目标6D位姿估计的快速发展,一些研究者预测目标的6D位姿,并将预定的抓取位姿投影到场景中。这种方法没有抓取方向的限制,但需要物体形状的先验知识。最近,从[42]开始有了一条新的研究线,提出在部分观测点云上抓取候选点,然后使用3D CNN输出每个候选点的分类得分。这样的方法不需要关于对象的先验知识。目前,这些方法都是在自己的度量标准中评估的,很难与其他方法进行比较。

抓取数据集

Cornell抓取数据集首次提出了用于图像抓取检测的矩形表示。单对象的RGB-D图像提供矩形抓取姿态。[7,50]使用相同的方式构建数据集,但扩展到了多个对象的场景。抓取姿势都是人工标注的。[30,22]通过真实的机器人实验收集标注。这些数据标注方法耗时且需要强大的硬件支持。为了避免这类问题,最近的一些工作[26,9,48,28,4]探索了利用模拟环境来标注抓取姿态。它们可以生成一个更大的规模的数据集,但视觉感知的领域差距总是一个障碍。除了基于矩形的标注外,GraspSeg[2]还提供了像素级的注释,用于抓取可见性分割和对象分割。对于6D姿态估计,[45]贡献了一个包含21个物体和92个场景的数据集。这些数据集主要集中在抓取姿态检测的一个子区域。在这项工作中,我们的目标是建立一个更大的规模和多样性的数据集,涵盖目标抓取检测的主要方面。

基于点云的深度学习

Qi等人首次提出PointNet[33]来直接从原始点云输入中学习特征。之后,提出了许多方法来进行点云分类和分割。除此之外,最近的一些工作将PointNet框架扩展到3D对象检测领域。与我们最相似的网络结构是[35],它也是基于PointNet预测抓取姿态。在这项工作中,我们设计了一个端到端网络与一个新的表示抓取姿态,而不是直接回归。

GraspNet-1Billion

接下来我们将阐述数据集的特点以及它是如何构建的。

总览

以前的抓取数据集要么集中在单个对象上,要么每个场景只标注一个抓取。很少有数据集考虑多对象多抓取的设置,而且由于标注的工作量大,规模都较小。此外,大部分数据集采用基于矩形的抓取姿态表示,限制了抓取器的放置空间。为了解决这些问题,我们提出了一个具有密集和丰富标注的杂乱场景下的大规模数据集,名为GraspNet-1Billion。我们的数据集包含88个高质量的三维网格模型日常对象。从190个杂乱的场景中收集图像,每一个都贡献了512张RGB-D图像,由两个不同的摄像机捕获,总共有97280张图像。对每幅图像,通过力闭包的解析计算,对六自由度抓取姿态进行密集标注。每个场景的抓取姿势从300万到900万不等,我们的数据集总共包含超过11亿的抓取姿势。此外,我们还提供了准确的对象6D姿态标注、基于矩形的抓取姿态、对象掩模和包围盒。每一帧也与相机姿态相关联,因此多视图点云可以很容易地融合。图2显示了我们数据集的关键组件。

数据收集

我们从YCB数据集中选择了32个适合抓取的对象,从DexNet 2.0数据集中选择了13个对抗对象,并收集了43个我们自己的对象来构建我们的数据集。物体具有适合抓取的大小,形状、纹理、大小、材料等多种样式。我们认为,不同的局部几何形态可以为算法带来更好的泛化能力。为了收集杂乱场景的数据,我们将摄像头安装在机械臂上,因为它可以精确地重复轨迹,有助于自动化采集过程。采集数据前对摄像机进行标定,获得准确的摄像机姿态。考虑到不同的深度图像质量必然会影响算法,我们采用Intel RealSense 435和Kinect 4 Azure这两个流行的RGB-D摄像头,同时捕捉场景,提供丰富的数据。对于每个场景,我们从整个对象集中随机挑选大约10个对象,并将它们杂乱地放置在一起。然后,机器人手臂沿着固定的轨迹移动,轨迹覆盖四分之一球体上的256个不同视点。同步图像对从两个RGB-D相机以及他们的相机姿态将被保存。需要注意的是,在摄像机标定时,为了避免正运动学产生的误差,我们对摄像机进行了外部参数标定。具体来说,我们在256个数据采集点上拍摄了一个固定的ArUco标记。根据标定坐标系,确定了摄像机姿态。这些相机姿态是相当准确的,工作很好,为我们的数据集。我们的数据收集过程的详细设置将在补充材料中提供。

数据标注

6D位姿标注

总共有97280张图片,为每一帧标注6D位姿是很费力的。由于摄像机能记录位姿,我们只需要为每个场景的第一帧标注6D位姿。6D姿态将按照公式1传播到剩下的帧

Pij=cami1cam0P0jP_i^j = {cam}_i^{-1} {cam}_0 P_0^j

其中,PijP_i^j是对象jj在第ii帧的位姿,cami{cam}_i是相机在第ii帧下的位姿。所有6D姿态标注都经过多位标注者的仔细提炼和反复检查,确保了高质量。对象的mask和包围盒也通过使用6D姿态将对象投影到图像上获得。

(未完待续)