基于改进的YOLOv5对棉花枯萎病的识别算法
2023-08-26张嘉镐杨济东赵俊杰张旋易峻峰李梓铭
张嘉镐 杨济东 赵俊杰 张旋 易峻峰 李梓铭
关键词:YOLOv5; 棉花; 枯萎病;小目标检测;病害检测
中图分类号:TP391 文献标识码:A
文章编号:1009-3044(2023)20-0051-03
0 引言
在农业产业中,如何通过计算机视觉技术进行作物病害的识别和监测已经引起了广泛关注[1]。作物病害的快速准确识别是农业产业提高产量、减少损失的关键。而针对棉花作物的病害识别也是非常重要的,因为棉花是世界上最重要的纺织原料之一。据统计,全球每年因棉花病害而导致的经济损失高达数十亿美元。为了减少棉花病害造成的损失,许多研究人员和专家们致力于开发和应用各种基于计算机视觉技术的棉花病害识别方法[2]。其中,目标检测技术是一种非常有效的方法,它可以自动检测图像中的目标并将其分类。
1 研究内容
1.1 研究背景及意义
棉花枯萎病是一种棉花生产中常见且危害严重的病害。它主要影响棉花的茎秆和维管束,导致棉株萎蔫、枯死、缺株、减产等问题。因此,对于棉花生产而言,棉花枯萎病的预防和治疗非常重要。
利用无人机拍摄并使用图像识别技术解决棉花枯萎病问题,具有非常重要的意义。通过使用人工智能技术对图像进行分析,可以自动检测并识别出患有棉花枯萎病的棉株,大大提高了棉花病害的诊断效率和准确性。同时,这也有助于節省人力和时间成本,降低农药使用量和环境污染,提高棉花产量和品质。
因此,将无人机与图像识别技术结合使用,不仅可以帮助农民及时发现和治疗棉花枯萎病,还可以提高棉花的生产效率和质量,这对于棉花生产来说具有非常重要的意义。
1.2 研究方法
在进行检测识别时,为了快速并且大范围地采集图片,需要利用无人机拍摄棉花的病虫害图片。然而,由于棉花枯萎病形状多样,无人机拍摄的目标相对来说比较小,图像比较模糊,采用原来的模型准确率较低。
针对这一问题,首先要对图片进行预处理:为了更好地显示棉花枯萎病的特征,本文构建了一个图像处理模块,其功能是将图片的RGB格式转换成HSV 颜色空间,来提取患病区域的颜色特征,并且通过图像增强来进一步优化图像质量。
此外,还需对YOLOv5的算法进行优化。首先,为了解决小目标检测效果不佳的问题,增加了小目标检测层对较浅特征图与深特征图拼接后进行检测。其次,引入了注意力机制,并对小目标检测进行了优化,提高检测准确率。
本文的主要工作可归纳为以下两点:①构建一个图像处理模块,以更好地显示棉花枯萎病的特征;②优化以YOLOv5算法为核心的识别模型,提高了其对棉花枯萎病的识别率。
2 设计方案
2.1 流程图设计
如图1所示,首先将采集的图像输入图像预处理模块,由于棉花枯萎病的自身特性,经过该模块处理后,病害区域的颜色相较于未处理的图片更为明显。随后将图片送至改进的YOLOv5算法模型中,改进后的算法模型针对无人机拍摄的图片进行了特别优化,使得对小目标可以进行更准确的检测,对图片中的棉花区域进行病害识别,如果存在病害,则进行受灾分析,最终将结果反馈至远程服务器。
2.2 图像采集
影像平台使用大疆mini2,该机型部分影像参数如表1。图像采集地点位于新疆维吾尔自治区奎屯市。
3 改进模型
3.1 构建图像预处理模块
在本研究中,采用了以下步骤对图片进行预处理。首先,将图片的RGB格式转换成HSV颜色空间。HSV颜色空间包含色相(H) 、饱和度(S) 和明度(V) 三个维度,与RGB颜色空间相比,由于更接近人类感知颜色的方式,HSV更容易提取出图像中的颜色特征。本文使用HSV颜色空间来提取患病区域的颜色特征,以便区分正常区域和病变区域。然后进行图像增强来进一步优化图像质量。对于拍摄的图片,由于存在一些噪点和模糊等问题,需利用图像的腐蚀和膨胀去除图片上较小的噪点,并利用直方图均衡化增强图片的对比度。通过图像增强,将图片的对比度提高了20%,将图片的清晰度提高了15%。最后,对图像进行裁剪和缩放,将图片的大小统一为640×640像素。以上所有的图像处理方法都是旨在增强图像中的患病区域,以便更好地展示棉花枯萎病的特征。图2是预处理前后图片的对比。
3.2 改进的YOLOv5模型
YOLOv5是一种目标检测算法,由Ultralytics公司在2020年发布。相对于其前身YOLOv4,YOLOv5在速度和准确度方面都有所提升。YOLOv5的核心是一个基于骨干网络(图3) 的轻量级Feature Pyramid Net?work(FPN) 特征提取器,其采用了新颖的特征聚合策略,能够更好地捕捉物体的特征[4]。此外,YOLOv5还引入了Spatial Pyramid Pooling(SPP) 模块,用于提高模型的感受野和特征表达能力。
在本研究中,针对棉花病虫害的特点和实际应用中的场景,对基于YOLOv5的算法进行了优化。首先,为了解决YOLOv5小目标检测效果不佳的问题[5],本文增加了小目标检测层对较浅特征图与深特征图拼接后进行检测,通过增加小目标检测层,可以利用较浅特征图中保留的小目标信息来提高检测精度。同时,引入注意力机制,对小目标检测进行了优化。注意力机制是指通过对模型内部特征的加权处理,使模型在处理输入数据时能够更加关注重要的部分,从而提高模型的性能[5]。YOLOv5注意力机制可以捕获跨通道和位置敏感的信息,从而提高目标定位和识别的准确性。为此,在本研究中,引入了Squeeze-and-Excitation Network(SENet) 注意力模块,将其嵌入目标检测网络中。
SENet注意力模块分为两个部分,squeeze部分和excitation部分[7]。在squeeze部分中,全局平均池化操作被用于压缩通道特征,将每个通道的特征图压缩成一个标量,用于描述该通道的重要性。在excitation部分中,通过两个全连接层对每个通道进行加权处理,得到每个通道的重要性权重,用于对特征图进行调整。这样,模型就可以在特征提取过程中自适应地调整不同通道的权重,从而更加关注重要的特征,提高小目标检测的精度[8]。如图4是SENet注意力模块的示意图。
本文将SENet注意力模块嵌入YOLOv5的FPN特征提取器中,对小目标进行优化。实验结果表明,引入SENet注意力机制后,模型在小目标检测任务上的精度得到了一定的提升。
4 实验内容
4.1 实验环境说明
在本研究中,硬件配置是关键因素之一。为了保证算法的高效运行和准确性,本文选择了一台高性能的计算机,并配备了适合本研究需求的硬件组件。下面详细介绍硬件配置,实验平台具体配置参数见表2。
训练使用的图片经过预处理后,统一为640×640 像素,使用超参数训练,这种训练方法可以控制训练进程,提高平台利用率和检测效率,部分超参数见表3。
4.2 实验结果对比
本文对采集的数据进行300轮次训练迭代,从图5的对比图可以看出,模型预测的和原来标注的基本重合,预测出的棉花枯萎病区域覆蓋面积和实际标注的面积相近,说明本文所提出的方法具有较好的棉花枯萎病检测效果。为了对比了不同模型的实验结果,本文选取了Mask R-CNN、原始的YOLOv7s和原始的YOLOv5s三种目标检测算法进行对比实验,并通过准确率、召回率和mAP_0.5等指标对它们进行了评估。结果见表4,改进的YOLOv5算法在准确率和mAP_0.5 方面均表现出色,其准确率相比之前提升了7.55%,mAP_0.5提升了11.48%。而原始的YOLOv7s在准确率上不及本方案,Mask R-CNN在召回率与mAP_0.5 数值上不及本方案。这表明,本文提出的算法能够有效地提高目标检测的精度和效率,未来有望在最新的算法平台中取得更好的效果。
5 结论
本研究针对棉花病害的自动识别问题,提出了一种基于图像处理和深度学习算法的解决方案。该方案主要分为两个部分,首先是对采集的棉花病害图像进行预处理,包括颜色空间转换和图像增强等操作,以便更好地提取图像特征。其次是基于YOLOv5算法和注意力机制对预处理后的图像进行目标检测,从而实现对棉花病害的高精准度的识别。在实验中,首先采集了大量的棉花病害图像,并将其分为训练集和测试集进行模型训练和评估。实验结果表明,所提出的解决方案在识别准确率优于其他对比算法,具有较高的实用价值。未来,将继续探索如何进一步提高识别精度和速度,并将该方案应用于实际的棉花种植中,以提高农业生产的效益和质量。