APP下载

基于CBAM-YOLOv5s模型的温室作物病害检测研究

2023-10-19黄奇瑞闫朝华

南阳理工学院学报 2023年4期
关键词:锚框温室卷积

黄奇瑞, 闫朝华

(南阳理工学院 河南 南阳 473004)

温室农作物由于生长环境的局限性,存在换季连作、重茬、施肥施药不规范等问题,造成温室作物更容易发生病害,且病害种类繁多、不易识别,对温室作物的生长和产量造成了很大的损害。传统的农作物病害识别通常需要经验丰富的专业人员进行人工目视检测,耗力费时且易出现误判,因此对农作物病害识别工作进行科学的探索和研究势在必行。

近年来,随着深度神经网络在图像处理领域的广泛应用,国内外学者对深度学习算法在农作物病害检测中的应用展开了研究[1-2]。Mohanty[3]等使用AlexNet和GoogLeNet两种不同的深度卷积神经网络来识别14种作物物种和26种疾病,通过设置不同的参数训练模型,取得了较高的识别准确率。Sun[4]等通过对深度神经网络卷积层的输入数据进行批归一化处理,从而加速网络收敛、提高识别精度。Ferentions 等[5]利用深度神经网络的多层级网络结构来检测25种不同作物的患病及健康概率,取得了较好的效果。赵春霞[6]使用Pytorch框架搭建Res Net18网络模型成功实现了海量图像的高级抽象特征自动提取功能,在番茄数据集上准确率达到92.7%。杨英茹等[7]提出一种结合颜色纹理特征的CCL-SVM方法对复杂环境下的番茄叶片图像进行病害识别,测试识别率达到97.5%。温钊发等[8]针对现有病害识别模型参数量大、鲁棒性低、泛化性弱等问题,在MobileNetV2网络结构的基础上,提出了轻量级MIE_Net网络,以复杂环境中两种作物11种病害类别为实验对象,总体识别率达到95.79%。

以上文献利用不同的神经网络来实现对植物病害的检测并取得了较好的效果,但实际上由于温室作物病害种类繁多、识别困难,针对温室作物病害检测的研究甚少。因此,本文设计了一种融合卷积块注意力机制(CBAM)的YOLOv5s植物病害检测模型,以常见的温室作物马铃薯为实验对象,通过图像增强和标注技术构建叶片病害数据集,利用K-means算法调整初始锚框,在此基础上通过引入CBAM机制来增强YOLOv5s模型对病害目标的特征表达能力,进而提高对温室马铃薯叶片病害的检测精度。

1 YOLOv5目标检测算法原理

YOLOv5(You Only Look Once version 5)是一种基于深度学习的端到端的目标检测模型,可以直接从原始视频或者图像中检测和定位目标[9]。它使用卷积神经网络(CNN)来学习图像中物体的特征,并使用多尺度预测和网格分割来检测和定位目标。YOLOv5的优势在于其高效的检测速度和较低的计算资源消耗,并且在不同分辨率的图像上均能较好地工作。通过结合深度卷积神经网络和目标检测技术,YOLOv5能够在单个前向传递中实现实时的叶片病害检测,并能够在各种复杂的农田环境中进行准确的识别和分类,为农作物叶片病害检测提供了一种快速准确的解决方案。

本文采用的YOLOv5s模型由4部分组成,分别为Input、Backbone、Neck和Prediction,其网络结构如图1所示。

图1 YOLOv5s网络结构图

Input使用的数据增强方式是Mosaic方式,对输入的数据集进行随机缩放、随机剪裁和随机拼接,可以极大地丰富输入的数据集,从而提高训练模型的鲁棒性。

Backbone作为主干网络其主要功能是提取特征,也就是提取视频或者图片中的信息,供后面的网络使用。特征提取的能力会直接影响整个网络的性能,YOLOv5s的Backbone相比于之前的版本提出了新的Focus结构,Focus结构通过切片操作将4×4×3的特征图进行切片处理,变成2×2×12的特征图,输入通道扩充了4倍,最后将得到的新图片再进行卷积操作。

Neck一般采用FPN+PAN结构,其作用是更好地融合或提取Backbone给出的特征,从而提高网络的性能。FPN是自顶向下将强语义特征传递下来,而PAN则是将浅层的定位信息传递给深层,增强多尺度定位能力。

Prediction是网络输出端,其作用是利用前面网络提取的特征,做出预测。

2 改进的CBAM-YOLOv5s检测模型

YOLOv5s模型在引入CBAM注意力机制模块[10]后其网络结构如图2所示。

图2 CBAM-YOLOv5s模型网络结构图

2.1 锚框重设

锚框(anchor boxes)是一组宽高比固定的初始候选框,其大小设定直接影响YOLOv5s模型的检测效果。YOLOv5s模型的初始锚框是根据COCO数据集中物体真实框的大小进行聚类后得到的,由于本文实验所用叶片数据集目标尺寸较小,初始锚框大小并不适合,为了提高锚框与对象框的匹配概率,本文利用K均值聚类算法(K-means)重新生成锚框。首先随机设置9个初始聚类中心,通过K-means算法对数据集进行聚类,重新生成小、中、大3个尺度的预设锚框。初始锚框和重设锚框的大小对比如表1所示。

表1 实验数据集锚框大小对比

2.2 改进的YOLOv5s模型

在温室采集图像数据时由于背景的复杂性,叶片图像中的病害目标往往不太显著,为此,本文通过在YOLOv5s模型中融入CBAM注意力机制模块来提升模型的特征提取能力。CBAM模块包含通道注意力模块(CAM)和空间注意力模块(SAM)两个子模块,可以在通道和空间两个维度上进行注意力运算,增强这两个维度上的关键特征,其结构如图3所示。其中,F和FS分别表示原始特征图和经过CBAM模块增强后的特征图。

图3 CBAM模块结构图

首先将输入特征图F分别送入平均池化层(Average Pooling)和最大池化层(Max Pooling)来聚合F的空间信息,得到F的平均池化特征和最大池化特征,然后送入一个多层感知机网络(MLP),将输出的特征做逐元素求和并通过sigmoid函数激活,生成特征图F的通道注意力一维卷积Mc(F),最后将其和特征图F做逐元素相乘,得到经CAM模块增强的特征图Fc。

接下来再将特征图Fc分别送入平均池化层和最大池化层来聚合Fc的通道信息,得到Fc的平均池化特征和最大池化特征,然后再通过7×7的卷积和sigmoid函数激活,生成特征图Fc的空间注意力二维卷积Ms(Fc),最后将其和Fc做逐元素相乘,得到经CBAM模块增强的最终特征图Fs。

CBAM注意力机制的整体过程可用式(1)表示为

(1)

3 实验结果与分析

3.1 实验环境

本实验所有网络模型均采用相同的实验环境在本地进行训练。在硬件配置方面:CPU处理器采用Intel(R) Core(TM) i7-9700K @3.60 GHz,GPU图形处理器使用NVIDIA GeForce RTX 3070 Ti,显存为8 G,RAM为16 G;在软件配置方面:系统采用Microsoft Windows 10 专业版 (64位),使用深度学习框架pytorch 1.7,CUDA v10.1,CUDNN v7.6,Numpy==1.19.5,Pandas==1.1.5完成实验。

3.2 数据集制作

本实验数据集来源于相机采集的温室大棚下的马铃薯病害叶片图像。其中包含早疫病、晚疫病以及健康叶片,共计5736张图像。采用Labeling工具对叶片图像进行标注,标注后的图像如图4所示。然后通过亮度调整、高斯滤波、旋转、缩放和平移等数据增强方式,进一步提高实验数据集的多样性,进而获得更好的训练效果。再按照8:1:1的比例划分为训练集、验证集和测试集。

图4 标注后的数据集图像

3.3 评价指标

为了评价改进后的CBAM-YOLOv5s模型的有效性,采用P(Precision)、R(Recall)、mAP(mean of Average Precision)指标来进行综合评价。P是预测为正的样本中,实际为正的样本占比,即查准率;R是实际为正的样本中,预测为正的样本占比,即查全率;mAP是所有类别的平均准确率。其表达式分别为

(2)

(3)

(4)

式中:TP是预测为正的正样本;FP是预测为负的负样本;FN是预测为正的负样本。

3.4 试验结果及分析

为了验证本文设计模型对马铃薯叶片病害检测的有效性,选择原始YOLOv5、SSD以及FasterRcnn共3个模型进行实验对比。在制作好的数据集上对上述4个模型分别进行训练,然后对其中的每一种病害类型分别进行测试,结果如表2所示。由表2可以明显看出,改进后的CBAM-YOLOv5s模型在检测马铃薯叶片单一类型病害时,P、R、AP评价指标均高于原始YOLOv5、SSD和FasterRcnn模型,说明改进后模型可以用于马铃薯病害叶片的检测。

表2 不同类型病害识精度对比

为了进一步验证改进后的CBAM-YOLOv5s模型的检测性能,利用训练好的4个模型对实验数据集中所有病害类别同时进行检测,4种模型的识别精度分别如表3所示。

表3 不同模型的识别精度

由表3可知,改进后的CBAM-YOLOv5s模型和原始YOLOv5模型相比,P、R以及mAP指标分别提高了3.25%、2.42%以及2.3%,说明YOLOv5s模型利用CBAM模块的通道注意力使网络自动计算出每个通道的重要程度,然后与权重共享的多层感知机(MLP)进行叠加,使每个通道获得不同的权重进而强化了目标特征,即让检测网络的注意力偏向叶片图像病害区域,在增强叶片图像病害区域的同时弱化无关的背景区域,进而能够更准确地检测出病害目标,较好地解决了漏检问题。相比SSD模型和FasterRcnn模型,评价指标也有较大程度的提高,充分说明了改进后CBAM-YOLOv5s模型在马铃薯叶片病害检测方面的优越性。

4 结论

本文利用改进的CBAM-YOLOv5s网络模型,对温室马铃薯常见的叶片病害进行检测和识别。通过数据增强和图像标注技术构建实验数据集,利用K-means算法对初始锚框进行调整,在此基础上引入CBAM注意力机制来提高模型对叶片病害区域的识别精度。实验表明,相较于YOLOv5、SSD和FasterRcnn模型,改进后的CBAM-YOLOv5s模型检测精度均得到了一定程度的提高,充分验证了改进后模型对马铃薯叶片病害检测的有效性,为其他农作物的病害检测也提供了有益的借鉴。在接下来的研究中,考虑温室作物种类的多样性和温室环境的复杂性,可以采集不同温室作物叶片扩充实验数据集,同时采用更加高效的网络结构,进一步提高检测模型的鲁棒性和泛化能力。

猜你喜欢

锚框温室卷积
基于YOLOv3锚框优化的侧扫声呐图像目标检测
锚框策略匹配的SSD飞机遥感图像目标检测
基于SSD算法的轻量化仪器表盘检测算法*
基于GA-RoI Transformer的遥感图像任意方向目标检测
现代温室羊肚菌栽培技术
基于3D-Winograd的快速卷积算法设计及FPGA实现
苍松温室 苍松灌溉
苍松温室 苍松灌溉
从滤波器理解卷积
可以避免一个温室化的地球吗?