基于改进YOLO_v5的水稻主要害虫识别方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
吴子炜,夏 芳,陆林峰,等.基于改进YOLOv5的水稻主要害虫识别方法[J].江苏农业科学,2023,51(21):218-224.doi:10.15889/j.issn.1002-1302.2023.21.033
基于改进YOLOv5的水稻主要害虫识别方法
吴子炜1,夏 芳2,陆林峰3,张盛军4,周素茵1
(1.浙江农林大学数学与计算机科学学院,浙江杭州311300;2.浙江农林大学经济管理学院,浙江杭州311300;3.浙江省农业农村大数据发展中心,浙江杭州310000;4.浙江托普云农科技股份有限公司,浙江杭州310000)
摘要:准确识别害虫是水稻田间害虫防控的基础,针对现有水稻害虫识别方法精度不高、计算量与参数量较大等问题,提出一种轻量模块以及相应改进YOLOv5模型的方法。
为了在满足精度的前提下减小模型参数量,构建的轻量模块使用多个深度可分离卷积减小计算消耗,并通过通道洗牌将特征通道重组提高学习能力,同时将该模块引入YOLOv5模型中进行轻量化改进。
为提高模型的泛用性,除选取公开数据集IP102中的水稻害虫图片外,通过二化螟性诱设备采集二化螟图像丰富研究数据。
结果表明,所提出的轻量化模块能够有效减轻模型的体积、优化训练并提升模型的识别精度,改进后的模型参数量仅为原模型的一半,对14类害虫的平均识别精度相较原模型提高3.2百分点,拥有一定的实际应用能力。
所提出的轻量模块及轻量化改进模型能够实现对水稻害虫高精度及高效率的识别,可为水稻病虫害防控数字化、智能化发展提供技术支持。
关键词:水稻害虫;害虫识别;机器视觉;轻量化;深度学习
中图分类号:TP391.41 文献标志码:A 文章编号:1002-1302(2023)21-0218-07
收稿日期:2023-01-04
基金项目:浙江省农业重大技术协同推广计划(编号:2021XTTGLY0106)。
作者简介:吴子炜(1998—),男,浙江海宁人,硕士研究生,主要从事农业信息化研究。
E-mail:731028114@qq.com。
通信作者:夏 芳,博士,副教授,主要从事数字乡村建设、农业信息化研究。
E-
mail:20200016@zafu.edu.cn。
水稻害虫的准确预测对保证水稻高产、减少经
济损失具有十分重要的作用[
1]。
高效识别作物害虫是农业病虫害防治的关键环节。
目前,我国识别农业害虫的方法发展迅速,但大多存在耗时耗力或对资源需求较高等问题,不能满足现代农业生产的需要。
因此,对水稻害虫的非人工识别的探索变得非常重要。
图像识别作为机器视觉的热门领域,从20世纪70年代起硬件与算法的迭代不断支撑识别方法的进步。
分类器可以通过对目标特征与样本集特征进行匹配获取最符合的类别,从中衍生出K最近邻、装袋算法、AdaBoost算法等一系列分类方法,大幅提升了机器的害虫辨别能力,如Li等采用
K最近邻算法[2]、杨丽丽等采用AdaBoost算法[3]
,
都取得较好的分类效果。
不过这些方法的鲁棒性较差,难以大规模使用,后续逐渐被更加优秀的深度学习方法取代。
深度学习是现今机器学习最重要的组成部分。
在图像领域,卷积神经网络因具有
更强大的表征能力,成为深度学习的代表[4-5]。
Fuentes等将不同元架构和深度特征提取器相结合
识别番茄病虫害[
6]
;Reza等结合迁移学习和数据增强策略训练Inception-v3实现害虫种类识别[7]
;甘
雨等利用改进的E
fficientNet实现对害虫的高速识别,在足够轻量化的同时准确率达到69.5%[8]。
近
年来,越来越多深度学习方法与模型都整合了对目标的检测与分类,特别是单阶段目标视觉模型的出现,害虫识别在效率与精度上都取得了较大突破,任胜兰等都基于YOLO算法针对不同种害虫进行改
进,都有不错的表现[9-10]。
现今基于深度神经网络的害虫识别算法已有不少成果,但在实际应用中,
往往需要识别方法在拥有高精度的情况下更加高效与轻便。
目前对害虫识别方法轻量化的探索集
中在降低训练成本提高模型部署效率[11],或是设计轻量级模块降低计算资源消耗上[12-13],都取得了较好的成果。
因此,本研究也将立足降低计算资源消
耗,设计一种轻量级残差模块,使YOLOv5算法在更低计算消耗的情况下拥有更强的性能,以满足现代农业生产的实际需求。
1 材料与方法1.1 数据集
选用IP102害虫数据集[14]
作为研究基础图像
数据,它是由102类害虫图像组成,共涵盖标注框图
—812—
像19000幅,相较于其他害虫数据集更加完善。
由于本研究的对象为水稻田间害虫,故从IP102中筛选出关于大田水稻作物的1
4种害虫:稻纵卷叶螟、稻螟蛉、稻潜叶蝇、二化螟、三化螟、稻瘿蚊、稻秆
蝇、褐稻虱、白背飞虱、灰飞虱、稻水象甲、稻叶蝉、稻蓟马、稻苞虫,这些害虫在IP102中编号为0~13(图1)。
14类害虫的有效图像共1248幅,经旋转、翻转与镜像等数据增强后共4992
幅。
为了丰富研究数据来源,本研究还引入托普智慧性诱装备采集图像。
图像采集自浙江省杭州市余杭区瓶窑镇2个不同的采集点,采集时间为2022年8月1日至9月2日,采集方式为通过性诱剂吸
引目标害虫使其被黏虫板捕获后定时拍摄,诱捕对象为二化螟,采集图像见图2。
共采集样本1014个,同样经过数据增强处理后共获得5070个样本。
最终以8 2
的比例加入训练集与测试集。
1.2 基于YOLOv5改进的害虫识别算法
YOLO(youonlylookonce)系列算法是由Redmon等在2016年开发出的一种单阶段图像算法,采用单一回归问题的思想,更易学习目标的泛
化特征,是一种更加高效的架构[15]。
YOLO模型的
优势在于生成候选框的同时完成分类并预测存在的对象以及它们的位置,使得时间成本和计算资源都大大降低。
在Y
OLOv5系列中,还可以通过设置网络深度和宽度涵盖轻量级模型与大型高精度模型,从而契合更多应用场景,成为当前应用最广泛的一代。
1.2.1 轻量化模块DWshuffle的设计 影响网络模型计算资源消耗的因素有很多,其中通道的利用效率是最重要的因素。
Howard等认为,将卷积分离
是最简便的方式之一,由此提出分组卷积以及它的
极致,即深度可分离卷积[16]。
这类卷积本质就是将
通道分离,单独进行卷积计算,最终合并。
这种分解可以有效减小卷积核的移动,使计算量大幅度减小,深度可分离卷积的具体原理见图3。
—
912—
不同于常规卷积操作,深度可分离卷积的1个卷积核负责1个通道,1个通道只被1个卷积核卷积。
对于一张三通道彩色输入图片,深度可分离卷积首先经过第1次卷积运算,
完全在二维平面内进行,卷积核的通道与卷积核一一对应;最终经过运算后各自生成3个特征图。
但是在高度分组之后会产生一个问题,即输出特征图不同组是没有联系的,它只与输入有关,这会使学习到的特征非常有限,容易导致信息丢失。
为解决该问题,Zhang等在ShuffleNet中提出通道洗牌概念,即在特征图中提取出不同组别的通道并组合,从而打通特征图之间的
关联[
17]。
综上分析,本研究结合分组卷积与通道洗牌设计出一组新的轻量化模块,将其称作DWShuffle模块(图4)。
在DWShuffle模块中先使用1×1卷积将输入通道数降到原来的1/2,再分别使用尺寸为3×3与5×5的深度可分离卷积进行特征提取,输出特征图通道数为输入的1/4,最后将上述结果进行连接使其通道数与输入时保持一致。
通道在通道合并操
作后可以视作1组卷积,
其通道大致可分为3组,其中1组为常规卷积结果,另外2组分别为2次深度可分离卷积结果。
对合并操作后的特征图使用分组为2的通道洗牌,
使通道重新组合,通道洗牌过程见图5。
整体采用残差连接,
优化训练。
1.2.2 轻量化模型的构建 YOLOv5在特征提取与特征融合中都使用CSP(crossstagepartial)结构取代原本Y
OLOv3的残差与输出卷积,但这种结构在面对分类较少或目标明显的场景时并不能带来有效提升。
因此,用DWshuffle模块替换原本CSP结构在模型中的位置,同时在特征融合阶段取消残差连接。
改进后模型结构见图6,本研究将其称为
DWshuffle-YOLO。
2 试验设计与结果分析2.1 试验环境
试验硬件环境为64位Ubuntu20.4系统,
处理
—022—
器为InterCorei78700KCPU@3.70GHz,GeForceGTX960m-4G显卡。
本研究基于PyTorch深度学习框架,开发环境为PyTorch1.8、CUDA11.2、Python3.8。
2.2 评价指标
平均精度均值(mAP)是现今最常用的评估指标,因为它同时结合了召回率(R)和精确率(P),对模型的评价更加全面。
所以试验采用平均精度均值评价模型的识别效果,用平均精度(AP)评价模型对某类害虫的识别效果,计算公式分别为
P=TP
TP+FP;
(1)R=TPTP+FN;
(2)AP=∫
1
0
P(R)dR;
(3)
mAP=∑C
i=1
APi
C。
(4)
式中:
TP表示预测出正确的正样本个数,即预测框与标注框类别相同且交并比大于0.5;FP表示预测出错误的正样本个数;FN表示预测出错误的负样本个数;
C为样本类别数量。
由准确率和召回率可以得出0.5广义交并比阈值下多类别平均精度。
2.3 模型验证
试验中不同模型使用相同训练集与验证集,训练参数与优化器保持一致。
训练时批处理集尺寸为2个样本,初始学习率为0.01,权值衰减为0 937,置信度阈值设置为0.01;设置优化器为AdamW,训练150轮。
2.3.1 计算资源消耗对比与分析 轻量化的首要目标便是降低模型的计算资源消耗。
参数量与计算量以及模型权重体积作为评价模型大小的基本指标,它们分别代表一个模型在推理或部署时的内存占用、处理器占用及存储空间占用。
对比常用的YOLOv5x、YOLOv5s、YOLOv5n模型,结果见表1。
可见在不同网络宽度与深度下,改进后的模型皆得到很好的压缩。
对比YOLOv5n,经过改进后参数量仅为原模型的5
2.9%,计算量和权重分别减少47 6%、43.6%,实现了极好的轻量化;相对YOLOv5x,改进后的参数量、计算量、权重分别缩减至原模型的39.9%、45.7%、40.1%,轻量化效果更加明显。
本研究主要探索轻量化场景,因此仅对DWshuffle-YOLOn做进一步讨论。
表1 优化模型资源消耗对比
模型
参数量
(M)计算量
(G)权重
(MB)YOLOv5x
82.3204.5173.2DWshuffle-YOLOx32.893.469.4YOLOv5s
6.716.014.4DWshuffle-YOLOs3.57.97.7YOLOv5n
1.74.23.9DWshuffle-YOLOn
0.9
2.2
2.2
2.3.2 训练收敛对比与分析 在深度学习中,训练过程中产生的指标可以用来分析和判断模型的收敛水平,是判断模型优劣的重要指标。
对原模型YOLOv5s、YOLOv5n和改进后的DWshuffle-YOLOn模型训练过程中的收敛数值进行对比分析,其中边框回归损失曲线与置信度损失曲线表示检测框拟合,分类损失曲线表示分类拟合,精确率、召回率、平均精度曲线表示训练过程中的精度变化(图7)。
由图7可知,3条损失值曲线中YOLOv5s与YOLOv5n收敛速度接近,DWshuffle-YOLOn模型收敛的相对更快,特别是在辨别标签的分类损失值曲线中大幅度领先其余2个模型,
说明DWshuffle-YOLOn模型面对水稻害虫数据时学习能力更强,且鲁棒性优秀,特别在标签分类中收敛更加迅速。
精度衡量指标精确率曲线、召回率曲线、平均精度曲线更是将3个模型的学习能力差异凸显,3个模型大体趋势相似,准确率与召回率在前几轮训练中出现大幅波动,第5轮开始稳定并上升,平均精度曲线非常平滑;DWshuffle-YOLOn模型在3类指标中都大幅度领先,YOLOv5s与YOLOv5n模型的表现与预期一致,即YOLOv5s曲线稍高于YOLOv5n
,从训练曲线中可以看出DWshuffle-YOLOn模型的学习能力与验证精度更加优秀。
2.3.3 试验结果对比与分析 为了评估改进后模型对最终结果的影响,本研究使用图像验证集对不同模型进行验证,综合评价结果见表2。
在生产活动中往往需要实时检测并判断害虫目标,因此在对比中还引入推理速度对比实时性,判断在实际场景中模型检测的效率。
由表2可知,DWshuffle-YOLOn各精度指标都远超YOLOv5s和YOLOv5n,与YOLOv5n相比精确率提升了9.9百分点,平均精度也提升了3.2
—
122—
表2 不同模型精度对比
模型精确率
(%)
召回率
(%)
平均精度
(%)
推理速度
(ms/帧)
DWshuffle-YOLOn93.391.995.218.3
YOLOv5n83.489.692.012.1
YOLOv5s88.991.494.124.1
YOLOv5x92.393.095.6219.2
百分点。
在检测效率上,DWshuffle-YOLOn介于YOLOv5n与YOLOv5s模型之间,单帧检测速度相较于YOLOv5n仅增加6.2ms,精度高于YOLOv5s且速度更快。
结合表1中的计算资源消耗对比,可见DWshuffle-YOLOn在比YOLOv5n更加轻量的情况下,识别精度远超YOLOv5n,且在各方面都优于相对体积更大的YOLOv5s;DWshuffle-YOLOn模型的各项精度指标都与大型模型YOLOv5x接近,但检测效率大幅领先,DWshuffle-YOLOn的性能与大型模型YOLOv5x相同水平下计算资源仅占用其1%。
说明DWshuffle-YOLOn作为轻量化模型拥有非常优秀的性能表现,可以精确高效地识别出水稻害虫。
本研究图像集共包含14类害虫,综合精度无法代表具体品种,因此对不同品种分别进行评价,结果见图8、表3。
由表3可知,DWshuffle-YOLOn模型对不同种类害虫都有较高精度且评价指标都大幅度高于YOLOv5n。
观察图8中的混淆矩阵可知,DWshuffle-YOLOn的错检率与漏检率明显更低,这都与表3中的初步结论一致。
从混淆矩阵中还可知,不同科害
—
2
2
2
—
表3 不同种类害虫模型识别效果
害虫
平均精度(%)
YOLOv5nDWshuffle-YOLOn
稻纵卷叶螟95.798.1
稻螟蛉91.997.1
稻潜叶蝇91.794.4
二化螟86.387.0
三化螟91.296.8
稻瘿蚊98.799.3
稻秆蝇97.799.5
褐稻虱92.597.1
白背飞虱84.589.2
灰飞虱79.180.1
稻水象甲98.899.5
稻叶蝉96.697.3
稻蓟马99.599.5
稻苞虫83.997.4
虫之间的误检率较低,同一科内误检率较高,特别是在3类飞虱(褐稻虱、白背飞虱与灰飞虱)之间出现了较大误差,其中灰飞虱的漏检与误检情况最严重,识别精度仅为80.1%。
考虑到灰飞虱形态特征与白背飞虱、褐稻虱较接近,这对模型识别提出了更高的要求,后续可以通过增加图像样本数量,丰富该种类害虫的形态特征来提升检测精度。
为测试DWshuffle-YOLOn模型在实际应用中的性能,本研究利用诱捕平台连续采集到的二化螟图像对模型进行验证。
本研究同样利用托普水稻害虫智慧性诱装备黏虫板图像对模型进行实际应用场地可视化验证,试验时间为2022年9月3—17日,图像采集地点为浙江省杭州市余杭区瓶窑镇黄鄱塘,图9
为二化螟检测数量与实际数量对比曲线。
由图9可知,模型对二化螟的识别效果较好,但在数量较少与数量较多时都出现了较大误差,对其可视化后分析其原因(图10)。
在图10-a中,黑色圈所示位置为二化螟挣脱残留的痕迹,但由于保留部分二化螟特征被误识,造成开始数天识别数量超越了实际数量,随着日期推移痕迹淡化后这部分误差消失;当天数以及诱捕目标数量增加后,便会出现如图10-b展示的情形,大量目标外昆虫与强光使图像背景变得复杂,对二化螟识别效果产生影响,造成最后几天误差的增大。
3 结论
本研究提出一种基于YOLOv5改进的轻量化水稻主要害虫识别方法,该方法根据水稻害虫基本形态设计深度可分离卷积与通道洗牌相结合的轻量级模块,并将其嵌入YOLOv5结构中。
结果表
—
3
2
2
—
明,改进后的模型参数量与计算量均缩减至原模型的50%左右,在网络设置与YOLOv5n一致的情况下最终识别平均准确度可达95.2%,相较YOLOv5n提高了3.2百分点,与YOLOv5x识别效果相当,但计算消耗仅为YOLOv5x的1%,轻量化与精度提升效果显著。
但本研究模型对部分害虫的识别精度稍显不足,考虑到或许是图像不够丰富等原因,后续可以拓展数据集,加大模型的学习量;今后也将针对多目标、小目标环境下的害虫识别进行探索,完善方法的实际应用能力,助力水稻病虫害数字化、智能化防控。
参考文献:
[1]刘万才,陆明红,黄 冲,等.水稻重大病虫害跨境跨区域监测预警体系的构建与应用[J].植物保护,2020,46(1):87-92,100.[2]LiF,XiongY.AutomaticidentificationofbutterflyspeciesbasedonHoMSCandGLCMoIB[J].TheVisualComputer,2018,34(11):1525-1533.
[3]杨丽丽,张大卫,罗 君,等.基于SVM和AdaBoost的棉叶螨危害等级识别[J].农业机械学报,2019,50(2):14-20.
[4]DengLM,WangYJ,HanZZ,etal.Researchoninsectpestimagedetectionandrecognitionbasedonbio-inspiredmethods[J].BiosystemsEngineering,2018,169:139-148.
[5]张善文,邵 ,齐国红,等.基于多尺度注意力卷积网络的作物害虫检测[J].江苏农业学报,2021,37(3):579-588.
[6]FuentesA,YoonS,KimSC,etal.Arobustdeep-learning-baseddetectorforreal-timetomatoplantdiseasesandpestsrecognition[J].Sensors,2017,17(9):2022.
[7]RezaMT,MehediN,TasneemNA,etal.Identificationofcropconsuminginsectpestfromvisualimageryusingtransferlearninganddataaugmentationondeepneuralnetwork[C]//201922ndInternationalConferenceonComputerandInformationTechnology
(ICCIT).Dhaka,2020:1-6.
[8]甘 雨,郭庆文,王春桃,等.基于改进EfficientNet模型的作物害虫识别[J].农业工程学报,2022,38(1):203-211.
[9]任胜兰,郭慧娟,黄文豪,等.基于物联网和改进Yolo-v4-tiny的智能果蝇诱捕方案[J].南京理工大学学报,2022,46(5):586-593.
[10]LinCH,ChenPH,LinC,etal.AutomaticdetectionandcountingofsmallyellowthripsonlotusleafbackbasedonYOLOcombinedwithVDSRandDPSRnetwork[C]//ProcSPIE11878,ThirteenthInternationalConferenceonDigitalImageProcessing(ICDIP2021),2021,11878:170-177.
[11]LiuY,LiuS,XuJW,etal.Forestpestidentificationbasedonanewdatasetandconvolutionalneuralnetworkmodelwithenhancementstrategy[J].ComputersandElectronicsinAgriculture,2022,192:106625.
[12]ZhangL,DuJM,DongSF,etal.AM-ResNet:low-energy-consumptionaddition-multiplicationhybridResNetforpestrecognition[J].ComputersandElectronicsinAgriculture,2022,202:107357.
[13]鲍文霞,吴德钊,胡根生,等.基于轻量型残差网络的自然场景水稻害虫识别[J].农业工程学报,2021,37(16):145-152.[14]WuXP,ZhanC,LaiYK,etal.IP102:alarge-scalebenchmarkdatasetforinsectpestrecognition[C]//2019IEEE/CVFConferenceonComputerVisionandPatternRecognition.LongBeach,2020:8779-8788.
[15]RedmonJ,DivvalaS,GirshickR,etal.Youonlylookonce:unified,real-timeobjectdetection[C]//2016IEEEConferenceonComputerVisionandPatternRecognition.LasVegas,2016:779-788.
[16]HowardAG,ZhuML,ChenB,etal.MobileNets:efficientconvolutionalneuralnetworksformobilevisionapplications[EB/OL].ArXiv,2017.https://arxiv.org/abs/1704.04861.
[17]ZhangXY,ZhouXY,LinMX,etal.ShuffleNet:anextremelyefficientconvolutionalneuralnetworkformobiledevices[C]//2018IEEE/CVFConferenceonComputerVisionandPatternRecognition.SaltLake,2018:6848-6856.
—
4
2
2
—。