基于YOLOv3深度学习算法的桑椹菌核病严重度检测方法研究与应用

2024-12-31 00:00:00朱志贤邱盼张成董朝霞张凤胡兴明于翠
湖北农业科学 2024年12期

摘要:通过对5种不同发病级别的1万张桑椹果实图像进行训练,基于YOLOv3深度学习算法并结合迁移学习法,获得桑椹菌核病严重度目标检测模型。为了验证该模型的鲁棒性,与同样采用迁移学习的EfficientDet、Faster R-CNN和YOLOv4原始模型进行了对比。结果表明,YOLOv3模型对健康果实和菌核病果实检测的平均精确率均值为0.79,比其他模型提高6.76%~54.90%,其对不同发病级别菌核病果实检测的平均精确率比其他模型提高7.04%~80.95%,查准率和查全率为最优或者次优。采用Flask+Vue技术构建的检测识别系统可在1 s内获取病害严重度、果实大小、置信度信息,也能实现对视频的动态识别,为桑椹种植中自动化病害监测和快速高效精准施药提供了可靠的软件处理平台。

关键词:桑椹菌核病;深度学习算法;迁移学习法;YOLOv3;病害严重度检测

中图分类号:TP391.41;S224;F327" " " " "文献标识码:A

文章编号:0439-8114(2024)12-0191-08

DOI:10.14088/j.cnki.issn0439-8114.2024.12.034 开放科学(资源服务)标识码(OSID):

Research and application of detection method of mulberry fruit sclerotiniose disease severity based on YOLOv3 deep learning algorithm

ZHU Zhi-xian1, QIU Pan2, ZHANG Cheng1, DONG Zhao-xia1, ZHANG Feng1, HU Xing-ming1, YU Cui1

(1. Institute of Economic Crops, Hubei Academy of Agricultural Sciences, Wuhan" 430064, China; 2. Feejoy Technology (Shanghai) Co., Ltd., Shanghai" 201506, China)

Abstract: A target detection model for mulberry fruit sclerotiniose disease severity was constructed based on YOLOv3 deep learning algorithm combined with transfer learning by training on 10 000 images of mulberry fruit with five different disease severity levels. To verify the robustness of the YOLOv3 model, comparative experiments were conducted with the EfficientDet, Faster R-CNN and YOLOv4 that also used transfer learning. The results showed that the average precision rate of the YOLOv3 model could reach 0.79 for detecting healthy fruits and sclerotinia fruit, which was 6.76%~54.90% higher than that of the other models. The average precision rate of the YOLOv3 model for detecting disease severity levels of sclerotinia fruit was 7.04%~80.95% higher than that of the other models. The detection precision rate and recall rate of the YOLOv3 model were optimal or sub-optimal. The detection and recognition system constructed by Flask+Vue technology could obtain disease severity, fruit size and confidence information within 1 s, and could also realize dynamic recognition of video. This system could provide a reliable software processing platform for automated disease monitoring and fast, efficient, and precise fungicide application during mulberry cultivation.

Key words: mulberry fruit sclerotiniose disease; deep learning algorithm; transfer learning; YOLOv3; detection of disease severity

收稿日期:2024-11-06

基金项目:国家重点研发计划支持项目(2020YFD1000700);湖北省农业科技成果转化资金项目(2024EBA009);国家现代农业产业技术体系建设专项(CARS-18-SYZ10)

作者简介:朱志贤(1987-),女,湖北武穴人,副研究员,主要从事桑树栽培与育种研究,(电子信箱)zhuzhixian@hbaas.com;通信作者,于 翠,研究员,博士,主要从事桑树栽培与育种研究,(电子信箱)mrsyu888@hotmail.com。

桑树是一种多年生经济植物,在亚洲、欧洲、美洲和非洲广泛种植,过去5 000多年里被用于丝绸产业[1],但近10多年来,以生产桑椹为主要目标的果桑产业快速发展,初步估计全国的果桑栽植面积已达15 000 hm2以上[2,3]。然而在产业发展中,桑椹菌核病来势猛、发病快,在美国[4]、韩国[5]、日本[6]以及中国果桑种植区普遍发生,发病率高达30%~90%[2,7],有些地方果桑园因病害导致桑果绝产,给果桑产业造成毁灭性危害[8]。如何快速精准识别该病害,并对症下药,将直接影响果桑的质量与产量。

随着计算机视觉技术的快速发展,基于计算机视觉的病虫害自动化识别研究也较多[9]。Liu等[10]在深度卷积神经网络(CNN)理论最新研究成果的基础上,结合番茄灰叶斑图像的特点,提出了一种计算能力需求小、物体检测效果稳定的小型网络架构,即MobileNetv2-YOLOv3,所提出的模型在提高检测精度的同时提高了检测速度,最大限度地减小了网络模型的体积,同时开发了番茄灰叶斑病图像检测移动终端应用,实现对该病的实时检测。针对植物叶片病害检测和分类的难点,Wang等[11]提出了新型植物叶片病害检测方法Deep block attention SSD(DBA_SSD),将其与经典目标检测算法YOLOv4、YOLOv3、Faster R-CNN 和 YOLOv4 tiny 进行比较和分析,发现DBA_SSD在对比分析中的性能优于其他目标检测算法,可用于苹果、番茄、草莓、辣椒等植物叶片的病害识别和病害程度分类。Wang等[12]提出基于MobileNetv2-YOLOv3 模型的多尺度并行算法MP-YOLOv3,采用并行检测算法有效提高了番茄灰霉病的检测性能,同时保证了算法的实时性,所提出的算法能够在真实的自然环境中准确、实时地检测出番茄灰霉病,在自建的番茄灰霉病检测数据集上,F1得分和平均精度分别达95.6%和93.4%。Zhu等[13]提出了用于检测葡萄叶片黑腐病的改进型YOLOv3-SPP模型,对葡萄叶片黑腐病的检测准确率为95.79%,检测召回率为94.52%。侯发东[14]仿照AlexNet模型搭建了5个卷积层和2个全连接层和1个 Softmax分类层的模型结构,使用该模型对棉花叶部6种病害进行分类研究,得到最大的测试分类准确率为87.64%。陈洋[15]基于VGG-16对CNN提取的特征进行Bilinear处理,得到Multi-Branches B-CNN模型,其分类准确率在全球AI挑战赛提供的实景拍摄植物叶片病害数据集(共61 个分类,包括10种农作物的27种病害)检测中达89.2%。柴帅等[16]利用已经训练成熟的VGG-19模型优化番茄病虫害检测模型的参数,再将参数进行迁移学习,并提取出番茄病虫害叶片图片的多层特征图,然后将提取出的番茄病虫害叶片的图片特征导入SVM分类器学习来完成图片的分类任务,结果显示分类正确率达80%以上。吴健宇[17]基于AlexNet和Inception提出了改进的CNN进行病虫害种类识别,识别准确率达90%以上。陈天娇等[18]以测报灯下害虫图像数据库(约18万张)、田间病虫害图像数据库(约32万张)为基础,构建了基于深度学习方法的病虫害种类特征自动学习、特征融合、识别和位置回归计算框架,并研发了移动式病虫害智能化感知设备和自动识别系统,结果显示,该系统在自然状态下对16种灯下常见害虫的识别率为66%~90%,对38种田间常见病虫害(症状)的识别率为50%~90%。以上研究表明,以YOLOv3和Faster R-CNN为代表的深度学习算法在植物病害检测中是可行的,且各有优缺点。

运用信息化、智能化的技术对生长过程中的桑果进行病害等级识别分类,从而实时监测桑椹果园的发病情况,对后续桑椹菌核病精准防治和精准施药具有重要的意义。桑椹目标检测及其病害严重程度等级分类问题在计算机领域中归为目标检测问题。其本质是在给定的图片中精确地找出桑椹果实所在的位置,并识别出该桑椹果实病害的严重度类别。但区别于一般农作物的单目标图像分类,桑椹菌核病严重度检测属于多目标检测,检测困难度增加。且因桑椹果实在其生长周期内,未成熟和成熟的果实、发病和未发病的果实在形状形态及纹理上均有很大的相似之处,与不同农作物之间的识别检测或不同害虫之间的识别检测(图形学特征差别较大)有着很大的区别,其识别检测更困难。桑椹果实在生长中,往往果实层叠在一起,加大了识别果实大小和位置的难度。此外,传统桑椹菌核病识别通常采用人工方式进行,效率低,成本高。针对以上问题,本研究通过YOLOv3深度学习算法并结合迁移学习法开发了桑椹果实菌核病严重度检测系统,以实现桑椹种植过程中菌核病发生情况的实时监测。

1 试验数据

1.1 数据集描述

试验所用桑椹照片及视频主要采集于湖北省农业科学院和孝感市农业科学院果桑种植基地,将桑椹菌核病严重度分为以下5个级别(图1):DS0,正常果实;DS1,1级病果,发病小核果占整个果实的比例≤20%;DS3,3级病果,发病小核果占整个果实的20%~50%;DS5,5级病果,发病小核果占整个果实的50%~90%;DS7,7级病果,发病小核果占整个果实的90%~100%。

1.2 图像预处理

经过视频图片提取、随机抽取和人工筛选(剔除过于模糊以及重复度较大的图片),然后使用Labelimg软件对桑椹果实图片进行人工标注(图2),形成图片和标签数据集,最终形成了约10 000张图片用作深度学习算法模型的训练和验证、12 880张图片作为模型检测效果测试数据集。

2 试验方法

2.1 试验环境

试验用操作系统为Windows10,处理器为AMD R7-3700X 8核16线程,内存为64 GB,配备Nvidia RTX3090 24 GB GPU。使用Python 3.8与Pytorch 1.9深度学习框架,图像处理使用PIL图像库,同时使用CUDA 11.3显卡加速运算。

2.2 迁移学习

由于硬件算力、学习率函数、学习率初始值等超参数设置等原因,重头自训练主干网络通常需要大量的时间,且训练得到的模型参数效果不一定比预训练模型的效果好。为了使本次桑椹果实检测模型加快收敛并具有更强的泛化能力,选择迁移学习,并采用在Pascal VOC2007数据集上预训练的Darknet53模型的权重文件。Pascal VOC2007是衡量图像分类识别能力基准的标准数据集。数据集共包含20个类别共计9 963张图像。

本试验保留了Darknet53模型的卷积层结构,修改了13×13、26×26、52×52三种检测头的最后一层网络,将最后一层卷积核的通道数量从75修改为30,因此检测头的预测输出通道由3×(4+1+20)变为了3×(4+1+5)。训练时,为了不改变Darknet53主干网络的权值,首先冻结主干网络,训练检测头;待收敛后,解冻主干网络,训练模型的全部网络。

2.3 模型参数设置

模型训练首先冻结主干网络,每次训练选取的样本数量为8,共1 250次,进行30次迭代训练,使用Adam优化算法和StepLR学习率衰减策略,初始学习率为0.001,调整间隔为1个迭代周期,调整倍数为0.92,即每次迭代训练之后,如果模型性能没有提升,学习率则降低为原来的0.92倍;完成之后再解冻主干网络,设置初始学习率为0.000 1,其余参数保持不变,继续进行30次迭代训练。

2.4 YOLOv3模型结构

YOLO(You only look once)是一种端到端的目标检测模型。该算法的基本思想是将图像划分成多个网格,然后同时预测每个网格的边界框并给出相应概率。如果某个待检测目标的中心落在图像中所划分的一个单元格内,那么该单元格负责预测该目标位置和类别。YOLOv3是YOLO算法改进后的第三个版本,同时具备较快的检测速度和较高的检测精度[19]。其核心模块主要包含Darknet53主干特征提取网络、上采样堆叠以及损失函数。图3为YOLOv3模型的网络结构。

2.5 YOLOv3模型检测流程

首先将图像分辨率转换为416×416,然后输入Darknet53主干特征提取网络结构,提取3种不同尺度的图像特征,其次预测每个特征层的目标边界框、概率和类别,再次对所有预测出的目标边界框的位置和得分进行非极大值抑制筛选,最后输出最终预测结果。

2.5.1 Darknet53网络提取图像特征 YOLOv3中采用Darknet53作为主干网络, Darknet53拥有53个卷积层结构,每个卷积层由一个Conv2D二维卷积层、一个BatchNorm正则化层和一个LeakyReLU激活层构成(图4)。从图4可以看出,Darknet53由重复堆叠下采样卷积+N*残差块(N为残差块的个数)组成。每个残差块由两条支路组成,一条支路将上一层输出的特征图进行1×1卷积和3×3卷积操作,另一条支路将上一层输出的特征图进行恒等映射,二者相加得到新的特征层。

2.5.2 采用检测头对特征进行检测 YOLOv3的YOLO_Head检测头结构(图5)由1×1卷积层和3×3卷积层交替使用,1×1卷积操作用来减少通道数,3×3卷积操作用来提取特征并增加通道数,整体特征图的宽高保持不变。像素为13×13(宽×高)的特征图由YOLO_Head1检测输出为13×13×75的结果;像素为26×26(宽×高)的特征图由YOLO_Head2检测输出为26×26×75的结果;像素为52×52(宽×高)的特征图由YOLO_Head3检测输出为52×52×75的结果。

上述这些检测结果还需要进一步解码。YOLOv3的预测原理是分别将整幅图分为13×13、26×26、52×52的网格,每个网络点负责一个区域的检测。YOLOv3网络在3个特征图中分别通过(4+1+c)×k个大小为1×1的卷积核进行预测,k为预设边界框(bounding box prior)的个数(在每个预测特征层中k默认取3),c为预测目标的类别数。

以13×13网格为例,YOLO_Head1输出的结果为13×13×75=13×13(4+1+20)×k,其中等式右边括号内的4为[tx]、[ty]、[tw]、[th] 4个值,([tx,ty])是目标中心点相对于该点所在网格左上角的偏移量,([tw],[th])是预测边框的宽和高;1为[pobj],用来计算预测边框内有目标物体的概率;20为20个不同类别的[pclass],用来计算每个目标种类的概率(图6)。

假定先验框中心所在网格的左上角坐标为([Cx],[Cy]),先验框的宽和高为([pw],[ph]),预测结果值解码的计算式如图6所示。预测边界框中心的坐标位置为[bx=σ(tx)+Cx],[by=σ(ty)+Cy],其中[σ]为Sigmoid激活函数;预测边界框的宽和高分别为[bw=pwetw],[bh=pweth];预测边界框内有无目标的置信度为[Pobj=σ(pobj)];20个class目标类别,每个类别的置信度分别为[Pclass=σ(pclass)]。表1给出了3个预测层的特征图大小以及每个特征图上预设边界框的位置和大小。

2.5.3 筛选预测结果 筛选最大概率的预测结果:取出每类得分大于一定阈值的框和得分进行排序;利用框的位置和得分进行非极大抑制;选取概率最大的边界框。结果如图7所示。

3 结果与分析

为了验证YOLOv3模型的效果,在相同参数设置下将该模型与同样采用迁移学习的Faster R-CNN[20]、EfficientDet[21]、YOLOv4[22]原始模型进行比较。

3.1 精确率对比

精确率(Precision)表示在预测为正样本的数据中为真正正样本的概率,即查准率,计算式如下。

[P=TPTP+FP] " (1)

式中,P为精确率,TP+FP为所有预测为正样本数据的总个数,TP为预测正确的正样本个数。如图8所示,YOLOv3模型对健康果实的平均精确率、菌核病果实的精确率以及平均精确率的预测效果均为最优。

3.2 召回率对比

召回率(Recall)表示在总的正样本中模型识别的正样本,即查全率,计算式如下。

[r=TPTP+FN] " (2)

式中,r为召回率,TP+FN为所有正样本数据的总个数,TP为预测正确的正样本个数。如图9所示,YOLOv3模型的平均召回率略低于FasterRCNN模型,但优于其他模型。

3.3 平均精确率和平均精确率均值对比

使用积分的方式来计算PR(Precision recall)曲线与坐标轴围成的面积,计算式如下。

[AP=01P(r)dr]" (3)

式中,AP为平均精确率。在目标检测中,一个模型通常会检测很多种物体,那么每类都能计算出一个AP,而多个类别AP的平均值即为mAP(平均精确率均值)。

AP衡量的是模型分别在每个类别上的好坏,mAP衡量的是模型在所有类别整体上的好坏。二者的范围为[0,1],越接近1则模型效果越好。如图10所示,YOLOv3模型对健康果实和菌核病果实检测的mAP为0.79,YOLOv4为0.70,EfficientDet为0.51,Faster R-CNN为0.74,YOLOv3模型的mAP分别比YOLOv4、EfficientDet和Faster R-CNN模型提高12.86%、54.90%和6.76%。YOLOv3模型对菌核病果实识别的AP为0.76,YOLOv4为0.64,efficientdet为0.42,fasterrcnn为0.71,YOLOv3模型对菌核病果实识别的AP分别比YOLOv4、EfficientDet和Faster R-CNN模型提高18.75%、80.95%和7.04%。YOLOv3模型的AP以及mAP均超越了其他模型。

3.4 YOLOv3模型对不同发病级别菌核病果实检测效果对比

YOLOv3模型在精确率、召回率、平均精确率以及F1分数上均有着较为相似的分布。从总体上看,YOLOv3对各等级桑果的检测效果得分(F1分数)表现为DS0=DS7 gt; DS5 gt; DS3 gt; DS1(图11)。经分析,造成此类规律的原因可能是在训练和测试的样本中,健康桑果的样本量较大,而最轻微发病的DS1病果的样本量较小,所以识别效果得分较低。而且从桑果纹理及色泽上,DS1病果大多与健康桑果极为相似,仅有局部细微的差别。

3.5 桑椹菌核病严重度检测识别系统

基于该算法模型,开发了桑椹菌核病严重度检测识别系统。系统采用Flask+Vue技术进行前后端开发。Flask是基于Python语言的Web后端开发框架,Vue是基于Javascript语言的用户界面前端开发框架。系统开发和部署流程如图12所示。

识别检测模块是该系统的核心功能,随机选择一张桑果图片进行测试,检测结果如图13所示,包含了所有桑椹菌核病的严重程度、桑果的大小、置信度。为方便实时监控和快速精准防控桑椹菌核病,该系统也实现了针对桑椹视频的检测,可即时检测桑椹菌核病的严重程度、桑果大小、置信度等信息。

4 结论

针对桑椹菌核病严重度人工检测效率低下的问题,提出采用YOLOv3模型进行自动化检测,使用在Pascal VOC2007数据集上预训练的Darknet53模型权重进行迁移学习,并与EfficientDet、Faster-RCNN、YOLOv4三种原始模型进行了对比试验。经对比,YOLOv3模型的平均精确率均值(mAP)相对其他模型提高了6.76%~54.90%,其针对不同发病级别病果的平均精确率相对其他模型提高了7.04%~80.95%,查准率和查全率为最优或者次优。因此,YOLOv3模型针对桑果菌核病检测具有较好的鲁棒性和可靠性。同时基于YOLOv3模型开发了一款在线桑椹菌核病检测识别系统,该系统可对拍摄的桑果图像和视频进行识别,为桑椹种植中实现自动化病害监测和快速精准施药提供了可靠的软件处理平台。

参考文献:

[1] JIAO F, LUO R, DAI X, et al. Chromosome-level reference genome and population genomic analysis provide insights into the evolution and improvement of domesticated mulberry(Morus alba)[J]. Molecular plant, 2020, 13(7): 1001-1012.

[2] 蒯元璋,吴福安.桑椹菌核病病原及病害防治技术综述[J].蚕业科学, 2012, 38(6): 1099-1104.

[3] ZHU Z, YU C, DONG Z X, et al. Phylogeny and fungal community structures of helotiales associated with sclerotial disease of mulberry fruits in China[J]. Plant disease, 2024, 108(2): 502-512.

[4] GRAY E, GRAY R E. Observations on popcorn disease of mulberry in south central Kentucky[J]. Castanea the journal of the Southern Appalachian Botanical club, 1987, 52(1): 47-51.

[5] JU W T, KIM H B, SUNG G B, et al. Mulberry popcorn disease occurrence in Korea region and development of integrative control method[J]. International journal of industrial entomology, 2016," "33(1): 36-40.

[6] SHIMANE T. Relationship between ascospore dispersal of Ciboria shiraiana and development of popcorn disease of mulberry [Morus] fruits[J]. Acta sericologica et entomologica, 1994, 7:27-36.

[7] 吕蕊花,金筱耘,赵爱春,等.果桑肥大性菌核病菌和油菜菌核病菌的交叉侵染、生物学特性及遗传关系[J].作物学报, 2015," " 41(1): 42-48.

[8] 朱志贤,董朝霞,莫荣利,等.桑椹肥大型菌核病化学防治技术研究[J].果树学报, 2022, 39(7):1262-1270.

[9] TIAN Y, YANG G, WANG Z, et al. Detection of apple lesions in orchards based on deep learning methods of CycleGAN and YOLOv3-dense[J]. Journal of sensors, 2019, 157:417-426.

[10] LIU J, WANG X. Early recognition of tomato gray leaf spot disease based on MobileNetv2-YOLOv3 model[J]. Plant methods, 2020, 16: 1-16.

[11] WANG J, YU L, YANG J, et al. DBA_SSD: A novel end-to-end object detection algorithm applied to plant disease detection[J]. Information, 2021, 12(11): 474.

[12] WANG X, LIU J. Multiscale parallel algorithm for early detection of tomato gray mold in a complex natural environment[J]. Frontiers in plant science, 2021, 12: 620273.

[13] ZHU J, CHENG M, WANG Q, et al. Grape leaf black rot detection based on super-resolution image enhancement and deep learning[J]. Frontiers in plant science, 2021, 12: 695749.

[14] 侯发东.基于卷积神经网络的棉花叶部病虫害自动识别研究[D].山东泰安: 山东农业大学, 2020.

[15] 陈 洋.基于卷积神经网络的农作物病虫害图像分类研究[D]. 南昌: 江西农业大学, 2019.

[16] 柴 帅,李壮举.基于迁移学习的番茄病虫害检测[J].计算机工程与设计, 2019, 40(6):1701-1705.

[17] 吴健宇.基于深度卷积神经网络的农作物病虫害识别及实现[D].哈尔滨:哈尔滨工业大学,2019.

[18] 陈天娇,董 伟,曾 娟,等.基于深度学习的病虫害智能化识别系统[J].中国植保导刊,2019,39(4):26-34.

[19] REDMON J,FARHADI A.YOLOv3:An incremental improvement[J/OL]. https://doi.org/10.48550/arXiv.1804.02767.

[20] REN S, HE K, GIRSHICK R, et al. Faster R-CNN: Towards real-time object detection with region proposal networks[J]. IEEE transactions on pattern analysis amp; machine intelligence, 2017," " 39(6): 1137-1149.

[21] TAN M X, PANG R M, LE Q V. Efficientdet: Scalable and efficient object detection[A].Proceedings of the IEEE/CVF conference on computer vision and pattern recognition[C]. IEEE, 2020.10781-10790.

[22] YU J, ZHANG W. Face mask wearing detection algorithm based on improved YOLO-v4[J]. Sensors, 2021, 21(9): 3263.