改进YOLOv5的棉田杂草检测

2024-12-18 00:00:00杨明轩陈琳
现代电子技术 2024年24期
关键词:注意力机制目标检测深度学习

摘" 要: 针对复杂环境下棉田杂草检测与识别困难等问题,提出一种改进YOLOv5的棉田杂草检测算法——CST⁃YOLOv5。首先,通过数据增强算法解决棉田杂草样本分布不均匀导致的模型训练效果不充分问题;其次,考虑到通道信息和方向位置信息,在主干网络中加入了坐标注意力机制;最后,在颈部网络中将Swin Transformer Block引入C3模块,得到新的C3STR模块,以保留全局上下文信息和多尺度特征。实验结果表明,CST⁃YOLOv5模型的mAP值达到95.1%,F1值达到90.4%,比原YOLOv5模型提高了4.8%、3.2%。所设计算法具有良好的鲁棒性,能精确识别多类杂草。

关键词: 杂草检测; YOLOv5; 深度学习; 目标检测; 注意力机制; 棉花保护

中图分类号: TN911.23⁃34; TP391" " " " " " "文献标识码: A" " " " " " " " " " " " 文章编号: 1004⁃373X(2024)24⁃0060⁃08

Improved YOLOv5 detection of weeds in cotton fields

YANG Mingxuan, CHEN Lin

(College of Computer Science, Yangtze University, Jingzhou 434000, China)

Abstract: In allusion to the difficulty of detecting and identifying weeds in cotton fields in complex environments, a cotton field weed detection algorithm CST⁃YOLOv5 is proposed to improve YOLOv5. The data enhancement algorithm is used to solve the problem of insufficient model training effect due to the unbalanced distribution of weed samples in cotton fields. A coordinate attention mechanism is added to the backbone network by considering channel information and direction location information. The Swin Transformer Block is introduced into the C3 module in the neck network to obtain a new C3STR module to preserve global context information and multi⁃scale features. The experimental results show that the mAP value of the CST⁃YOLOv5 model can reach 95.1%, and the F1 value can reach 90.4%, which are respectively increased by 4.8% and 3.2% compared with the original YOLOv5 model. It verifies that the designed algorithm has good robustness and can accurately identify many types of weeds.

Keywords: weed detection; YOLOv5; deep learning; target detection; attention mechanism; cotton protect

0" 引" 言

随着世界人口的快速增长,对农产品的需求也日益增加。杂草野蛮生长抢夺了棉花在田地的生长空间和生存资源,棉花植株在生长繁育的过程中受到了阻碍,这严重影响了棉花的质量。而精准化农业或智慧农业可以提供缓解这些问题的策略[1]。

现有的除草方式有人工除草、机械除草和化学除草。传统的人工除草不仅消耗大量的人力物力,而且效率低。机械除草是农田除草的一种有效方法,但粗略、大面积的除草方式会在去除杂草的同时损害农作物。化学除草具有良好的除草效果,而且已经成为国内外农田除草的主要方式,但是过量、不精准的化学除草方式会损害农田土壤质量,对生态环境造成危害[2]。所以为了提高农药喷洒的精准程度,减少不必要的作物损害,基于杂草检测的农药精确除草研究十分重要[3]。

近年来,人工智能技术不断发展,深度学习广泛应用于各种目标检测领域,有着重大的研究意义。文献[4]针对数据集偏小、训练容易过拟合的问题,使用数据增强提升水稻病虫害的泛化能力和鲁棒性。文献[5]针对复杂农田多种目标杂草检测精度低、模型参数量大、检测速度慢等问题,融合Ghost轻量化卷积模块,在特征融合模块添加NAM注意力机制来降低轻量化带来的精度损失,改进后的网络模型体积为6.23 MB,平均精度提升至97.8%,但其网络模型过于复杂。文献[6]针对复杂环境下农作物和杂草相互遮挡而难以识别、检测精度低、参数量大等问题,使用MobileNetv2轻量化网络,提出一种多分支感受野级联融合结构ASPP,融合通道和空间双域注意力机制模块。文献[7]中改进后的网络模型体积为11.15 MB,平均精度提升至95.67%,但其杂草检测种类单一。文献[8]针对SSD[9]模型参数量大、甜菜杂草识别精度低等问题,提出一种多尺度融合模块和特征增强的杂草检测方法,但检测速度并不突出。文献[10]针对田间玉米杂草检测精度低等问题,选用YOLOv4⁃tiny[11]模型进行检测和识别,但检测目标过于单一。

以上目标检测[12]的网络模型均已应用于各种领域,但检测精度还有提升的空间,针对网络模型复杂还可以进一步简化,模型的泛化能力和鲁棒性还有待增强,杂草识别的种类可以继续丰富。因此,本文采用YOLOv5模型进行棉田杂草精确识别,设计一种CST⁃YOLOv5网络模型。首先通过数据增强提升模型的泛化能力和鲁棒性;其次在主干网络中引入坐标注意力(Coordinate Attention, CA)[13]机制;最后在颈部引入内嵌了Swin Transformers Block[14]的C3STR模块,以提高设计模型的检测精度。

1" 材料和方法

1.1" 数据采集

数据集是经过专业人员辨认并分类的15类棉田杂草,有的种类数量很少,本文为了使得训练时数据样本达到均衡,选取其中数量较多的6类杂草,一共4 257张杂草图像。所用数据集具体杂草种类和数量如表1所示。

数据集中图像分辨率最高为4 000×6 000,通过Python脚本将其等比例缩放至600×800像素,使用LabelImg软件手动标注,如图1所示。图1中的标注格式为VOC格式,保存为.xml文件。YOLOv5中训练的图像是.txt格式,其中object⁃class是目标的类别标签,x和y是目标的中心坐标,w和h是目标的宽度和高度。因此,采用Python脚本将.xml格式转换为.txt格式,并按照8∶1∶1的比例将数据集划分为训练集、验证集、测试集。

1.2" YOLOv5网络模型

YOLO[15]已经成为机器人、无人驾驶和视频监控主要的实时检测模型。YOLOv5[16]模型主要由三个部分构成,即主干网络(Backbone)、颈部(Neck)网络和头部(Head)输出层。原始YOLOv5网络模型结构如图2所示。

图2中Backbone部分包含CBS模块、C3模块和空间池化金字塔(SPPF)模块;颈部网络对特征图进行自顶向下的上采样,通过PANet和FPN对提取的特征进行融合,组成的模块包含CBS模块、C3_2_X模块、Upsample模块和Concat模块等;Head输出层主要利用之前提取的特征进行预测。YOLOv5通过非极大值抑制(Non⁃Maximum Suppression, NMS)来筛选生成的候选框,其原理为:当两个物体太近时,另一个物体的预测框很可能被过滤掉,NMS可以加强对目标框的选择,避免检测目标因距离近而被漏检、错检。YOLOv5采用CIoU作为目标框的损失函数,公式如下所示:

[LCIoU=1-IoU+ρ2(b,bgt)c2+αv] (1)

[v=4π2arctanwgthgt-arctanwh2] (2)

[α=v1-IoU+v] (3)

式中:[ρ2(b,bgt)]表示目标框和预测框之间中心点的欧氏距离;[c2]表示最小包围框对角线的距离;[v]和[α]为长宽比权重参数,用来控制真实框和预测框之间的大小。相较于GIoU只使用包围框计算损失,DIoU通过优化包围框间的距离来解决GIoU存在的问题,而CIoU在DIoU的基础上考虑了真实框和预测框之间的长宽比。

1.3" 改进CST⁃YOLOv5网络模型

由于初始数据集不够大,图像中标签样本分布不均匀,改进的CST⁃YOLOv5算法使用在线的Mosaic和Mixup数据增强算法来解决样本分布不均衡导致模型的训练效果不充分、检测精度低等问题,将坐标注意力(CA)机制引入主干网络中,增强主干网络特征提取和小目标精度检测的能力。在颈部网络中将原有的C3_2_X模块替换为嵌入了Swin Transformer Block的C3STR模块,增大感受野,提升模型的特征提取能力。本文改进后的CST⁃YOLOv5网络模型结构如图3所示。

1.3.1" 数据增强

数据增强主要是对数据集进行扩充,已被广泛应用于机器学习和深度学习领域。通常的数据增强方法有平移、旋转、缩放、裁剪、翻转、扭曲、合成、增加噪声和变换图像颜色通道等。本文应用的Mosaic和Mixup数据增强算法可以将多张图像进行拼接,使得单张图像拥有更多特征,从而达到训练效果;同时能够在一张图像上显示多张图像的目标框,使得生成后的图像目标缩小。再结合CA机制,能够有效地加强网络模型对小目标的训练与识别,这极大地提升了模型的泛化能力。因此,对本文所采用的实验数据集进行在线Mosaic和Mixup数据增强。

Mosaic数据增强的原理是从数据集中随机读取4张图像,然后将图像和目标框一起拼接成一张图像,这样一张图像就拥有了4张图像的待检测物体,使得背景冗余信息有所减少,且生成后的图像尺寸缩小后自然地形成了小目标,能够极大地丰富数据集和提高模型的识别能力。

Mixup数据增强的原理是将2张不同的图像拼接在一起构成一张虚拟的图像,该图像同时具有2张图像的目标框,增强了模型的鲁棒性。Mixup数据增强的公式如下所示:

[x=λxi+(1-λ)xjy=λyi+(1-λ)yj] (4)

式中:[(xi,yi)]和[(xj,yj)]是从数据集中随机抽取的样本;[λ∈[0,1]],本文实验中[λ]取值为0.1时再结合Mosaic数据增强的效果最好。

在YOLOv5模型实验训练过程中,会根据每一轮的Batchsize大小进行Mosaic和Mixup数据增强,然后将增强后的图像输入到网络中进行训练。图像增强后的效果图如图4所示。

数据增强扩增了数据集数量,同时增强了网络模型的鲁棒性和泛化能力。图4a)是Mosaic通过随机读取数据集中的4张杂草图像进行拼接得到的。在图4b)中,Mixup将2张杂草图像拼接成一张虚拟的杂草图像。两种数据增强方法都扩增了图像中检测目标的数量,使得模型训练更加充分,具有抗过拟合的能力。最后,经过实验得到当Mosaic取值为0.9,Mixup取值为0.1时,模型的整体mAP提高了2.1%,网络模型可以达到良好的训练效果。

1.3.2" 坐标注意力机制

注意力机制已经在图像和自然语言处理上取得了重大进展,可以灵活地运用于各种网络模型的下游任务改造[17]。深度学习网络模型参数的累加可以用来在神经网络学习过程中提高模型的特征表达能力,但这往往会使得计算量庞大,难以捕捉有效特征。通过坐标注意力机制能够使模型减少对无用信息的关注,从而提高任务效率和准确性。

本文旨在对棉花田地里的杂草精准定位并识别其种类,为提高模型学习特征的能力,将坐标注意力机制引入到主干网络末端。各种注意力机制mAP值的比较结果如表2所示,其中坐标注意力机制是最新颖、灵活的注意力机制。坐标注意力机制结构如图5所示。

CA机制可以更好地捕捉通道关系和具有精确位置信息的长距离依赖关系,解决了现有注意力机制的问题,如CBMA、SENet对通道的处理一般采用全局最大或全局平均池化所导致的特征图空间信息损失。CA机制计算复杂度低,几乎不需要额外的计算开销,是轻量级的注意力机制。

具体来说,CA机制是给定一个包含特征层Batchsize和输入维度为[(C,H,W)]的[X],它分为两个并行的特征层来对水平方向的池化核[(H,1)]和垂直方向上的池化核[(1,W)]进行编码。第[c]个通道在高度[h]处的输出可以用公式(5)表示。

[zhc(h)=1W0≤ilt;Wxc(h,i)] (5)

同理,在第[c]个通道宽度为[w]的输出可以用公式(6)表示:

[zwc(w)=1H0≤ilt;Hxc(j,w)] (6)

通过对输入进行两次特征聚合,得到两个方向上的特征映射,根据公式(5)、公式(6)生成的特征映射将它们Concat成一个更大的特征映射,然后传递给一个共享的[1×1]卷积转换函数[F1],如公式(7)所示。

[f=δ(F1(zh,zw))] (7)

式中:[(zh,zw)]表示沿着空间维度的拼接操作;[δ]是一个非线性激活函数;[f∈RC/r×(W+H)]是一个中间特征映射,用来对水平方向和垂直方向上的空间信息进行编码。[f]沿着空间维度被分成两个独立张量[f∈RC/r×W]和[f∈RC/r×H],再使用两个[1×1]卷积转换函数[Fh]和[Fw]将[fh]和[fw]分别转换为与输入X具有相同通道数的张量,可以表示为:

[gh=σ(Fh(fh))gw=σ(Fw(fw))] (8)

最后,坐标注意力机制的计算公式如下:

[yc(i,j)=xc(i,j)·ghc(i)·gwc(i)] (9)

式中:[gh]和[gw]是用来被扩展并分别用作注意力权重;[xc(i,j)]是输入张量中位置[(i,j)]处的值。通过将输入张量[xc(i,j)]与权重注意力[ghc(i)]和[gwc(i)]进行逐项相乘,得到输出[yc(i,j)]。在每个[(i,j)]处,通过将输入值与对应位置的注意力权重相乘,获得到加权的输出值。

虽然坐标注意力机制利用注意力权重来调整输入的权重分布,从而得到更具关注度的输出,但是缺乏Neck对关注信息的进一步特征融合,所以本文对Neck进行改进,以加强其特征提取的能力。

1.3.3" Swin Transformer Block的C3STR模块

Transformer在NLP领域应用广泛,近年来逐渐地迁移至计算机视觉领域,在图像分类、目标检测、语义分割、实例分割等各种下游任务中都取得了很好的效果。实验结果证实,将Swin Transformer应用于杂草检测网络模型可以提高检测精度。

在实际应用中,检测目标的大小往往是不固定的,C3模块在面对不同尺度的目标时,特征图感知范围小,同时C3模块参数量大,这严重影响了模型的训练和检测速度,尤其是在输入图像分辨率较高的情况下。因此,本文将C3模块中原有的Bottleneck块替换为Swin Transformer Block,得到C3STR模块,将C3STR引入Neck层,将Neck层中的C3_2_X模块替换成C3STR。C3STR结构图如图6所示。

具体来说,因为Swin Transformer构建了一个类似于CNN层次化的特征图,相较于Vision Transformer的图像尺寸和计算复杂度成平方复杂度,Swin Transformer的图像尺寸和计算复杂度成线性复杂度,在大大降低了模型的计算复杂度的同时,还增大了模型的感受野并提高了提取特征的能力。图6显示了2个连续的Swin Transformer模块。W⁃MSA是传统的多头自注意力模块,公式为:

[Q=fQ(X)," K=fK(X)," V=fV(X)] (10)

[Attention(Q,K,V)=SoftmaxQTKdV] (11)

式中:[X]是输入的特征图;[fQ(⋅)]、[fK(⋅)]、[fV(⋅)]是线性变换函数;[d]是通道维度;[Q]、[K]、[V]分别代表[Query]、[Key]、[Value]。通过计算[Q]和[K]之间的点积,除以[d],再用[Softmax]函数将得分转换为对应的值和权重,即得到注意力权重。

SW⁃MSA为W⁃MSA增加了移动窗口,W⁃MSA将特征图均匀地分成4个局部窗口,每个窗口独立运行,它们之间没有信息共享,这导致W⁃MSA在划分时失去了全局的感知域,每个窗口只接收到局部的特征图信息,限制了模型提取特征的能力。SW⁃MSA中允许窗口移动,使得部分窗口可以接收来自上层多个窗口的信息,并减少感受野的损失。此外,移动窗口设计提供了不同窗口之间的连接,显著增强了建模能力。

总之,这种基于移动窗口的自注意力模块可以使得Swin Transformer捕获图像块之间的远程依赖关系,扩大了特征图的感知范围,减少了对疑似物体的误检,在不增加计算量的情况下可以显著提升模型的整体精度。

2" 结果与分析

2.1" 实验平台

本文的实验环境为项目组提供的服务器,操作系统为Windows 11,处理器为Intel[Ⓡ] Xeon[Ⓡ] Gold 6330 CPU @2.00 GHz,内存为160 GB,显卡为RTX3090,显存为24 GB,具体实验环境配置参数信息如表3所示。

2.2" 评价指标

为了评估改进后的CST⁃YOLOv5模型在杂草检测、精确率P和召回率R方面的有效性,使用mAP(mean Average Precision)和F1作为评估指标,公式如下:

[P=TPTP+FP] (12)

[R=TPTP+FN]" (13)

[mAP=1Ni=1NAPi]" " (14)

[F1=2×P×RP+R]" (15)

式中:TP表示模型将正样本正确地预测为正样本的个数;FP表示将负样本错误预测为正样本的个数;FN表示将正样本错误地预测为负样本的个数。mAP是一种用于评估目标检测网络准确性的指标,采用P⁃R曲线(Precision⁃Recall curve)来计算AP(Average Precision)的值,AP代表在所有可能的召回率下获得的精确率的平均值。当IoU阈值设定为0.5时,mAP@0.5值越高,代表模型的性能越好。

P和R的结果被综合考虑来计算F1分数。F1分数能够衡量模型的整体性能和鲁棒性,其值随着精确率和召回率的增加而增加,反之亦然。如果模型具有高精确率但召回率较低,则不能单纯地将其视为有效模型。因此,F1分数越高,代表模型的鲁棒性越好。

2.3" 实验结果

实验结果表明:本文模型提高了所有杂草种类的检测精度,当杂草可以很容易地与周围的环境区分开时,检测精度较高;但因为有的杂草上面沾了泥土,当杂草与背景中的泥土相似时,检测精度会稍低。改进后的网络模型做出了有效的改进与提升,与原模型的mAP对比如图7所示。

实验过程中,Carpetweed种类杂草与Purslane种类杂草外形非常相似,叶片均呈圆弧状,且贴近于地面,两个种类看起来很容易混淆,仅仅是叶片尺寸大小有细微差别,本文引入内嵌了Swin Transformer Block的C3STR模块,提高了模型的感受野和提取特征的能力,其分层结构和滑动窗口机制可以获得特征图多尺度、全局的语义信息,在面对难以区分的两种杂草类别时具有良好的效果。

表4为YOLOv5模型的消融实验结果,通过融合的各个模块对比能够有效证实本文针对原模型的改进的有效性。

为进一步分析改进的CST⁃YOLOv5杂草检测算法的性能,选择SSD、Faster RCNN、YOLOv7、YOLOv8和YOLOv5等算法进行对比实验,结果如表5所示。由表5可以看出本文算法的mAP是最高的,并且权重文件大小比原YOLOv5还小4.2 MB,有助于智能除草设备部署并实时检测。棉田杂草检测结果如图8所示。

3" 结" 论

针对当前杂草检测和识别的研究模型参数量大、网络结构复杂、杂草种类单一、数据样本稀缺等问题,本文使用YOLOv5模型进行棉田杂草检测,提出了一种改进的网络模型CST⁃YOLOv5。改进后的网络模型使用数据增强算法增强模型的泛化能力,在不增加网络模型复杂度的情况下提高了模型的整体检测精度。将坐标注意力机制引入到主干网络末端,通过增强模型对杂草叶片形状的关注,更好地捕捉通道关系和具有精确位置信息的长距离依赖关系,解决了现有注意力机制只考虑通道或只考虑位置信息的问题,提高了小目标的准确率和模型学习特征的能力。在Neck部位引入内嵌Swin Transformer Block的C3STR模块替换原有的C3模块,在不增大计算量和权重文件大小的同时,使模型能够捕获更多的全局特征并增加感受野;使用滑动窗口划分特征图,使得模型能够捕捉更多的全局多尺度特征,解决了类似杂草间难以辨别和复杂背景下杂草被泥沙遮挡而导致的原模型错检、漏检的问题。

此外,本文应用Mosaic和Mixup数据增强算法将多张图像进行拼接,从而达到单张图像拥有更多特征可以训练的效果,提升了模型的泛化能力和鲁棒性。本文模型mAP达到95.1%,F1分数达到90.4%,权重文件大小缩减至10.2 MB。改进后的CST⁃YOLOv5模型在自然环境下可以更准确地检测和识别田间杂草,有效推动了农业智能化发展,并增强了对棉花作物的保护。下一步的研究方向是将改进算法部署在机器人或者无人机等智能设备上,使得农田棉花除草得到更加广泛的应用。

注:本文通讯作者为陈琳。

参考文献

[1] 陈镜宇,郭志军,金鑫,等.基于激光扫描雷达的智能割草机器人障碍物检测[J].现代电子技术,2022,45(18):177⁃181.

[2] 彭明霞,夏俊芳,彭辉.融合FPN的Faster R⁃CNN复杂背景下棉田杂草高效识别方法[J].农业工程学报,2019,35(20):202⁃209.

[3] 姜红花,张传银,张昭,等.基于Mask R⁃CNN的玉米田间杂草检测方法[J].农业机械学报,2020,51(6):220⁃228.

[4] 刘拥民,胡魁,聂佳伟,等.基于MSDB⁃ResNet的水稻病虫害识别[J].华南农业大学学报,2023,44(6):978⁃985.

[5] 冀汶莉,刘洲,邢海花.基于YOLOv5的农田杂草识别轻量化方法研究[J].农业机械学报,2024,55(1):212⁃222.

[6] 曹英丽,赵雨薇,杨璐璐,等.基于改进DeepLabv3+的水稻田间杂草识别方法[J].农业机械学报,2023,54(12):242⁃252.

[7] LIU Z, LIN Y, CAO Y, et al. Swintrans former: hierarchical vision transformer using shifted windows [C]// Proceedings of the IEEE/CVF International Conference on Computer Vision. [S.l.]: IEEE, 2021: 10012⁃10022.

[8] 亢洁,刘港,郭国法.基于多尺度融合模块和特征增强的杂草检测方法[J].农业机械学报,2022,53(4):254⁃260.

[9] 焦双健,刘东,王超.基于改进SSD的铁路障碍物检测研究[J].现代电子技术,2023,46(2):57⁃64.

[10] 刘莫尘,高甜甜,马宗旭,等.基于MSRCR⁃YOLOv4⁃tiny的田间玉米杂草检测模型[J].农业机械学报,2022,53(2):246⁃255.

[11] LI X, PAN J, XIE F, et al. Fast and accurate green pepper detection in complex backgrounds via an improved Yolov4⁃tiny model [J]. Computers and electronics in agriculture, 2021, 191: 106503.

[12] ZHU D, DU B, ZHANG L. Target dictionary construction⁃based sparse representation hyperspectral target detection methods [J]. IEEE journal of selected topics in applied earth observations and remote sensing, 2019, 12(4): 1254⁃1264.

[13] HOU Q, ZHOU D, FENG J. Coordinate attention for efficient mobile network design [C]// Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. [S.l.]: IEEE, 2021: 13713⁃13722.

[14] LIU Z, LIN Y, CAO Y, et al. Swin transformer: hierarchical vision transformer using shifted windows [C]// Proceedings of the IEEE/CVF International Conference on Computer Vision. [S.l.]: IEEE, 2021:10012⁃10022.

[15] 韩锟栋,张涛,彭玻,等.基于改进YOLOv5的安全帽检测算法[J].现代电子技术,2024,47(5):85⁃92.

[16] 周浩,唐昀超,邹湘军,等.复杂野外环境下油茶果快速鲁棒检测算法[J].现代电子技术,2022,45(15):73⁃79.

[17] WOO S, PARK J, LEE J Y, et al. CBAM: convolutional block attention module [C]// Proceedings of the European Conference on Computer Vision (ECCV). [S.l.]: Springer, 2018: 3⁃19.

作者简介:杨明轩(1998—),男,湖北武汉人,硕士研究生,主要研究方向为目标检测。

陈" 琳(1972—),男,湖北荆州人,博士研究生,教授,主要研究方向为计算机视觉与目标检测。

猜你喜欢
注意力机制目标检测深度学习
基于深度学习的问题回答技术研究
基于LSTM?Attention神经网络的文本特征提取方法
基于注意力机制的双向LSTM模型在中文商品评论情感分类中的研究
软件工程(2017年11期)2018-01-05 08:06:09
InsunKBQA:一个基于知识库的问答系统
视频中目标检测算法研究
软件(2016年4期)2017-01-20 09:38:03
行为识别中的人体运动目标检测方法
MOOC与翻转课堂融合的深度学习场域建构
大数据技术在反恐怖主义中的应用展望
深度学习算法应用于岩石图像处理的可行性研究
软件导刊(2016年9期)2016-11-07 22:20:49
基于深度卷积网络的人脸年龄分析算法与实现
软件工程(2016年8期)2016-10-25 15:47:34