赵嘉威 田光兆 邱畅 刘钦 陈晨 谢尚杰
摘要:准确识别苹果叶片病害种类以进行及时防治对于苹果增量增产具有重要的意义,为解决同时检测苹果叶片多种病害目标结果不准确的问题,提出一种改进的YOLOv4目标检测算法(MC-YOLOv4)对苹果叶片常见的5种病害(斑点落叶病、褐斑病、灰斑病、花叶病、锈病)进行检测。为方便迁移到移动终端,首先,该算法将YOLOv4网络结构中的主干特征提取网络CSPDarknet53换成了轻量级的MobileNetV3网络,并在加强特征提取网络结构中引入深度可分离卷积代替传统卷积;
其次,为提高检测精度,将卷积注意力机制模块CBAM融合至PANet结构中,可增强对有用特征信息的提取;
最后,为了使锚框更适应本研究的数据集,通过K-means聚类算法将模型的锚框信息更新。结果表明,MC-YOLOv4模型在检测中的平均精度为97.25%,单张图像平均检测时间为13.3 ms,权重文件大小为55.5 MB。MC-YOLOv4模型对于同时检测苹果叶片多种病害目标的问题上具有识别速度快、识别精准度高、可靠性强等特点,该研究为苹果叶片的病害检测提供了一种更优的方法,有助于实现精准施药,提高苹果的产量和品质。
关键词:MC-YOLOv4算法;
苹果;
叶片病害检测;
卷积神经网络;
注意力机制
中图分类号:TP391.4 文献标志码:A 文章编号:1002-1302(2023)09-0193-06
基金项目:国家自然科学基金青年科学基金(编号:31401291)。
作者简介:赵嘉威(1999—),男,吉林长春人,硕士研究生,主要从事农业智能装备研究。E-mail:zjw991012@126.com。
通信作者:田光兆,博士,副教授,研究生导师,主要从事农业智能装备研究。E-mail:tgz@njau.edu.cn。
苹果作为世界性果品,老少皆宜,具有富含维生素、生态适应性强等特点,受到了世界大多数人的喜爱。据国家统计局统计,2020年我国苹果产量为4 406.61万t,占世界苹果总产量50%以上,是最大的苹果生产和消费国[1]。但中国苹果的优果率却不高,低品质果品积压滞销,高品质果品不能满足消费需求。苹果的果实品质主要受到病虫害的影响,实现高效的病虫害识别是病虫害防护的基础,对提高苹果的产量和品质具有重要意义[2]。
近年来,传感器技术、计算机技术、视觉检测技术等先进技术的发展与应用极大地加快了我国农业自动化、智能化的发展[3-6],其中深度学习技术发展飞快,众多基于深度学习技术的检测算法用于植物病虫害的检测[7-8]。在苹果叶片病害检测的问题上也有一些学者使用了基于深度学习的目标检测算法对病害进行识别。Zhong等基于DenseNet-121深度卷积网络,提出了回归、多标签分类和focus loss function 共3种识别苹果叶片病害的方法,3种方法的准确率分别为93.51%、93.31%和93.71%[9]。该研究虽然将苹果叶片分为6类进行检测,但却只针对3种叶片病害,缺少普适性,且最终的识别准确率不高;
Bi等通过使用MobileNet模型实现对苹果叶片2种病害进行识别,与一般的深度学习模型相比,它是一个轻量级的模型,可以很容易地部署在移动设备上,但该研究的平均精确度只有73.50%,且每幅图像的平均处理时间为 0.22 s,处理效率不高[10]。
针对以上问题,为了使苹果病害检测方法兼具检测效率和检测精度,本研究选择YOLOv4算法作为基础并对其进行改进。原始YOLOv4算法对于多目标的检测能力有限,当病害种类密集时,容易出现漏检、错检现象[11]。且YOLOv4算法的网络结构比较复杂,效率较低,所以将YOLOv4的主干特征提取网络CSPDarknet53替换为轻量级MobileNetV3网络,并在加强特征提取网络结构中引入深度可分离卷积代替传统卷积,为提高检测精度,将卷积注意力机制模块CBAM融合至PANet结构中,最后通过K-means聚类算法将模型的锚框信息更新。综合以上方法提出了MC-YOLOv4算法用于同时检测苹果叶片多种病害目标。
1 材料与方法
1.1 数据采集
本研究所用的数据来源于 AI Studio 工程开源数据库,选择26 376张苹果叶片病害图像作为初始数据,其中包含5类常见的苹果叶片病害(斑点落叶病、褐斑病、灰斑病、花叶病、锈病),各类病害图像在5 000张左右。
1.2 数据预处理
为提升模型的鲁棒性,利用 python 对初始数据集进行增广处理,包括亮度变化、对比度变化、加入噪声、镜像翻转和旋转固定角度等。从原始数据集26 376张苹果叶片病害图像中挑选出特征明显的5类病害图像各300张进行上述几种方式的数据增强,最终得到5类苹果叶片病害图像各600张的增强数据集。用标注工具Labelimg對3 000张病害图像按Pascal voc数据集的标注格式逐一标注,其中斑点落叶病标注为AAB,褐斑病为ABB,灰斑病为AGS,花叶病为AM,锈病为AR,生成.xml类型的标注文件。按7 ∶ 2 ∶ 1的比例随机将标注好的3 000张病害图像分为训练集、验证集和测试集。为使图像便于输入模型,将图像尺寸调整为 416×416。
1.3 苹果叶片病害检测算法
1.3.1 YOLOv4算法 目前,广泛应用于深度学习的目标检测算法主要有两大类:第1类是二阶段目标检测算法,代表算法有R-CNN[12]系列等,二阶段目标检测算法会先生成一系列候选框,再通过CNN进行样本分类,具有很高的检测精度,但是检测速度并不快;
第2类是一阶段目标检测算法,代表算法有YOLO[13]系列、SSD[14]系列、Retina-Net等,一阶段目标检测算法直接回归物体的类别概率和位置坐标值,相对于二阶段目标检测算法检测速度更快,但检测精度较低[15-19]。
为了平衡检测精度和检测速度,Bochkovskiy等在2020年提出了YOLO系列第4代YOLOv4目标检测算法[20]。YOLOv4由主干网络、颈部网络、预测网络三大部分组成。主干特征提取网络使用CSPDarknet53结构,颈部网络使用SPP模块、PANet结构,预测网络依旧使用YOLO Head。
1.3.2 用MobileNetV3替换主干特征提取网络 MobileNetV3是最新版的MobileNet网络,在其网络结构中引入了bneck结构。bneck结构图如图1所示,其综合了MobileNetV2的具有线性瓶颈的逆残差结构,即先对输入进来的特征图进行1×1的卷积提升维度,使其通道数得到扩张,并具有残差边;
MobileNetV1的深度可分离卷积,对比常规的卷积操作,深度可分离卷积节省了12倍的计算成本,是MobileNetV1网络能够轻量化的关键因素;
引入了轻量级的注意力机制模型用来调整每个通道的权重,其包括Squeeze和Excitation两大部分;
使用 H-Swish 激活函数代替了Swish激活函数,减少了所需的计算量[21]。Swish激活函数如式(1)所示。
其中,Sigmoid函数如式(2)所示。
H-Swish激活函数如式(3)所示。
其中,ReLU6函数如式(4)所示。
1.3.3 引入CBAM卷积注意力机制模块 为防止替换主干特征提取网络后会影响整个模型的精度,在模型PANet结构中的2次上采样和2次下采样后分别插入注意力机制模块,以加强对输入特征图的特征提取。注意力机制模块的作用就是让卷积神经网络自适应注意重要的特征。一般而言,可分为通道注意力机制和空间注意力机制。CBAM卷积注意力机制模块很好地将通道注意力机制模块和空间注意力机制模块进行了结合,可以取得更好的效果,其结构如图2所示。
CBAM结构的上半部分为CAM通道注意力机制模块,其结构如图3所示。CAM结构将输入进来的特征图F(C×H×W)并行地经过基于特征图高度(H)和特征图宽度(W)的全局最大池化和全局平均池化,得到2个C×1×1的特征图,再将得到的特征图送入共享的全连接层进行处理,先压缩通道数为C/r (r为减少率),激活函数为ReLU,再将通道数扩张回C,得到2个激活后的结果,进行加和操作和sigmoid操作,此时获得了输入特征每一个通道的权值MC。将这个权值再与输入特征的对应元素相乘,得到SAM的输入特征图F′(C×H×W),完成通道注意力操作。
CBAM的下半部分为SAM空间注意力机制模块,其结构如图4所示。将F′(C×H×W)经过基于通道数的全局最大池化和全局平均池化,得到2个H×W×1的特征图,将2个特征图进行通道拼接再经过1个7×7卷积操作,降维成H×W×1,最后经过sigmoid得到输入特征每一通道的权值(MS)。再将其与输入特征 的对应元素相乘,得到最终的特征图F″(C×H×W),完成空间注意力操作。
1.3.4 K-means锚框重新聚类 锚框的选择是准确预测目标的重要前提之一。YOLOv4模型使用的锚框是基于COCO数据集聚类得到,但COCO数据集包含了80个类,不同类别的锚框尺寸不一,所以YOLOv4模型的锚框尺寸也有很大差距。本研究针对苹果叶片病害数据集,只包含5个类,多数锚框尺寸应该偏小。为了使MC-YOLOv4目标检测网络能够更加准确地预测待检目标位置,本研究利用K-means 聚类算法对已经标注好的苹果叶片病害数据集重新聚类,最终得到9个锚框,分别为(8,13)、(12,13)、(17,13)、(15,19)、(19,28)、(27,23)、(39,41)、(69,69)、(322,278),更新后的锚框有利于提高苹果叶片病害的识别精度。改进后YOLOv4(MC-YOLOv4)的网络结构模型如图5所示。
2 结果与分析
2.1 试验环境与参数设置
本研究用的训练平台硬件:Intel Core i5-12400F CPU@4.4 GHz;
GeForce RTX 1080Ti 11G GPU;
運行内存为16 G;
操作系统为Windows10 64位;
深度学习框架选用PyTorch;
编程语言为Python;
CUDA及GPU加速库Cudnn的版本为11.0和7.6.5。
对于MC-YOLOv4模型,训练过程中的Batchsize设置为32,最大学习率设置为0.001,动量设置为0.937,用Adam优化器进行优化,用Focal loss平衡正负样本,正负样本平衡参数设置为0.25。
2.2 评价指标
对于苹果叶片病害的识别,需考虑检测网络的精度与效率。本研究用平均精度(AP)、平均精度mAP、单张图像检测速度(单位ms)、权重文件大小作为评价指标。AP与模型的准确率(P)和召回率(R)有关,其计算公式见式(5)~式(8)。
式中:TP为模型检测正确的数量;
FP为模型检测错误与目标分类错误的数量;
FN为模型漏检的数量;
N为类别的数量。
2.3 模型训练结果
使用MC-YOLOv4模型在苹果叶片病害数据集上进行训练和测试,结果如图6所示。
由图6可知,MC-YOLOv4网络模型随着迭代次数的增加,验证集损失值和训练集损失值也在不断减小。在迭代150次后,验证集损失值逐渐大于训练集损失值,有一定的过拟合现象发生,但两者相差并不大,且两者逐渐趋于平稳,模型收敛。
对本研究模型MC-YOLOv4、原始YOLOv4模型、Faster R-CNN[22]模型、原始SSD模型分别迭代2 000次,表1为以上4种模型训练结果对比。与原始YOLOv4模型对比,本研究模型MC-YOLOv4平均精度提高1.88百分点,单张图像检测时间减少16.9 ms,权重文件大小减少188.5 MB;
与Faster R-CNN 模型对比,本研究模型MC-YOLOv4平均精度提高4.36百分点,单张图像检测时间减少61.1 ms,权重文件大小减少52.5 MB;
与原始SSD模型对比,本研究模型MC-YOLOv4平均精度提高5.31百分点,单张图像检测时间减少2.4 ms,权重文件大小减少37.1 MB。在5类苹果叶片病害检测的平均精度上,本研究模型MC-YOLOv4较其他模型都有较明显的提升,花叶病和锈病的平均精度更是高达99.88%和97.66%。
2.4 消融试验结果
MC-YOLOv4算法在原始YOLOv4算法的基础上替换了主干特征提取网络,同时插入了CBAM卷积注意力机制模块。为了能够更清晰地分析本研究提出的改进YOLOv4算法(MC-YOLOv4)对原始YOLOv4算法产生的影响,分别进行4组试验,具体试验结果如表2所示。
试验1为原始YOLOv4算法,该算法对苹果叶片5种病害的平均精度为95.37%,单张图像检测时间为30.2 ms,权重文件大小为244 MB;
试验2为只引入CBAM模块后的算法,由于添加了注意力机制模块,增强了对有用特征信息的提取,所以该算法的平均精度提升1.13百分点,同时因为注意力机制模块也会增加一定的计算量,所以单张图像检测时间增加0.7 ms,权重文件大小增加2 MB;
试验3为只替换主干特征提取网络的算法,由于MobileNet网络具有更小的体积、更高的精准度和更少的计算量,所以该算法的平均精度提升1.05百分点,单张图像检测时间减少17.9 ms,权重文件大小减少190.2 MB;
试验4为引入CBAM模块和替换主干特征提取网络的算法,即本研究算法MC-YOLOv4结合了CBAM模块和MobileNet网络的优势,该算法的平均精度提升1.88百分点,单张图像检测时间减少16.9 ms,权重文件大小减少188.5 MB。
2.5 叶片病害检测试验
为了测试不同的模型对于苹果叶片多病害目标同时检测的表现情况,随机从苹果叶片5种病害的数据集中选择9张病害图像拼接成1張图像进行检测,图7为不同模型对于苹果叶片多病害目标同时检测的3组试验结果。试验的置信度设置为0.5,图中虚线方框为人工标注的模型漏检的病害目标,三角形框为人工标注的模型错检的病害目标,其他实线方框为模型的识别结果。其中,MC-YOLOv4 模型在3组试验中未出现漏检、错检现象,单幅图像平均检测时间为13.82 ms;
原始YOLOv4模型漏检2处病害目标,错检2处病害目标,单幅图像平均检测时间为30.27 ms;
Faster R-CNN 模型漏检5处病害目标,错检1处病害目标,单幅图像平均检测时间为75.10 ms;
SSD模型漏检45处病害目标,错检2处病害目标,单幅图像平均检测时间为16.36 ms。试验结果表明,MC-YOLOv4模型对于同时检测苹果叶片多种病害目标上具有识别速度快、识别精准度高、可靠性强等优势。
3 结论
本研究在YOLOv4算法的基础上进行改进,提出了MC-YOLOv4目标检测算法。将YOLOv4的主干特征提取网络CSPDarknet53替换为轻量级MobileNetV3网络,并在加强特征提取网络结构中引
入深度可分离卷积代替传统卷积减少了模型的计算量,加快了模型的检测速度;
将卷积注意力机制模块CBAM融合至PANet结构中,提高了模型的检测精度;
利用K-means聚类算法对锚框信息进行更新,以适应本研究的苹果叶片病害数据集。
基于采集和数据增强后的3 000张图片,分别使用MC-YOLOv4、YOLOv4、Faster R-CNN、SSD模型进行试验。结果表明,MC-YOLOv4目标检测算法的平均精度为97.25%,单张图像检测时间为13.3 ms,权重文件大小为55.5 MB,各项参数皆优于其他网络模型。
通过消融试验更清晰地分析本研究提出的改进YOLOv4算法(MC-YOLOv4)对原始YOLOv4算法产生的影响。4种目标检测算法的对比试验结果表明,MC-YOLOv4算法在同时检测苹果叶片多种病害目标上具有明显的速度和精度优势。
参考文献:
[1]王 璇,刘军弟,邵砾群,等. 我国苹果产业年度发展状况及其趋势与建议[J]. 中国果树,2018(3):101-104,108.
[2]李保华,王彩霞,董向丽.我国苹果主要病害研究进展与病害防治中的问题[J]. 植物保护,2013,39(5):46-54.
[3]顾宝兴,刘 钦,田光兆,等. 基于改进YOLOv3的果树树干识别和定位[J]. 农业工程学报,2022,38(6):122-129.
[4]张 漫,季宇寒,李世超,等. 农业机械导航技术研究进展[J]. 农业机械学报,2020,51(4):1-18.
[5]袁祥州,黄恩临. 欧盟智慧农业发展经验及其借鉴[J]. 世界农业,2022(5):27-36.
[6]Xu J Y,Gu B X,Tian G Z. Review of agricultural IoT technology[J]. Artificial Intelligence in Agriculture,2022,6:10-22.
[7]余 凯,贾 磊,陈雨强,等. 深度学习的昨天、今天和明天[J]. 计算机研究与发展,2013,50(9):1799-1804.
[8]张慧春,周宏平,郑加强,等. 植物表型平台与图像分析技术研究进展与展望[J]. 农业机械学报,2020,51(3):1-17.
[9]Zhong Y,Zhao M. Research on deep learning in apple leaf disease recognition[J]. Computers and Electronics in Agriculture,2020,168:105146.
[10]Bi C K,Wang J M,Duan Y L,et al. MobileNet based apple leaf diseases identification[J]. Mobile Networks and Applications,2022,27(1):172-180.
[11]文 斌,曹仁軒,杨启良,等. 改进YOLOv3算法检测三七叶片病害[J]. 农业工程学报,2022,38(3):164-172.
[12]Girshick R,Donahue J,Darrell T,et al. Rich feature hierarchies for accurate object detection and semantic segmentation[C]//2014 IEEE Conference on Computer Vision and Pattern Recognition,2014:580-587.
[13]Redmon J,Divvala S,Girshick R,et al. You only look once:unified,real-time object detection[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition,2016:779-788.
[14]Liu W,Anguelov D,Erhan D,et al. SSD:single shot MultiBox detector[M]//Computer vision-ECCV 2016.Cham:Springer International Publishing,2016:21-37.
[15]王相友,李晏兴,杨振宇,等. 基于改进YOLOv4模型的马铃薯中土块石块检测方法[J]. 农业机械学报,2021,52(8):241-247,262.
[16]李菊霞,李艳文,牛 帆,等. 基于YOLOv4的猪只饮食行为检测方法[J]. 农业机械学报,2021,52(3):251-256.
[17]刘莫尘,高甜甜,马宗旭,等. 基于MSRCR-YOLOv4-tiny的田间玉米杂草检测模型[J]. 农业机械学报,2022,53(2):246-255,335.
[18]王巧华,顾 伟,蔡沛忠,等. 基于改进YOLOv4的群体棉种双面破损检测方法[J]. 农业机械学报,2022,53(1):389-397.
[19]吴 雪,宋晓茹,高 嵩,等. 基于深度学习的目标检测算法综述[J]. 传感器与微系统,2021,40(2):4-7,18.
[20]Bochkovskiy A, Wang C Y, Liao H Y M. Yolov4:
optimal speed and accuracy of object detection[EB/OL]. (2004-01-09)[2022-09-10].https://arxiv.org/abs/2004.10934.
[21]张兆国,张振东,李加念,等. 采用改进Yolov4模型检测复杂环境下马铃薯[J]. 农业工程学报,2021,37(22):170-178.
[22]Ren S Q,He K M,Girshick R,et al. Faster R-CNN:towards real-time object detection with region proposal networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence,2017,39(6):1137-1149.
猜你喜欢注意力机制卷积神经网络苹果基于深度学习的问题回答技术研究数字技术与应用(2019年2期)2019-05-14基于LSTM?Attention神经网络的文本特征提取方法现代电子技术(2018年8期)2018-04-13基于注意力机制的双向LSTM模型在中文商品评论情感分类中的研究软件工程(2017年11期)2018-01-05InsunKBQA:一个基于知识库的问答系统智能计算机与应用(2017年5期)2017-11-08基于深度卷积神经网络的物体识别算法计算机应用(2016年12期)2017-01-13收获苹果作文与考试·小学高年级版(2016年17期)2016-12-23深度学习算法应用于岩石图像处理的可行性研究软件导刊(2016年9期)2016-11-07基于深度卷积网络的人脸年龄分析算法与实现软件工程(2016年8期)2016-10-25拿苹果小学生导刊(低年级)(2016年8期)2016-09-24基于卷积神经网络的树叶识别的算法的研究电脑知识与技术(2016年10期)2016-06-16