金彬 解祥新
作者简介:金彬(1995— ),男,江苏南通人,助教,硕士;研究方向:机器视觉,人工智能。
摘要:为了降低葡萄果园的管理成本,及时发现并预防葡萄病害,文章提出了一种基于改进YOLOv4模型的葡萄叶片病害检测与识别算法。该算法对传统YOLOv4模型进行了改进,针对细粒度、多尺度的葡萄葉片早期疾病检测优化了检测速度和准确性,并应用于真实环境中的实时检测。在检测时间为18.31 ms时,该检测模型的平均准确率(mAP)和F1得分分别达到90.4%和94.8%。总体检测结果表明,当前算法的性能显著优于现有的检测模型,精度提高了7.8%,F1分数提高了6.6%。该模型可作为一种检测复杂现实情景下葡萄叶片病害的有效方法。
关键词:实时目标检测;葡萄叶病;卷积神经网络;计算机视觉
中图分类号:TP311 文献标志码:A
0 引言
植物病虫害是造成生态和农业损失的重要原因,及时发现和预防各种植物病害是提升农场和果园农业收益的关键。当下仍有不少果园采用传统人工排查诊断的方法,效率低下,管理成本高[1]。近年来,随着计算机视觉在精准农业技术中的进步,机器视觉的病害检测应用大大提高了作物病害检测的效率,为作物产量的提高作出了重要贡献。
1 现有模型的应用局限
植物病害的早期识别和预防是作物收获的重要环节,可以有效减少生长障碍,从而最大限度地减少农药的使用,实现无公害作物生产。王权顺等[2]将传统机器学习方法用于植物和疾病分类和检测。然而,此类方法在实时疾病检测中的性能和速度较低,也无法适应具有不均匀复杂背景的现实生活检测场景,而深度学习可以很好地解决机器视觉在这方面的问题,并且已被应用在诸如作物和水果的分类、图像分割及品种检测中。
其中,CNN模型可以对输入的图像直接提取特征,从而避免了复杂的预处理流程,因此性能比较突出,使用范围较广[3]。基于CNN的目标检测模型大致可以分为两类:一阶检测器和二阶检测器。二阶检测器需要做两件事:分类和定位,也因此检测时间较长。而一阶检测器YouOnlyLookOnce(YOLO)算法,将目标分类和定位统一为回归问题,通过回归来检测目标,检测速度大幅提升。本文采用改进的YOLOv4算法进行葡萄叶片的病害检测,具有较高的精度和准确度。
葡萄是一种经济价值较高的水果产物,是不少果园经营者的主要经济来源之一。然而,葡萄病害是葡萄生产过程中的一个主要问题,其严重影响了葡萄的产量和质量。常见的病害可以通过葡萄叶片的现象反映出来,在染病初期发现病害并及时采取措施可以有效防治葡萄的多数病害。然而,由于细粒度的多尺度分布、病害与背景颜色纹理的相似性、病害形态的多样性,葡萄叶片病害的早期实时检测仍然具有挑战性。此外,复杂的背景,包括重叠的叶子和土壤、真实环境中光线的变化以及其他一些因素,导致高精度检测葡萄叶片病害的任务十分艰巨[4]。现有的检测模型无法实现高准确性的同时还具备较高的实时检测速度。
2 改进的YOLO模型提出
本研究提出一种基于改进YOLOv4的葡萄叶片病害检测与识别算法,以解决传统方法存在的问题,同时提高检测的准确性和效率。通过引入DenseNet块,将CSPDarkNet53修改为Dense-CSPDarkNet53,以改进小目标检测的特征传输和重用。为了优化冗余并降低计算成本,通过修改卷积块来减少网络层数。改进的路径聚合网络(PANet)也被用来保留细粒度的定位信息并增强多尺度语义信息的特征融合。此外,所提出的模型中空间金字塔池块的集成增强了感受野。更改网络主要激活函数,提高特征学习能力进而提高识别准确率。为了防止训练过程中的过度拟合并提高鲁棒性,采用了数据增强,将数据集进行了扩充[5]。该模型可以在复杂的农业环境下自动检测不同大小的葡萄叶片出现的不同病害的判别特征。实验结果表明,该算法优于原始YOLOv4模型,具有较高的准确率和鲁棒性,可以为葡萄病害的预防和控制提供有力的支持。
3 改进的YOLO模型建立
YOLOv4是一种高精度的单阶段目标检测模型,通过生成边界框坐标和每个类对应的概率,将目标检测任务转化为回归问题。在目标检测过程中,输入图像被分为N×N均匀相等的网格。该模型将生成B个预测边界框和相应的置信度。当目标类的真实值的中心落在指定的网格内时,它会检测到特定对象类的目标。每个网格用每个目标类的置信度分数和相应的C类条件概率来预测B个边界框。置信度得分可以表示为:
confidence=pr(object)×IoUtruthpred,∑pr(object)∈0,1(1)
当目标类落入YOLO网格内时,pr(object)=1,否则,pr(object)=0。参考和预测边界框之间的重合由下式描述:IoUtruthpred。这里,IoU是交集与并集的比值,称为交并比。pr(object)的值表示在网格内检测到目标类时边界框预测的准确性。在获得最终边界框之前,通过非极大值抑制算法过滤每个尺度的最佳边界框预测。
然而,原始YOLOv4模型在检测葡萄叶片的不同病害时,存在病害密集、细粒度、多尺度分布、病区几何形态不规则、病害同时发生等问题[6]。同一片叶子和复杂的背景,极大地影响了检测精度,导致大量漏检和错误的目标预测。为了解决上述问题,本文提出了基于YOLOv4算法的改进版本,以提高葡萄叶片病害的检测效率和准确性。改进的网络模型架构如图1所示,主干网络用于特征提取,颈部用于提取特征的语义表示,头部用于预测。
在目标检测过程中,YOLOv4算法减少了神经网络中的特征映射。为了结合更多的特征信息,在传播过程中采用密集块网络结构实现了特征的保存与前级特征的重用,密集块网络结构使得每一层都以前馈模式连接到其他层。网络块的主要优点是第n层能够从所有输入接收所需的特征信息Xn,可以表示为Xn=Hn[X0,X1,…,Xn-1],由于图像数据集的复杂性,密集的块在整个神经网络中促进了更好的特征传输和梯度,也能在一定程度上减轻过拟合。因此,在提出的模型中,用DB1-CSP1、DB2-CSP2、DB3-CSP4、DB4-CSP4和DB5- CSP2替换原CSPDarknet53中CSP1、CSP2、CSP8、CSP8和CSP4,通过增加密集的连接块,以增强特征的传播,减少卷积块,以减少冗余特征操作的数量,提高计算速度。所提出的密集块网络结构示意图如图2所示。
目标检测模型的一个重要方面是为特定问题选择适当的激活函数,以提高神经网络的准确性和性能。为了增强网络梯度流的稳定性,帮助在检测模型中学习更多的表达特征,提出的模型使用了Mish激活函数[7],可以表示为:f(x)=x×tanh(softplus(x))=x×tanh(ln(1+ex))。此外,由于Mish具有独特的无界性和下有界性,它有助于消除输出神经元的饱和问题,改进网络正则化。经过验证,使用Mish作为主要激活函数,在自定义模型数据集中精度有明显的提高。
4 验证结果
原始数据集中,共有1 600张,包括3种葡萄病害的叶片图片各400张,健康葡萄叶片400张。利用图像增强程序,将数据集扩展到4 800张,作为本研究的自定义数据集。针对自定义数据集,使用LabelImg脚本进行标注,文件包含了训练数据集中图像标注时 的目标类信息和相应的边界坐标。从自定义数据集中,按照3∶1∶1的比例构建训练集、验证集和测试集。为了提高所提出的检测模型对葡萄不同生长阶段的病害识别准确性,规定输入512×512大小的3通道图像,设定batch大小为16,学习率最低0.001。
为了比较所提出的检测模型的总体性能,本研究将IoU、F1-score、mAP、最终验证损失和平均检测时间与YOLOv3和YOLOv4进行了比较,如表1所示。对比IoU,发现该模型的IoU值最高,为0.915,比原始YOLOv4模型高出6.2%。因此,与其他两种模型相比,所提出的检测模型具有更好的边界框检测精度。该模型的F1评分为0.948,mAP为0.904,比YOLOv4提高了6.6%和7.8%。此外,比较了3种模型的平均检测时间,测试结果表明YOLOv4的检测时间最低,为15.721 ms。该模型的检测时间高于YOLOv4模型,检测时间为18.313 ms。
当PR曲线下的面积在所有3个模型中最高时,所提出的模型对于特定召回的精度值更高。与YOLOv3和YOLOv4检测模型相比,所提出的模型显著提高了测试数据集的总体精度、查全率和F1得分,在精度和准确度上都明显优于YOLOv3和YOLOv4,代价仅是降低少许检测速度。由此,可以得出所提模型的性能和精度得到了显著提高。
5 结语
综上所述,本研究基于改进的YOLOv4算法开发了一个实时目标检测框架,并将其应用于葡萄叶的病害检测。本研究对该模型进行了改进,以优化其准确性,并通过在复杂的果园情景下检测疾病进行验证。在检测帧率为54.6FPS的情况下,该算法的平均精度(mAP)值为91.5%,F1分数为94.8%。与原YOLOv4模型相比,该模型的精度提高了7.8%,F1分数提高了6.6%,表明在实时现场应用中具有较强的检测性能潜力。
参考文献
[1]陈道怀,汪杭軍.基于改进YOLOv4的林业害虫检测[J].浙江农业学报,2022(6):1306-1315.
[2]王权顺,吕蕾,黄德丰,等.基于改进YOLOv4算法的苹果叶部病害缺陷检测研究[J].中国农机化学报,2022(11):182-187.
[3]傅云龙,梁丹,梁冬泰,等.基于机器视觉与YOLO算法的马铃薯表面缺陷检测[J].机械制造,2021(8):82-87.
[4]雷建云,叶莎,夏梦,等.基于改进YOLOv4的葡萄叶片病害检测[J].中南民族大学学报(自然科学版),2022(6):712-719.
[5]储鑫,李祥,罗斌,等.基于改进YOLOv4算法的番茄叶部病害识别方法[J].江苏农业学报,2023(5):1199-1208.
[6]刘阗宇,冯全,杨森.基于卷积神经网络的葡萄叶片病害检测方法[J].东北农业大学学报,2018(3):73-83.
[7]邹翔翔.基于深度卷积神经网络的面部表情识别研究[D].南京:南京邮电大学,2023.
(编辑 王永超)
Grape leaf disease detection and recognition algorithm based on improved YOLOv4
Jin Bin, Xie Xiangxin
(Computer and Information Engineering Department, Nantong Institute of Technology, Nantong 226002, China)
Abstract: In order to reduce the management cost of grape orchards and timely detect and prevent grape diseases, this paper proposes a grape leaf disease detection and recognition algorithm based on an improved YOLOv4 model. The traditional YOLOv4 model has been improved to optimize detection speed and accuracy for fine-grained and multi-scale early disease detection of grape leaves, and applied to real-time detection in real environments. At a detection time of 18.31 ms, the average accuracy (mAP) and F1-score of the detection model reached 90.4% and 94.8%, respectively. The overall detection results indicate that the current algorithm performs significantly better than existing detection models, with an accuracy improvement of 7.8% and an F1-score improvement of 6.6%. This model can serve as an effective method for detecting grape leaf diseases in complex real-world scenarios.
Key words: real-time object detection; grape leaf disease; convolutional neural network; computer vision