APP下载

基于RP-ResNet网络的抓取检测方法

2023-04-07赵景波邱腾飞朱敬旭辉刘信潮

计算机应用与软件 2023年3期
关键词:池化金字塔物体

赵景波 邱腾飞 朱敬旭辉 刘信潮

(青岛理工大学 山东 青岛 266000)

0 引 言

人类可以准确、快速抓取任意姿态的不规则物体,但这对机器人而言却是一个重大的挑战。自然环境下机器人快速抓取不同样式、姿态的物体是实现人机协作的重要步骤,这一问题的解决不仅将推动机器人技术在部件装配、搬运等工业领域广泛应用,也将增强辅助机器人的可使用性。机器人抓取包括感知、计算和抓取。作为起点,知道要抓取哪个对象以及如何抓取是必不可少的。因此,机器人准确而快速地检测候选对象,将有助于更好地规划抓取路径,提高基于抓取操作任务的整体性能。

深度学习的提出对机器人抓取研究起到了巨大的推动作用。Jiang等[1]为基于特定物体设计视觉特征,使用机器学习的方法完成机器人抓取任务;Lenz等[2]是第一个使用深度学习的方法并提出使用滑动窗口完成抓取点检测,与传统方法相比,该方法可以自主完成抓取特征的学习。上述方法在Cornell[3]数据集上达到73.9%的准确率。然而采用滑动窗口的方法会导致搜索抓取区域耗费时间长且计算量大。

Redmon等[4]摒弃了传统的抓取框预测方法,充分利用AlexNet[5]网络在图像识别上特有的能力,从输入图像整体上获得抓取框图,完成检测任务。Kumra等[6]沿用了Redmon等[4]的检测方法,使用了最新提出的ResNet- 50[7]检测目标物的抓取特征,抓取准确率提高了1.21%。这两种方法都使用了较为复杂的网络,利用网络强大的特征提取能力,有效提升了抓取准确率。

Chu等[8]提出旋转抓取框的方法达到96%的准确率,平均检测时间为120 ms,在小目标抓取识别上效果较差。

Ren等[9]提出的faster-rcnn在fast-rcnn[10]的基础上将feature extraction、proposal提取、bounding box、regression、classification都整合在了一个网络中,使得综合性能有较大提高,在检测速度方面尤为明显。其中区域全卷积网络(Region-based fully convolutional network)使深度神经网络对特征信息的利用进入了一个新的台阶。文献[11-13]在整幅图像上共享计算,在数据集的训练与实验中取得了较好的效果,目前已经应用到目标识别中。

Redmon等[14]提出的YOLOv3网络是由Darknet53和YOLO层两部分,分别用于提取物体特征与多尺度预测。检测精度达到了96.51%,因其107层的网络深度使其检测时间达到了0.13 s,虽然改进后的Ligth-YOLOv3网络大大缩短了检测时间,但是检测精度却受到了影响。

国际上涌现了大量的优秀网络模型,具有代表性的包括AlexNet[5]、ZF[15]、VGG[15]、GoogleNet[16]、ResNet[7]和YOLOv3等,所有网络模型都可根据需要设计成不同的深度以适应实际的需要。国内外学者的抓取检测算法已经达到了不错的效果,但是仍然存在两个问题:(1) 高准确率下检测抓取框时间过长,无法满足抓取检测实时性的要求;(2) 容易忽略目标物的小部位信息,检测抓取框偏大,精度不足。

为解决上述问题,设计一种区域建议实时抓取检测网络(RP-ResNet)。该网络以残差网络ResNet- 50为基础,在区域抓取建议(RPN)[9]思想的启发下,将ResNet- 50的前30层作为特征提取的第一阶段,其目的在于生成整幅图像的抓取建议,加强对低层次信息的利用,第30层后加入SENet[17]结构和金字塔池化结构[18]增加了小物体检测抓取的准确性。在确保检测精度的前提下,充分融合高低层的特征信息,加强了检测抓取框的能力。

1 图像空间中的抓取框描述

给定一个新物体的RGB图像,识别目标潜在的最优抓取配置。图1所示的是5维抓取矩形抓取表示法,它简化了7维表示法,描述了一个平行抓取器在抓取物体之前的位置、夹爪打开距离和方向。公式表示如下:

G={x,y,h,w,θ}

(1)

图1 图像空间中的抓取框描述

图1中,(x,y)表示为平行抓取器的中心位置,h和w分别表示为平行夹爪的位置和夹爪张开距离,θ为w方向和水平方向的夹角。机械手抓取的准确性除了与抓取框的标注点有关外,还与框图的大小有一定联系,过大的抓取框直接影响了机械夹板的实际张开大小以及机械夹板抓取中心位置的选取,进而降低了目标物抓取的成功率。

2 RP-ResNet模型

2.1 抓取流程与模型

深度相机获取含有抓取物体的RGB和RGD图像,将RGB图像信息经过数据增强、调整输入大小等操作后输入给PR-ResNet网络,生成抓取框图,机械臂根据网络输出信息定位抓取点完成抓取操作。

图2 目标抓取区域算法实时检测流程

其中,RP-ResNet模型如图3所示。

图3 RP-ResNet网络模型

RP-ResNet模型第一阶段的检测受区域建议网络(RPN)[10]的启发,共享ResNet- 50的中间卷积层(第30层)的特征图。将共享卷积层与区域建议网络输出一起输入到ROI中,取消了ROI区域对感兴趣区域的再次计算。

第二阶段在网络第30层后按照图4所示加入SENet-改进型金字塔池化结构,在每个残差模块后加入SENet模块,增强通道间的联系,并使用改进型空间金字塔池化结构融合高低层信息,增强网络特征的利用率,强化小物体的检测精度,达到提高检测准确率的目的。

图4 SPPN-ResNet

2.2 区域建议网络

区域建议网络模型如图5所示。

图5 区域建议网络模型

传统的区域建议网络会进行两次任务分类和边框回归任务,第一次是在RPN内部,使用k×k的滑动窗口,产生2k(类别)的分类图和4k(边界框)的通道分数图;将分类结果与共享特征图谱一起送入ROI之后,会进行第二次任务分类和边框回归。为了更有效地处理区域建议,减小计算量,将ROI池化层集成到RP-ResNet网络,共享前一层的特征图谱,避免了ROI对感兴趣区域的再次计算。

抓取建议网络的工作原理是在特征映射的每个锚定处,使用k×k比例的滑动窗口(本文使用的是3×3)检测边界框形状,并把输入特征图的维度转化为256维,然后进行same padding操作,进而输出两个特征图,分别是2k通道的特征图和4k通道的边界框。实验中发现,使用较小的滑动窗口可以对物体细节以及小物体进行扫描,使区域提议更准确。

经过处理的响应图按得分的高低划分成不同的通道,得分高的通道(所在区域的相对空间位置通道中)分成K2个区域,所有区域单独进行平均池化操作后再一次整体平均池化。对于大小为w×h的ROI,一个bin的大小为W/h×W/h,最后一层卷积层生成每类大小为K2个得分图,ROI第(i,j)个bin区域(0≤i,j≤k-1),第c个类别的池化响应如式(2)所示。

式中:(i,j)是第c类rc(i,j)的bin的池化响应;zi,j,c为k2(c+1)个得分图的输出;(x0,y0)为ROI的左上角坐标;n为bin里的像素总数;Θ为网络参数。

2.3 SENet强化网络

SENet结构如图6所示,SENet通过增强模块之间的联系、强化特征信息提高检测准确度。为进一步减少、压缩每个特征图的参数量,在整体上使用平均池化,把输出的特征图经挤压转换为能够体现全局特征的实数。然后通过两个卷积层完成降维与升维操作,第一个卷积层将特征维度降低到原来的C/r,为了增加它的非线性的目的,使用了ReLU激活函数;第二层卷积操作是为了将特征图恢复到原有的维度,为了得到归一化权重,在模块的末端使用了Sigmoid激活函数,最后通过通道加权恢复到原有的特征通道,对原始特征进行重标定。转换公式如下:

sc=Fex(z,W)=σ(W2δ(W1,zc))

(4)

式中:zc为第c层特征压缩后的特征;uc为第c层的特征u;δ为激活函数。

图6 SENet结构模型

2.4 改进型空间金字塔池化结构

图像空间金字塔是图像的多尺度处理,利用多分辨率分解并表征图像的强有力简单结构,针对深度神经网络低层次语义信息弱、位置清晰,高层次语义信息强、位置模糊的特点,增强小目标物抓取识别的效果,使用了改进型空间金字塔池化结构[18],如图7所示。传统特征金字塔特征提取过程中,使用统一尺寸图像作为输入,多尺度提取出固定大小的特征向量。为了适应深度神经网络不同位置图像尺寸的变化,获取更加丰富的特征信息,改进型空间金字塔池化层分别使用了2×2、2×2、4×4不同的分辨率对池化层进行了特征提取,经过max polling分别得到4、4、16个不同维度的特征向量,级联后输出24维度融合金字塔池化信息。改进后的空间金字塔池化结构提升了网络模型的输出尺寸,在特征重构的结果中保留了大量的目标物低级形状、纹理等特征,最终经过不同层级的信息融合,有效提高了物体细节的辨识精度。

图7 改进型空间金字塔池化结构

3 抓取检测

在深层网络提取特征信息之后,最后一个阶段为确定抓取配置,设αl表示Softmax层后的第l类概率,βl表示相应的预测抓取边界框。定义抓取形态预测的损失函数(gcr)为:

式中:Lgcr-cls是抓取角分类的交叉熵损失(gcr-cls);Lgcr-reg是权重为λ2的抓取边界框(gcr-reg)的l1回归损失;βc是真值抓取边界框。

4 实验与评价

点度量和矩形度量是两种常用的衡量抓取效果的方法。文中采用的是矩形度量方法,当满足以下两个条件时,候选框抓取配置正确:

(1) 预测的抓取角度与标注真值框的抓取角度之差小于30°。

(2) Jaccard相似系数大于0.25,其中计算如式(7)所示。

式中:gp为抓取角度;gt为标注真值框角度。

4.1 实验数据集

实验数据集是以Cornell数据集为基础,其中包含244个不同物体的885幅图像,每个物体都在不同方位或者姿态下拍摄了多幅图像,每个不同的图像都被多次标记,对应于物体的抓取可能。

为了扩充数据集,获取更加全面的实验数据进一步测试网络的性能,对Cornell数据集进行了以下两种方式划分:

方式1:按照数据集中排列的顺序进行随机划分成训练集和验证集,验证集中包含模型训练中出现过的不同摆放角度的同一物体,用来验证网络检测物体能力的泛化性。

方式2:将Cornell数据集中的物体按照种类的不同进行划分,验证集不包含在训练集中,验证集的种类是模型从未见过的,用来验证网络对新物体的检测能力。

4.2 数据预处理

在数据准备方面,对Cornell数据集进行了广泛的数据扩充。首先,对图像进行中心裁剪以获得351×351区域。然后,裁剪后的图像在0到360度之间随机旋转,中心裁剪到321×321的大小。旋转后的图像在x和y方向随机平移50个像素。预处理为每幅图像生成1 000个增强数据。最后将图像调整为227×227,以适应ResNet- 50体系结构的输入。

4.3 模型训练的实现

网络的训练环境为Ubuntu系统,使用显卡GTX980进行加速,学习率的初值设置为0.001;学习衰减策略为“step”,步长为3 000;学习变化率为0.1,最大迭代次数为43 000;使用梯度下降法作为整个模型的训练方法。当网络接近最优值时,为减小因学习率过大产生的震荡,因此当迭代次数在40 000到43 000时,学习率衰减为原先的十分之一,即为0.000 1,确保网络进一步地收敛,逐步逼近最优值。为了提高训练效率,首先对Cornell数据集进行了预处理,以适应ResNet- 50网络的输入格式,然后使用COCO2014数据集上的ResNet- 50的预训练权重。其他参数的使用标注高斯分布作为初始值。

4.4 实验结果与分析

图8为Cornell数据集在RP-ResNet网络运行的结果中预测的部分正确抓取结果。

图8 模型预测的部分抓取框图

为了丰富实验数据,进一步对比、验证RP-ResNet网络的可行性,进行了以下几个方面的对比:

(1) 原ResNet模型和RP-ResNet模型检测效果对比见表1。

表1 原ResNeT与RP-ResNet实验结果对比

可以看出,RP-ResNet网络模型在准确率、参数量、检测时间上都有了明显的提升,检测效果优于原模型。虽然参数量相较于原模型增加了1%,但是模型的准确率提高了1.25百分点,而且检测时间缩短了0.07 s。

实验分析可知,深度神经网络的底层网络有着清晰的物体位置信息,使用区域建议网络能够快速定位目标位置,完成初步位置定位和抓取区域建议;嵌入的SENet机构有助于增强特征图的感受视野,加强了通道间的联系;而改进型空间金字塔结构能够有效地融合高低层特征信息,加强低层次信息的表达能力,有助于增强小物体及物体细节的辨识能力。由于主要采用最大池化,因此模型参数量基本保持不变,并且有效提高了检测精度。

(2) RP-ResNet算法与其他算法比较见表2。

表2 RP-ResNet算法与其他算法比较

将RP-ResNet网络按照两种不同数据集划分方式进行训练、实验,并且与其他网络算法进行对比。对比结果如表2所示。实验结果表明,两种不同划分方式下RP-ResNet网络检测准确率优于其他检测算法,虽然检测时间相比Redmon检测网络长,但是检测精度有了大幅度的提升。

图9为RP-ResNet算法与文献[8]算法复现对同一物体的抓取效果对比。

(a) 其他算法检测效果

(b) RP-ResNet算法检测效果图9 其他算法与RP-ResNet算法检测对比

图9的对比效果表明,对于检测同一种物体抓取位置,RP-ResNet预测的抓取框更加精细,抓取框居于物体中间,主要原因在于RP-ResNet使用的区域建议网络和改进型金字塔池化结构都能够很好地挖掘图像中的信息,增强了网络对目标细节信息的敏感度,加强检测效果。

(3) 在区域建议网络中,滑动窗口的尺寸通常为3×3、5×5、7×7三种,因此对比不同大小滑动窗口检测效果如表3所示。

表3 不同大小滑动窗口提取效果对比

可以看出,随着滑动窗口尺寸的增大,测试损失值越来越高,检测精度上也有所下滑,在检测时间上,3×3窗口优于其他两个尺寸。因此综合考虑测试损失、检测精度、检测时间三项数据,3×3的滑动窗口能够在损失值最小的情况下,达到最高的检测精度并且检测时间最少,实现最优的检测效果。

(4) 改进型空间金字塔池化结构与原模型比较见表4。

表4 改进型空间金字塔池化结构与原模型对比

改进型空间金字塔池化结构与其他模型的对比中可以看出,改进型空间金字塔池化结构与不含金字塔池化结构相比,准确率比不含改进型空间金字塔的模型提高了1.11百分点,参数量基本没有改变,检测时间上缩短了0.061 s;比含有原金字塔池化结构的模型准确率提高了0.54百分点,检测时间缩短了0.09 s。实验数据表明改进型空间金字塔结构使用不同分辨率对特征图进行池化,保留更多图像原始信息,有效提升了网络性能。

4.5 复杂场景下检测的分析

根据对YOLO系列网络[14,21]以及文献[22-27]的分析对比,提高复杂场景下的物体检测准确率和检测效率需要对网络进行以下几个方面的改进:

(1) 从YOLOv2[14]开始,YOLO就将归一化、加速收敛和避免过拟合的方法改变为BN(Batch Normalization),将BN层和Leaky ReLU层接到每一层卷积层之后。因此网络使用BN层会对输入每一层的数据进行归一化处理,防止产生过拟合现象;同时增加训练时梯度,避免梯度消失产生问题;从而能使用更大的学习率,大幅提高训练速度。

(2) 提高模型对检测点位置的敏感度。从文献[19-23]中可知,合理引入损失权重,采用不同的损失权重比可以有效提高位置敏感度,提升检测效能。

(3) 优化特征金字塔锚点框数量及尺寸。从实验四可以看出,优化锚点框大小对精度影响较大,而对检测速度影响较小。结合文献[24-26]中改变锚点框数量可知,合理增加锚点框数量、改变锚点框尺寸,可以极大提高检测精度。

(4) 使用全卷积网络代替全连接层。取消输入图像的尺寸限制,从文献[25-26]可知根据网络深度、结构合理修改输入图像尺寸,可以有效提高检测精度。

5 结 语

为了加强机器人对不同类型、大小目标的抓取效率,适应更加复杂的环境,提出一种高精度、高实时性的RP-ResNet神经网络模型,在传统ResNet- 50深度神经网络的基础上进行了改进,一方面,通过区域建议网络充分挖掘低层次图像特征信息、目标物位置信息,增强小目标检测的效果;另一方面,通过使用SENet-空间金字塔池化结构,有效地提升了网络结构后半部分对物体细节的抓取能力和通道与通道之间的相互依赖关系,融合了不同层级之间的特征信息,提高了模型的泛化性和检测准确率。该模型在Cornell数据集上的表现明显优于其他模型,精准度达到了96.7%。RP-ResNet网络模型准确率高、泛化性强,基本实现实时识别。

然而,Cornell数据集每幅图像只有一个抓取目标,相对于复杂的生活场景太过简单,所以,下一阶段的任务是根据以上分析设计网络,实现复杂场景的高效、实时抓取预测。

猜你喜欢

池化金字塔物体
基于Sobel算子的池化算法设计
“金字塔”
卷积神经网络中的自适应加权池化
设施蔬菜病害识别中的CNN池化选择
A Study of the Pit-Aided Construction of Egyptian Pyramids
深刻理解物体的平衡
海上有座“金字塔”
基于卷积神经网络和池化算法的表情识别研究
我们是怎样看到物体的
神秘金字塔