APP下载

基于YOLO v5s的自然场景油茶果识别方法

2022-08-08宋怀波王亚男王云飞吕帅朝

农业机械学报 2022年7期
关键词:密集油茶噪声

宋怀波 王亚男 王云飞 吕帅朝 江 梅

(1.西北农林科技大学机械与电子工程学院, 陕西杨凌 712100;2.农业农村部农业物联网重点实验室, 陕西杨凌 712100)

0 引言

油茶树是典型的长效型经济油料作物[1],主要分布在我国南方的高山丘陵山地,是带动区域经济增长的优良树种。摇枝振荡式机械采收是目前最适合油茶果的采收方式,确定油茶果的疏密分布以确定振荡采收的夹持区域,是研发自动振荡采收机械的关键技术之一[2],故实现复杂场景下油茶果果实目标的高效识别意义重大。

油茶果果实具有体积小、分布密集等特点,在自然环境下油茶果果实邻接、重叠、遮挡普遍存在,且易受不同光照条件的影响,识别难度较大。目前,国内外学者对果实目标识别与定位进行了大量研究[3-7]。刘天真等[8]提出了一种改进的YOLO v3-SE模型进行冬枣果实识别,与传统的YOLO v3模型相比,该模型的综合评价指标提升了2.38个百分点,平均精度均值(Mean average precision, mAP)提升了4.38个百分点。刘小刚等[9]将卷积神经网络(Convolutional neural networks, CNN)用于草莓果实的识别之中,成熟草莓识别准确率为97.14%,未成熟草莓识别准确率为96.51%。陈斌等[10]利用Faster-RCNN模型开展了自然环境下油茶果检测方法研究,平均识别率为92.39%,准确率为98.92%,召回率为93.32%,综合评价指标为96.04%,平均每幅图像的识别时间为0.21 s。李立君等[11]提出一种基于凸壳理论和颜色特征阈值分割法的遮挡油茶果定位检测方法,相比传统凸壳算法,该方法虽然耗时增加了24.07%,但识别率提升了7.47个百分点。张习之等[12]提出了一种基于改进卷积自编码机神经网络的油茶果图像识别方法,利用非对称分解卷积核提升模型的训练速度,以输出端重构输入端的直连训练方式减少了信息损失,提升了模型收敛性能,识别准确率为90.4%,单幅图像识别时间2 s。陈斌等[13]提出了基于归一化傅里叶描述子、Hu不变矩特征和BP神经网络的油茶果识别方法,识别率提升了15%。

REDMON等[14-15]提出的YOLO系列神经网络算法具有识别速度快、精度高等特点[16-22]。YOLO v5s模型通过借鉴CutMix方法[23],并采用Mosaic数据增强方式,可有效解决模型训练中的小目标问题。本文拟选择YOLO v5s作为油茶果目标识别模型,利用训练好的YOLO v5s网络实现油茶果目标的快速精准定位,以期为自然条件下油茶果目标识别提供一种有效方法。

1 材料与方法

1.1 材料

1.1.1油茶果数据采集与预处理

试验数据采集于湖南省衡阳市衡南县大三湘油茶种植基地,油茶果成熟果实多为红色或红黄色,未成熟果实为青黄色和青色,受到品种和种植环境影响,部分油茶果表面颜色差异较大,增加了识别难度,部分示例图像如图1所示。数据采集时间为2020年8月31日—9月12日,采集设备是华为HMA-AL00型相机,分辨率为2 976像素×3 968像素,焦距35 mm。

图1 不同颜色的油茶果Fig.1 Camellia oleifera fruit with different colors

为保证所制作数据集的多样性,分别采集了白天、傍晚、遮挡、重叠、密集及逆光等环境下的油茶果图像1 382幅及视频5段,再从每段视频中随机选取20幅图像,共1 482幅图像作为原始数据,图像分辨率为2 976像素×3 968像素。为了提高模型的泛化能力和鲁棒性,对原始图像进行了数据增强以增加训练的基础数据量。经典的数据增强[24]方法包括:图像翻转、图像旋转、图像缩放、图像裁剪、图像平移、添加噪声和修改对比度等。选择对部分图像添加椒盐噪声和高斯噪声进行了数据集增强,此操作可用来模拟特殊天气和镜头不清晰等情况,通过引入噪声点降低图像的清晰度,有利于验证算法的鲁棒性。图2b是对图2a原始图像添加了2.5%椒盐噪声之后的图像,图2d是对图2c原始图像添加了12%高斯噪声之后的图像,可以看出图像平滑度降低。同时,增加了Mosaic拼接法,即将多幅待检测图像各截取一部分合成一幅图像,随即遮挡图像部分进行整体检测,这种方式能够同时有效提升扰动条件下模型的检测准确性,拼接结果如图2e所示。

图2 数据增强Fig.2 Data enhancement

1.1.2数据集制作

通过数据增强处理,结合所标注的原始样本,共获得3 296幅图像,按照比例4∶4∶1将图像分为简单、中等和困难3个等级:图像平滑且果实稀疏无阴影遮挡为简单样本,图像果实密集或轻微遮挡或有阴影为中等难度样本,图像果实超密集或严重遮挡或严重噪声、虚化为困难样本。采用LabelImg工具进行标注,生成.xml标签文件。由于本研究仅进行油茶果果实目标识别,因此在标签制作时只将图像分为果实目标与背景两类,仅需标注果实目标,图像其他部分LabelImg自动标注为背景,数据保存为PASCAL VOC格式[25]。

为测试算法的有效性和环境适应性,采集了695幅图像作为测试样本。在自然条件下进行果实识别,影响因素主要为果实重叠或枝叶遮挡、果实密集程度、光照环境和图像平滑度4方面,具体分类如表1所示。果实轮廓或果实表面被遮挡1/3以下属于轻微遮挡,2/3以上属于严重遮挡;光照因素按照图像光线明暗进行分类;图像中目标果实为1~3个属于稀疏图像,4~8个属于密集程度中等,9个果实及以上属于密集分布。果实数量增多会伴随着拍摄距离增加和果实目标变小的问题;噪声处理和虚化图像导致图像不清晰,进一步增加了识别难度。

表1 测试集分类Tab.1 Classification of test set

1.1.3试验平台

本研究模型训练和测试均在同一环境下运行,硬件配置为英特尔Xeon E5-1620 v4 @ 3.50 GHz四核,GPU为11 GB的NVIDIA GeForce RTX 2080Ti,32 GB运行内存,软件环境为64位Windows 10系统,PyTorch深度学习框架。本文对比算法均在该硬件环境下进行。

1.2 方法

1.2.1基于YOLO v5s的油茶果目标识别算法

YOLO系列深度学习框架利用回归的思想,以一阶网络直接完成目标位置检测和目标物体分类[26]。本试验基于YOLO v5s深度学习网络实现油茶果的检测,经过150轮训练得到最优模型。为了检测模型的优良性,选择当下认可度较高的YOLO v4-tiny和RetinaNet进行对比试验,用相同的数据集依次对网络进行训练,分别得到其最优模型。最后选取不同特征的低质量图像组成验证集对得到的模型分别进行验证,通过相关指标比较网络性能,验证模型的有效性,具体操作过程如图3所示。

图3 试验流程图Fig.3 Flow chart of experiment

1.2.2YOLO v5s网络模型

YOLO v5s沿用了YOLO系列的整体布局,整个网络结构分成Input、Backbone、Neck和Output 4部分,网络结构如图4所示。在网络输入端自适应缩放图像,采用Mosaic数据增强方式,可自动计算数据集的最佳锚框值。Backbone部分在YOLO v4-tiny基础上增加了Focus结构和CSPNet(Cross stage partial networks)结构,实现了跨阶段局部融合网络。Focus结构共包含4次切片操作和1次32个卷积核的卷积操作,切片操作将1幅图像中每隔1个像素取1个值,类似于近邻下采样,得到4幅图像,但是4幅图像的信息并没有丢失,而是将原图像宽度W、高度H信息集中到了通道空间,输入通道扩充了4倍,即拼接图像相对于原RGB 3通道模式变成了12个通道。然后将新得到的图像进行卷积操作,原始608×608×3的图像变成信息完整的2倍304×304×32的特征图。CSPNet结构仿照DenseNet的密集跨层跳层连接思想,进行局部跨层融合,利用不同层的特征信息获得更为丰富的特征图。Neck部分包含了路径聚合网络(Path aggregation network, PANet)[27]和空间金字塔池化(Space pyramid pooling, SPP)[28]模块。自顶向下将高层特征信息与不同层CSP模块的输出特征进行聚合,再通过自底向上路径聚合结构聚合浅层特征,从而充分融合不同层的图像特征。SPP模块采用1×1、5×5、9×9、13×13共4种不同的池化核进行处理,处理后再进行张量拼接。SPP处理可有效增加感受野,分离出显著的上下文特征,同时不损失原有检测速度。输出层使用GIOU_Loss代替YOLO v3的IOU_Loss作为损失函数,增加了相交尺度的衡量,缓解了IOU_Loss无法优化2个框不相交的情况。

图4 YOLO v5s网络模型Fig.4 Network model of YOLO v5s

1.2.3对比算法及评价指标

为了验证YOLO v5s模型的有效性和实用性,本试验采用相同的油茶果数据集与YOLO v4-tiny和RetinaNet网络进行了对比测试。选取精确率P(Precision)、召回率R(Recall)、调和平均值F1(F-measure)和平均精度均值(mAP)作为评价指标进行性能对比。

1.2.4权重模型训练

本试验共训练了150轮,权重模型序号记为1~150。每25轮取一个权重模型,加上P值最高的模型,共7个权重模型,模型评价指标如表2所示。从表2可知,模型24综合性能最差;模型49、74、99评价指标逐渐变好,性能逐渐上升;模型124、149性能逐渐稳定。模型134的F1值最高,说明该模型综合表现最好,油茶果目标识别的准确率为90.73%,召回率为98.39%,平均精度为98.71%,故选择利用模型134进行油茶果果实的识别。

表2 权值模型的性能比较Tab.2 Performance comparison of weight models %

2 试验结果与讨论

2.1 试验结果

通过用相同的数据集进行训练和测试,YOLO v5s、YOLO v4-tiny和RetinaNet 3种网络的最优模型评估指标如表3所示。从表3可以看出,YOLO v5s所占内存空间最小,说明其网络更加简洁,模型具有更好的移植潜力。其他各评估指标均优于YOLO v4-tiny和RetinaNet 2种网络。相比二者,YOLO v5s的P分别提高了1.99个百分点和4.50个百分点,R分别提高了9.41个百分点和10.77个百分点,mAP分别提高了9.48个百分点和10.79个百分点。

表3 评估指标对比Tab.3 Comparison of evaluation indicators

测试时分别记录了3个模型的检测时间,并将每幅图像的平均耗时作为其检测速度。试验结果表明,针对单幅图像,YOLO v5s检测耗时12.7 ms,YOLO v4-tiny检测耗时351.8 ms,RetinaNet检测耗时338.5 ms。相比2种模型,YOLO v5s检测速度明显提升,时间分别降低了96.39%和96.25%,所占内存空间分别减少124.84 MB和124 MB,表明YOLO v5s在速度方面更具优越性,更有利于将其移植至边缘设备中。

2.2 讨论

2.2.1遮挡目标识别对比

为了进一步探究YOLO v5s对遮挡问题的处理能力,选取轻微遮挡和严重遮挡2种图像各65幅,分别输入2.1节得到的3个模型进行检测,部分图像的试验结果如表4所示。由表4可知,遮挡程度越大,检出目标的置信度越低。由于YOLO v5s采用了多层神经特征网络结构,对于更小的栅格预测更占优势,轻微遮挡和严重遮挡情况下均无漏检情况;YOLO v4-tiny在2种情况下也没有漏检;RetinaNet虽无漏检,但严重遮挡情况下错检1个。

表4 遮挡情况检测结果对比Tab.4 Comparison of detection results under occlusion

对应的检测图像如图5所示,其中图5a~5c为轻微遮挡图像检测结果,图5d~5f为严重遮挡图像结果。本研究检测结果统一使用红色方框标记,未识别结果采用蓝色方框标记,误识别结果采用蓝色箭头标记。从图5e和图5f可以看出,YOLO v4-tiny和RetinaNet均存在定位不准确、严重遮挡情况下无法识别出果实目标等问题。可见,在果实目标重叠或者严重被遮挡情况下YOLO v5s依旧能准确分割果实边缘,对于果实目标预测取得了更好的效果。

图5 遮挡情况图像检测结果对比Fig.5 Comparison charts of detection results under occlusion

2.2.2阴影图像检测对比

亮度对果实目标识别的效果具有较大影响,昏暗环境下油茶果表面变得模糊,边缘特征清晰度降低,果实目标特征下降,增加了识别难度。为探究YOLO v5s对此类问题处理能力,选取逆光、阴天及光线不足环境下油茶果图像共65幅输入3个模型进行测试。部分试验结果如图6所示,其中不同部分图像从上到下、从左到右依次记为1、2、3、4,对应检测结果如表5所示,4幅图像中油茶果目标分别是4、2、2、1个。由表5可以看出,YOLO v5s将目标全部正确识别出,YOLO v4-tiny漏检1个,RetinaNet漏检1个。从图6b来看,虽然YOLO v4-tiny的单个置信度高,但其存在目标定位不准确的问题。由此可以看出,在同样的阴天或者傍晚环境下,YOLO v5s对油茶果目标识别在准确率和置信度上均更有优势。

图6 逆光或昏暗环境图像检测结果对比Fig.6 Comparison charts of detection results in backlit or dim environment

表5 阴影、逆光情况检测结果对比Tab.5 Detection results under shadow and backlight conditions

2.2.3小目标密集图像识别对比

为了验证YOLO v5s对密集小目标的识别效果,选取不同密集程度的油茶果图像共190幅分别输入3个模型进行检测。部分检测结果如图7所示,其中前3幅为密集分布图像,第4幅为超密集分布图像,对应的试验结果如表6所示。由表6可以看出,YOLO v5s的识别效果最好。对于果实密集分布的图像,YOLO v5s漏检5个,错误识别1个;YOLO v4-tiny漏检23个,错误识别1个;RetinaNet漏检22个。对于果实超密集分布的图像,YOLO v5s漏检6个,YOLO v4-tiny漏检26个,RetinaNet漏检26个。综上可知,YOLO v5s在小目标识别方面更具优势,可用于密集小目标识别之中。但也可以发现,YOLO v5s在油茶果果实识别方面仍存在一定的不足:在识别小目标且伴随有果实超密集分布的图像时,存在个别漏检情况。这是由于YOLO v5s神经网络通过多层卷积和池化等方式提取图像特征,图像的细节信息会随着网络深度的增加而有一定丢失。

图7 果实密集、小目标情况图像检测结果对比Fig.7 Comparison of detection results of dense fruits and small targets

表6 果实密集、小目标情况检测结果对比Tab.6 Comparison of detection results of dense fruits and small targets

2.2.4虚化及噪声图像检测对比

为了探究YOLO v5s对模糊图像的检测能力,选取虚化、模糊和经过噪声处理后的图像共130幅分别输入3个模型进行测试。部分检测效果如图8所示,对应检测结果如表7所示。由表7可以看出,YOLO v5s的识别效果最好,无漏检;YOLO v4-tiny漏检4个;RetinaNet漏检1个。结果表明,在识别不平滑图像时YOLO v5s更有优势,可以完整地检测出目标果实,具有良好的鲁棒性。

图8 虚化、噪声情况图像检测结果对比Fig.8 Comparison of detection results under blur and noise

表7 虚化、噪声情况检测结果对比Tab.7 Comparison of detection results under blur and noise

3 结论

(1)本研究将YOLO v5s网络用于油茶果的识别,经过训练得到的最优模型检测的P为90.73%,R为98.38%,mAP为98.71%。与一阶检测算法YOLO v4-tiny和RetinaNet相比,模型P分别提高了1.96个百分点和4.47个百分点,R分别提高了9.40个百分点和10.76个百分点。表明将YOLO v5s网络用于油茶果目标的识别是可行的。

(2)对比试验表明,YOLO v5s模型具有检测精度高、抗干扰能力强的优点。在果实重叠或大面积被遮挡,逆光或昏暗环境,密集小目标等自然情况下都能达到良好的识别效果,在处理模糊、虚化、不平滑图像时均可准确识别定位果实目标。

(3) YOLO v5s模型检测速度快,检测单幅图像的平均耗时仅为12.70 ms,相比YOLO v4-tiny和RetinaNet 2种算法,时间分别降低了96.39%和96.25%。且模型体积小,具备更好的移植潜力。

猜你喜欢

密集油茶噪声
广东省油茶种植技术与发展前景分析
密集恐惧症
基于声类比的仿生圆柱壳流噪声特性研究
江西提高油茶新造和低改补贴标准
家乡的油茶
汽车制造企业噪声综合治理实践
Seeing Red
新兴县老促会组织老区村油茶种植户到罗定学习取经
要减少暴露在噪声中吗?
做个Patty万人迷