SE-ResUNet论文学习笔记
SE-ResUNet
文章目录
- SE-ResUNet
- 前言
- 摘要
- 一、引言
- 二、相关工作
- A.基于传统方法的机器人抓取
- B.基于深度学习的机器人抓取
- C.基于注意力机制的机器人抓取
- 三、抓取姿势表示
- 四、方法
- A.Squeeze-and-Excitation Residual Network (SE-ResNet)
- B.抓取区域
- C.单个或多个的抓取检测
- D.网络结构
- E.损失函数
- 五、在公开数据集上的实验结果
- A.实验和评估
- 1.数据集
- 2.数据增广
- 3.训练细节
- 4.评估标准
- B.Cornell数据集上的表现
- C.Jacquard上的表现
- D.对比实验
- E.消融实验
- 六、在真实场景中的抓取检测
- A.在真实世界中的抓取
- B.在Baxter机器人上的抓取
- C.失败案例分析
- 七、结论
- 八、总结
前言
继续看。
摘要
在这篇论文中,一个全新的抓取检测神经网络Squeeze-and-Excitation ResUNet(SE-ResUNet)被设计出来,它在残差模块中加入了通道注意力机制。该网络模块经由RGB-D图像输入后,不仅可以产生抓取姿势,也可以预测每一个抓取姿势的得分。实验结果表明在康奈尔和Jacquard数据集上分别达到了98.2%和95.7%。并且图像处理的时间可以达到30fps,这表明模型具备良好的实时性能。在后续的比较研究中发现,由于之前所提出的方法该模型在精度和时间效率上也获得了良好的表现。最终,这一点也通过在Baxter机器人上进行的实际抓取操作得到了证实,其平均抓取成功率达到了 96.3%。
关键词:机器人,抓取检测,卷积神经网络,注意力机制。
一、引言
在实际生活中机器人抓取对于我们一直是一个挑战。高的抓取成功率和抓取效率一直是机器人自主抓取任务中的两个关键因素。其中,基于力封闭和形封闭的抓取方法已被证明是有效的方法,并且能够提供高度可靠的抓取效果。但是,它们依赖于姿势,机器人夹具的配置,被抓取物体的形状和物理性质并且对于它们来说,去寻求尽可能多的夹具配置是非常必要的,这就导致了抓取工作变得困难起来。
如今,为了避免这种问题,一些基于深度神经网络的抓取工作被提出了。为了能够代表图像中的抓取姿势,一个五维的抓取姿势方法被【4】所提出,这种方法的抓取姿势是以抓取框为代表的。【4】【7】【8】这些方法提前产生了多个抓取候选框,然后从中选一个最好的。
在这些方法中,大量的时间都被用来了生成候选抓取框,并且抓取的成功率也需要进一步的提高。为了提高抓取成功率,目标检测领域的一些方法被引入了进来,例如,在文献 [14] 中提到的感兴趣区域(ROI)。尽管这些方法可以提高抓取成功率,但是这些方法花了不少的时间去选择ROI,最终花费了更多的抓取时间。
在这方面,完全基于卷积神经网络的检测方法正在兴起【10】【15】。它们产生了抓取质量图像,然后从中选取最高的作为最终的抓取姿势,而没有生成任何候选框。相比较而言,这种方法减少了网络的参数并且获得了更高的检测准确率。但是,他们仅仅将分数最高的最为抓取框的中心,而没有去突出在中心点抓取概率的重要性。
去更好地提高检测的准确率,一个基于UNet和残差注意力模块的神经网络被我们所提出。通过增加注意力机制,这个网络可以更好的使用所有特征。相较于之前的工作【9】,【10】,【15】-【17】,残差注意力模块可以使网络的注意力集中在重要的特征中。同时它可以高效的区分抓取区域和非抓取区域并且更准确地检测出抓取框。
二、相关工作
A.基于传统方法的机器人抓取
B.基于深度学习的机器人抓取
C.基于注意力机制的机器人抓取
三、抓取姿势表示
著名2D图像抓取抓取代表方法由【7】【8】所提出,其被表示为g={x,y,h,w,θ}。(x,y)对应于抓取框坐标的中心位置,h,w和θ分别代表抓取框的长度,宽度和旋转量。但是,这种表示方法不能区分每个抓取框的抓取质量。因此,长度h可以被机器人夹具的宽度所替换,参数h就可以被忽略了。这样看来,一个全新的抓取姿势代表就被提出了【15】:
w是夹爪的抓取宽度,θi是抓取框的旋转量,q是抓取质量得分。相较于之前的 g来说,新的表示方法可以预测每个抓取框的抓取质量。并且由于长度h不需要被预测,因此也减少了计算资源的消耗。
最终最好的抓取框由得出。
夹具的抓取姿势可以被定义为:
P={x,y,z}是夹具的中心,θi是夹具对应Z轴的旋转角度,w是夹具对应的开口宽度。
参数q对应于抓取质量得分,值在[0,1]之间,越接近1越好。θ是[-Π/2,Π/2]的值。
四、方法
如今,全部使用卷积网络(FCNs)已经被应用到了抓取检测中【10】【15】。但是,当标记抓取区域时,对于图像中的特征,这些方法给了同样的偏重。这就导致了它们不能集中于那些重要的特征并且忽略不必要的。为了解决这个问题,这篇文章提出了一种带有残差块的改进型基于注意力的 UNet 网络结构。
A.Squeeze-and-Excitation Residual Network (SE-ResNet)
在这篇文章中,网络的模型架构如图1所示。
首先,网络的第一部分由三个卷积层构成,对应卷积核大小为3*3。第二部分是挤压和提取模块(SE),减小比率r被设置为16。在挤压层中,SE模块使用全局平均池化层挤压了图像中的特征参数。在提取模块中,SE模块使用了两个全连接层和一个ReLU层。为了减少模型的参数和复杂度,减小比率r被用到了第一个全连接层来降维,之后连接应该ReLU层增加非线性关系。然后使用第二个全连接层被用来恢复原先的图像维度。最终,经过一个sigmoid函数,输出结果就代表了每个通道的权重值。
B.抓取区域
对于一些抓取数据集,例如康奈尔数据集,大量的抓取框被标记了出来。如果机器人夹具被放置到由矩形框指示的区域,物体就可以就成功的抓取。但是,抓取数据集中并没有将所有的矩形框都标注出来,通常只有典型的几个。换言之,预测框和真实框越接近,物体则更可能被抓取。二者的距离是由抓取质量来定义的。二者越接近,抓取质量越高。
为了减少二者的差距,这篇文章也引入了抓取区域的概念。首先,将一张图像的所有像素值置为0进行初始化,并且图像的尺寸是1HW的,这与最初的图像尺寸是一样的。对于抓取区域,像素值设置为1,其余地方还是为0。像素为1的区域构成了抓取区域并且产生了真实的抓取质量图像。同样的,对于真实的角度图像和宽度图像可以用类似的方法生成。不同的是,角度和宽度图像中抓取区域的值对应于与之相关的抓取框中的值。由于抓取框的长度L通常是大于对应物体的抓取宽度的,所以对于宽度图像抓取区域的值,将会选取以中心为基准、长度为L/3的区域。网络的任务是去预测图像中的抓取区域,并且使预测的区域接近于真实的区域,就像分割任务一样。
C.单个或多个的抓取检测
由于抓取的物体通常有多个抓取姿势,同时神经网络也可能对多个物体多个抓取框进行检测。基于此,一个全新的抓取检测方法被设置出来。
对于单一的物体而言,如果一个单一的抓取需要去被检测。它只需要去搜寻整个抓取区域中抓取质量得分最高的作为抓取中心。如果有多个抓取框需要被检测,先在搜寻时将最高抓取质量得分的像素点设置为抓取中心。然后再在剩余区域中选取抓取质量最高的。通过这种方法,多个抓取框都可以被检测出来。
对于一张图片中存在多个物体而言,将会有多个抓取区域,每一个区域代表一个物体。如果每个物体都需要去预测一个单一的抓取框的话,最高抓取质量的像素点会被选择出来。我们通过使用一个更大的搜索区域来排除这个抓取区域,该更大的搜索区域能够包含当前的主要抓取区域,并且不会影响到其他抓取区域。这样,我们就可以选择下一个最高抓取质量的像素点直到所有抓取区域都被检测出来。
D.网络结构
网络结构如图2所示,它是基于UNet改进的。
为了充分使用深度图像中的深度数据,我们将RGB图像和深度图像在通道维上进行叠加。所有我们网络的通道维输入大小是四。首先经过三个卷积层,对图像进行提取特征。批量归一化和ReLU函数被用到了每一个卷积层上。图像经过之后,其尺寸变为了56*56*128。
在传统的UNet中,用来特征提取和物体分割的只有单一的卷积层。伴随着神经网络层数的增加,梯度消失的问题可能会出现,最终将会导致精度的降低。基于此,残差网络可以被用来解决这个问题。为了提高神经网络对于抓取姿势的敏感度,这篇文章将残差模块用到SE模块中,将其命名为SE-ResNet。当经过SE-ResNet模块后,又经过了一个下采样层。最终图像的大小变为14*14*512。解码器的输入包含两部分:(相连)最后一层输出的Xd和编码器中与之尺寸相同的特征Xc。解码器将充分利用特征图。例如,如果Xd和Xc的大小都为1414512,那么一个上采样层将会首先应用于其中,将它俩的大小变为2828512。两个输出将在通道维上进行叠加。随之而来,图像的大小变为28281024。最终,在上采样之后经由一个双层卷积,输出大小变为2828256,随后再接一个 SE - ResNet 模块。
网络的输出最终包含四部分:抓取质量,cos2θ,sin2θ和夹具的宽度。最终的抓取姿势是伴随着抓取质量图像中得分最高的形成的。以同样的方法,抓取角度和宽度可以从其他两个图片中获得。抓取宽度是提高arctan来计算的。
最终,抓取姿势可以由抓取框代表。其中,矩形的中心被定义为机器人末端执行器中心的垂直投影,并且该角度是机器人末端执行器的旋转角度。
E.损失函数
我们选用了平滑的L1损失函数,原因是它对于离群值来说更稳定,更不易被受到其他异常值的影响并且在训练过程中鲁棒性更好。
(相较于GRconvnet来说不是直接相加,增加了权重)。
考虑到位置和角度会直接影响抓取的成功率,并且 w 表示局部特征范围,在本文中,将 λ1 和 λ2 的权重设置得大于 λ3 的权重。
五、在公开数据集上的实验结果
A.实验和评估
1.数据集
选用了Cornell和Jacquard数据集,它俩都包含了深度图像和RGB图像。
2.数据增广
数据增广的第一步就是图像裁剪。裁剪后的图片不仅可以适配网络的输入尺寸,更可以加快计算。要将图像裁剪到特定尺寸,广泛使用的方法是以源图像的中心为中心来裁剪图像。这可能导致物体丢失或者裁剪后的图片只保留了物体的一部分。在这篇论文中,我们基于抓取框的中心来进行裁剪图片,因此图片中可以出现不同角度的物体。裁剪后的图片经由随机旋转,旋转角度为正负二分之Π或者正负Π。旋转之后,图像以中心为中心随机保留百分之n,然后再调整大小至原始尺寸。
3.训练细节
优化器是爱大米,batchsize是32 epoch是50。
4.评估标准
a.角度偏移小于30°
b.iou大于0.25
此外还将使用两种数据划分方式来评估这些方法:
图像层面划分(IW):随机划分数据集,且每张图像是等效的。IW 用于测试当物体呈现不同姿态时模型的预测能力。
物体层面划分(OW):随机划分物体实例,测试数据集中的物体在训练数据集中未曾出现过。OW 用于测试模型在遇到不同物体时的泛化能力。
由于评估标准需要用到抓取框,所以最终输出的抓取图像要转化成对应的抓取框表示。
B.Cornell数据集上的表现
Cornell太少,做了图像增广。
80%的用来训练集,20%的用来测试集。
训练集中90%用来训练,10%用来验证集。
最终很好。
C.Jacquard上的表现
80%的用来训练集,20%的用来测试集。
训练集中90%用来训练,10%用来验证集。
也很好。
D.对比实验
SE-ResUNet和GR-CNN,GC-CNN分别在康奈尔数据集,Jacquard数据集,混合物体数据集,没见过的物体上进行了比较。最终发现,由于加入了注意力机制。SE-ResUNet可以很好的从抓取背景中区分出物体,将抓取背景被设置为0,并且最终抓取区域抓取得分都很高。
基于实验,发现GR-CNN,GC-CNN有两个局限性:
1.在容易抓取的物体中心区域,质量得分非常低。
2.两个网络的输出结果中,抓取背景和抓取区域的得分很接近。这表明抓取区域检测很容易被其抓取背景所误导。
E.消融实验
和U-Net进行了比较。
六、在真实场景中的抓取检测
A.在真实世界中的抓取
B.在Baxter机器人上的抓取
C.失败案例分析
原因:
1.机器人系统的错误。
2.没有获得准确的深度信息。
3.在抓取过程中由于碰撞原先的抓取位置发生了改变。
七、结论
精度好,有现实意义。
八、总结
接下来看代码,有几个物体。
1.网络结构的构建。
2.图像增广如何实现的。
3.图像增广后原来的标签,例如抓取角度那些会不会随之改变。
4.精度真的这么高吗?