论文阅读:6D Pose Estimation for Bin-Picking based on Improved Mask R-CNN and DenseFusion

论文写的比较细致,没有开源代码,但是想复现可以去试试。

摘要:

零件的6D位姿估计是机器人拾取物品任务的核心步骤。问题是,在实际应用中,不同的部分通常是随机叠加的严重遮挡。在本工作中,我们提出了一种新的方法,通过输入RGB-D图像通过两阶段神经网络回归6D位姿。第一阶段,针对局部密集的场景,提出了一种网络,以得到实例分割和相应的限定框;在第二阶段,我们提出了一种新的损耗函数,并添加了一个特殊的模块,显著提高了基线网络的6D位姿估计性能。为了解决标注成本过高的问题,采用仿真方法生成合成数据集。在实验中,我们的方法比基线网络(Mask R-CNN和DenseFusion)有明显的提升。此外,抓取实验也证明了该方法在实际工业机器人抓取中的应用效果良好

在这项工作中,我们首先通过生成虚拟数据集来降低基于学习的方法高昂的标记成本。然后提出了一种基于mask R-CNN的深度网络,得到场景中每个部分的实例和边界盒掩码。然后对图像进行裁剪,得到局部图像和每个实例的点云。最后,利用迭代姿态估计网络从裁剪后的图像和点云中获得精确的6D姿态。

综上所述,我们的主要贡献如下:(1)我们提出了一种分割和目标检测网络,命名为Dense Mask R-CNN,它是针对部分密集的场景设计的。(2)通过对准损耗和非局部模块,极大地提高了DenseFusion[5]的性能,并通过该网络获得了精确的6D位姿。(3)与基线相比,我们展示了我们的方法的显著性能改进(高达11.7%),并且它在现实世界的垃圾箱拣取应用程序中工作得很好。

DenseFusion的性能:

随着深度学习的快速发展,越来越多的研究人员致力于基于学习的姿态估计领域。PoseCNN[3]是其中的一个代表性框架,它在原检测网络上增加了偏移和位置分支,可以通过网络预测目标的位姿。但是在possecnn中预测的位姿仍然需要通过ICP来细化。为了解决这一问题,DenseFusion[5]提出了一种迭代姿态估计网络,大大降低了姿态优化的时间成本。在DenseFusion中,将RGB图像和深度图输入到不同的网络中,获得颜色特征和空间特征,然后将两者进行整合,得到全局特征。结合这三个特征进行位姿估计,并将估计结果输入位置位姿迭代优化网络进行进一步优化。这篇论文表明,DenseFusion比PoseCNN+ICP快近200倍。

本论文方法概览:

基于学习的方法需要大量已标注的数据集,但数据集高昂的标注成本限制了这些方法的实际应用。因此,我们通过模拟零件模型的堆栈来准备虚拟数据集。在此基础上,提出了一种面向密集零件的实例分割网络。然后改进DenseFusion的性能以获得精确的6D位姿。我们的方法流程如Fig.1所示

img虚拟数据集的生成:

创建虚拟数据集的过程类似于Kleeberger等人的(“Large-scale 6D Object Pose Estimation Dataset for Industrial Bin-Picking”2019)。首先通过多视角三维扫描重建三维模型。然后对这三种对象的模型进行仿真,得到合成数据集。

img
为了自动生成数据集,我们使用Blender(3D建模和渲染软件,blender.org进行物理模拟并渲染高质量的RGB图像。同时,通过调整渲染参数,生成每个实例的分割掩码和6D姿态标签。然后通过PyBullet(一个用于游戏、机器人和机器学习的物理模拟的python模块,pybullet.org)得到深度图像。Fig.3为不同阶段的渲染结果。仿真的域随机化(Domain randomization for transferring deep neural networks from simulation to the real world)已经证明了其在模拟环境转换到真实环境方面的效果。因此,我们也考虑了这些方面,比如使用零件的随机数。此外,我们观察到,由低遮挡率的图像训练的网络在严重的遮挡场景中效果很差。

每个合成场景的平均遮挡率的计算:

img

n代表场景中零件的个数

将合成数据集按照η分为高遮挡率和低遮挡率场景,为了平衡不同遮挡率下网络的准确性,将这两种场景在训练集中的比例为1:1。

分割与目标检测:

img

我们通过实现深度网络来执行实例分割和对象检测。如图4所示,首先将图像送入特征提取网络。在这里,我们使用了ResNeXt-101[26]作为我们的骨干。ResNeXt在分组卷积方面比ResNet[27]更高效、更好。在效率和网络能力之间进行权衡之后,我们选择了ResNeXt-101。下面的结构是我们的改进版的mask - rcnn,它以骨干提取的feature map作为输入并输出每个实例的bounding-box和mask。

(1)注意特征金字塔网络(AFPN): CNN提取的深层特征包含丰富的语义信息,但经过多次卷积层后,位置信息很容易丢失。另一方面,浅层特征往往位置准确,语义信息贫乏。为了解决这一问题,我们提出了一种注意力特征金字塔网络(AFPN)。结构如图5(a)所示。

AFPN的输入是ResNeXt-101在不同阶段的特征图{C1,C2,C3,C4}。AFPN在FPN中增加了注意机制,注意力模块以主干网的当前级别特征和FPN的更高级别特征作为输入。然后通过1x1卷积和双上采样得到特征金字塔的当前层次特征,这里的双上采样采用不同于原始FPN的双线性插值算法实现。最终,通过3x3的卷积层得到最终输出的特征图{P1,P2,P3,P4}

img
注意模块结构如图5(b)所示。第i个注意力模块首先连接Ci和Pi+1,然后通过1x1卷积压缩通道数,使其与Pi+1一致。经过另一个1x1卷积和sigmoid函数,我们得到了与Ci相同大小的注意力重加权图。最后,通过将注意力重权图和Ci相乘(element-multiply),对Ci进行权重的分配。

img

(2)带有语义信息的mask分支:mask R-CNN中mask输出的分辨率仅为28×28,使用分辨率较大的特征图等简单方法难以提高质量。我们推测这是由于ROI Align层通过双线性插值调整特征图的大小时,丢失了一些特征的细节。为了解决这一问题,我们将语义分支的信息融合到mask分支中。

image-20211226224140771

我们的修改方法受到了ASIS(Associatively Segmenting Instances and Semantics in Point Clouds-2019)的启发,这篇文章证明了实例和语义分支在点云分割中可以相互利用。Fig.6为融合mask和语义分支的结构。在语义分支,我们将P2作为输入的高分辨率AFPN,后续的卷积部分是类似于mask R-CNN并且可以预测的每个像素的分类,然后ROI Align层用于拦截应于对应每个候选框的语义分割结果。

对融合的特征图进行1x1卷积,得到每个像素的最终mask分数。输出通道数为类别数的3倍,分别预测每个像素分别属于前景对象、同一类别背景和不同类别背景的概率。最后,使用前景概率超过设定阈值的像素组成最终的mask。为了方便起见,这里的阈值为0.5,并且网络性能良好。

迭代姿态估计网络:

在实例分割和限定框预测之后,我们采用了一种基于DenseFusion的网络,可以端到端迭代预测6D姿态。在这里,我们修改了loss函数,并添加了NonLocal模块来提高网络的性能。

(1)Aligned Loss

DenseFusion中对称物体的损耗函数如下:

img

R,t代表6D姿态的真值,另一对R,t代表第i个点云的6D姿态预测值,M是点云的点个数,xj代表点云的第j个点。

点云下采样是为了满足神经网络对输入数据长度相同的要求。

DenseFusion的损失函数只是最小化预测点云和真实点云之间的平均距离。但我们观察到,当使用这种损失函数时,网络很难收敛。

我们通过考虑模糊位姿来解决该问题:计算预测姿态的每个模糊姿态与其真实姿态之间的所有距离,并选择最小距离来计算损失。

img

Ωi是第i个点云预测的姿势相对应的模糊姿势集合,img代表第i个点云预测的第k个模糊位姿

(2)NonLocal模块:

如Fig.7所示,裁剪后的图像和点云(被bounding-box裁剪)先馈入主干(PSPNet[30]和PointNet[31]),分别获得2D和3D特征,然后通过两个并行多层感知器(MLP)对其进行细化。

img

在这里,我们添加了NonLocal模块(图7中的绿色块),使网络能够从提取的特征中学习空间结构特征,并能有效地建立点级特征之间的联系

在过去的工作中,点云的无序性一直是网络训练的一大难点和挑战。但该模块不受输入顺序的影响,能很好地处理点云的无序性。

img
NonLocal模块的详细信息如Fig.8所示。p1,p2是由MLP的不同层输出连接起来的特征图。我们用[p1,p2]和p2当做两个并行分支的输入,然后使用1x1卷积来压缩[**p1,p2]中的通道,为相关系数矩阵的计算做准备。经过矩阵相乘,得到相关分数矩阵M,然后利用Tanh函数得到相关系数:

img

N是下采样后的点个数

实验部分:

我们将在合成场景和真实场景中评估我们的方法。我们将比较提出的分割网络与基线(Mask RCNN)的能力,我们在DenseFusion上所做的改进也将通过实验来证明。此外,我们还用UR5进行了抓取实验,结果将证明我们的方法的实际意义。

实现细节:

生成的合成数据集包含6000张图像,其中5700张作为训练集,其余300张作为测试集。在单个GTX1080TI上训练分割网络,并联合训练网络的每个模块,batch size大小为2。在训练过程中,我们使用基础学习率为0.008的Adam求解器,并设置momentum为0.25。在相同的数据集和设备上训练姿态估计网络,通过对裁剪后的深度图像进行变换得到点云输入,并加入均匀分布的随机噪声[-0.03,0.03] (单位:m),以提高其鲁棒性。

评价指标:

分割的性能是由平均平均精度(mAP)衡量的,平均精度(AP)是精度-召回率曲线下的面积。为了与Mask R-CNN进行比较,我们在相同的数据集上用相同的参数训练Mask R-CNN。6D位姿估计通过平均距离(ADD)进行评估,平均距离是预测位姿中的模型点云与地面真实位姿中的模型点云之间的平均距离。为了评估真实场景中的网络性能,我们捕获了100张图像并手工标记它们。在50张图片中,零件没有堆叠,而在剩下的50张图片中,零件被堆叠得很严重。

结果与讨论:

(1)实例分割:

image-20211226224352538image-20211226224356942
表一总结了不同算法在合成数据集上的AP得分。AP50和AP75代表当IoU阈值为0.5和0.75时的mAP值。AP为不同IoU阈值下所有mAP值的均值。

表二是对真实数据集的测试结果,APNO和APO分别代表非堆叠测试集和堆叠测试集的mAP。

(2)6D位姿估计

img

图10显示了我们在第三- c节中修改的影响。不同的颜色代表不同方法的ADD递减曲线。当ADD下降到约17mm时,原始的DenseFusion有收敛困难。采用Aligned loss可以使ADD在80 epoch后降至约6mm。此外,使用NonLocal模块,其收敛速度显著提高,仅在28个epoch后就达到了相同的ADD。

img
表三为综合数据集的评价结果。当ADD小于零件模型最小覆盖球直径的1/10时,认为预测是成功的。真实场景的几个预测如图9所示。结果表明,改进后的姿态估计网络在拾取场景下具有良好的性能。

(3)实际抓取

为了证明该方法在实际应用中的能力,我们通过UR5进行了真实的抓取实验。实验集如图11 (a)所示,图11 (b)为当前场景的分割结果和位姿预测。根据抓取图像上面积最大的部分的原理,我们进行了20次抓取实验,均获得成功,证明了该方法在工业拣箱中的应用价值。

img

总结:

为了自动完成各种堆叠部件的工业抓取任务,本文提出了一种基于学习的方法,以RGB-D图像为输入输出各部件精确的6D位姿。利用Blender和PyBullet编写了虚拟数据集,提出了一种面向密集零件的实例分割网络,得到了实例掩码和边界框。在此基础上改进了DenseFusion算法的性能,将分割后的图像精确输出6D姿态。在实验中,我们的方法比原始的Mask R-CNN和DenseFusion有明显的优势,抓取实验证明了该方法在实际工业抓取应用中的价值。

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wakaka_Yu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值