Detection and Identification of Apple Leaf Disease Based on the Improved YOLOv5s
Apples are a popular and nutritious fruit, and the market demand continues to grow. However, apple leaf disease seriously threatens the yield and quality of apples. Accurate and rapid identification of diseases is particularly important for the development of apple industry. Therefore, this paper uses YOLOv5s model to build an improved disease detection and identification model. By introducing SE attention mechanism, Res2Net and decoupling detection head structure, the attention, receptive field and detection effect of the model are improved. Methods to improve accuracy and performance in apple leaf disease detection were explored. The YOLOv5s-SRD model was constructed, and the accuracy, recall rate and average detection accuracy reached 84.8%, 83.3% and 86.0% respectively, which were 1.3%, 1.5% and 1.8% higher than the original model respectively, with the significant improvement effect and the model detection effect was good. It is helpful for the detection and identification of apple leaf disease, so as to increase the apple yield.
Apple Leaf Disease
苹果叶片病害的种类繁多
李辉等
虽然现有的深度学习算法在苹果叶片病害检测中取得了一定的成果,但仍存在一定的局限性,需要进行进一步的改进和完善。在众多深度学习技术中,YOLOv5s以其高效性、轻量级、高准确性等优点,在计算机视觉领域具有莫大的潜力
本次实验研究数据集来源于飞桨AI Studio深度学习平台的公开数据集,共有8种不同类别的苹果叶片图像,其中包含健康(Health)的苹果叶片图像和患有斑点落叶病、褐斑病、蛙眼叶斑病、灰斑病(Grey spot)、花叶病、锈病、黑星病的苹果叶片图像。苹果叶片病害样例如
图1. 苹果叶片病害图像
由于原始数据集存在不同种类的病害图像分布不均、图像质量较低等情况,首先对图像进行了筛选,去除了目标特征模糊以及相似性高的图像,最后保留原数据集图像总计10,780张,其中健康叶片图像1673张,患有斑点落叶病图像1428张,患有褐斑病图像2016张,患有病青蛙眼病图像847张,患有灰斑病图像1113张,患有花叶病图像1204张,患有锈病图像1561张,患有黑星病的苹果叶片图像938张。
在本次实验中,为了提高模型的泛化能力和准确性,丰富苹果叶片病害数据集的多样性和复杂性,对样本数量进行了有效的扩增。采用的数据增强操作主要有随机旋转、平移、倍增亮度、拉普拉斯噪声和图像翻转等。最终构建了本实验所用的苹果叶片病害数据集,总计20,020张图像。选用LabelImg对图像数据进行标签标注。通过使用LabelImg对处理好的数据集图像进行标注后得到了8种类别标签,分别是健康(Healthy)、链格孢属叶斑病/斑点落叶病(Alternaria boltch)、褐斑病(Brown spot)、蛙眼叶斑病(也叫青蛙眼病) (Frogeye leaf spot)、灰斑病(Grey spot)、花叶病(Mosaic)、锈病(Rust)、黑星病(Scab)。
YOLOv5是目前应用较为广泛的一种目标检测的模型
SE注意力机制
首先进行转型,如
(1)
其中, 为输入特征图; 为输出特征图;V表示学习到的一组滤波器核;Vc指的是第c个滤波器的参数; 表示一个2D的空间核; 表示卷积操作。
然后进行全局信息嵌入,将特征图进行全局平均池化,生成一个 的向量,这样每个通道让一个数值表示。公式如(2)所示:
(2)
其中,zc为z的第c个元素。
再然后做自适应重新校正,通过两层全连接层完成,通过权重W生成我们我所要的权重信息,其中w是通过学习得到的,用来显示建模需要的特征相关性,公式如(3)所示:
(3)
通过两个全连接层W1、W2对上一步得到的向量z进行处理,得到我们想要的通道权重值s,经过两层全连接层后,s中不同的数值表示不同通道的权重信息,赋予通道不同的权重。
最后进行重新加权,将前面得到的注意力权重加权到每个通道的特征上。生成权重向量s对特征图U进行权重赋值,得到我们想要的特征图 其尺寸大小与特征图U完全一样,SE模块不改变特征图的小大,公式如(4)所示:
(4)
通过生成的特征向量 与特征图 ,对应通道相乘,即特征图U中每个通道的 个数值都乘s中对应通道的权值。
Res2Net是在ResNet模型基础上提出的一种新的模块,它的核心思想是将ResNet中的卷积分解成多个子模块,每个子模块可以利用更多的特征信息,从而增强了网络的表达能力。与ResNet相比,Res2Net的主要优势在于它能够更好地捕捉不同尺度的特征信息。如
如
在目标检测的定位和分类任务中,存在空间错位(spatial misalignment)的问题,即两个任务所聚焦和感兴趣的地方不同
如
为了评估模型的性能,本次实验使用了精度(P)、召回率(R)和平均精度(mAP)作为判断模型性能的评价指标
(5)
(6)
(7)
(8)
其中,TP是预测为正类的阳性样本数;FP是预测为正类的负样本数;FN是预测为负类的正样本数;P表示准确率(precision, P),表示预测为正确的正样本数(TP)与模型预测的总样本数(TP + FP)之比;R表示召回率(recall, R),表示预测为正确的正样本数与总标签数(TP + FN)之比;AP是PR曲线下方的区域。mAP是每个类别的平均AP值,即平均精度,mAP值越大表示模型性能越好(本文中的mAP均指平均精度)。n表示对象检测中的类别数。在本文中,n = 3。
实验使用的计算机的GPU是RTX4 090 (24 GB)*1。CPU是12vCPU Intel(R) Xeon (R)Platinum8 352V CPU@2.10 GHz。PyTorch版本为1.11.0,Python版本为3.8,CUDA版本为11.3。
模型训练时选用官方提供的YOLOv5s.pt作为预训练权重进行训练,数据集选用自己筛选、标注并进行增强操作后的葡萄叶片病害数据集,标签格式为TXT格式,输入图像大小为640*640,批量大小为16,迭代次数为600,设置初始学习率为0.01。
SE注意力通过对通道维度进行自适应的特征重标定,可以使网络更加关注重要的特征,从而提高模型的表达能力和性能。所以本文将其引入到YOLOv5s算法中。
通过实验发现,改进后的模型效果优于YOLOv5s原始模型。实验结果如
模型 |
精确率(%) |
召回率(%) |
平均精度(%) |
YOLOv5s |
83.5 |
81.8 |
84.2 |
YOLOv5s-SE |
88.3 |
79.2 |
85.7 |
从
Res2Net能够更好地捕捉不同尺度的特征信息,因此本文中将Res2Net加入YOLOv5的颈部网络中来提升模型检测效果。Neck部分改进对比见
为了验证Neck部分改进的效果,使用Res2Net结构,改进后的算法称为YOLOv5s-Res2Net。将改进后的算法和原来的YOLOv5s算法进行比较,实验结果如
模型 |
精确率(%) |
召回率(%) |
平均精度(%) |
YOLOv5s |
83.5 |
81.8 |
84.2 |
YOLOv5s-Res2Net |
87.1 |
80.7 |
85.0 |
从
为了分别提取目标位置和类别信息,并通过不同的网络分支进行学习来提升检测效果,本文为YOLOv5s模型添加了解耦头结构。Head部分改进对比如
在YOLOv5s的网络结构中,可以添加一个解耦头的分支。该分支可以使用适当的卷积层和激活函数来提取特定的类别或属性信息,将输出特征图分解为不同的通道。为YOLOv5模型添加解耦头后判断其对模型检测性能的影响,结果如
模型 |
精确率(%) |
召回率(%) |
平均精度(%) |
YOLOv5s |
83.5 |
81.8 |
84.2 |
YOLOv5s-Decoupled head |
87.7 |
80.5 |
85.5 |
实验结果表明,对模型添加解耦头结构,对YOLOv5模型的检测性能有所提升。与原模型相比,精确度和平均精度分别提高了4.2%和1.3%。虽然召回率有所下降,但是检测精度有所提升,证明对模型检测性能有所提升。
由前面的实验结果可知,YOLOv5s添加SE注意力、引入Rest2Net、增添解耦头都使得模型的检测精度提升。因此,进行消融实验,以探索这些方法的融合是否能进一步提升YOLOv5s网络的性能。以原来的YOLOv5s为基准,分别在网络中引入了SE注意力、Res2Net和Decoupled并进行不同组合。实验结果如
SE注意力 |
残差分辨率网络 |
解耦头 |
精确率(%) |
召回率(%) |
平均精度(%) |
参数量(M) |
× |
× |
× |
83.5 |
81.8 |
84.2 |
7.03 |
√ |
√ |
× |
87.1 |
80.7 |
85.0 |
7.05 |
× |
× |
√ |
87.7 |
80.5 |
85.5 |
14.3 |
√ |
√ |
× |
86.9 |
78.5 |
83.7 |
6.8 |
√ |
× |
√ |
84.6 |
79.9 |
84.8 |
14.3 |
× |
√ |
√ |
85.8 |
81.1 |
85.4 |
14.1 |
√ |
√ |
√ |
84.8 |
83.3 |
86.0 |
14.1 |
从表结果可知,除SE注意力和Res2Net两种改进方法相互融合时模型检测性能较原模型降低,其他任意组合都对模型检测性能有明显提升。其中,同时使用三种改进方法改进后的模型检测精度最高,与原模型相比,精确率、召回率和平均精度分别提高了1.3%、1.5%和1.8%。由此证明本文对YOLOv5s网络模型的改进有效,模型检测精度提升。
为验证改进后的YOLOv5s在苹果叶片病害数据集上的检测效果,本文分别将Faster R-CNN、YOLOv5s、YOLOv7,YOLOv7-Tine、YOLOv8及改进后的YOLOv5s模型在苹果叶片病害数据集上进行训练,实验结果如
模型 |
精确率(%) |
召回率(%) |
平均精度(%) |
参数量(M) |
YOLOv5s |
83.5 |
81.8 |
84.2 |
7.03 |
YOLOv5s-SRD |
84.8 |
83.3 |
86.0 |
14.1 |
YOLOv7 |
88.1 |
78.6 |
84.2 |
37.2 |
YOLOv7-Tine |
82.2 |
79.4 |
83.5 |
6.03 |
YOLOv8 |
85.5 |
80.2 |
85.3 |
30.7 |
本文基于YOLOv5s模型构建了一个改进的病害检测识别模型,用于检测识别健康的苹果叶片和常见的7种苹果叶片病害,实现对病害类型的准确判断,从而提高苹果叶片病害的检测精度。本文所做的主要工作总结为:1) 对苹果叶片病害图像进行刷选,并使用LabelImg标注工具对叶片上的病害进行标注;2) 改进YOLOv5s模型,在YOLOv5s模型的Backbone部分引入SE注意力机制;在Neck部分引入Res2Net;采用解耦检测头结构。构建出了YOLOv5s-SRD模型,该模型准确率、召回率、平均精度分别达到84.8%、83.3%、86.0%,相比原模型分别提高了1.3%、1.5%、1.8%,通过消融实验和对比实验证明改进模型的提升效果显著。下一步的工作是研究如何将改进后的模型方便、快捷地应用到实践中。
项目名称:甘肃省科技计划项目(定西地区农村电子商务营销综合能力提升);项目编号:20CX9NA095。
*第一作者。
#通讯作者。