APP下载

基于改进卷积神经网络的在体青皮核桃检测方法

2021-10-13樊湘鹏周建平刘新德汤嘉盛魏禹同

农业机械学报 2021年9期
关键词:核桃损失像素

樊湘鹏 许 燕,2 周建平,2 刘新德 汤嘉盛 魏禹同

(1.新疆大学机械工程学院, 乌鲁木齐 830047; 2.新疆维吾尔自治区农牧机器人及智能装备工程研究中心, 乌鲁木齐 830047)

0 引言

新疆是中国第二大核桃主产区,种植面积达35万hm2,年产量近70万t,核桃产业收入占产区农民总收入的40%以上,已成为新疆地区国民经济支柱之一[1]。传统依靠人工用长杆对核桃枝敲打使其振落的方式劳动强度大且效率低、成本高。采用大型振动机收获时,如果振动幅度和频率过小则落果效能低,若振动过大则损伤树枝树体。利用机器人采摘系统可以减轻果园劳动者的负担,提高核桃收获效率,避免对核桃树体的损伤。在自然条件下,核桃园林存在光线变化大、相互遮挡等现象,对核桃的精准检测至关重要。

传统机器视觉方法虽然可以实现基本的果实识别[2],但复杂环境中的目标特征提取困难、准确率低且鲁棒性差,通常情况下一次只能识别单个果实目标,很难满足实际工作需求。随着深度学习和GPU技术的不断发展,基于卷积神经网络的机器视觉目标检测方法表现出巨大的优越性[3],已被广泛应用于非线性目标检测和图像识别领域[4-6],在植物分类[7]、病虫害草识别[8-10]、表型信息解析[11]和果实识别分类[12-13]等方面均有较大进展。

研究人员利用卷积神经网络及其改进算法对果实进行检测识别,并取得了较好的成果[2,14-20],但在该领域仍然存在以下问题:现有研究多集中于桃子、苹果、柑橘、番茄等较大目标,对于自然环境下的青皮核桃识别鲜有研究,核桃目标小且颜色与背景相近,上述方法直接用于核桃识别效果不佳;多数研究方法未能将建立的方法和模型部署到采集设备中,缺乏实际应用的效果检验。因此,本文以自然环境下的青皮核桃为研究对象,以Faster R-CNN模型作为卷积神经网络主体,利用预训练的VGG16作为Faster R-CNN的特征提取器,对模型结构进行适应性改进并开展核桃检测试验验证。

1 数据集获取和数据增强

1.1 试验数据的获取

试验所需图像在新疆维吾尔自治区叶城县巴仁乡核桃产业研究示范园中采集,利用华为Honor play手机拍摄,采集周期为20 d,分别在晴天和阴天的早、中、晚不同时刻(10:00—18:00)进行。画面背景包括均匀光照、不均匀光照、重叠、遮挡、风沙覆盖等类型,拍摄时相机和最近的目标距离保持在30~70 cm,图像保存格式为JPG,尺寸为4 608像素×3 456像素(宽高比为4∶3),选取符合条件的图像共3 000幅。

1.2 数据增强和标注

卷积神经网络往往需要大量的训练样本才能有效提取图像特征输出识别结果。为增加数据特征多样性和数据库的大小,采用有监督的几何变换、颜色变换等增强方式扩充数据集(增强后的样本效果如图1所示),将相应的数据集扩充到原来的8倍,图像数量为24 000幅。通过数据增强可以减少模型训练阶段的过拟合现象,提升网络的泛化性能。利用LabelImg工具标注出核桃,按照PASCAL VOC2007标准存储,将图像尺寸缩放至768像素×576像素。总样本的80%用于模型训练,剩余的20%用于测试。

2 基于改进Faster R-CNN的核桃识别模型

2.1 Faster R-CNN算法

Faster R-CNN算法是REN等[21]提出的二阶段检测算法,该算法采用快速的RPN代替费时的Select research算法。Faster R-CNN模型结构和原理如图2所示,其主要包括特征提取器(Feature extractor)、RPN和Fast R-CNN模块。特征提取器能够自动提取图像目标特征,并将所得特征共享给后续的RPN和Fast R-CNN,从而将RPN与Fast R-CNN组合成一个网络,有效提高了候选框的生成速度和检测效率。在Faster R-CNN模型框架下,常用的特征提取器结构有ZFNet、VGGNet、ResNet和Inception等系列[22]。VGG16特征提取器采用了相对较小的卷积核尺寸(3×3)和最大池化尺寸(2×2),在保证感受野的同时可有效提取细粒度特征,因此选取VGG16作为模型的特征提取器。

2.2 Faster R-CNN的结构改进

准确检测自然条件下获取图像中的核桃目标的关键是提取目标的多种有效特征。将Faster R-CNN直接用于自然环境下的核桃目标检测时效果不佳,原因在于:①Faster R-CNN虽然具有较高的精度,但是速度上并不能满足实时的要求。②Faster R-CNN区域建议网络在选择感兴趣区域后的ROI Pooling操作过程中对采样点的取整量化会导致精度损失。③在自然条件下,核桃的颜色和叶片的颜色具有很高的相似性,容易导致识别错误。因此,本文对这些方面进行改进,来加快网络收敛速度,提高模型精度和泛化能力。

2.2.1批归一化处理

通过在每层卷积层后加入批归一化处理层,对图像特征值进行归一化处理,可以把逐渐在非线性函数映射后向取值区间极限饱和区靠拢的输入分布强制拉回到均值为0、方差为1的标准正态分布范围,能够有效避免梯度消失和梯度爆炸,提高收敛速度和准确率,起到增益网络的作用。

2.2.2双线性插值算法改进区域建议网络

区域建议网络在ROI Pooling操作时会对缩放后的非整数采样点坐标进行2次取整量化,导致小数点后的精度损失,使得特征图上映射的区域建议框产生偏差。因此,本文采用HE等[23]提出的双线性插值算法处理特征图来改进区域建议网络。如图3所示,双线性插值算法基本原理是将某点的坐标值先在x轴方向上进行一次线性插值,再在y轴方向上进行一次线性插值。双线性插值算法最大的优点在于计算得到的目标点坐标值可以保留浮点数,减少特征图尺度标准化过程中因取整量化产生的精度损失,提高目标检测精度。

在已知周围4个点坐标的条件下,利用双线性插值算法求点P坐标值f(x,y)的表达式为

(1)

式中M11——坐标为(x1,y1)的点

M12——坐标为(x1,y2)的点

M21——坐标为(x2,y1)的点

M22——坐标为(x2,y2)的点

2.2.3混合损失函数

青皮核桃与叶片的颜色相近,即目标和非目标物的特征类间差异不大,这会导致不规则生长的核桃无法被准确识别。为了解决这一问题,实现特征类内差距最小化、类间差距最大化效果,本文引入中心代价函数(Center loss,LC)与Softmax损失函数构建混合损失函数,增大类间特征差异,加强类内特征内聚,提高模型的特征区分能力。LC函数表达为

(2)

式中N——训练中的小批量(mini-batch)数量

F(xi)——RPN生成的第yi类第i个感兴趣区域的特征

cyi——第yi类特征的中心值

卷积神经网络的训练是损失函数最优化的过程,在训练过程中LC逐渐变小,即F(xi)逐渐接近第yi类特征的中心,随着迭代训练的增加,每类特征的分布将向其对应的特征中心聚集,从而实现类内特征聚合性和类间差异最大化。混合损失函数(C-S函数)的表达式为

L=LS+λLC

(3)

式中L——混合损失函数

LS——Softmax损失函数

λ——中心代价函数的权重

λ的作用为平衡2个函数值,较小的值会使得中心代价损失项对网络几乎没有影响,而较大值会导致网络出现不收敛的情况。本文经过多次试验,将λ设为0.02。

2.3 试验环境与模型训练

2.3.1试验环境

试验运行环境为Windows 7(64位)操作系统,安装Anaconda 3.5.0和CUDA 8.0,采用cuDNN 6.0深度学习库,利用Python 3.6进行编程,搭载Intel(R) Xeon(R) CPU E5-2630 v4 @2.20 GHz处理器,使用开源深度学习框架Tensorflow作为开发环境,计算机内存为16 GB。

2.3.2模型训练方式

在深度学习型网络训练过程中,不同的训练策略对模型的优化性能有所不同,为探究更适合于本研究的训练方式,本文分别采用带动量的随机梯度下降算法(Stochastic gradient descent, SGD)和Adam优化器分别训练模型的参数。训练结束后,利用测试集对模型效果进行验证,并且在测试集的图像数据中输出核桃目标的位置和概率。SGD算法是目前使用最多的一种梯度下降型优化方法,该方法依据每个训练数据计算误差,并立即调整权重。Adam优化器是结合AdaGrad和RMSProp两种优化算法所提出的利用梯度一阶矩和二阶矩计算参数的自适应学习率方法[24],和PID控制器的思想有相通之处。

2.4 模型评价指标

为了评价所提方法对青皮核桃检测的效果,对样本进行测试后分别计算精度(Precision)和召回率(Recall),利用综合评价指标F1值作为准确率和召回率的评估值,同时引入单幅图像检测耗时t作为检测速度的评价指标。

3 结果与分析

3.1 不同训练方式对模型性能的影响

在相同网络结构下,以预训练的VGG16作为Faster R-CNN的特征提取器,分别利用SGD和Adam优化器训练改进后的模型,最大迭代次数设为5 000,两种训练方式的初始学习率均设为0.01,输入图像尺寸为768像素×576像素。图4为改进Faster R-CNN模型在两种训练方式下的损失值和精度随迭代次数的变化情况。可以发现利用Adam优化器训练的模型损失值最先达到收敛,在3 500次迭代时趋于平稳,收敛后的损失值最终为0.032;而利用SGD方法训练的模型收敛较慢,在迭代4 500次后开始收敛,收敛后的损失值最终为0.061,高于利用Adam优化器训练的模型损失值。由于SGD训练算法是针对每个数据点调整权重,网络的性能在训练过程中存在较多上下波动的情况,而Adam优化器由于采用了自适应学习率调节方法,在迭代训练中平稳性较好。利用Adam优化器训练的模型精度最先收敛,模型最终达到的精度为97.71%,SGD训练方法得到的模型精度始终低于前者,最终达到的精度仅为92.97%。总体来看,Adam优化器算法比SGD训练算法具有使模型更快达到收敛的性能且更稳定,因此训练模型选用Adam优化器。

3.2 模型识别效果

为验证改进Faster R-CNN模型的有效性,将改进Faster R-CNN模型与Faster R-CNN模型进行对比,均采用VGG16特征提取器,除加入批归一化处理层、利用双线性插值算法改进区域建议网络和构建混合损失函数之外,其他结构和参数均保持一致,均利用Adam优化器训练模型。改进Faster R-CNN模型精度为97.71%,召回率为94.58%,综合指标F1值为96.12%,单幅图像检测耗时为0.227 s,与未改进的Faster R-CNN模型相比,精度提高了5.04个百分点,召回率提高了4.65个百分点,F1值提升了4.84个百分点,单幅图像检测耗时降低了0.148 s。综合来看,改进后的模型单幅图像识别速度的提升不大,但是当图像数量增多时,模型处理速度可大幅提高。改进模型对自然环境中的核桃目标的检测精度和召回率有显著提升,原因是利用双线性插值算法对RPN中滑动窗口进行了改进,避免了目标像素标准化过程中的精度损失;另外,引入中心代价函数构建混合损失函数后提高了核桃类内特征的内聚性,使核桃和背景叶片的类间差异最大化,有效降低了核桃的漏检率和错误识别率。

改进Faster R-CNN模型和Faster R-CNN模型对在自然环境中获取的不同光照条件和不同生长状态的核桃识别结果如图5、6所示。从图中可以发现,Faster R-CNN模型在不同环境条件下的核桃识别漏检的情况较多,且定位框偏移较大。改进Faster R-CNN可以对核桃进行更加精准的定位,且漏检的核桃目标较少。图6c中因个别核桃果实过小、遮挡严重或者模糊不清而未能检测到,但总体而言,改进Faster R-CNN模型在不同光照条件、噪声影响以及遮挡、重叠较多的条件下对核桃识别有着较强的鲁棒性,可以满足对自然园林环境中核桃的识别与检测。

3.3 输入图像尺寸对模型性能的影响

为进一步探究输入图像尺寸对模型性能的影响,分别选取5种不同分辨率的图像作为输入对象进行对比试验,试验结果如表1所示。由表1可知,模型精度随输入图像像素数的增大逐渐升高,单幅图像检测耗时也相应增加。当训练图像分辨率为128像素×96像素时,精度最低,为83.26%,单幅图像识别耗时为0.176 s;当分辨率由512像素×384像素提升至768像素×576像素时,虽然模型的检测耗时增加了0.022 s,但精度有明显提升,增加了5.86个百分点。当输入图像尺寸变为1 024像素×768像素时,模型精度仅比768像素×576像素图像提高了0.33个百分点,单幅图像识别耗时增加了0.232 s。因此,综合考虑精度和实时性的要求,选择输入图像尺寸为768像素×576像素。

表1 不同输入图像尺寸的模型性能结果Tab.1 Influence of different input training sets on model performance

3.4 噪声干扰对模型性能的影响

为检验噪声干扰下的模型性能,在测试集中选取500幅核桃图像作为测试子集,图像尺寸为768像素×576像素,分别添加不同程度的高斯噪声模拟自然环境中的干扰因素,以评估模型在自然环境中的鲁棒性。图7为改进Faster R-CNN模型和Faster R-CNN模型在测试子集中的精度对比结果。从图7可以看出,两种模型受噪声干扰较大,识别精度均随着噪声级别的增大呈现明显的下降趋势。改进Faster R-CNN模型应对噪声干扰的能力强于Faster R-CNN,表明Faster R-CNN的改进可以提高模型的鲁棒性。

3.5 自然环境中核桃识别试验

为进一步验证本文方法在自然环境中实时获取图像的应用效果,将训练好的模型保存至NVIDIA Jetson TX2嵌入式开发板并集成在收获机自动采摘系统中,如图8所示,该收获机自动采摘系统还包括机械臂、通信线缆、视觉感知模块(摄像头)和末端执行器等,在自然环境中开展核桃识别与定位采摘试验。分别利用Faster R-CNN和改进Faster R-CNN算法进行验证,通过采摘成功率和检测耗时评价试验效果,最终试验结果如表2所示。

由表2可知,Faster R-CNN模型成功率仅为82.83%,单幅图像检测耗时为0.638 s,所提基于改进Faster R-CNN模型试验时成功率为91.25%,单幅图像检测耗时为0.474 s,具有更高的鲁棒性。两种模型在自然环境下的试验结果比3.2节的试验性能均有所下降,原因在于摄像头拍摄画面时含有的噪声比用手机拍摄时多,且存在一定的抖动,降低了识别定位效果、减小了检测速度。

表2 自然环境下的核桃识别试验结果Tab.2 Recognition experiment results of walnuts under natural condition

4 结论

(1)本文方法能够在不同光照、具有重叠遮挡等复杂背景的图像中检测出核桃,为核桃果实生长信息监测和自动化采摘提供了技术支撑。利用预训练的VGG16卷积神经网络作为Faster R-CNN模型的特征提取器,在卷积层加入批归一化处理层加快网络收敛,利用双线性插值算法改进模型中的区域建议网络提高网络精度,并构建混合损失函数以实现类内特征的内聚性和类间差异的最大化,建立了适用于自然环境下的青皮核桃识别模型。

(2)对采集核桃图像进行数据增强和人工标注后,选择损失值更低、更稳定的Adam作为训练优化器,得到的改进Faster R-CNN模型测试精度为97.71%,召回率为94.58%,F1值为96.12%,平均检测时间为0.227 s,与Faster R-CNN模型相比,精度提高了5.04个百分点,召回率提高了4.65个百分点,F1值提升了4.84个百分点,单幅图像检测时间降低了0.148 s。

(3)利用不同分辨率的输入图像分别训练相同结构的模型,模型的精度随着输入图像像素的增大而升高,平均检测时间也相应加长。经试验对比,在兼顾模型精度和实时性的情况下,选择尺寸为768像素×576像素的图像作为本模型的输入样本;利用训练好的模型在自然环境下进行试验验证,模型成功率可达91.25%,平均检测时间为0.474 s,可以保持较高的准确率和实时性;在测试集中添加噪声处理后,模型性能有所降低,但改进Faster R-CNN模型对噪声的抗干扰能力强于Faster R-CNN模型,表明本文方法更适合于复杂自然环境下的青皮核桃机器人识别和定位采摘。

猜你喜欢

核桃损失像素
像素前线之“幻影”2000
小核桃变身“致富果”
两败俱伤
“像素”仙人掌
黄龙核桃
高像素不是全部
菜烧好了应该尽量马上吃
损失
那些损失上百万的演员
多功能漏斗型核桃夹