APP下载

基于边缘设备的轻量化小目标果实检测模型*

2021-06-16张文利陈开臻刘鈺昕段玉林

中国农业信息 2021年1期
关键词:轻量化柑橘特征提取

张文利,陈开臻,刘鈺昕,段玉林,郭 威,史 云※

(1.北京工业大学信息学部,北京100124;2.中国农业科学院农业资源与农业区划研究所,北京100081;3.日本东京大学田间表型实验室,东京188-0002)

0 引言

当前我国农业信息化水平相对发达国家仍较落后,存在单产低、成本较高等问题。柑橘作为我国种植面积最大水果作物之一,可利用果实检测技术使果农实时掌握果园果实生长状态,根据需求对生产资料的投入进行精细调整,降低成本。果实检测技术可从图片中获取目标果实的位置和类别信息,是果实估产[1-2]、果实自动采摘[3-4]、果实分炼[5]等果园工作技术的基础,能否快速、准确地检测目标果实直接影响果园相关工作的效率。

针对果园中果实目标检测工作,许多学者也展开了广泛研究。一些研究基于手工设计的特征提取算法设计果实检测系统,李寒等[6]提出基于RGB图像的蓝莓估产方法和绿色柑橘估产方法,该算法通过提取颜色、纹理、形状等多种特征,对特征图进行分类,分别对多种分类器进行测试比较并获取良好的检测结果。成芳等[7]提出应用于柑橘采摘机器人的果实检测算法,算法通过利用HSV图像和Canny边缘算子提取,获取图片中柑橘边缘特征信息并通过椭圆拟合确定目标柑橘位置信息。尽管上述方法能够检测到图像中的果实,但基于特征提取的检测方法,系统整体上表现精度低、鲁棒性弱、速度慢等缺点,检测效果较差。

近年来,深度卷积神经网络在许多计算机视觉任务(如目标检测和目标分类)中表现优异。2018年薛月菊等[8]提出基于Yolov2的未成熟芒果检测系统,通过在Yolv2网络中添加密集连接层,提高对芒果果实的检测能力。2019年闰建伟等[9]提出基于Faster RCNN的刺梨果实识别方法,分别基于VGG网络、VGG_CNN_M1024网络和ZF网络作为特征提取网络并进行测试对比,选取精度更高、速度更快的网络组合作为刺梨果实识别网络。2019年李善军等[10]提出基于目标检测技术的柑橘分类检测算法,使用基于Resnet18特征提取网络的SSD算法进行检测,应用于柑橘质量鉴定分类。2020年熊俊涛等[11]提出基于检测算法YOLO的夜间柑橘检测算法,对夜间中的柑橘的位置进行检测,辅助机器人执行采摘工作。深度学习方法与传统方法相比具有强大的特征提取能力和自主学习机制,表现出更好的鲁棒性和精准性。

近年来,随着网络算法的不断优化和可用数据量的增加,深度学习目标检测技术中检测器的精度和速度都不断提升,计算设备算力不断提升的同时,价格也逐步下降,使得基于深度学习的目标检测技术在各个领域得到了广泛的应用。当前多数目标检测算法虽然在算法稳定性上得到了提升,但由于模型参数过多,网络计算量大,对硬件计算资源要求较高,同时较大的模型体积也使得无法适用于硬件资源相对受限的作业平台,导致多数检测模型算法难以部署到边缘设备上进行使用。

而当前果实检测工作存在以下两个问题:(1)模型计算量大,运行速度慢。果实检测模型多数依赖卷积神经网络进行特征提取,而一些较大型特征提取网络导致计算量大,在计算能力弱、内存带宽小的边缘设备上难以达到实时运行要求。(2)小目标果实检测精度低。根据小目标的相对定义方式,当目标尺寸的长宽小于原图像尺寸的10%大小时,即可认为是小目标物体;而在拍摄获取的果实图像中,柑橘果实多数呈现为小型目标物体,目标尺度小且包含特征少,导致果实检测难度大。

针对以上提出的两点问题,文章通过改进Yolov3模型,提出一种轻量化小目标果实检测模型RegNet-Yolov3,能够实现在保持较高检测精度的同时,减少模型计算量,降低模型资源占用的目标,从而满足果园作业平台对于轻量化目标检测模型的需求。该文的主要贡献有:(1)基于RegNet网络[12]中X_Block模块,设计并搭建了一种轻量化特征提取网络,有效降低模型参数计算量。(2)通过Mosaic[13]数据增强方法和添加浅层网络检测分支方法,对模型的小目标检测性能进行优化。

1 研究方法

该文通过改进Yolov3模型,设计并实现一种轻量化小目标果实检测模型RegNet-Yolov3,如图1所示,结构设计主要有两点:(1)基于RegNet网络中X_Block模块设计轻量化特征提取网络,减少模型参数计算量。(2)去除原Yolov3[14]模型中下采样率为32的深层网络检测分支,在下采样率为4的网络层中添加浅层检测分支,最终模型分别在下采样率为4、8和16的输出特征图中进行检测,并沿用FPN网络结构,提高模型对小目标果实的检测能力。

图1 模型RegNet-Yolov3网络结构Fig.1 RegNet-Yolov3 network structure diagram

1.1 轻量化特征提取网络设计

原Yolov3中特征提取网络Darknet53网络层数深、计算量大,导致模型在边缘设备上运行速度较慢。该文基于RegNet网络中X_Block模块,对原Yolov3中特征提取网络进行轻量化设计并重新搭建。由于目标果实多数为小目标物体,不需要过深的网络层数提供大的感受野,网络层数设计为8层。X_Block模块结构示意图如图2所示,该模块中含有两个1×1卷积和一个3×3卷积,同时具有3个网络激活层,相比单个卷积层与激活层连接,X_Block模块加深了网络深度,在提高网络拟合能力的同时,浅层网络也具有更好的特征提取能力。不同于标准卷积使用多个与输入数据相同深度的卷积核进行卷积求和的过程,X_Block模块中采用分组卷积的方法。该方法对输入的特征图通道进行分组,以及每个卷积核也相应进行分组,最后在对应的组内进行卷积操作。分组卷积最终输出数据的维度与标准卷积输出的数据维度相同,但计算量会因为这种分组卷积方式的卷积操作而大幅度减少。因此,分组卷积的主要功能是减少模型的参数量,从而加快计算速度。

1.2 小目标检测算法优化设计

针对果园中多数果实为小目标物体,研究主要通过两种方法对模型小目标检测性能进行优化:(1)Mosaic数据增强方法,(2)添加浅层网络检测分支。

图2 X_Block模块结构Fig.2 X_Block module structure diagram

该文应用Masoic数据增强方法提升网络模型多尺度学习能力。Mosaic数据增强方法通过读取数据集中4张图片,对每张图片进行翻转、缩放、色域变换等操作,并按照不同方向位置将这4张图片拼接合成一张图,输入网络进行训练,如图3所示。由于图像采集过程中拍摄距离等参数的不同,果实呈现不同尺度特征,合成后的图片融合了多种尺度的果实特征信息,并丰富了目标果实背景信息,有利于提升模型多尺度学习能力。同时,采集图片中多数果实呈现为小目标物体,对样本图片进行拼接合成,间接的增加了小目标样本数据量,增强了模型对小目标果实的检测能力。

图3 Mosaic数据增强方法效果Fig.3 A diagram showing the results of the data enhancement method Mosaic

由于小目标的检测主要在浅层网络层中进行,而浅层网络拟合能力较弱且网络层特征图缺乏高级语义特征,使得小目标检测能力较弱。该文采用添加浅层网络检测分支的方法,提升网络对小目标的检测能力。如图1所示,模型结构中沿用原Yolov3的FPN结构作为特征融合网络,将不同深度网络层特征信息进行融合,增加输出特征图包含的信息,提升目标检测效果。原Yolov3模型中分别在下采样率为8、16和32的输出特征图中进行检测,该文通过去除原Yolov3模型中下采样率为32的深层网络检测分支和添加下采样率为4的浅层网络检测分支,提高模型的小目标果实检测能力,最终设计的模型分别在下采样率为4、8和16的输出特征图中进行检测。

2 研究试验及结果

2.1 图像数据获取与处理

实验图像数据采集地点位于中国四川省某柑橘果园区。数据采集设备使用DJI osmo action相机(深圳市大疆创新科技有限公司),共采集615幅柑橘图像,包括顺光、逆光、密集小目标、遮挡目标等多种果实场景,并对数据集图片按照8∶2的比例随机切分为训练数据和测试数据。相机拍摄要求采集到的每帧图像垂直方向必须覆盖果树顶端和底端,以保证能够采集到垂直方向上每个果实,并且每帧图像最多只包含一颗果树全貌,以保证果实在图像中的尺度不会太小。同时,运用相关标注工具对图片中的柑橘果实进行标注,获取并记录每个柑橘标注框的坐标信息,即标注框的左上角和右下角两个点的x、y坐标信息。

2.2 实验软硬件环境

该研究实验运用深度学习框架进行模型训练和测试。在计算机平台上训练网络,使用的计算机硬件配置为Intel Core i7-6700 CPU处理器(8GB内存),GeForce GTX 1060GPU显卡(6GB显存),操作系统为ubuntu18.4系统,使用python3.6.9编程语言在Pytorch1.5深度学习框架下实现网络模型的构建、训练和验证。将训练好的网络模型在Jetson TX2 nano平台进行部署,该平台硬件配置为四核Cortex-A57 CPU处理器(4GB内存),maxwell架构GPU(具有128CUDA单元),操作系统为ubuntu18.4系统,python版本为3.7,且应用Pytorch1.0版本的深度学习框架。

2.3 模型训练

网络模型在带有GPU的计算机硬件环境下进行训练,以提高模型训练的收敛速度。采用带动量因子(Momentum)的小批次(Mini-batch)随机梯度下降法(Stochastic Gradient Descent,SGD)来训练网络。其中,动量因子设置为固定值0.9,权值衰减(Decay)为0.0005,每一批量图像样本数量为(Batch size)设置为4。初始学习率为0.01,使用余弦退火函数调整学习率,前期较大学习率有助于网络快速收敛,后期使用较小学习率使网络更加稳定,获取最优解。实验中使用GIOU计算边框损失,使用BCE损失计算置信度损失,单分类中目标分类损失恒为0,将边框回归损失、置信度损失和目标分类损失三者损失函数相加作为总损失函数。

2.4 实验结果和性能评价

果实目标检测模型RegNet-Yolov3的检测精度决定着果园作业平台中果实工作的质量,较快的网络推理速度代表着模型能够在更短时间内处理更多的数据,更容易移植到硬件资源有限的果园作业平台中,满足果园作业的需求。该文主要从模型的平均检测精度(mAP)、召回率(recall)和网络推理时间三个方面来对果实目标检测模型RegNet-Yolov3进行评价,相关计算公式为:

式(1)(2)(3)中,Tp—实际为正样本且被检测为正样本的数量;Fp—实际为负样本且被检测为正样本的数量;Fn—实际为负样本且被检测为负样本的数量;J(Precision,Recall)—平均精度函数,即Precision与Recall所构成P-R曲线的面积。

该文实验主要对果实目标检测模型RegNet-Yolov3进行三个方面比较:(1)不同轻量化特征提取网络之间的性能比较;(2)优化后的小目标检测性能比较;(3)与其他经典算法模型的性能比较。

2.4.1 轻量化网络性能对比

该文对Yolov3模型进行轻量化设计,分别基于MobileNet[15]、ShuffleNet[16]和RegNet模型搭建轻量化果实目标检测模型MobileNet-Yolov3、ShuffleNet-Yolov3和Regnet-Yolov3网络,并分别在边缘设备Jetson TX2 nano上进行实验测试和结果比较。从表1数据可知,Regnet-Yolov3网络的平均精度值和召回率均优于其他两类网络模型。其中,召回率方面分别比MobileNet-Yolov3和ShuffleNet-Yolov3高2.6%、2.6%,在平均精度方面分别比MobileNet-Yolov3和ShuffleNet-Yolov3高0.9%、3.0%。

由表1测试结果可以看出,MobileNet-Yolov3模型整体速度较慢,因为MobileNet模型中采用深度可分离卷积方法,特征图通道的卷积次数增加导致内存访问的消耗时间增加;ShuffleNet-Yolov3模型精度较低,因为ShuffleNet模型中将特征图通道分为两部分,一部分用来提取特征,另一部分做残差连接,有效的特征提取通道数减少导致模型精度较低;RegNet模型中使用分组卷积减少网络计算量同时降低网络计算耗时,达到较高精度和速度,所以RegNet-Yolov3模型整体上精度和速度较为均衡,适合在边缘设备上进行部署。

表1 不同轻量化网络检测结果对比Table 1 Comparing the detection results of different lightweighting networks

2.4.2 小目标检测性能优化对比

该文基于3.4.1节中设计好的轻量化果实检测模型RegNet-Yolov3基础上,对RegNet-Yolov3模型的小目标检测性能进行优化,并在边缘设备Jetson TX2 nano上进行测试。因为小目标的检测主要在网络浅层中进行,所以通过去除原Yolov3中下采样率为32的深层网络检测分支,添加下采样率为4的浅层网络检测分支的方法,提升模型小目标检测能力。实验结果如表2所示,通过添加浅层网络检测分支,RegNet-Yolov3模型平均精度值和召回率值分别达到96.0%和95.3%,仅在增加少量的计算时间基础上,模型性能得到了较大的提升。

表2 小目标检测性能优化结果对比Table 2 Optimization results for comparing small object detection performance

2.4.3 与其他经典模型比较

经3.4.1节和3.4.2节实验结果可知,该文基于原Yolov3网络模型基础上,利用RegNet网络中X_Block模块搭建轻量化特征提取网络,并加入浅层网络检测分支,实现精度高、速度快的轻量化果实检测模型RegNet-Yolov3,并和其他模型进行了比较。从表3可知,在柑橘果实检测任务中,Yolov3因模型网络较大,精度高但网络推理速度慢;Tiny-Yolov3特征提取网络浅,网络推理速度快但精度较低;该文提出的RegNet-Yolov3网络模型,在边缘设备Jetson TX2 nano计算耗时为122 ms,检测精度为96%,整体上速度和精度都较为均衡,可部署在边缘设备TX2 nano中应用于果园作业平台果实检测工作。

表3 不同网络模型检测结果对比Table 3 Comparison of detection results of different network models

3 结论与讨论

针对果园中柑橘果实的检测任务,该研究设计并实现了一种基于边缘设备Jetson TX2 nano的柑橘果实检测模型RegNet-Yolov3。该模型采用RegNet模型中X_Block模块,构建轻量级特征提取网络,有效提高模型在边缘设备上的运行速度;并针对果园中柑橘果实小尺度目标特点,提出采用Mosaic数据增强方法提升模型多尺度学习能力,并通过加入浅层网络检测分支,优化模型小尺度目标果实的检测性能,实现高精度果实检测。该研究实验结果表明,RegNet-Yolov3模型能够很好分辨出图像中前景目标果实,并能够在边缘设备Jetson TX2 nano上实时运行检测,检测平均精度值和模型推理速度时间分别为96%和122 ms,证明该模型能够很好的在户外果园移动作业平台上进行部署和使用。

在未来的研究工作中,该研究将继续改进模型并应用到各种不同类别的果园工作中。在检测方面,进一步分析不同场景中果实生长状态和图像特征,优化模型以提升果实检测性能和模型泛化能力。在模型轻量化设计方面,将继续研究并设计轻量化网络模块,简化模型结构来减少计算参数量,实现更快模型检测速度,以适配果园中不同的工作需求,提高果园整体工作效率。

猜你喜欢

轻量化柑橘特征提取
汽车轻量化集成制造专题主编
吃柑橘何来黄疸——认识橘黄病
一种轻量化自卸半挂车结构设计
一种轻量化自卸半挂车结构设计
基于Daubechies(dbN)的飞行器音频特征提取
Bagging RCSP脑电特征提取算法
柑橘大实蝇综合治理
“五及时”柑橘冻害恢复技术
瞄准挂车轻量化 锣响挂车正式挂牌成立
用户:轻量化挂车的使用体验