APP下载

融合注意力机制的YOLOv5深度神经网络杂草识别方法

2023-12-15郭柏璋冀汶莉

无线电工程 2023年12期
关键词:杂草注意力卷积

郭柏璋,牟 琦* ,冀汶莉

(1.西安科技大学 计算机科学与技术学院,陕西 西安 710054;2.西安科技大学 通信与信息工程学院,陕西 西安 710054)

0 引言

农田中的杂草是农业生产中最常见的生物灾害之一。田间杂草具有极强的繁殖能力,它和作物争夺养分、引入作物疾病以及吸引有害昆虫,直接或间接地影响农作物产量和质量,对农业生产造成了严重损失[1]。在世界范围内,每年因杂草危害造成的粮食损失约为13.2%,相当于每年10亿人的口粮[2]。据全国农业技术推广服务中心统计,我国农田杂草中造成农田严重危害的约有130种,每年因杂草造成主粮作物损失约300万吨,直接经济损失高达近千亿元[3]。田间清除杂草方法一般为人工除草、化学除草、生物除草和机械除草。人工除草劳动强度大且效率低,大量农药喷洒会造成土壤的严重污染;生物除草成本高;田间除草机器人是现代农业发展的必然趋势,但前提是实现快速精准的杂草识别[4-5]。

杂草自动识别技术是智慧农业领域的研究热点之一,杂草识别的基本原理是通过RGB或高光谱相机等传感设备获得包含作物和杂草的图像信息,然后利用机器视觉中的图像处理技术获取作物或杂草的形状、颜色、纹理和位置等特征,最后通过训练分类器进行杂草和作物的识别。例如赵鹏等[6]和董亮等[7]采用改进的BP神经网络分别对玉米幼苗和大棚蔬菜中并存的多种杂草进行识别,有较高的识别率和鲁棒性。周影等[8]通过主成分分析方法对杂草和作物图像的颜色、纹理等特征进行了相关性分析,并提取了特征中3个最小相关的主成分,然后采用朴素贝叶斯分类器完成杂草识别,实验结果表明该方法能够较好地从玉米苗中识别杂草。但以上方法都需要人工进行图像的特征提取,在一定程度上影响了识别的准确性。

随着人工智能技术的快速发展,以卷积神经网络为代表的深度学习方法在图像和机器视觉领域有广泛的应用。深度学习方法具有自动提取图像深层特征的能力,其强大的非线性拟合能力和表征能力使其成为杂草识别领域的新热点[9-11]。例如, Punithavathi等[12]提出了一种基于多尺度Faster R-CNN的目标检测和基于最优极限学习机(ELM)结合的杂草分类模型,使杂草的识别准确率达到98.33%。孙俊等[13]提出了以AlexNet网络为基础改进的空洞卷积与全局池化相结合的新型卷积神经网络模型,对特征图进行多尺度融合,使杂草识别的精度提高到了98%。彭明霞等[14]采用残差卷积网络来提取特征并将特征金字塔引入神经网络中识别棉花田中的杂草,识别率达到了95.5%。姜红花等[9]在卷积神经网络的全连接层后加入了二进制的哈希层,提高了杂草识别率和收敛速度。孟庆宽等[15]提出了一种基于轻量卷积神经网络结合特征层信息融合机制的改进单步多框检测器(Single Shot MultiBox detector,SSD) 模型,并将扩展网络中的深层语义信息与浅层细节信息进行融合,提高了对小尺寸作物与杂草的检测准确率。

上述基于深度神经网络的杂草识别方法提高了不同背景下杂草识别的精准度,但网络结构复杂且训练时间长。为了解决这个问题,本文提出以YOLOv5深度神经网络为基础,融合CA注意力机制的轻量级识别模型,对自然环境下麦地的杂草进行有效识别。

1 试验数据

1.1 图像数据获取

杂草识别的图像数据取自2022年3—5月的麦地,使用800万像素的智能手机,拍摄高度大约距离地面30~50 cm,拍摄自然环境下的小麦和长茎尖叶杂草。拍摄时间为每日11:00—15:00任意一个时间段。为了提高识别模型的鲁棒性,在采集的图片中包含单一较为稀疏的杂草图片、含有大量密集的杂草图片、农作物与杂草伴生且农作物与杂草相似度较低的图片、农作物与杂草伴生且农作物与杂草相似度较高图片,以及农作物与杂草交叉贴近的图片,共拍摄了260张有效照片,部分照片如图1所示。图1(c)展示了农作物与杂草伴生且农作物与杂草相似度较高的图片,此类图片中农作物与杂草主要区分特征为高度、稀疏程度。图1(d)展示了农作物与杂草交叉贴近的图片,此类图片中农作物与杂草主要区分特征为叶片大小、形状。

图1 小麦和杂草图片样本示例Fig.1 Sample examples of wheat and weed pictures

1.2 图像的数据增强

卷积神经网络对图片中物体的移位、视角、大小以及明暗具有不变性,通过数据增强技术可以极大地提升分类效果。图像的数据增强技术一般为随机进行逆时针 90°、180°和270°旋转,水平翻转,图像的向内或向外缩放、剪裁、移位以及对图像进行灰度处理。为了使识别模型能够充分学习杂草和作物的特征,减少训练过程的过拟合现象,通过对图像数据采用随机剪裁、旋转、缩放和颜色变换等数据增强技术,对原始数据进行扩充,扩充后的图像为12 724张。数据增强后的杂草图像如图2所示。

图2 图像数据增强Fig.2 Image data enhancement

YOLOv5神经网络的训练过程是有监督的学习,在图像数据增强后,需要先利用Labelme工具将每个图像数据中的目标物体进行标签标注,保存为 VOC 格式的yolo可读文件后,再将其转换为txt文本文件。

2 融合注意力机制的YOLOv5杂草识别模型

2.1 YOLOv5目标检测算法

现阶段目标检测算法主要分为两阶段检测算法和单阶段检测算法。两阶段算法包括 Faster R-CNN、Cascade RCNN 等;单阶段算法包括YOLO(You Only Look Once:Unified,Real-time Object Detection)和SSD[16-17]。YOLO 是Redmon等[18]2016年在CVPR大会上提出的单阶段目标检测算法。YOLO算法的核心思想是将图像分为多个网格,并在每个网格上使用单独神经网络,通过反向传递预测目标物体的边界框 (Bounding Box)和类别。YOLO算法通过使用卷积神经网络,可在完整的图像上同时进行物体检测,具备实时检测能力。相较于R-CNN、Fast R-CNN、Faster R-CNN和Mask R-CNN等双阶段目标检测算法,其虽然能够更准确地定位目标物体的位置和形状,但需要更多的计算资源和时间。YOLO目标检测算法的快速和准确性使其在各种实时场景中得到了广泛应用。

YOLOv5是在YOLOv4的基础上进行改进后目标检测算法。这些改进包括网络结构的优化、模型的改进和训练策略的引入,使得YOLOv5在检测精度和实时性能方面都有所提升。YOLOv5s(Small)、YOLOv5m(Medium)、YOLOv5l(Large)和YOLOv5x(Extra Large)是根据所需网络结构规模大小分类的4种不同网络[19]。不同规模的网络结构可以根据应用需求和硬件条件进行选择。较小规模的网络结构适合资源有限的设备和对速度要求较高的场景,而较大规模的网络结构则适用于对精度要求较高的任务。田间杂草识别模型最终需要应用在田间巡检机器人上,所需目标检测算法应具有实时性、轻量级以及消耗计算资源较少等特点,因此本文以YOLOv5s网络为基础进行改进,训练出满足上述条件的杂草识别模型,YOLOv5s网络结构如图3所示。

YOLOv5s的网络结构由输入层(Input)、主干层(Backbone)、网络层(Neck)和检测层(Detect)四部分构成。YOLOv5s的输入层采用了和YOLOv4相同的将多个图像拼接成新图像,并将标签信息进行相应调整的Mosaic数据增强方式,在进行网络训练时自适应地计算不同训练集中的最佳锚框值。主干层使用CSPDarknet53作为其基础骨干网络,CSPDarknet53是一种轻量级的骨干网络,主要由C3模块组成,其在提供较高的特征表达能力的同时减少了参数量。

图3 YOLOv5s网络结构Fig.3 Network structure of YOLOv5s

在YOLOv5的主干层中用C3模块代替了YOLOv4中的CSP (Cross Stage Partial)模块,是为了进行图片的深层特征提取以及特征融合,其网络结构如图4所示。C3模块的结构包含了一系列的残差块(Residual Blocks),每个残差块中包含了多个并行的卷积分支。这些分支在通道维度上具有不同的卷积核数量,从而增加了卷积的多样性和表达能力。通过这种方式,C3模块可以在保持网络轻量级的同时,提升特征的表达能力,从而提高目标检测的性能。

图4 YOLOv5 C3模块的网络结构Fig.4 Network structure of the C3 module of YOLOv5

如图4右边图框所示,Bottleneck模块是一种残差网络结构,主要由3个卷积层组成,其中包含一个1×1的卷积层(通常用于降低输入特征通道数)、 一个3×3的卷积层(用于提取特征)和一个1×1的卷积层(用于恢复特征通道数)。通过引入Bottleneck模块降低特征通道数来减少计算量,并通过1×1的卷积层来引入非线性变换,使得C3网络能够在保持较少的参数和计算量的同时,获得较强的特征表示能力。

主干层底部的SPPF(Spatial Pyramid Pooling-Fast)网络通过在不同尺度下进行空间金字塔池化(Spatial Pyramid Pooling)操作来捕捉不同尺度目标的特征信息,从而提供更丰富的上下文信息,其结构如图5所示,主要由3个大小分别为5×5、9×9和13×13的最大池化层组成,将3个池化层并联获取不同尺度的特征后,再与卷积层提取到的特征进行融合,SPPF网络便能获得更具区分度的特征表示,从而增强目标检测的性能。

图5 YOLOv5 SPPF模块架构Fig.5 SPPF module architecture of YOLOv5

YOLOv5的网络层采用了特征金字塔网络 (Feature Pyramid Network,FPN)与感知对抗网络(Perceptual Adversarial Network,PAN)[20]相结合的方式,对输入的特征图像进行特征融合和定位。FPN中的底层分支从浅层特征图中提取细节信息,而顶层分支从深层特征图中提取语义信息。通过跨层连接和上采样操作,FPN将这些特征图进行融合,得到具有多尺度信息的特征金字塔;PAN是一种用于提高特征表示能力和检测性能的网络结构,通过引入对抗学习的思想,从图像中提取更具鉴别性的特征[21]。FPN提供了多尺度的特征金字塔,使得网络能够更好地处理不同尺度的目标。而PAN通过增强特征的判别能力,提高了目标检测的准确性和鲁棒性。网络层最终分别以80 pixel×80 pixel,40 pixel×40 pixel和20 pixel×20 pixel输出3张特征图至检测层。

检测层用于图片中物体的预测和识别工作。在网络层输出的特征图中使用锚框(Anchor Box),并以GIOU作为边界框(Bounding Box)训练的损失函数:

(1)

式中:IoU表示预测框和真实框的交集面积,AC表示预测和真实框的最小闭包区域面积,U表示闭包区域中不属于2个框的区域面积。由图3可知,在检测层包含3个卷积层分别对应网络层80 pixel× 80 pixel、40 pixel×40 pixel和20 pixel×20 pixel的输入特征图,用于检测图像中不同尺寸的目标物输出。每个卷积网络层输出一个3通道的向量,表示为3×(4+1+n),其中3表示3个锚定框,4表示每个包围框的4个位置坐标,1表示置信度,n表示边界框中物体为每个目标类别的预测值[21]。

2.2 注意力机制

自然环境下的田间杂草和作物相依相生且有些杂草和作物幼苗极为相似,为了提高杂草的识别能力,在YOLOv5网络模型中引入注意力(Attention)机制。注意力机制是通过计算特征向量的不同权重,进行加权求和的一种计算方法[22]。在模型训练过程中,对输入图像的不同区域赋予不同的权重,表示特征信息的不同重要程度,根据不同的权重信息重点关注显著性强的信息,减少冗余或噪声数据的干扰,提高识别结果的准确性。注意力机制一般分为通道注意力机制、 pixel注意力机制和多阶注意力机制。已有研究表明,基于通道注意力机制对物体识别对模型训练的性能具有良好的提升作用[23],通道注意力机制重点根据不同通道的重要程度,训练模型时重点关注某些特征通道,其弊端是在进行模型训练时忽略了图片中不同对象的位置信息。在杂草识别中,杂草的形状、颜色信息虽然是重点需要关注的信息,但由于农田中含有大量与农作物高度相似的杂草,只关注某些相似特征从而训练出的杂草模型,常常会出现误判现象,如3.3.3节实验所示。因而在训练杂草模型时,需要引入一种根据图片中不同对象的位置信息,既能保留目标对象所在位置的特征,又能去除其他背景特征的注意力机制。为了有效解决这个问题,本文引入一种既可以捕获远程依赖关系,又可以保留图像中位置信息的注意力机制,即CA(Coordinate Attention)机制[24]。

CA机制结构如图6所示,其原理如下:

① 将输入的图像文件分别在X轴方向与Y轴方向做最大池化操作,分别得到X轴和Y轴的卷积特征图。

② 将从X轴提取到的卷积特征图和Y轴提取到的卷积特征图进行特征融合,然后通过卷积层来提取特征信息。

③ 经过卷积层进行特征融合后的特征信息,进行批归一化和非线性激活计算不同通道之间的相似性来分配注意力权重,并且使用h_swish作为激活函数。

④ 将经过批归一化和h_swish激活函数得到的全局信息进行分离操作,其目的是通过分离函数分开输出2组基于X轴和Y轴的注意力值。

⑤ 将从X轴得到的注意力和从Y轴得到的注意力经过Sigmoid归一化后,进行加权操作并重复权值后输出。

图6 CA机制结构原理Fig.6 Structural principle of CA mechanism

3 杂草识别模型实验结果与分析

3.1 实验平台与实验数据及参数设置

模型训练的硬件平台为西安科技大学云平台,主要硬件配置为Intel(R) Core(TM) i5-8300H型 8核2.30 GHz CPU ,16 GB 内存, GeForce GTX 1050Ti GPU,操作系统为Windows 10。采用Python 3.6.0语言,并以PyTorch深度学习框架为基础,训练融合注意力机制的YOLOv5杂草识别模型。

在自然环境下不同地块、不同光照强度,以小麦和常见伴生杂草为试验对象,共拍摄了230张有效照片,采用分层抽样法对图片数据进行数据增强,并按照3∶1的比例划分为训练集和测试集。在训练集上采用端到端的学习方式训练CA+YOLOv5的深度神经网络,然后保存训练好的模型参数。在测试集中将包含有作物和杂草的图片作为输入进行作物和杂草的定位和检测,如果目标类别和位置预测正确,认为检测成功,否则认为检测失败。为了说明CA+YOLOv5杂草识别模型的有效性,采用了YOLOv5、YOLOv4、SSD以及Faster R-CNN作为对比方法。

3.2 性能评价指标

为了准确分析不同杂草识别模型的性能,本文采用准确率(Precision,P) 、召回率/查全率 (Recall,R) 、综合判别参数F1以及平均准确率(Average Precision,AP)作为目标识别算法的评价指标,计算如下:

(2)

(3)

(4)

式中:TP表示被正确识别的正样本的数量,FP表示负样本被错误识别为正样本的数量,FN表示正样本被错误划分为负样本的数量。为了更好地判断P和R二者对模型的综合影响,引入综合判别参数F1,其是准确率和召回率的调和平均数。P、R以及F1的值越大,表明识别方法的性能越优。

(5)

式中:AP为训练模型中准确性和召回率折线与横纵坐标轴所围成面积的大小,表示模型性能的优劣,n为指训练的批次,Pn为第n次训练得到的准确率,将n次训练得到的准确率相加求均值即为AP。AP越大,模型性能越优。

3.3 实验结果分析

3.3.1 融合不同注意力机制的YOLOv5杂草识别结果分析

为了讨论不同注意力机制对本文杂草识别模型的影响,在YOLOv5目标检测算法的基础上分别融合了SENet(Squeeze-and-Excitation Net)、CBAM(Convolutional Block Attention Module)、ECA(Efficient Channel Attention)以及CA机制进行对比实验。

将不同的注意力机制融合到YOLOv5网络的相同位置,并对同一组杂草数据集进行训练与测试,性能评价参数对比如表1所示。从表1可以看出,融合CA机制的YOLOv5目标检测模型在识别杂草的P、R、F1以及AP都有明显的优势,从而证实2.2节中的结论,对于农作物与杂草相似度较高的杂草数据集,在进行特征学习时,除了关注颜色、形状等特征外,还需融合一种能够根据位置信息去除背景噪声的注意力机制,即CA。

表1 引入不同注意力机制的参数对比

为了进一步讨论不同注意力机制对本文杂草数据集的影响,计算了模型在训练过程中不同迭代次数下的全类平均准确率(Mean Arerage Precision,MAP)和分类损失Loss_cls的值,绘制成折线图如 图7所示。

(a)MAP折线图对比

(b)Loss_cls折线图对比

从图7(a)可以看出,随着迭代次数的增加,融合CA机制得到的MAP值最终稳定于0.903,远高于其他3组实验组。从图7(b) 可以看出,当迭代次数到80~100时,4组实验曲线收敛,而融合CA机制的Loss_cls值较小于其他3组实验组,证明CA机制相较于其他注意力机制具有更好的提高杂草识别模型分类能力的效果。

3.3.2 融合CA机制的YOLOv5杂草识别结果分析

在YOLOv5s网络结构的基础上,融合CA机制,分别将CA机制加入主干层的输入端、C3模块的输出端以及主干网络的输出端进行对比实验。引入CA后的主干层架构如图8所示。

(a)将CA引入输入端

(b)将CA引入C3后

(c)将CA引入输出端

将注意力机制CA设置在YOLOv5s的不同网络位置,分别对预测模型进行训练,然后在相同的测试集上进行杂草识别的性能评价,性能对比如表2所示。从表2可以看出,将CA引入YOLOv5s网络的不同部位,对识别模型的性能有很大影响,其中将CA放置在主干层的输出端位置时识别模型的性能是最优的,识别精度达到了0.91,F1达到了0.88。同时也发现,当CA放在主干层的输入端位置时,识别模型的F1和AP最小,说明识别性能差。这是因为将注意力机制引入输入端位置时,注意力权重无法明确表达原始图像中需要关注的特征,因而可能会造成网络将注意力权重附加到背景等不需要关注的地方,最终造成更差的识别结果,可见将注意力机制引入不当的位置会对模型造成负面影响。

表2 将CA机制引入主干层不同位置的性能对比Tab.2 Performance comparison of introducing CA me- chanism into different locations of the backbone

为了进一步讨论注意力机制设置在不同网络位置时对模型训练的影响,计算了模型在训练过程中不同迭代次数下的MAP和Loss值,绘制成折线图如图9所示。从图9(a)可以看出,随着迭代次数的增加,将CA加入主干层的输出端位置时得到的MAP值最终稳定于0.903,略高于其他2组实验。从图9(b) 可以看出,当迭代次数到70~100时, 3组实验曲线收敛,而CA加入主干层输出端位置时,Loss值最终收敛于0.332,小于前2种引入方式,说明CA机制加入主干层的输出端位置时提升了杂草识别模型的精度。

(b)Loss折线图对比

3.3.3 融合CA机制的杂草识别方法的泛化性和鲁棒性分析

田间一个地块中地理位置不同的区域,生长的杂草类型可能会呈现多样性,且不同位置的杂草可能会具有稀疏、密集,与作物相似或不相似等特性,为了验证融合CA机制YOLOv5杂草识别模型的泛化性和鲁棒性,在原有小麦和长茎叶照片数据的基础上,另外拍摄了一组包含单株和双株杂草的蔬菜照片共130张作为对照实验。将原有小麦和杂草的图像数据以及蔬菜和杂草图像的数据集各自分为 2组,第一组是130张原始图像数据,第二组是经过相同的图像数据增强技术扩展后的263张图像数据,每一组数据集中训练集和测试集比例为3∶1, 训练批次为2,权重文件均为yolo5s.pt,模型训练的迭代次数均为100。

在包含杂草的小麦和蔬菜的2组数据集上分别进行了3次不同的实验仿真,具体实验内容如下:

① 实验组1:记作exp100_epoch100,训练集由100张原始照片构成,测试集是30张原始待识别的图片。对YOLOv5s深度神经网络进行100次迭代训练,保存训练好的模型参数。

② 实验组2:记作exp200_epoch100,训练集包含经过数据增强的200张照片,测试集包含63张待识别的图片。对YOLOv5s深度神经网络进行 100次迭代训练,保存训练好的模型参数。

③ 实验组3:记作exp200_CA-epoch100,训练集包含经过数据增强的200张照片,测试集包含 63张待识别图片,对融合CA注意力机制的YOLOv5s深度神经网络进行100次迭代训练,保存训练好的模型参数。

分别针对包含杂草的小麦和蔬菜的2组数据集,在3个实验中分别训练不同的杂草识别模型,并在测试集中进行杂草识别的测试,结果如图10所示。

图10(a)~图10(c)展示了3组实验中对密集型杂草和小麦的杂草识别结果,原图中右上方是小麦,左下方是一片较为密集的杂草,且小麦和杂草相似度较高。实验组3CA+YOLOv5s的杂草识别模型完整地识别出了左下角的所有杂草,且没有将小麦误判为杂草,平均置信度为0.75。实验组2在数据增强的基础上训练了YOLOv5s杂草识别模型,识别出了图左下角大多数的杂草,平均置信度为0.61。实验组1的识别结果最差,只识别出了2片杂草,并将图片右上方的小麦误识别为了杂草,识别平均置信度为0.65。实验表明, CA +YOLOv5杂草识别模型对与作物相似度高的杂草有较高的分类能力和识别准确度。

图10(d)~图10(i)分别展示了对于和蔬菜不相似的杂草使用YOLOv5和CA+ YOLOv5的识别模型在2组数据集上的3次实验结果。图10(d)~ 图10(f)展示了训练好的模型对相似度低的单株杂草的识别结果。其中实验组1对蔬菜和单株杂草的识别置信度为0.84,实验组2的单株杂草识别置信度为0.85,实验组3单株杂草识别置信度为0.81。图10(g)~图10(i)展示了训练好的不同识别模型对蔬菜和双株杂草的识别结果。实验组1对双株杂草的检测置信度为0.80,实验组2对双株杂草的识别置信度为0.81,实验组3对双株杂草识别的置信度为0.80。从图中识别结果可以看出,数据增强基础上的CA+YOLOv5杂草识别模型识别性能稳定,不同密度杂草识别置信度均达到了0.80以上,而不加入注意力机制的杂草识别模型的性能变化较大。

为了进一步说明CA+YOLOv5杂草识别模型的泛化性和鲁棒性,计算了2组不同作物及杂草的识别模型的识别结果性能评价指标,如表3和表4所示。从表3的性能评价指标可以看出,对于小麦杂草的CA+ YOLOv5识别模型性能在3组实验中最优,P达到了0.911,R达到了0.95,F1为0.88,均高于其他2组实验。从表4的性能评价指标可知,蔬菜杂草的识别中CA+ YOLOv5识别模型性能在3组实验中也是最优,P达到了0.879,R达到了0.756,F1为0.80,均高于其他2组实验。

表3 小麦杂草数据集不同实验组的评价指标对比Tab.3 Comparison of evaluation indexes of different experimental groups of wheat weed dataset

表4 蔬菜杂草数据集不同实验组评价指标对比Tab.4 Comparison of evaluation indexes of different experimental groups of vegetable weed dataset

针对小麦和蔬菜杂草识别2组不同的数据集,分别根据3组实验训练过程中每一次迭代计算的P、R、MAP和Loss_cls的值,以小麦杂草识别3组实验的训练数据为例绘制了折线图,如图11所示。可以看出,实验组3的P、R以及MAP都优于其他 2组,其中图11(d)表明3 组实验损失函数均随着迭代次数的增加而降低,在0~20次迭代时损失函数的值下降较快,原因是初始学习率CA+YOLOv5杂草识别模型的识别精度较高,具有鲁棒性和泛化性。

(a)3组实验P对比值

(b)3组实验R对比值

(c)3组实验MAP对比值

(d)3组实验Loss_cls对比值

3.3.4 不同杂草识别模型的性能对比分析

为了进一步验证本文所优化的CA+YOLOv5s杂草识别模型相比于传统目标检测模型的有效性,在相同PyTorch仿真试验条件下采用相同的图像预处理方法,选择目前物体识别的标准模型YOLOv4、SSD以及Faster R-CNN作为对比方法,并将其均融合CA机制进行对比试验,训练方式均采用随机梯度下降的方法,使用一致的学习率设置规则,Dropout值为0.6,最大迭代次数为100。在相同的数据集上对小麦和杂草进行识别模型的训练,在测试集上对对比模型和本文的CA+ YOLOv5的模型进行性能测试和分析。

在训练过程中,不同迭代次数下的损失函数Loss值和MAP值变化如图12所示。图12(a)展示了在训练过程中100次迭代时,每次迭代所得到的识别模型的损失函数Loss值(即真实杂草与识别杂草的偏差)。当迭代次数为20~40时,CA+ YOLOv5的损失函数值接近0.031,YOLOv4+CA的损失函数值接近收敛值0.086,而SSD+CA和Faster R-CNN+CA模型的训练损失函数值仍在下降中,当迭代次数达到80~100时这2类模型才逐渐接近收敛值3.851和0.817,且收敛值远大于CA+YOLOv5和YOLOv4+CA的识别模型。图12(b)显示了在100次迭代训练过程中,不同识别模型MAP值的变化情况,设定每迭代10次进行一次MAP值输出。从图12(b)可以看出,在模型训练的过程中Faster R-CNN+CA识别模型的MAP值较高于YOLOv4+CA和SSD+CA模型,最终稳定在0.832。而YOLOv4+CA和SSD+CA识别模型的MAP值分别稳定于0.232和0.739, Faster R-CNN+CA相比较于YOLOv4+CA与SSD+CA目标检测算法具有更好的识别效果,但复杂的网络结构导致训练时间长。CA+YOLOv5模型在训练过程中的MAP值为 0.904,优于其他3种对比方法。

不同识别模型的性能评价指标值对比结果如 表5所示。从表5可以看出,本文建立的CA+YOLOv5的杂草识别模型对小麦和周围相似杂草的P比Faster R-CNN+CA高出0.065,远远高于YOLOv4+CA。CA+YOLOv5的R远高于YOLOv4+CA和SSD+CA,略高于Faster R-CNN+CA。CA+YOLOv5的AP为0.904,比Faster R-CNN+CA模型增加了 0.072,远高于SDD+CA和YOLOv4+CA。CA+YOLOv5的F1均高于其他3种模型。同时Faster R-CNN+CA模型训练时长为2 h 39 min 46 s,是CA+YOLOv5模型训练时长的4.18倍。综合分析所有的性能指标值,CA+YOLOv5杂草识别模型的识别效果最优。

(a)4种目标检测模型得到的损失值对比

(b)4种目标检测模型得到的MAP对比

表5 不同杂草识别模型的性能指标比较Tab.5 Comparison of performance indicators of different weed identification models

4 结论

田间自然环境下的杂草和生长中的绿色麦苗相比有较高的相似性,但从图像特征的角度杂草比麦苗的纹理方向更加复杂。为了提高麦田中杂草的识别精度,在 YOLOv5深度神经网络的基础上,引入一种既可以捕获远程依赖关系,又可以保留图像中精确位置信息的CA注意力机制,建立了CA+YOLOv5的麦田杂草识别模型。将CA注意力机制设置在YOLOv5网络的主干层输出端时,有效提高了模型对密集型杂草的识别能力,其P、R、F1、AP评价指标的值分别达到了0.911、0.950、0.88、0.904。下一步将展开杂草识别模型轻量化的研究,为田间自动化机械除草提供技术支持。

猜你喜欢

杂草注意力卷积
拔杂草
让注意力“飞”回来
基于3D-Winograd的快速卷积算法设计及FPGA实现
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things
水稻田几种难防杂草的防治
一种基于卷积神经网络的性别识别方法
杂草图谱