基于YOLOv5改进的咖啡叶片病虫害检测研究

2023-07-31 15:10贺壹婷蔺瑶曾晏林费加杰黎强杨毅
安徽农业科学 2023年13期

贺壹婷 蔺瑶 曾晏林 费加杰 黎强 杨毅

摘要 为准确识别自然条件下的咖啡叶片病虫害,提出一种基于YOLOv5改进的目标检测算法。该方法通过在主干网络融入ConvNext网络和ECA注意力机制来优化相关网络模型,提高了网络特征提取能力,更好解决了鲁棒性差和对遮挡目标与小目标的漏检问题。结果表明,该方法的检测精度均值(mAP)达到了94.13%,检测速度和精度都具有良好效果,同时模型大小只有17.2 MB,可以满足边缘设备的运行条件。因此,改进后的YOLOv5算法可为自然环境下咖啡叶片病虫害识别提供技术支撑,满足实时目标检测的实际应用需求。

关键词 咖啡病虫害;YOLOv5;ECA注意力机制;ConvNext网络;改进YOLO

中图分类号 S-058  文献标识码 A  文章编号 0517-6611(2023)13-0221-06

doi:10.3969/j.issn.0517-6611.2023.13.049

Improved Detection of Coffee Leaf Diseases and Insect Pests Based on YOLOv5

HE Yi-ting,LIN Yao,ZENG Yan-lin et al

(School of Big Data, Yunnan Agricultural University, Kunming, Yunnan  650201)

Abstract In order to accurately identify the diseases and pests of coffee leaves under natural conditions, we proposed an improved target detection algorithm based on YOLOv5. We optimized the relevant network model by integrating ConvNext network and ECA attention mechanism into the backbone network, improved the network feature extraction ability, and better solved the problems of poor robustness and missing detection of occluded targets and small targets. The results showed that the mean value of detection accuracy (mAP) of the method reached 94.13%, and the detection speed and accuracy were good. At the same time, the model size was only 17.2 MB, which could meet the operating conditions of edge devices. Therefore, the improved YOLOv5 algorithm could provide technical support for disease and pest identification of coffee leaves in natural environment, and met the practical application requirements of real-time target detection.

Key words Coffee pests and diseases;YOLOv5;ECA attention mechanism;ConvNext network;Improving YOLO

基金项目 云南省重大科技专项:云果数字化关键技术研发与应用示范(202002AE09001002)。

作者简介 贺壹婷(1997—),女,河北邢台人,硕士研究生,研究方向:智能计算和深度学习。通信作者,教授,从事智能计算、深度学习、数据库应用研究。

收稿日期 2022-10-21;修回日期 2023-03-09

咖啡作为农产品在实际种植中始终无法避免病虫的危害,植物叶部病害一直制约着农作物的产量和质量,病虫害问题不仅会影响种植效果,还容易造成减产,每年咖啡因病虫害造成的产量损失约为17%[1]。传统的机器学习算法在检测精度、检测效率和泛化能力等方面已无法满足实际要求,因此该研究提出基于YOLOv5改进的咖啡叶片病虫害识别方法,通过提取咖啡叶片的图像特征进行训练分析,进而发现病虫害位置及种类,比传统目标检测算法在检测速度和精度等方面都得到了较大提升,在一定程度上推动了咖啡种植领域的现代信息化发展。

国内外针对自然环境下病虫害识别问题提出许多解决方法,目前基于深度学习的目标检测算法可以分为One-stage和Two-stage [2-4]。One-stage检测器有较高的推理速度,不需要区域建议步长,如YOLO、SSD等可用于实时设备。Two-stage检测器将问题划分为2个阶段,先进行区域生成,然后通过卷积神经网络对候选区域分类,具有较高的定位和目标识别精度,如FPN,SPPNet,R-FCN等。徐会杰等[5]提出采用Darknet-53 作为特征提取网络,将特征图进行拼接,利用K-means++聚类算法选取先验框匹配到不同检测层进行目标识别。刘芳[6]提出基于YOLOv5 的柑橘图像目标检测方法,引入Mosaic 增强数据,同时优化边框损失函数,加速网络收敛,提高检测精度。黄彤镔等[7]融入CBAM注意力机制模块和α- IoU损失函数,改善了对小目标物体漏检、误检的情况。杨福增等[8]通过CenterNet模型,优化Hourglass网络的残差結构,不使用锚框和NMS 后处理,减少了网络参数,更适用于密集场景下多苹果目标的识别;李子茂等[9]提出融合Inception模块消除叶片背景影响因素并结合Faster R-CNN对月季多叶片进行病虫害检测研究。刘凯旋等[10]使用特征金字塔、软非极大值抑制和感性兴趣区域校准优化级联 R-CNN识别了5种常见的水稻害虫,提高了小目标的检测精度。王远志等[11]基于Faster R-CNN网络模型,进行HSV颜色空间转换及Retinex算法处理,对3种苹果叶部病害识别。这些方法由于针对特定环境检测的自身局限性,导致在复杂背景环境下病斑相似性的叶片识别效果较差,大多针对静态图片的单叶片病虫害分类,并且优化后的模型所占内存空间资源较大。

鉴于此,笔者提出一种基于YOLOv5的改进咖啡病虫害识别方法,通过将ConvNext融入主干网络,并加入ECA注意力机制模块增强网络提取图像特征的能力,加速网络收敛,可以使咖啡叶片病虫害高精度识别;通过及时发现病虫害种类,从而降低其造成的损失,提升咖啡种植效果,推动相关产业的健康发展。

1 相关工作

1.1 数据采集

试验采集地为云南省普洱咖啡种植基地,于2021年12月上旬通过尼康D3500套机(AF 70-300 mm)采集了咖啡叶片图像。为保证获取叶片的完整视野,相机与树冠距离最少0.5~2.0 m。选择在不同的方向、位置拍摄咖啡叶片照片,拍摄时间为09:00—17:00,包括各种顺光和逆光环境下的图像,共收集1 288张咖啡叶片照片。采集不同咖啡叶片的视频存为MP4格式,分辨率为1 920×1 080,视频帧率为25帧/s。部分采集图片示例如图1所示,可以看到在复杂背景环境下,咖啡叶片之间存在重叠、遮挡的现象,导致在自然环境下对咖啡叶片病虫害的识别存在较大难度。

1.2 数据集准备

以发病概率较高的5种咖啡病虫害(炭疽病、绿阶、煤污病、锈病、褐斑病)为研究对象,建立图像数据集。对获取的数据集进行数据清洗、重命名、去重,使用labelImg软件对5种咖啡叶片病虫害进行边界框标注,标注时将病虫害目标区域的最小外接矩形框作为真实框,处于图像模糊处的病虫害不进行标注。为得到更好的训练效果,使训练的模型具有更好的鲁棒性,通过随机裁剪,亮度增强,90°、180°、270°翻转等方式对图片进行数据增强,扩充数据集至3 864张。按照8∶2比例随机划分为训练集、验证集,进行模型训练。图2为数据增强后的部分图片。

2 试验方法

2.1 YOLOv5网络结构

YOLOv5是一种单精度目标检测算法,采用One-stage结构,通过特征提取、特征加强、预测特征点对应的物体情况,在数据集上可快速收敛,模型可定制性强,速度与精度相比于YOLOv4得到了很大提升。YOLOv5可以分为主干网络、特征网络和输出端3个部分[9,12-14]。

Backbone是YOLOv5的主干特征提取网络,被称为CSPDarknet,骨干网作为目标检测任务的基本特征提取器,以图像作为输入,输出相应输入图像的特征图[15-17]。输入的图片在主干网络进行特征提取,提取到的特征称作特征层,根据获取的3个有效特征层进行下一步网络的构建。

FPN是YOLOv5的加强特征提取网络,将主干部分获得的有效特征层进行特征融合,特征融合的目的是结合不同尺度的特征信息[18]。在FPN部分,用获得的有效特征层提取特征,使用Panet的结构对特征进行上采样和下采样实现特征融合。

YOLO Head是YOLOv5的分类器与回归器,对特征点进行判断,判断特征点是否有物体与其对应,通过获得的有效特征层的宽、高和通道数,将特征图看作特征点的集合,每一个特征点都有通道个数特征。分类和回归在一个1×1卷积里实现[19]。

YOLO系列中的YOLOv5使用mosaic增强提升小物体检测性能,通过领域的正样本锚匹配策略增加正样本,具有检测精度高、速度快等优势。相比于其他网络,YOLOv5在输入端通过缩放、色彩空间调整等方式进行数据增强,并通过随机缩放、裁剪、排布的方式进行拼接,可以丰富检测目标的背景并且提高检测结果;在训练时,重新自动学习锚定框的尺寸,通过最佳自适应锚框算法,完成从原始图像输入到物体位置和类别输出。YOLOv5模型如图3所示。

2.2 ConvNext网络

ConvNext网络通过Mixup、CutMix、RandAugment等方式进行数据扩增,优化网络结构,使训练的卷积神经网络模型效果达到更好的效果。

使用Inverted bottleneck(反瓶颈结构)将深度卷积放在反瓶颈的开头,由1x1 conv->depthwise conv->1x1 conv变成depthwise conv->1x1 conv->1x1 conv。将每个阶段的卷积块的比例调整到 1∶1∶3∶1,最终得到的卷积块数是(3,3,9,3),同时引入了分组卷积的思想,其将3x3 卷积替换成了3x3的分组卷积,有效减少了参数量,基础通道数增至96,利用7x7的卷积核,减少激活层数量,使准确率得到大幅度提高。同时使用高斯误差线性单元激活函数GELU,只在block中的2个1x1卷积之间使用一层激活层。仅在第1个1x1卷积之前添加了1个归一化,更多的归一化操作对模型效果提升并没有帮助。将降采样层换成卷积核大小为4,步距为4的卷积层再加最大池化层,在深度卷积中让分组数等于输入通道数,使模型复杂度以及准确率之间做到了更好的平衡。ConvNext网络在降采样前后和全局均值池化之后各加入1个LN,这些归一化用来保持模型的稳定性。通过增加随机深度,标签平滑,EMA(指数滑动平均)等正则策略防止过拟合。激活函数的形式为

xP(X≤x)=xΦ(x)

Φ(x)是x的高斯正态分布的累积分布,如下:

xP(X≤x)=x∫x-∞e(X-μ)22σ22πσdX

计算结果約为:

0.5x(1+tanh[2π(x+0.044 715x3)])

GELU函数为:

GELU(x)=0.5x(1+tanh(2/π(x+0.044 715x3)))

2.3 ECA注意力机制

注意力机制能从大量的信息中筛选出重要的信息,可以硬性选择输入的某些部分,或者给输入的不同部分分配不同的权重[16,20]。目前注意力机制主要分为空间注意力机制和通道注意力机制,两者目标用于捕获成对的像素级关系和通道间依赖关系,也有混合维度(CBAM)在空间维度和通道维度增加注意力机制。

深度卷积神经网络的ECA模块,是即插即用的模块,通过不降维的局部跨信道交互策略和自适应选择一维卷积核大小的方法,有效捕获跨通道交互的信息,获得明显的性能增益[21]。图4是ECA模块示意图。

ECA利用如下矩阵来学习通道注意力:

w1,1…w1,k00……0

0w2,2…w2,k+10……0

0…00…wC,C-k+1…wC,C

对于SE-Net,主要步骤为挤压、激励、注意,特征点会经过一个全局池化层,该池化层会经过一个卷积得到一个数值,用来加权通道的权重。SENet中的降维不可避免地增加了一些参数和计算量,并且捕获所有通道之间的依存关系是没有必要的,ECA能够很好地替换掉SE,甚至可以达到更好的效果。ECA模块由非线性自适应确定的一维卷积组成,用一维卷积来完成跨通道间的信息交互,通过考虑每个通道及其k个邻居来避免维度缩减,在全局平均池化层之后用1x1卷积替换了全连接层,有效捕获了局部跨通道交互信息,只涉及少数参数就能达到很好的效果。在不降低维数的通道级全局平均池化之后,保证了模型效率和计算效果。卷积核的大小通过自适应函数使得通道数较大的层可以更多地进行跨通道交互获得更多的信息。自适应函数为:

k=log2(C)γ+bγ

式中,γ=2,b=1。

2.4 ECA_ConvNext_YOLO目标检测算法

为解决YOLOv5模型中存在小目标检测准确度较低等问题,该研究通过mosaic数据增强、优化相关网络模型,主干网络融入ConvNext网络和ECA注意力机制,从而增强网络提取图像特征的能力,加强对咖啡病虫害的检测。

经过优化后的模型可以实现更少次数收敛迭代,节省时间并且提高效率。咖啡叶片病虫害的小目标特征信息像素点数目少、语义信息有限,在深层网络中易丢失,可能会引起YOLOv5模型对小目标的漏检和误检。将数据增强之后的咖啡叶片数据集进行resize,统一输入照片图片像素为640×640,通过ECA注意力模块实现通道之间的信息交互,结合ConvNext网络使深度卷积分组数等于输入通道数,使用Inverted-bottleneck(反瓶颈结构)将深度卷积模块放在最上面,能在网络训练过程中加强对咖啡叶片病虫害的点特征、线特征等特征信息并且增大目标在整张特征图中的权重的学习,用一维卷积捕捉跨通道信息交互的方法,克服性能和复杂性之间的矛盾。图5为优化后的ECA_ConvNext_YOLO算法的主干网路示意图。

3 结果与分析

3.1 试验运行平台

试验基于Pytorch深度学习框架,试验室服务器的主要配置如下:训练使用的CPU型号是Intel Core i9-10900KF,GPU型号是NVIDIA GeForce RTX 3080,64 GB运行内存,在Windows 10系统上用CUDA 11.1和CUDNN 8.0搭建环境,在Pycharm 2018上使用Pytorch 1.9.0框架和Python 3.6语言编程训练和测试。

3.2 网络训练

对图像进行标准化和归一化处理,使用整个网络最后1层的特征图来进行预测。网络训练总迭代次数为100轮,初始学习率设置为0.01,迭代批量大小为16,训练的过程相当于最小化损失函数。在迭代次数达到100次时,模型开始收敛,改进后的YOLOv5模型收敛更加快速,最终精度较高。

3.3 评价指标

为选取最优模型,通过mAP(平均精度均值)和检测一张图像所用时间(Detection time)衡量检测效果,对模型的性能综合评价。mAP是各类别的平均值,用于衡量目标检测算法的性能,PR曲线中,P为precision,R为recall,N是检测样本类别数量[22-23]。计算公式如下所示。

mAP=Nk=1PRN

图6为5种病在自然环境下视频中的检测效果。

3.4 改进模型的检测效果

为验证改进后的YOLOv5模型是否有更好的效果,训练过程使用相同的参数配置,分别用YOLOv5模型与ECA_ConvNext_YOLO模型对含有5种咖啡叶片病虫害的数据集进行训练分析,识别自然环境下视频中病虫害的平均精度。图7为YOLOv5与ECA_ConvNext_YOLO在迭代次數为100次的曲线对比。由图7可知,在迭代次数为100次时,YOLOv5和该研究优化算法的mAP值对比,结果表明该研究优化后的网络模型通过迁移学习具有更好的识别效果和更快速的收敛过程,可为自然环境下咖啡叶片病虫害识别提供技术支撑,满足实际应用需求。

3.5 不同算法类型对比

为了判断该研究改进的有效性,在相同的数据集和相同的配置环境下与SSD(MobileNet base)、YOLOv5先进模型进行比较,列举3种模型的模型大小、平均精度和检测时间,更加直观比较改进前后模型检测效果的差异,效果对比如表1所示。

结果表明,与其他网络模型相比,ConvNext_ECA_YOLO模型在检测速度和精度等方面有了明显的改善,同时也在模型大小与识别的平均精度之间取得了良好的平衡,可以满足在复杂背景下通过边缘设备对农作物叶片病虫害实时检测的需求。

4 结论

该研究针对在自然环境下对咖啡叶片病虫害识别的检测任务,提出一种基于YOLOv5改进模型的轻量级目标检测方法。通过将自然环境下拍摄的咖啡叶片图像进行数据增强,解决数据样本不平衡会影响模型的性能问题。主干网络融入ConvNext网络和ECA注意力机制,提高了模型网络对特征信息的提取能力,实现病虫害的视频检测,对小目标物体识别的误检、漏检情况有明显改进。结果表明,优化后的模型的平均精度达到94.13%,平均检测1张图片时间为0.018 s,平均精度相比于SSD(MobileNet base)模型和YOLOv5模型分别提高了8.06%、3.53%,训练后的模型大小仅有17.2 M。

该研究提出的轻量级神经网络占用更少的参数内存,具有更好识别效果和更快速收敛过程,适合移植到各种便携式的可移动平台,通过预训练好的权重即可实现在边缘设备执行本地在线识别,更好地解决了带宽受限或延迟高等外界因

素导致的识别错误问题。

该研究所使用的数据集包含的类别较少,在今后的研究中可以增加咖啡叶片病虫害的种类以扩充数据集,制定更多的评价指标,实现精度的进一步提升。

參考文献

[1] 付兴飞,胡发广,程金焕,等.七种种植模式下小粒咖啡病虫害调查[J].热带农业科学,2021,41(9):74-81.

[2] 吕璐,程虎,朱鸿泰,等.基于深度学习的目标检测研究与应用综述[J].电子与封装,2022,22(1):72-80.

[3] 耿创,宋品德,曹立佳.YOLO算法在目标检测中的研究进展[J].兵器装备工程学报,2022,43(9):162-173.

[4] 李伟强,王东,宁政通,等.计算机视觉下的果实目标检测算法综述[J].计算机与现代化,2022(6):87-95.

[5] 徐会杰,黄仪龙,刘曼.基于改进YOLOv3模型的玉米叶片病虫害检测与识别研究[J].南京农业大学学报,2022,45(6):1276-1285.

[6] 刘芳.基于YOLOV5的柑橘果实目标检测研究[J].信息与电脑(理论版),2022,34(2):152-154.

[7] 黄彤镔,黄河清,李震,等.基于YOLOv5改进模型的柑橘果实识别方法[J].华中农业大学学报(自然科学版),2022,41(4):170-177.

[8] 杨福增,雷小燕,刘志杰,等.基于CenterNet的密集场景下多苹果目标快速识别方法[J].农业机械学报,2022,53(2):265-273.

[9] 李子茂,刘恋冬,夏梦,等.基于深度学习的月季多叶片病虫害检测研究[J].中国农机化学报,2021,42(8):169-176.

[10] 刘凯旋,黄操军,李亚鹏,等.一种基于级联R-CNN的水稻害虫检测算法[J].黑龙江八一农垦大学学报,2021,33(5):106-111,134.

[11] 王远志,施子珍,张艳红.改进的Faster R-CNN用于苹果叶部病害检测[J].安庆师范大学学报(自然科学版),2022,28(2):26-30.

[12] 刘君,王学伟.基于YOLO的番茄病虫害识别算法[J].中国瓜菜,2020,33(9):18-22,38.

[13] 宋怀波,王亚男,王云飞,等.基于YOLO v5s的自然场景油茶果识别方法[J].农业机械学报,2022,53(7):234-242.

[14] 侯学良,单腾飞,薛靖国.深度学习的目标检测典型算法及其应用现状分析[J].国外电子测量技术,2022,41(6):165-174.

[15] 张志远,罗铭毅,郭树欣,等.基于改进YOLO v5的自然环境下樱桃果实识别方法[J].农业机械学报,2022,53(S1):232-240.

[16] 王卓,王健,王枭雄,等.基于改进YOLO v4的自然环境苹果轻量级检测方法[J].农业机械学报,2022,53(8):294-302.

[17] 梁勇,邱荣洲,李志鹏,等.基于YOLO v5和多源数据集的水稻主要害虫识别方法[J].农业机械学报,2022,53(7):250-258.

[18] 刘洪涛,孙杰,王成松,等.基于改进YOLO的边缘设备实时目标检测算法研究[J].齐齐哈尔大学学报(自然科学版),2022,38(5):6-10.

[19] 刘璎瑛,曹晅,郭彬彬,等.基于改进YOLO v5复杂场景下肉鹅姿态的检测算法研究[J].南京农业大学学报,2023,46(3):606-614.

[20] 晁晓菲,池敬柯,张继伟,等.基于PSA-YOLO网络的苹果叶片病斑检测[J].农业机械学报,2022,53(8):329-336.

[21] TIAN Y N,YANG G D,WANG Z,et al.Apple detection during different growth stages in orchards using the improved YOLO-V3 model[J].Computers and electronics in agriculture,2019,157:417-426.

[22] KUZNETSOVA A,MALEVA T,SOLOVIEV V.Detecting apples in orchards using YOLOv3 and YOLOv5 in general and close-up images[C]//HAN M,QIN S T,ZHANG N.Advances in neural networks_ISNN2020:17th international symposium on neural networks.Cham:Springer International Publishing,2020:233-243.

[23] LIU J,WANG X W.Tomato diseases and pests detection based on improved Yolo V3 convolutional neural network[J].Frontiers in plant science,2020,11:1-12.