APP下载

基于轻量化YOLOv5的粮食作物和杂草识别研究

2023-11-29陈承源彭晨程云芬王玉琦邹顺水

农业与技术 2023年22期
关键词:杂草注意力卷积

陈承源 彭晨 程云芬 王玉琦 邹顺水

(重庆科技学院智能技术与工程学院,重庆 401331)

引言

农业是全球粮食供应和经济发展的基石,而农作物的生长和产量受到诸多因素的影响。其中常见的重要因素是杂草的存在,其同农作物竞争养分、阳光和水分资源,极大危害了粮食作物的生长发展[1]。目前我国的除草方式主要分为人工除草和化学用品除草,人工除草主要是通过人力进行手动除草,存在费时费力且效率低下的缺点;而化学用品除草主要是通过各类杂草对应的除草剂进行清除,虽然效率很高,但是残留的化学药物会影响农作物的品质质量,同时也会对土壤造成化学污染[2]。随着智慧农业的发展,如何实现高效无污染的农业生产方式具有极强的研究意义,有利于推动农业在可持续发展的道路上持续发展[3]。

近年来,基于深度学习和图像数据增强技术的目标检测方法得到了广泛应用,特别是在智慧农业发展上取得了诸多成就[4-6]。姜红花等[7]通过对Mask R-CNN的区域建议网络和输出模块优化,成功实现了用于解决玉米田间杂草的识别检测;樊湘鹏等[8]通过对Faster R-CNN的特征提取网络进行重新选取,实现棉花幼苗和杂草的识别定位方法;宋建熙等[9]通过对Retina-Net进行多尺度特征融合和池化层改进实现草坪杂草的检测识别;赵辉等[10]通过对Dense Net模型进行改进实现了玉米幼苗及其伴生杂草的种类识别问题。该类方法虽能够较好地完成杂草种类的检测任务,但模型复杂度较高,难以实现在边缘设备上的部署。

为实现田间粮食作物和杂草的准确高效识别,利用深度学习方法解决复杂环境下农作物与杂草遮挡以及光线等干扰,本文提出了一种改进YOLOv5的轻量化识别模型,所提方法相比改进前对小目标检测率更高,多目标漏检率更低,模型体积更轻,因此具备更好的泛化能力,对生产实践具备指导意义。

1 YOLOv5检测算法

YOLOv5是一种目标检测算法,其是YOLO(You Only Look Once)系列算法之一。YOLO算法是一种实时目标检测算法,以其高效的速度和准确性而闻名。YOLOv5在YOLOv4的基础上进行了改进和优化,YOLOv5算法网络结构如图1所示。

YOLOv5网络主要由3部分组成,分别由Backbone(主干网络)、Neck(特征融合模块)和Head(检测头部)构成。主干网络负责从输入图像中提取特征,YOLOv5使用CSPDarknet53[11]作为默认的主干网络,其是一个深度残差网络,具有较强的特征提取能力。特征融合模块负责将不同尺度的特征图进行融合,以提高目标检测的精度。YOLOv5中使用了PANet[12]作为特征融合模块,其通过逐层上采样和下采样来融合特征图。检测头部负责生成目标的边界框和类别概率。YOLOv5使用CIOU Loss校准预测框位置并通过非极大值抑制对目标进行筛选,包括多个卷积层和全连接层,用于预测目标的位置和类别。

2 改进的YOLOv5算法

2.1 GhostNet

在YOLOv5网络模型中,在特征提取阶段往往会消耗较大的计算量,为了减少模型体积并提高运算速度,引入了GhostNet网络结构,以降低模型自身的复杂度。GhostNet[13]作为一种轻量级的网络模型,可以使用更少的参数量来生成更多的特征图,即可以实现保证网络模型精度的同时减少网络模型参数数量及浮点数运算次数。

相比于传统卷积所使用的方法,GhostNet通过常规卷积、Ghost生成和特征图拼接3步来进行特征信息提取。首先使用少量的传统卷积生成部分特征图,然后对这部分的特征图进行线性运算处理去除冗余的特征层,新生成特征图的操作称为Ghost生成,最后将卷积生成的特征层与线性操作生成的特征层拼接,组成一个完整的特征层,如图2所示。

图2 Ghost卷积

2.2 坐标注意力机制

自然环境下的粮食作物与杂草生长过程中存在重叠和枝叶遮挡等问题,使得对最终检测要求有所提高,因此在本文研究的YOLOv5算法网络中添加注意力机制,通过提高粮食作物和杂草的局部特征信息[14]来提高识别效果。目前常用的通道注意力机制通常会忽略位置信息,位置信息对于生成空间选择注意图会造成极大的影响,本文使用一种将位置信息与通道信息相结合的坐标注意力机制[15]增加对粮食作物和杂草的区分,提高自然环境下对两者的识别区分。

在坐标注意力机制(Coordinate attention,CA)中,通过通道注意力机制分解为2个一维特征编码过程,分别在2个空间方向实现聚合特征,不仅可以在第1个空间方向实现捕获远程依赖关系,还能够在第2个空间方向保留精确的位置信息,从而实现增强关注目标的表示,CA注意力机制流程如图3所示。

图3 CA注意力机制

在CA注意力机制中,为了获取图像在宽度和高度上的注意力并对其精确的位置信息进行编码,使用尺寸大小为(H,1)和(1,W)的池化核对输入特征图分别在宽度和高度2个方向进行全局平均池化处理,进而得到在宽度和高度2个方向的特征图,公式:

(1)

(2)

将获得的在宽度和高度2个方向的特征图进行拼接,将拼接结果送入卷积核为1×1的卷积模块,将维度降低为初始的C/r,通过批量归一化处理和Sigmoid激活函数后得到在高度上的注意力权重gh和在宽度上的注意力权重gw,在原始特征图上通过乘法加权计算,得到在宽度和高度上都带有注意力权重的特征图yc,公式:

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

(3)

gh=σ(Fh(fh))

(4)

gw=σ(Fw(fw))

(5)

(6)

2.3 GSconv模块

图像特征信息在Neck层进行融合时,空间信息逐步向通道传输,并且每次特征图的空间压缩和通道扩展都会使得语义信息部分丢失,这会影响最终的预测结果。本文在YOLOv5的Neck层中使用GSconv[16]替换传统卷积,当特征图传输到Neck层时,通道维度达到最大,宽高维度达到最小,此时使用GSconv进行上采样和下采样操作,特征图则不需要再进行任何变换,同时可以降低模型复杂度并保持准确性。

假设输入特征图通道数为C1,输出特征图通道数为C2。首先通过一个标准卷积进行下采样操作,得到通道数为C2/2的特征图;再通过一个深度可分离卷积操作,得到另一个通道数为C2/2的特征图;然后将生成的2个特征图进行拼接,得到通道数为C2的拼接特征图;最后使用通道混洗操作得到输出目标通道数的特征图,Gsconv模块如图4所示。

图4 Gsconv模块

3 实验结果与分析

3.1 数据集

本研究中使用的数据集来自公共数据集[17],该数据集由1118幅图像组成,其中包含了6种粮食作物和8种杂草。通过英特尔D435、佳能800D和索尼W800 3台相机在不同生长阶段的受控环境和田间条件下拍摄制成,部分实验图像如图5所示。

对本次数据集的图像使用翻转、旋转、平移、改变亮度和对比度的方法随机组合实现数据增强,防止在训练期间出现过拟合现象,共获得2500张训练集、238张验证集和118张测试集,并使用LabelImg图像标注软件对数据集中的图像进行标注。

3.2 实验环境

本文实验使用的CPU型号为Intel(R)Xeon(R)Gold 6230R@2.00GHz,GPU为NVIDA RTX3090,显存为24G,深度学习环境搭载于CUDA11.1和Pytorch1.9.0框架。

网络训练参数设置:权重文件选择为YOLOv5s.pt,总迭代次数为150次,每次迭代的训练图片样本为32,初始学习率为0.01,权重衰减系数为0.0005,动量大小为0.937。

3.3 评价指标

本文使用的评价指标主要包括平均精度mAP(mean Average Precision)、参数量、浮点计算量FLOPs和模型体积大小。计算公式:

(7)

(8)

(9)

式中,TP(True Positive)为模型预测为正类的正样本;FP(False Positive)为模型预测为正类的负样本;FN(False Negative)为模型预测为负类的正样本;P(Precision)表示精确率;R(Recall)表示召回率;AP(Average Precision)表示单类别平均准确率;mAP(mean Average Precision)表示多类别平均准确率度的平均值。

3.4 消融实验结果分析

为验证本文改进的模型具备有效性,在本次数据集上设置了消融实验,如表1所示。在加入GhostNet后YOLOv5s的参数量下降了2.0M,计算量下降了5.2GFLOPs,模型体积下降3.6MB,但mAP值也下降了1.6%。在YOLOv5s中加入Gsconv模块后,mAP值上升了1.4%,参数量、计算量和模型体积仅部分下降。通过GhostNet和Gsconv模块的结合,参数量下降了2.4M,计算量下降了5.8GFLOPs,模型体积下降了4.4MB,同时mAP值上升了0.1%。本文将GhostNet、Gsconv模块和CA注意力机制相结合,参数量下降了2.4M,计算量下降了5.7GFLOPs,模型体积下降了4.3MB,同时mAP值上升1.4%。对于本文实验所使用的数据集,所提改进方法在目标检测的性能指标实验下均有所提高,在提高检测精度的同时大大降低了模型复杂度。

表1 消融实验

3.5 对比实验结果分析

为了进一步验证本文所提出算法具备有效性,分别于SSD、YOLOv3、YOLOv4等主流算法进行对比实验,选取Map、参数量、计算量、模型大小和FPS等5个性能指标进行记录,实验结果如表2所示。

由表2可知,对比mAP,本文算法在mAP上达到了71.7%,相较于其他模型(SSD、YOLOv3、YOLOv4、YOLOv5)有明显的优势。对比参数量和计算量,从结果中可以看出,本文算法在参数量(4.6M)和计算量(10.1GFLOPs)上都较其他模型较低,说明本文算法在保持高检测性能的同时具有较高的效率。对比模型大小,本文算法的模型大小为9.4MB,在所有比较的模型中相对较小,这对于模型的部署和存储是有益的。对比FPS,本文算法在FPS(200)上表现较好,说明该算法在保持高检测性能的同时能够实现较快的实时处理。

综上所述,本文提出的算法在目标检测任务中取得了较高的mAP(71.7%),同时具有较低的参数量和计算量,并且模型大小较小。此外,该算法还能够以较高的帧率(200 FPS)进行实时处理。因此,本文算法在目标检测领域具有潜力,可用于高效准确地检测目标并满足实时应用的需求。检测对比如图6所示。

图6 检测效果对比

4 结论

本文针对粮食作物和杂草的识别提出了一种改进的轻量化YOLOv5检测算法。使用GhostNet替换了YOLOv5中的特征提取模块,大大减少了模型的复杂度并提高了检测速度。同时加入CA注意力机制,维持了算法本身的检测精度。最后加入Gsconv卷积进一步减少冗余信息并平衡语义信息。通过实验分析,改进后的算法在平均精度上有所提升,同时模型参数量和计算量也符合轻量化要求,更适合部署在硬件设备中使用。

猜你喜欢

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