基于实例分割苹果采摘机器人视觉定位与检测
2022-03-03高梦圆马双宝董玉婕
高梦圆, 马双宝, 董玉婕, 林 巍, 何 毅
(武汉纺织大学机械工程与自动化学院,湖北武汉 430073)
苹果营养丰富,含有大量矿物质、维生素以及膳食纤维,深受人们喜爱。因此,华北、西北地区以及更多地区成为了苹果的主产区。在农业生产中,由于苹果采摘过程的复杂性,采摘作业需要耗费大量劳动人力,苹果的采摘工作约占据整个生产工作量的40%。为了加快农业生产的高效快速发展,推动苹果生产的智能化发展,利用苹果采摘机器人来代替人工采摘具有重大的现实意义和广阔的应用前景。
苹果采摘机器人主要由视觉检测模块、机械结构设计和运动控制3个部分组成,主要采用机械臂对其进行采摘。如何快速准确对果园的苹果进行检测是苹果采摘机器人的技术关键。对果园中苹果的视觉检测效果受诸多因素的影响:现场环境的光照变化剧烈;果实之间的差异性较大;果实之间存在相互遮挡重叠状况;果树枝干、树叶对果实的遮挡;对苹果采摘机器人硬件设备的计算要求高,系统设计复杂。上述问题成为苹果采摘机器人的视觉检测研究的主要障碍。
目前,对苹果机器人视觉检测识别方面的研究工作取得了一定的进展。Fan等提出了以灰度为中心的RGB颜色,利用K-Means聚类算法分割苹果的技术,该技术能有效对果园苹果图像进行实时分割。Liu等利用颜色空间进行候选区域的提取,再利用HOG特征对候选区域的苹果进行检测与定位,在速度和精度上取得很好的检测效果。张春龙等采用HSV颜色空间对绿色苹果进行颜色特征提取,并利用支持向量机(SVM)分类器进行分类,有效实现了青色苹果的识别与定位。廖崴等利用RGB颜色空间和Ostu算法将果实和树叶从背景中分割,利用灰度和纹理特征构建随机森林分类器,识别苹果果实与树叶,并利用霍夫圆对苹果边缘进行拟合,在自然光照下对苹果进行有效识别。
随着人工智能技术的兴起,以深度学习为基础的目标检测技术在苹果检测中开始得到应用。彭红星等采用Resnet-101网络代替SSD模型中的VGG-16网络,并利用迁移学习训练方法对4种不同水果进行检测。武星等提出了轻量化同构残差快串联的特征提取网络,采用多种目标损失函数的改进YOLOv3模型,对果园中遮挡、重叠情况的苹果取得很好的检测。在此基础上,李大华等利用YOLOv3网络对环境中的苹果目标区域进行检测,并采用颜色空间进行阈值分割,得到苹果的准确位置信息。岳有军等采用Mask RCNN模型对果园的苹果进行检测并提取苹果的像素区域。虽然上述方法针对果园的苹果检测在实时性和鲁棒性上取得了很好的检测效果,但是模型参数量大,对苹果采摘机器人的计算资源消耗过多,对苹果果实的检测只是采用矩形框进行包围检测,并未对苹果的边缘和形状信息进行有效预测。
针对上述研究中存在问题,本研究提出了以实例分割网络Mask RCNN模型作为苹果采摘机器人视觉定位与检测模型。该模型能准确预测采摘果实的边缘和形状信息,但是模型参数量大,检测速度慢,难以达到采摘机器人实时检测要求。针对此问题,在Mask RCNN基础上将主干网络改为适用于移动端的Mobilenetv3网络模型,为了增强语义信息,使模型对适应复杂的果园环境具有较强的鲁棒性,采用SPP网络对特征图进行语义增强,采用空洞卷积增加特征图的感受野和上下文的语义信息。
1 数据采集与处理
1.1 试验数据集采集和标注
试验数据采集地位于山东临沂市沂水县四十里镇。选取红苹果、青苹果和奶油苹果3种不同的苹果树进行取样拍摄,拍摄时间为06:00—16:00,试验选用海康威视、手机等移动端采集设备进行图像采集,拍摄条件包括远距离和近距离、不同角度光照度、果叶和枝干的遮挡、果实之间重叠、不同成熟期果实的果实混杂(图1),共采集500幅图像。试验数据采用随机裁剪、缩放、平移、翻转、颜色扰动,加入马赛克数据增强后为35 000幅,对数据进行随机抽取,选用28 000幅为训练数据集,3 500 幅为测试数据集,3 500幅为验证数据集,比例为 8 ∶1 ∶1。使用Labelme软件人工对采集苹果图像中苹果的边界区域进行标注,其余为背景,生成json文件。
2 苹果果实识别检测模型
2.1 Mask RCNN模型
Mask RCNN网络是He等在Faster RCNN网络模型基础上添加了Mask网络预测分支来对检测模型进行改进,其网络结构见图2。从图2可以看出,该网络模型由特征提取网络(ResNet-101)、特征金字塔(feature pyramid network)、区域建议网络(research proposal network)、ROIAlign层以及网络预测(类别、边界框、掩码)分支组成。
2.2 改进Mask RCNN模型
原始Mask RCNN模型采用Resnet-101网络作为主干特征提取网络,该网络能够有效提取特征并在实际检测中取得很好的检测效果,但是网络层数过多,模型参数量庞大,在进行特征提取过程中计算参数量大,需要占用过多采摘机器人硬件检测资源,耗费较长时间,导致检测速度过慢。由于农业苹果采摘工作量大,在进行苹果定位检测时需要具有较高实时性以便快速进行农业生产工作,因此需要改进模型参数量提高检测速度。Howard等提出了致力于嵌入式开发的轻量化网络Mobilenetv3(图3),使用深度可分离卷积代替标准卷积模块,并将挤压(squeeze)和激励(excitation)2种轻量级的注意力机制引入线性瓶颈结构(图4)。
相对于传统卷积操作,采用深度可分离卷积可明显降低模型运算参数量。如对输入样本的尺寸为(行数)×(列数)×(通道数)的向量,采用×的卷积核进行标准的卷积运算,得到通道的输出向量,需要计算量的参数量为
=。
(1)
若采用深度可分离卷积进行相同的操作,需要的计算量为
=+。
(2)
2种运算下参数量的比值为
(3)
由上式可知,当输入向量通道数远大于卷积核尺寸时,2种方式卷积运算的参数量比值与卷积核的尺寸几乎成平方反比关系。假设卷积核的尺寸为3时,若采用深度可分离卷积可将计算的参数量减少为原来的1/9。由此可见,采用深度可分离卷积可大大降低模型参数量,提高检测速度。
MobilenetV3网络另一改进之处在于引入了注意力机制,该机制由挤压模块(squeeze block)和激励模块(excitation block)组成(图4)。利用挤压模块将输入的多通道矩阵压缩成一维向量,然后通过可训练的权重与一维向量进行乘法运算实现激励,通过误差反向传播调整权重值来筛选需要的特征,其中挤压模块的运算公式为
(4)
式中:为输出特征向量;为输入矩阵第个通道特征;为挤压函数;为二维特征图的行坐标;为二维特征图的列坐标。
挤压后的向量采用进入全连接网络,输入层和输出层的神经元个数相同,采用ReLu激活函数,激励操作采用Sigmoid函数进行运算,其表达式为
=(,)=ReLu[(,)]=ReLu[Sigmoid()]。
(5)
式中:为激励函数;为全连接层;为输出特征值;、为全连接层权重值;ReLu、Sigmoid为激活函数。
最后,采用Scale运算将输出向量与原始特征图的矩阵相乘,获得施加权重的特征图,以增强有效特征,去除或衰减无效特征,使得到的特征更加具有表达性,其表达式为
(6)
2.2 语义增强模块
Mask RCNN模型在Faster RCNN模型存在3个网络预测分支,造成模型精度下降,采用SPP网络结构模型特征图进行语义增强,网络结构见图5。SPP结构位于主干网络与RPN网络之间,将输入的特征图采用不同的池化操作转变为不同尺度特征图,然后再将特征图进行维度叠加,使通道进行融合,增强网络的鲁棒性,加快模型推理速度。
Mask RCNN模型采用语义分割分支对图像的掩码进行预测,将原始输入图像压缩至7×7大小的特征图进行像素的预测,会导致图像特征信息的丢失。采用空洞卷积模块增加特征图的感受野,获取更加丰富的上下文语义信息来提高对图像中小尺度物体的检测。空洞卷积结构见图6。
从图6可以看出,相对于普通卷积,利用深度可分离卷积不仅大大扩宽特征图的感受野,而且网络的计算量没有增加。
2.3 损失函数
Mask RCNN模型训练的损失由2个部分组成:RPN网络损失和最终模型的多分支输出预测损失,其表达式示为
=+。
(7)
式中:包含矩形框内物体的分类损失以及矩形框的位置损失,其表达式为
(8)
(9)
(10)
模型输出的分支网络中回归损失与分类损失与RPN网络相同,掩码损失采用二分类的交叉熵损失函数,其表达式为
(11)
3 结果与分析
3.1 试验环境配置
试验选用AMD Ryzen 7 3750H CPU,2.3 GHZ主频,16 GB运行内存,GeForce GTX1660Ti GPU,操作系统为Ubuntu 18.04。设置模型初始学习率为0.000 1,动量因子为0.001,权重衰减系数设置为0.000 1,动量因子为0.9,batch_size设置为8,模型RPN网络层产生的Anchor大小设置为(16,32,64,128,256),非极大抑制系数设置为0.3,训练迭代次数设置为100。
3.2 评价指标
选取准确率(P)、平均检测精度(mAP)、召回率(R)作为模型检测的评价指标。
3.3 训练数据分析
采用相同的训练集、验证集以及测试集分别在主干网络Resnet-101、Resnet-50、Mobilenetv3以及改进网络上训练,4种模型训练损失以及验证损失见图7。
从图7可以看出,改进后的Mask RCNN网络模型训练损失值变化波动比较平缓,幅值下降较快,反映了网络特征提取能力更强,模型泛化能力更好,更能适应果园复杂的训练环境。Resnet101网络虽然误差曲线波动较小,但是损失值较慢,反映了网络特征提取能力弱于改进后的网络。采用Resnet50和Mobilentv3网络损失值波动变化大,下降缓慢,模型泛化能力弱。改进后的Mask RCNN模型在RPN网络分类预测损失上比Rest101、Resnet50以及Mobilenetv3网络分别下降了40.62、58.77、617.34百分点,在RPN网络上预测框的损失分别下降了52.22、226.34、294.93百分点,在输出网络上分类损失分别下降了75.32、73.30、337.64百分点,回归损失分别下降了32.24、226.94、635.37百分点,掩码损失分别下降了10.38、71.91、237.94百分点,模型的总损失分别下降了23.33、54.24、303.35百分点。
为了进一步验证采用实例分割网络能有效作为苹果采摘机器人视觉处理模块,采用YOLOv4、Faster RCNN以及改进Mask RCNN模型对同一测试数据对比,检测效果见图8。从图8可以看出,虽然YOLOv4、Faster RCNN模型能有效对遮挡、不同拍照角度、不均匀光照的果园苹果进行有效的检测,但是只是采用矩形框粗略地对果园苹果进行定位,难以提取苹果的边缘和形状信息,对机械臂采摘作业会造成一定的偏差。采用实例分割模型不仅能对苹果区域进行矩形框包围,而且能采用不同颜色的掩码准确分割目标的像素区域位置,很好地满足苹果采摘机器人视觉要求。
从表1可以看出,改进后的Mask RCNN模型对苹果果园果实检测时在准确率方面比采用Resnet101网络、Resnet50网络、Mobilenetv3网络分别提高了3.84、10.42、27.08百分点;在召回率上比采用Mobilenetv3网络提高了6.66百分点,比Resnet50提高了4.28百分点,比Resnet101网络下降了0.91百分点;在mAP方面,比Resnet101网络提高了3.30百分点,比Resnet50提高了26.56百分点,比Mobilenetv3网络提高了21.56百分点。
表1 不同模型性能对比 %
从表2可以看出,改进后的模型比采用主干网络为Resnet101、Resnet50的网络参数量分别下降了62.03%、46.24%,比Mobilenetv3参量稍微提高了0.83%。在检测速度方面,比Resnet101网络提高了4帧/s的检测速度,与Resnet50检测速度相同,比Mobilenetv3少3帧/s。
表2 模型权重对比
为检验改进后的模型对不同种类的苹果果实进行识别检测,在果实遮挡、光照充足、光照不足、远距离检测4种常见自然条件下的果园进行测试,试验检测效果见图9。
为了进一步验证改进后的模型性能,对模型的参数量、权重文件以及检测速度进行对比,结果见表2。
从图9可以看出,改进后的模型不仅能有效对遮挡的果实进行检测,而且对光照充足和不足、远距离拍摄采样的图片也能进行有效识别,表明该网络在复杂的果园环境下对多目标的果实检测能够进行有效检测,具有较强的鲁棒性。
4 结论
本研究为了准确对苹果果园的果实进行有效检测,提出了基于Mask RCNN的检测模型,为了减少模型参数量,主干网络采用Mobilenetv3网络代替Resnet101网络。该模型采用深度可分离卷积代替普通卷积,大大减少模型参数量,并采用通道注意力机制加强模型特征提取能力。为了增强语义信息,采用SPP网络结构进行加强,并采用空洞卷积增强特征图的感受野,使模型泛化能力更强。
采用数据集进行模型的验证,在准确率方面比采用Resnet101网络、Resnet50网络、Mobilenetv3网络分别提高了3.84、10.42、27.08百分点;在召回率上比采用Mobilenetv3网络提高了6.66百分点,比Resnet50提高了4.28百分点,比Resnet101网络下降了0.91百分点;在mAP方面,比Resnet101网络提高3.30百分点,比Resnet50提高了26.56百分点,比Mobilenetv3网络提高了21.56百分点。模型参数方面,改进后的参数量将为2.43×10,模型的检测速度提高为9帧/s。本研究提出的改进Mask RCNN模型在精度提升的情况下,模型参数量大幅降低,检测速度有所提升,不仅能判断出苹果的位置,而且能对边缘和形状信息进行预测,更加满足采摘和机器人的实际应用场景。