小凡 · 2020年03月25日

遮挡重叠场景下|基于卷积神经网络与RoI方式的机器人抓取检测

本文提出了一种基于感兴趣区域(RoI)的机器人抓取检测算法,以同时检测目标及其在物体重叠场景中的抓取。
作者: 康斯坦奇
首发:3D视觉工坊微信公众号

摘要

抓取物体堆叠和重叠场景中的特定目标是实现机器人抓取的必要和具有挑战性的任务。在本文中,我们提出了一种基于感兴趣区域(RoI)的机器人抓取检测算法,以同时检测目标及其在物体重叠场景中的抓取。我们提出的算法使用感兴趣区域(RoIs)来检测目标的分类和位置回归。为了训练网络,我们提供了比Cornell Grasp Dataset更大的多对象抓取数据集,该数据集基于Visual Manipulation Relationship Dataset。实验结果表明,我们的算法在1FPPI时达到24.9%的失误率,在抓取我们的数据集时达到68.2%的mAP。机器人实验表明,我们提出的算法可以帮助机器人以84%的成功率掌握多物体场景中的特定目标。

一. 简介

随着服务机器人的发展,需要一种可靠的抓取检测算法来帮助智能机器人抓取不同的东西。众所周知,机器人抓取是一项具有挑战性的任务,涉及机器人感知,运动规划等。对于智能机器人而言,对环境的感知和理解,包括目标和抓握检测,是有效抓取的先决条件。为了在实践中广泛使用机器人抓握,有必要以准确和有效的方式掌握物体堆叠场景中的特定目标。解决这个问题的主要挑战是:

如何在一堆物体中找到抓取物:当物体处于杂乱无章的堆中时,物体之间存在重叠,遮挡和堆叠,这使得抓取检测非常困难。

如何知道每个抓取属于哪个对象:在获取抓取之后,由于重叠而将检测到的抓取与相应的对象匹配是困难的。

最近的作品专注于单个物体场景中的抓取检测。然而,在机器人抓取的实际应用中,机器人面临的场景通常包含多个物体。一些作品试图解决物体杂乱场景中机器人抓取的问题,这也被称为“拾取箱”问题。这些算法更喜欢混乱的物体分散的场景,并且有一个显着的缺点:它们都忽略了抓取和目标之间的融合。例如,如果要求机器人从垃圾箱中获取苹果,则这些算法将无效,因为他们无法知道哪个抓取属于苹果。换句话说,这些抓取检测算法仅关注抓取检测,这使得它们在这种条件下不适合。一种替代方案是训练网络逐个检测和抓取最暴露的物体,直到所需的目标。然而,它缺乏对整体环境的感知,这限制了该算法的使用。

为了抓取杂乱或堆叠场景中的特定目标,最简单的方法是将问题分解为两个子问题:对象检测和抓取检测。通过这样做,它需要匹配策略来将检测到的抓取分配给检测到的对象。如果对象被分散,则很容易将抓握分配给对象(例如,计算抓握中心与每个对象之间的距离,并选择最近的对象作为匹配结果)。然而,当物体之间存在遮挡和重叠时,尤其是当物体堆叠在一起时,抓取的分配过程将是困难的。

因此,本文提出了一种基于感兴趣区域(RoI)的机器人抓取检测新方法,解决了物体重叠场景中抓取检测和物体抓握匹配的问题,同时检测物体和抓取位置。RoIs是对象边界框的候选。物体检测器基于Faster-RCNN,它使用RoI来回归物体位置并进行分类。我们在RoI合并后级联包括几个卷积层和抓取检测器的抓取检测管道。换句话说,我们使用RoI池化特征来检测属于RoI的抓取,如图1(b)所示。我们在抓取探测器和RoI汇集特征图之间添加卷积层的原因是,对一个特定目标的抓取的检测不同于仅检测抓取,这需要更大的接收场以防止属于不同对象的抓取的混淆。额外的卷积层可以扩大神经元的接收场。

为了训练网络,我们将视觉操纵关系数据集(VMRD)标记为超过105个掌握,遵循中提出的五维维度表示。抓取的一个例子如图1(a)所示。除了每个抓取位置之外,还可以使用对象索引来标记每个标记。对VMRD的抓取比Cornell Grasp Dataset具有更复杂的分布。

众所周知,这是第一次将对象和抓取检测结合起来检测每个抓取属于对象重叠场景的对象。这为复杂场景中的自主和自我感知提供了一种可能的方法。总之,本文的贡献包括三点:

•提出了一种新的基于RoI的机器人抓取检测方法,用于检测RoI特征图上机器人抓取的位置。

•提出了一种新的网络,使用基于RoI的抓握检测来同时检测目标和抓取,并检测目标重叠场景中检测到的抓取和目标之间的关系。

•标记并发布了一个新的多对象抓取数据集,该数据集基于具有超过105个抓取的视觉操纵关系数据集。

1.jpg

图1.(a)文中的抓取表示。 每个抓取都包括5个维度:(x,y,w,h,θ)。 (x,y)是中心点的坐标。 (w,h)是抓取矩形的宽度和高度。 θ是相对于水平轴的旋转角度。 (b)与以前的抓取检测算法相比,可对RoI进行抓取检测。 对RoI进行抓取检测需要两个步骤:首先,使用RoI获得一批具有相同W×H(例如7×7)大小的RoI特征,并且所有RoI都被划分为W×H网格单元。 其次,使用抓取检测网络来检测对RoI中潜在的抓取。 主要区别:基于RoI的抓取检测可以获取RoI和检测到的抓取之间的关联,这将有助于机器人找到属于每个对象的抓取。

二.相关工作

机器人抓取已经探索了很长时间。最近,深度学习提供了直接从RGB或RGB-D图像检测抓取的可能性及其强大的特征提取能力。他们将抓取视为一种特定的对象并转移对象检测算法来检测抓取,这些抓取实现了单一对象抓取数据集(如Cornell Grasp Dataset和CMU Grasp Dataset )的最先进性能。Chu等人和Zhou等人 还探讨了在现实世界的多物体场景中训练的Cornell Grasp Dataset深度抓取检测网络的性能,物体之间没有重叠。这些算法在单个对象数据集上进行训练,并专注于单个目标的抓取检测,这意味着它们在对象堆叠和重叠场景上的性能有限。

为了在实践中应用机器人抓取,一些作品处理对象杂乱的场景。Sergey等人建立了CNN模型,用于预测抓取器的抓取成功率,实现基于视觉的抓取连续伺服控制与CEM算法相结合,在机器人运动空间中进行搜索。Gualtieri等人通过生成大量候选并将其分类为“好”或“坏”,在杂乱中搜索适当的抓取姿势。在中,马勒等人模型抓住杂乱(也称为“bin pick”)作为POMDP并使用强化学习来解决问题。之后,他们在多物体场景中探索基于真空末端效应器的抓取。然而,这些算法更喜欢具有分散对象而不是堆叠对象的场景。此外,它们在抓握和物体之间进行标记,这意味着虽然它们能够在杂乱中发现适当的抓握并且善于完成诸如“清洁台”和“拾取器”之类的任务,但它是很难将这种算法应用于在杂乱的场景中获得特定目标的任务。

最相关的工作是,其中所提出的算法分类并逐个掌握最暴露的对象直到期望的目标。虽然这种算法可以帮助机器人获得特定的物体,但是它缺乏对整个场景的感知,这限制了使用范围(例如,如果目标被其他物体暴露,它可能不会直接抓住目标)。

因此,机器人在多物体堆叠场景中抓取特定目标仍然具有挑战性,尤其是当物体之间存在重叠时。在我们的工作中,我们提出了一种基于RoI的机器人抓取检测算法,同时预测在这些场景中检测到的抓取所属的对象。

三.建议方法

A.网络架构

如图2所示,我们的网络将RGB图像作为输入,使用CNN特征提取器(例如ResNet 或VGG16 )来提取深层特征。区域提议网络(RPN)实际上是3×3卷积层,它为RCNN和抓取检测器提供称为感兴趣区域(RoI)的对象边界框提议。之后,RoI池化是自适应池化层,以使RoI将所有特征裁剪为相同大小的W×H(例如7×7)。最后,将一小批RoI汇集的特征输入到RCNN头部并利用抓取检测器以完成目标位置回归和分类,并分别检测每个RoI的抓取。请注意,在测试期间,输入图像不需要调整为相同大小,这与之前的所有抓取检测方法不同。

2.jpg

图2.网络架构。 RoIs和RoI池特征不仅用于训练目标检测的R-CNN头,而且还用于训练抓取检测网络。 所有潜在的抓取都能在RoI上检测到。 抓握检测网络经过训练,不仅可以输出抓取矩形,还可以确定抓取是否属于RoI。在抓取检测网络中,在RoI池和抓取检测器之间添加了三个残差块,以扩大特征图的感受野。

我们使用基于ResNet-101的Faster-RCNN作为包括相同RCNN报头的对象检测器。在RoI池化之后级联的抓取检测管道包括几个卷积层,抓取矩形回归量和分类器。每个RoI被分成W×H个网格单元(例如7×7)。在每个网格单元中,预定义了一组定向锚箱,并且我们使用k表示每个网格单元的锚号。如图1(a)所示,每个抓握由五维矢量(x,y,w,h,θ)表示。因此,在每个网格单元中,抓取矩形回归量输出相对于锚点(xa,ya,wa,ha,θa)的抓取矩形(tx,ty,tw,th,tθ)的5×k偏移量和预测值 抓取矩形(x,y,w,h,θ)使用等式计算。1:

3.png

抓取分类器提供2×k的置信分数,表明k锚的概率是可抓取的或不可抓取的。对于每个RoI,抓取检测器将预测W×H×k个抓取候选。最后,通过非最大抑制(NMS),保留检测到的对象和属于其RoI的候选对象。

B.关注区域的抓取检测

在基于RoI的机器人抓取检测中,在RoI上检测抓取而不是整个图像,以便区分属于不同对象的抓握。

RoIs是对象边界框的候选者。通过RoI汇集,RoIs裁剪的卷积特征被汇集到相同大小的W×H。在基于RoI的抓取检测中,网络被设计用于检测属于特定RoI的抓取而不是所有潜在的抓取。

请注意,我们希望检测器预测不同对象的不同抓取,而不是被属于其他对象的抓取混淆,特别是在两个对象边界框之间的重叠中。然而,如果用于预测抓取的特征图的接收场不够大,则重叠中任何两个RoI的预测将是相似的,这意味着抓取检测器难以区分检测到RoI重叠属于谁的。为了防止抓取检测器混淆属于不同对象的抓取,用于预测抓取的特征映射应该具有大的接收场,尤其是当存在重叠时。因此,我们在抓取检测器和RoI汇集层之间添加几个卷积层,以构建抓取检测管道,从而可以扩大抓取检测所使用的特征图的接收域,以完成我们的任务。

为了获得用于抓取检测的RoI的训练真值标定,我们首先通过重叠区域将每个RoI与一个真值对象的边界框匹配如下:

•使用大于0.5的Intersection over Union(IoU)作为匹配候选,保留真值对象边界框。

•选择具有最大IoU的匹配结果

如果RoI与任何基本事实不匹配,则不会用于抓握检测训练。然后将属于匹配的地面实况对象的地面实况抓取矩形设置为匹配的RoI的训练基础事实。其他掌握将被这个RoI忽略,即使它们位于其中。训练数据的一个示例在图3中示出。这鼓励抓握检测器仅输出属于特定RoI的抓握而不是所有潜在的抓握。

4.jpg

图3.训练数据的示例。属于真值标定对象的抓取矩形用作匹配的RoI的真值标定抓取。

C.多目标掌握数据集

为了训练网络,我们重新标记了视觉操纵关系数据集(VMRD)[11]和grasps。VMRD有31个类别和5185个图像,包括17000多个对象实例和51000个操作关系。在每个图像中,每个对象实例都有一个唯一的索引,可以与其他对象区分开来。

在我们的实验中,我们使用抓取在VMRD中标记4683个图像。除了每个抓取矩形的坐标外,我们用“简单”或“硬”标记每个抓取以及它所属的对象实例。因此,每个抓取有10个维度:8个浮点数用于抓取矩形的4个顶点的坐标,1个布尔值用于“easy”或“hard”,1个无符号整数用于抓取所属的对象实例的索引。共有超过105个标记,比Cornell Grasp Dataset更多。更多细节可以在这个链接1找到。一些例子如图4所示。数据集分为训练集和验证集。在训练集和验证集中,有4233和450个图像。

5.jpg

D.损失函数

我们的损失函数包括两部分:物体(目标)检测损失LT和抓取检测损失LG。

LT与Faster-RCNN 相同,包括对象RPN丢失,对象边界框回归损失和分类丢失。对于RoI R,LG(R)与我们之前的工作相同,包括抓取回归损失和分类损失。由于网络工作从头到尾,因此,对于其他图像,总损失定义如下:

6.png

来自等式2,我们可以看到总损失是一个关于多任务损失。λ用于平衡两个独立任务的损失,本文中设置为1/NRoI,NRoI是抓握检测损失中使用的RoI数。

IV.实验

A. 实施细节

我们的网络是在PyTorch上实现的。用于训练网络的GPU都是带有11GB内存的GTX1080Ti。我们网络的学习率为0.001,动量为0.9。每10个时期,学习率将增加1/10倍。受GPU的记忆限制,我们将迷你批量大小设置为4.在训练期间,我们使用光度失真增强,包括随机对比度,色彩空间转换(仅RGB和HSV),随机饱和度和随机色调。除了光度失真增强之外,我们还使用水平扫描和垂直旋转图像(旋转图像±90°或180°)来扩充我们的数据集。为了保证输入不需要固定,我们将所有图像的短边标准化为600像素,同时保持图像的纵横比不变。物体检测和抓取检测的其他设置与基于ResNet的Faster-RCNN 和我们之前的工作相同。

B. 度量标准

我们的算法侧重于检测对象重叠场景中的目标和掌握。因此,仅评估Cornell Grasp Dataset等检测结果的准确性是不够的。为了评估我们的算法的性能,我们使用中提出的基于每个图像的假阳性(FPPI)和失败率的评估策略,其中使用logaverage未命中率(LAMR)来给出算法性能的整体外观。此外,还评估FPPI为0(MR0)和10-1(MR-1)时的未命中率。

在本文中,当满足以下条件时,我们将检测定义为真阳性:

•每次检测都包括对象及其Top-1同时抓取。

•对象被正确分类,对象的边界框的IoU大于0.5,具有真值。

•检测到的物体抓取是正确的,这意味着检测到的Top-1抓取具有大于0.25的Jaccard指数和小于30°的角度差,并且至少有一个属于该对象的真值抓取矩形。

在上述评估策略中,所有目标都得到平等对待。但是,由于数据不平衡,VMRD中具有较大数量的对象对最终测试结果的影响更大。因此,来自对象检测的平均精度(AP)被用作每个对象类别内的评估标准。为了同时评估抓握检测,True Positive具有与上述相同的标准。

C. 与基线的验证比较

VMRD验证集的验证结果如表所示。I.因为这是同时进行物体和抓取检测的第一次,所以将基线设置为级联物体探测器(Faster-RCNN)和抓取探测器(完全卷积抓取网络,缩写为FCGNinthishis),其中 -art算法分别用于对象检测和抓取检测。物体中心和抓握中心之间的距离用于指示检测到的物品被检测对象。详细地说,我们选择最接近掌握得分高于0.25的对象来掌握对象,从而在我们的测试中实现最高性能。

7.png

从表I中我们可以看出,我们提出的基于RoI的抓取检测(RoI-GD)大大提高了检测性能。基线的高失误率是由物体之间的重叠引起的,特别是当网络遇到以下两种情况时:(1)抓取主要分布在物体的边缘,如板,书,带等; (2)将一个物体放在另一个物体的中心附近,例如,当笔放在书本上时。我们的算法不会受到这些问题的影响,这些问题可以从大的接收场中受益。直观地,抓握探测器不仅可以检测抓取,还可以判断抓握是否属于目标。低于基线的速度,包括基于ResNet-101的两个级联检测网(9.1FPS对10.3FPS)。原因是我们的模型检测到了RoIs的掌握。因此,掌握检测时间与RoIs的比例是比较的。实际上,用于对象检测的RoI数设置为300。

自我比较 在实验中,我们尝试不同的锚设置,以查看对模型性能的影响。使用两种不同的锚尺寸,包括12×12和24×24。从表I和图6,我们可以得出结论,锚尺寸是网络训练的重要超参数。适当的锚尺寸将为回归提供更好的先验,从而减少训练的难度。此外,k的值也会影响最终的结果。较大的k将减少定向锚点和匹配的地面实况抓取矩形之间的差异。它将减少回归的困难。然而,它也将为可掌握的分类带来更多难的例子。因此,优选适当的k以带来良好的性能。我们还使用更高分辨率的输入(Hi-res)训练我们的网络。输入图像的短边从600变为800.结果表明,高分辨率输入还有助于通过稍微损失速度来改善模型性能,尤其是未命中率。

8.jpg

结果的可视化检测结果的可视化如图5所示。在每个图像中,每个检测到的对象都显示出具有最高可抓取分数的抓握。从图5(a)可以看出,我们在对象重叠场景中提出的方法可以成功地预测属于每个目标的抓握,而不会被属于其他对象的抓取混淆。不正确的例子如图5(b)所示。这些示例表明,对象之间的过度重叠可能使我们提出的算法无效,尤其是当重叠位于属于同一类别(前两列)的两个对象之间时。此外,具有相似外观的物体会使物体探测器混淆,如第三栏所示。笔记本看起来像钱包,这使得物体检测变得困难。我们将在未来的工作中尝试解决这类问题。

D. 机器人实验

9.png

硬件在我们的机器人实验中,我们使用由RethinkRobotics设计的Baxte rRobot作为执行者。百特有2个臂,每个臂有7个DoF。它固定在比地面高1米的位置。夹具有两个平行的手指,有效范围有限(约4厘米)。受到夹具有效范围的限制,在每次实验之前,我们将夹具设置在合适的位置,以便夹具能够成功地抓住目标。桌子位于Baxter前面,与Baxter基座的高度相同。在我们的机器人实验中使用的相机是Kinect V2,它可以收集RGBD图像。相机安装在Baxter头上,比桌面高约70厘米,凹陷角度为75°。完整的环境如图7所示。

评估策略 为了评估我们提出的算法在现实世界中的性能,我们测试了掌握多个对象的成功率。与以前的作品不同,我们的机器人实验专注于在物体重叠场景中抓取特定目标。因此,目标被放置在桌子上,其他几个物体作为干扰。为了测试我们模型的泛化能力,我们尝试比VMRD数据集更复杂的场景,在机器人实验中使用更混乱的对象。为了确保可以成功掌握目标,必须将其放置在其他对象上或旁边,而不是在其下方。我们的机器人实验涉及的目标包括苹果,香蕉,手腕开发,胶带,牙膏,扳手,钳子和螺丝刀。我们使用上述每个对象尝试10次并记录成功次数。

尽管使用RGB图像检测目标及其掌握,但是需要深度信息来估计抓握点并且从网络输出的抓取矩形中抓取矢量。选择抓握矩形中具有最小深度的点作为抓握点,并且将抓握点附近的平均表面法线估计为抓握矢量。

10.jpg

结果机器人实验结果显示在表II和图7中。代替执行具有最高可抓握分数的抓握,选择最接近目标中心且具有大于0.5的可抓握分数的抓握作为抓握配置。从表II中可以看出,我们的算法在所有8个目标上的预测和执行总体成功率分别为89%和84%。这些结果表明,我们的模型可以推广到具有杂乱对象的复杂场景,以掌握特定目标。

11.png

五,结论

在本文中,我们提出了一种基于兴趣区(RoI)的机器人抓取检测算法,该算法可以同时检测物体重叠场景中的目标及其抓取。我们提出的算法通过检测到的对象和抓取之间的关联来检测RoI池特征的抓取。为了训练网络,我们提供了比Cornell Grasp Dataset更大的多对象抓取数据集,该数据集基于Visual Manipulation Relationship Dataset。通过抓取我们的数据集,我们的算法在1FPPI和68.2%mAP下实现了24.9%的未命中率,并且可以帮助Baxter机器人在84%的成功率下抓取更复杂的多物体场景中的特定目标。

推荐阅读:


重点介绍:1、3D视觉算法;2、vslam算法;3、图像处理;4、深度学习;5、自动驾驶;6、技术干货。 博主及合伙人分别来国内自知名大厂、海康研究院,深研3D视觉、深度学习、图像处理、自动驾驶、目标检测、VSLAM算法等领域。欢迎关注**3D视觉工坊。**
欢迎关注微信公众号
3D与Slam 二维码 极术.jpg
推荐阅读
关注数
1100
内容数
100
专注于3D视觉,Vslam,图像处理等,欢迎关注
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息