APP下载

基于注意力机制的单阶段抓取检测研究*

2021-11-24周自维李长军王朝阳

传感器与微系统 2021年11期
关键词:卷积深度机器人

周自维, 王 硕, 李长军, 徐 亮, 王朝阳

(辽宁科技大学 电子信息与工程学院,辽宁 鞍山 114051)

0 引 言

机器人抓取问题是目前机器人与计算机视觉结合的热门话题,其核心思想就是机器人在动态环境下利用相机的识别检测,准确稳定并快速完成抓取任务。而机器人在抓取物体时需要考虑很多因素,例如如何利用图像的特征信息检测物体的抓取位姿,对抓取位置定位等。近年来关于机器人抓取技术的不断研究,在2011年,Jiang Y等人提出了一种用矩形框表示物体抓取位置的方法。在2014年,Lenz I等人首次提出用人工神经网络多层感知器级联的方法来完成机器人抓取的任务。2015年,Mahler J等人利用卷积神经网络(convolutional neural network,CNN)完成了机器人的抓取任务。目前,通过卷积神经网络[4~6]来解决机器人抓取问题的方法已经被研究者广泛采用。对于最近几年的抓取检测发展来说,Chu F J等人提出了一种利用深度网络结构来解决多目标抓取问题。Asif U等人又提出了一种层次级联森林的方法,用来从RGB-D点云中推断类别和抓取位置。Guo D等人提出了使用结合触觉和视觉的多模态混合深度神经网络结构来获取抓取框的检测。到2019年,NVIDIA公司Mousavian A等人基于三维点云提取特征,来计算抓取三维位置,并解决了六自由度的抓取姿势问题,该项研究是迄今为止比较先进的研究,不过该项研究的方法要有庞大的运算能力来支持。上述神经网络模型的设计越来越复杂,网络参数越来越多,计算量越来越大,这使得运行神经网络所需要的运算能力要求越来越高,运行时间过长。

本文设计一种精简、新颖的基于通道注意力结构SENet和轻量级卷积模块Inception-Lite融合的网络结构。以轻量级卷积模块Inception-Lite作为基本结构,在特征提取阶段利用通道注意力机制SENet网络来达到提升重要通道的权重,减少冗余信息,提高网络的检测精度。本文网络设计了多模态抓取检测网络,并在康奈尔数据集上验证。此外网络参数个数仅为3,528,772,相比于其他网络更加简单。设计的抓取网络不但预测指标高,而且网络结构简单,对机器人抓取的推广起到积极作用。

1 抓取检测算法设计

1.1 抓取框表示方法

本文主要解决机器人视觉中的目标抓取问题,对种类不同,尺寸不同的物体进行检测,完成抓取任务。机器人抓取物体的策略有多种,主要分为顶抓策略和侧抓策略,本文采取顶抓策略,即垂直于平面的方法进行抓取如图1(a)所示。

图1 抓取框表示法

在抓取检测时要对抓取位置进行合理的表示,主要来表示物体在图像上的抓取位置和姿态。对于不同类型的机械抓手,抓取的表示方法也会有所不同,目前常用的抓手主要为平行两指抓手,针对这种抓手本文借鉴Morrison等人提出的抓取框方法,如图1(b)所示,将预测抓取姿态表示为在像素坐标系下的向量

G=(s,θ,w,q)

(1)

式中s=(u,v)为像素坐标下抓取位置的坐标;θ为矩形框与像素坐标系u轴夹角;w为抓取框宽度,即抓取时抓手的张开宽度在图像上的投影;q为抓取质量参数,即图像中每个像素点抓取的质量参数。

像素坐标系下的抓取向量需要转换到机器人空间坐标系下,完成抓取任务。本文利用手眼标定方法可以将相机的像素坐标转换到机器人空间坐标

G′=Trc(Tci(G))

(2)

式中Tci为深度相机的内参矩阵,Trc为利用手眼标定将相机空间转换为机器人空间的转换矩阵。此时抓取姿态就可表示为在机器人坐标系下的四维向量

G′=(p,θ′,w′,q)

(3)

式中p=(x,y,z)为机器人坐标系下的抓取位置坐标;θ′为抓手在机器人坐标系绕z轴旋转角度,θ′∈[-]π/2,π/2];w′为抓手张开宽度;q为抓取质量参数。

1.2 自主设计的SE-Inception-Lite模块

随着深度学习的研究,卷积神经网络不断向纵深化发展。VGGNet等网络证明当网络的层数越多,那么网络的特征提取效果就会越好,网络的表达能力就会越强。但网络的不断加深不仅增加了网络整体的运算量,增加运行时间而且大量需要学习的参数会使得网络的预测产生过拟合的现象。

为了在加深网络的同时避免出现上述该问题,本文选用Inception结构和SEnet网络,提出了一种基于Inception-Lite结构和SEnet网络的轻量级卷积网络模块SE-Inception-Lite如图2所示。该模块具有计算量小的优点,但可以通过不断堆叠形成规模更大的卷积神经网络。

图2 SE-Inception-Lite

Inception结构是将卷积从密集连接结构转为稀疏连接结构,就是将原先大通道卷积层替换为由多个小通道卷积组成的多分支结构,在保证网络表达能力的情况下,降低网络的计算量。本文提出的Inception-Lite结构主要使用3×3和1×1的卷积核进行特征提取,使网络可以自由选择更好的特征,3×3池化可以去掉上一层卷积下来的冗余信息。同时采用1×1卷积对通道数目先进行降维,然后在进行特征提取,减少参数计算,在池化后再次使用1×1卷积将通道复原。并在每个卷积层后增加一个ReLU激活函数,增加网络的非线性特性。其中在Inception-Lite模块的卷积层和非线性激活函数之间加入批量归一化层,做归一化处理,这样可以加快整个网络的训练速度和收敛速度,还可以防止过拟合。

SENet网络是一种常用的注意力机制下的深度学习方法,通过一个子网络,学习得到一组权重,然后对特征图的各个通道进行加权。即通过子网络获得特征图各个特征通道的信息重要程度,通过这种方法来增强有用信息的特征通道,并抑制对信息冗余的特征通道。此模块主要采用挤压、激励以及特征重标定3个操作实现各个特征通道的加权调整。首先使用挤压操作将特征图进行压缩,利用式(4)将C个特征图转换1×1×C的实数数列,这组实数数列具有全局感受野,象征着在特征通道上响应的全局分布。即

激励操作如式(5)所示

s=Fcx(z,W)=σ(g(z,W))=σ(W2δ(W1,z))

(5)

利用两个卷积层实现特征图的降维与升维,第一个卷积层将特征维度降低到原来的C/r后,在利用Relu激活函数增加非线性;第二个卷积层用来恢复原来的特征维度,再经过Sigmoid函数得到归一化的权重,最后通过式(6)按照乘法逐个通道加权到原来的特征通道上,完成对原始特征进行重标定。式(6)如下

(6)

1.3 改进的SE-Inception-Lite模块

为了提高准确率,在实验中不断对SE-Inception-Lite模块进行堆叠。当网络堆叠到一定程度时,网络就变得很难训练。而且网络在开始收敛时还出现了退化,导致准确率很快达到饱和,但检测错误率却非常高。为此,本文对SE-Inception-Lite卷积模块进行增加残差机制实现改进。即在网络层数加深的过程中,发生网络性能退化时,在网络中添加跳层连接,即增加一个传递通道,用来传递浅层网络的特征。这种方式在没有增加网络参数的情况下提高了网络性能。本文在SE-Inception-Lite模块中增加了残差机制设计了SE-Inception-Lite-ResNet模块如图3所示。

图3 SE-Inception-Lite-ResNet

1.4 网络模型框架

本文设计了一个抓取网络SE-InceptionGraspNet。该网络模型将一幅含有目标的图像作为输入,经过网络的计算后,输出针对于该目标的一个抓取框和相关信息。

常见的抓取网络一般需要有两个阶段,第一个阶段需要对所有可能的抓取区域进行判断,第二阶段对所有可能的抓取区域选择一个得分最高的作为最后结果。这两级结构一般需要设计两种神经网络。与一般抓取网络不同的是,SE-InceptionGraspNet是一个端到端的单阶段抓取网络,网络执行一次即可得到结果,本文设计的抓取网络结构如图4所示。

图4 SE-Inception GraspNet

图4网络的输入可以是RGB彩色图像,也可以将从深度立体相机中得到的深度图进行归一化处理,处理后会得指定范围为0~255的深度信息,把该深度信息作为一个通道合并到抓取网络的原始输入,使得合并后的输入包含4个通道信息,即将颜色信息和深度信息融合作为输入,本文采用RGB-D输入。

具体来说,网络由卷积层、SE-Inception-Lite-ResNet模块、转置卷积层所组成。首先经过卷积层,其中卷积层中包含3个卷积层,3个卷积层核大小分别为9×9,4×4,4×4;再经过五个自主设计的SE-Inception-Lite-ResNet模块;为了使卷积运算更易于解释和保留图像的空间特征,使用对应的转置卷积运算对图像进行上采样。为了提高网络的性能,还引入批量归一化对整体网络模型进行融合。在整个网络计算结束后,得到最终预测的输出以生成抓取图像,还包括一些输出信息包括抓取质量分数,抓手张开的宽度,以及cos2θ和sin2θ形式的所需绕z轴角度。

2 测量实验与结果

目前在抓取工作上可以使用的公开数据集非常有限,为了便于比较实验结果,本实验选取了康奈尔抓取数据集,图5为数据集部分图像。数据集提供了240个不同的抓取目标的图像数据,共有885幅图像,是专门为平行抓手来设计的,每个图像都标记有抓取矩形框,包含了5 110个可用于抓取物体的矩形框和2 909个不可用于抓取的矩形框。

2.1 样本数据的预处理

在开始网络训练之前,对数据进行预处理。首先是对数据进行增强处理,由于Cornell数据集比较小,所以需要对数据集进行扩充。先在图像的中心选取360×360大小的像素尺寸进行裁剪,然后将其进行随机角度旋转,在x轴和y轴方向上随机最多平移40个像素,然后将其进行裁剪获得300×300的图像。经过样本增强处理后,每张原始图像都会生成2 500个训练样本。其次对数据集顺序的处理,采用随机分割的方式,将Cornell数据集的训练和验证数据集打乱,从中随机分配训练和验证数据集。

2.2 模型训练与结果的评估方法

实验使用的显卡型号为NVIDIATitanXGPU服务器,使用的操作系统为Ubuntu16.04,深度学习框架采用PyTorch。网络训练中,针对本文设计的网络模型,设置了500次迭代。本文采用小批量梯度下降SGD,设置每次读取图像批量大小为8,采用SmoothL1函数作为损失函数,并使用学习率为10-3的Adam优化算法来对模型进行训练,同时在模型中适当的添加丢弃层(dropoutlayer)来避免模型出现过拟合的现象。为了在相同的标准下对实验结果进行比较,采用了Jiang等人,当抓取满足如下条件被证明是有效的。

1)预测抓取矩形和真实抓取矩形之间的Jaccard指数即交并比(IOU)大于25%。2)抓取矩形的抓取方向和真实抓取矩形之间的方向角度偏移小于30°。Jaccard指数的具体计算公式为

式中 A为预测抓取框面积,B为标定的抓取框面积。A∩B为两个抓取框面积的交集,A∪B为两个抓取框面积的并集。

2.3 模型评估结果

本文网络在Cornell数据集与其他网络比较,并以不同方式划分数据集将数据拆分成两部分。一部分是基于图像分割的随机分割,另一部分是基于对象分割的随机分割。模型在图像分割检测和对象分割检测的准确率分别达到了96.5%和96.3%,比取得的最优检测分别高了0.5%和0.2%,本文网络对每张图像的处理时间平均需要22ms,与其他网络相比也有较大优势。通过与其他网络对比发现,本文网络的性能更好结果如表1所示,检测结果如图5所示。

表1 在康奈尔数据集上的结果

图5 抓取框检测的实验结果

2.4 机器人抓取实验

为了验证本文设计的机器人抓取检测算法的实际效果,选用六自由度的库卡机器人作为执行器进和英特尔RealSense D435深度相机作为采集装备进行实验。

利用深度相机获取物体的彩色图像和深度图像,然后通过抓取网络得到输出信息,并通过式(2)转换为物体抓取点的空间坐标,抓手张开宽度以及绕z轴角度。实验具体流程:1)初始化机器人并保持抓手处于张开状态。2)根据检测结果,机器人运动到目标位置,抓手绕z轴顺旋转所需角度。3)闭合抓手,将物体放置到指定位置,并返回初始状态。4)继续抓取,返回第一步。分别模拟雷管和模拟套筒进行抓取实验,各分别抓取35次抓取过程如图6所示,图像从左到右分别为抓取框检测,抓取姿态检测、抓取执行、抓取拾起过程。

图6 实际抓取过程

实验结果表明:机器人抓取模拟雷管、模拟套筒成功率分别为100 %和88.5 %,抓取未知物体平均成功率为94.2 %。在模拟套筒出现4次失败,是因为模拟套筒的可抓取范围比较小,抓取检测网络未能很好检测到抓取框和机器人未能非常准确的到达抓取位置,这表明本文抓取检测算法还有提升空间。

3 结 论

为提高机器人的抓取检测算法的检测性能,本文设计了一种新颖的卷积模块SE-Inception-Lite模块。并采用多模态抓RGB-D输入,然后对抓取检测算法SE-Inception GraspNet在康奈尔公开数据集上进行验证。实验结果表明:本文算法在图像分割数据和对象分割数据中的准确率分别为96.5 %和96.3 %,抓取检测精度比同类算法更高。本文模型使抓取检测效果得到了提升,并且有效降低了硬件需求,实验结果对抓取检测理论和实际应用推广起重要作用。

猜你喜欢

卷积深度机器人
基于3D-Winograd的快速卷积算法设计及FPGA实现
深度理解一元一次方程
从滤波器理解卷积
深度观察
深度观察
深度观察
基于傅里叶域卷积表示的目标跟踪算法
机器人来帮你
认识机器人
机器人来啦