APP下载

基于YOLO的水稻常见害虫识别方法
——以YOLO-BiCa为例

2024-05-18陈思羽黄丹杨莎匡迎春

农业与技术 2024年9期
关键词:害虫注意力水稻

陈思羽 黄丹 杨莎 匡迎春

(湖南农业大学信息与智能科学技术学院,湖南 长沙 410125)

引言

水稻作为我国主要粮食作物,长期受害虫侵扰,不仅对水稻的生长和产量造成威胁,甚至影响整个农业生态系统。近年来,由于气候变迁和种植模式调整,水稻害虫种类和数量呈上升趋势。根据多国作物健康专家近期研究表明[1],病原体和害虫造成水稻损失高达25%~41%,因此,对水稻害虫及其生命周期的各阶段进行准确的识别与检测,以实现早期干预和控制,对于降低水稻产量损失和保持其质量至关重要。

传统的害虫检测主要依赖于人工和仪器,耗时耗力且易受到主观和经验水平的制约,进而引发误判风险。误判往往导致农药的不当使用,可能污染环境和损害作物品质,破坏生态平衡[2]。因此,实现快速而准确的水稻害虫检测与识别,对于提升农业生产的效率、保障农业的可持续性以及维护生态平衡具有重大的意义。鉴于昆虫表型相似且形态多变[3,4],田间作物害虫检测较通用目标检测更具挑战。因此,基于图像处理技术[5]和机器学习技术[6]的农田害虫检测技术逐渐获得了农业研究者的广泛关注和研究。Miranda等[5]使用背景建模、中值滤波等图像处理技术识别和提取害虫特征,并有效去除在特征提取过程中因不同光照条件产生的噪声。Yao等[7]通过结合自适应性增强(AdaBoost)和SVM等机器学习算法,训练出一种能够有效检测稻田中白背蛾子及其不同发育阶段的分类器。由于其他类别样本不足,当前方法只能识别白背蛾子,这限制了其在实际场景中的应用。这些方法都严重依赖于人工设定,如颜色、形状等特征,在处理大规模任务以及识别形态复杂多变的害虫时,其局限性更为突出。随着农田害虫检测需求的日益增长,传统方法已难以满足当代农业和有害生物管理的需求。

近年来,随着人工智能的发展,深度学习在许多领域都取得了成功应用[8]。相较于传统的目标检测方法,基于深度学习的方法无需手动提取特定特征,通过迭代学习(iterative learning)自动找到合适特征,具有强大的鲁棒性和更高的识别准确率。越来越多的学者将深度学习技术应用于农作物害虫识别领域[9],并取得了显著进展,其中包括以Faster-RCNN[10]为代表的两阶段目标检测算法,以YOLO[11]系列为代表的单阶段目标检测算法。Wang等[12]提出了一种基于Faster R-CNN的苹果典型害虫识别和计数方法——MPest-RCNN,采用小锚点提取特征,从而提高了对小型害虫的识别准确度。Yunong Tian等[13]提出了一种称为MD-YOLO的多尺度密集新方法,用于检测小目标鳞翅目害虫。传统的YOLO在处理小目标时存在尺度适应性不足、信息丢失等问题,而MD-YOLO通过在不同尺度下密集地提取特征,并将这些特征进行融合,显著提升了模型对小目标的检测性能。Yang S等[14]提出了一种基于YOLOv7的玉米害虫检测方法,通过插入CSPResNeXt-50模块和VoVGSCSP模块,以提高网络检测精度和检测速度,同时减少了模型的计算量。根据上述研究发现,两阶段算法已经在农作物害虫识别方面有较优异的表现,但识别速度相对较慢,实时性能受限。相比之下,YOLO系列作为单阶段目标检测算法的代表,将目标框的生成与特征提取合并为一个步骤,大大简化了检测流程,提高了识别速度。因此,在需要快速、精确且实时的害虫识别应用中,YOLO系列通常更具优势。

本研究采用YOLOv5作为基础模型,在骨干网络中引入BiFormer优化特征提取能力。引入坐标注意力机制,增强模型对于目标的空间定位能力,由于其足够灵活和轻量,能够简单地插入到YOLOv5网络的核心结构中,而不会引入过多的计算负担,有利于在农作物害虫识别的实际应用。

1 基于YOLOv5的水稻害虫识别模型的改进

1.1 YOLOv5模型概述

YOLOv5作为当前主流的单阶段目标检测模型,在YOLO系列算法基础上进行了多项关键性改进。该模型不仅提供了实时目标检测所需的高速度,还保持了出色的准确性,使其在众多应用场景中脱颖而出。YOLOv5采用了一系列先进的轻量化技术,有效减小了模型体积,使其在资源受限的设备上也能发挥出强大的性能,成为农作物病虫害监测等快速且准确目标检测应用的理想选择。本文基于YOLOv5最新的6.0版本进行改进,其采用了CSPDarkNet53结构,在保证高精度的同时,减少了计算量和参数量,并有助于实现模型的轻量化。此外,该版本还引入了SPPF模块,以取代5.0版本中的SPP模块。这一改动在保持精度的同时,进一步加快了模型的推理速度。在Neck部分,YOLOv5 6.0采用了FPN加PAN结构,通过融合不同层次的特征,提高特征的利用率,进一步提升了模型的检测速度。综上所述,YOLOv5 6.0通过一系列优化和创新,在保持高精度的同时,实现了模型的高效和轻量化,为害虫识别等应用场景提供了更强大的支持。

1.2 YOLO-BiCa

针对水稻害虫体积小、形态特征多变以及背景环境复杂等难题,本文对YOLOv5进行2个方面的改进,提出一种名为YOLO-BiCa的水稻害虫识别模型。采用新型通用视觉网络架构BiFormer[15]替换YOLOv5骨干网络中传统的卷积层和C3模块,优化特征提取能力;利用BiFormer中的动态稀疏注意力机制,使网络能力机制,使网络能够同时关注不同层次的特征,显著提升模型对小目标的检测性能;同时精简网络结构,从而实现更高的计算效率。为了进一步提升模型的检测精度,在YOLOv5的检测头引入坐标注意力机制(Coordinate Attention,CA)[16]增强模型对于目标的空间定位能力以及对目标关键区域的感知。同时CA能够自适应地关注重要的特征,使模型在复杂的农田背景中仍然能够保持较高的精确度。通过上述优化,为水稻害虫识别的实际应用场景提供强大的技术支持。改进的YOLOv5模型结构如图1所示。

图1 YOLO-BiCa模型结构图

1.2.1 BiFormer

Transformer[17]模型利用自注意力(Self-Attention)机制赋予其更卓越的长距离依赖捕捉能力,因此被广泛应用到目标检测领域中。然而,这种结构不可避免的带来了2大挑战:内存占用庞大,计算成本高。为了克服这些问题,研究者通过引入具有多种手工设计的稀疏注意力模式来降低模型的复杂度[18-21]。尽管这些方法在一定程度上缓解了计算压力,但在无法全面捕捉长距离关系方面仍存在局限性。针对上述问题,Lei Zhu等[15]提出了一种名为双层路由注意力机制BRA(Bi-level routing attention)的动态稀疏注意力(Dynamic sparse attention)方法,利用双层路由更有效地解决长距离依赖捕捉的问题。以BRA为核心组件,Li进一步设计了一种可视化通用视觉网络架构——BiFormer,其核心设计思路在于利用BRA模块在粗略的区域级别预选过滤掉无关的键值对,在剩余的候选区域(即路由区域)中应用精细化的token-to-token注意力机制。这一策略不仅赋予了模型自适应性,还显著提高了计算效率且大幅度降低了内存占用。因此,Biformer在继承Transformer模型优势的同时,实现了更为灵活的内容感知和计算资源分配,成为当前视觉研究的一大创新亮点。BiFormer和BiFormer Block的模型结构见图2。

图2 BiFormer整体结构

BRA的运行流程主要分为3步。

区域划分和线性映射。假设输入1张二维特征图X∈H×W×C,将其分割成S×S个不重叠的区域,每个区域包含个特征向量。通过重塑X可为进行区域划分,经过线性映射获得Q、K、V张量,其线性投影:

Q=XrWq,K=XrWk,V=XrWv

(1)

式中,Wq、Wk、Wv∈C×C,分别为张量Q、K、V的投影权重。

基于有向图实现区域到区域的路由。在区域级别上,通过对Q和K计算平均值,得到区域级Qr、Kr∈S2×C,通过对Qr、Kr进行矩阵乘法,构建区域到区域亲和图的领接矩阵:

Ar=Qr(Kr)T

(2)

Ar中的每个条目,表示2个区域之间的语义相关性。保留每个区域前k个最相关连接修剪亲和图,得到路由索引矩阵Ir:

Ir=topkIndex(Ar)

(3)

式中,Ir的第i行包含第i个区域最相关的k个索引。

Token-to-token的注意力。使用区域到区域路由索引矩阵Ir,可以在选定的k个路由区域内应用Token-to-token的细粒度注意力。由于这些路由区域可能分散在整个特征图中,因此收集键Kg和值Vg张量:

Kg=gather(K,Ir),Vg=gather(V,Ir)

(4)

在收集的键值对上应用注意力机制计算输出O:

O=Attention(Q,Kg,Vg)+LCE(V)

(5)

式中,LCE(V)是一个局部上下文增强项,可以有效增强局部上下文特征表示能力,同时确保计算效率不受影响,这一设计为后续的害虫检测任务提供了更为精准且丰富的特征表示。

1.2.2 坐标注意力机制

注意力机制的核心优势在于通过赋予不同部分差异化的权重,使模型在处理输入数据时能够聚焦于重要信息,抑制无用信息,进而提升模型的性能[22]。目前被广泛应用的SE(Squeeze-and Excitation)注意力机制[23]仅关注通道信息,而没有考虑位置信息,因此限制了其在一些场景中的应用。卷积块注意模块(Convolutional Block Attention Module,CBAM)[24]虽然通过卷积操作和全局池化加权捕获了局部信息,但忽略了远程信息的相关性。而本文引用的坐标注意力机制(Coordinate Attention,CA)[16]在通道注意力中引入位置信息,并将其分解为沿着水平和垂直2个方向的一维特征编码操作,以确保模型不会丢失位置信息,以及更好地捕获远程依赖关系,同时,CA的另一大优势在于能够兼顾位置信息和通道之间的关联性,更精准的定位感兴趣区域。因此,在YOLOV5中引入CA可以使模型更加有效地应对在复杂环境下的害虫小目标任务。CA的具体结构图如图3所示。

图3 Coordinate Attention结构

CA机制的运作分为2步:坐标信息的嵌入,坐标注意力的生成。

坐标信息嵌入。对输入的特征图进行操作,利用池化核在水平坐标和垂直坐标方向上的2个空间范围(H,1)或(1,W)对每个通道进行编码。高度h和宽度w在第C个通道的输出表示:

(6)

(7)

式中,xc(h,i)和xc(j,w)分别表示在水平方向上和垂直方向上第c通道的输入。

坐标注意力生成。将高度和宽度2个方向上的特征图进行拼接,发送至共享的1×1的卷积变换函数F1,将通道降维至C/r,将F1送入Sigmoid激活函数,获得一个合成的C/r×(H+W)的特征图f,公式:

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

(8)

同时,利用1×1卷积分别对特征图f进行维度提升至C,得到特征图Fh和Fw,并使用Sigmoid激活函数进行非线性激活。

得到特征图在高度和宽度上的注意力权重g^h和在宽度方向的注意力权重g^w。公式:

gh=σ[Fh(fh)]

(9)

gw=σ[Fw(fw)]

(10)

对得到的gh和gw进行加权融合,公式:

(11)

2 水稻常见害虫数据集

2.1 图片采集

目前网络上存在一些农作物昆虫鉴定的公开数据集,但针对水稻害虫的专用数据集稀缺。因此,本文使用的数据集主要来源于实地采集和相关文献调研。本文构建的数据集共7839张水稻害虫图像,包括8种水稻害虫,具体为稻纵卷叶螟、二化螟、稻大螟、稻螟蛉、稻绿蝽、稻蝽象、稻蝗和蝽卵,将数据集按9∶1的比例划分为训练集和验证集。采集的部分水稻害虫图像见图4。

图4 采集的部分水稻害虫图像

2.2 图像处理与标注

在查找大量文献和农业专家的指导下,对获取到的水稻害虫图像进行标注。图像标注工具使用麻省理工学院(MIT)计算机科学与人工智能实验室(CSAIL)开发的LabelMe,将数据集整理成标准的YOLO数据标注格式。

2.3 数据增强

为了增加训练数据的多样性,平衡类别数量分布,从而提高模型的识别效率与泛化能力,本文从旋转、翻转、随机剪裁以及添加噪声4个方面进行数据增强。

3 试验结果与分析

3.1 试验环境与参数配置

本试验在Windows 10(64位)系统环境上运行,CPU为AMD Ryzen 97950X 16-Core Processor 4.50GHz,内存64GB;GPU为NVIDIA GeForce RTX 4090 24G显存;深度学习框架Pytorch版本为2.0.1;cuda版本为11.8。

3.2 评价指标

本试验主要使用准确率Precison、召回率Recall和平均准确率mAP来评价模型的各项性能。Precison和Recall的表达式:

(12)

(13)

式中,TP表示分类正确的样本;FP表示分类错误的负样本;FN表示分类错误的正样本。

平均准确率(Average Precision,AP)通过计算模型在不同置信度阈值下的P-R曲线下的面积来评估模型的准确性。mAP是指所有类别AP的平均值。提供了对模型在整个数据集上检测性能的综合评估。计算mAP的过程是将每个类别的AP值相加,除以类别总数,得到平均值AP和mAP的表达式:

(14)

(15)

式中,QR代表类别数。

3.3 YOLO-BiCa与其他方法性能对比

为了验证YOLO-BiCa的检测性能,将其与常用的目标检测算法SSD、Faster RCNN、YOLOv3、YOLOv4、YOLOv5l在相同试验环境下,使用本文自建的水稻害虫数据集与YOLO-BiCa进行对比试验,验证各项指标。最终试验结果见表1。

表1 不同算法对比结果

由表1可以看出,与其他算法相比,针对水稻小目标害虫数据集所提出的YOLO-BiCa能够相对准确地识别出图像中的害虫,YOLO-BiCa的mAP和Recall达到86.2%和81.3%,相较于基础模型YOLOv5l提高了4.5%和2.5%。YOLO-BiCa与SSD、Faster RCNN、YOLOv3、YOLOv4相比,mAP分别高出20.8%、15.3%、14.1%、33.9%。除了评估模型的平均准确率以外,模型参数量也是影响模型复杂度和训练时间的重要指标。YOLO-BiCa模型参数量最小,仅为基础模型YOLOV5l的1/2,更方便模型在实际应用中移动端的部署。总的来说,改进的模型YOLO-BiCa能较好地满足水稻害虫识别的要求。YOLO-BiCa训练输出的指标结果图和识别效果图如图5、图6所示。

图5 YOLO-BiCa训练结果

图6 YOLO-BiCa识别结果

3.4 消融试验

为了评估模块的有效性,本文使用YOLOv5l作为基准模型,在自建的水稻害虫数据集以及相同的环境参数设置上,通过分别添加不同模块来验证各项模块的有效性,具体结果见表2。

表2 消融实验

由表2可以看出,以YOLOv5l为基础模型,分别优化骨干网络引入BiFormer和添加CA,在仅优化骨干网络和仅添加注意力机制时,mAP均有提升。通过消融实验对比发现,对YOLOv5l同时进行2个模块的改进时,各项指标提升最为明显,mAP和Recall分别提高了4.7%和2.5%,参数量减少1/2,证明了各个模块优化效果的有效性。

4 结论与讨论

为解决传统算法在识别水稻小目标害虫时遇到的特征提取困难和识别精度不足等问题,本文选取8种常见的水稻害虫构建数据集,提出了一种名为YOLO-BiCa的水稻害虫检测模型。该模型在YOLOv5的基础上融入了BiFormer视觉网络架构,优化特征提取能力,提升其在害虫小目标识别方面的性能;引入坐标注意力机制,增强模型对于目标的空间定位能力以及对目标关键区域的感知。同时在自建的水稻害虫数据集上进行试验,相较于基线模型YOLOv5l,YOLO-BiCa的mAP提高了4.5%。在精确度、召回率2个指标上都占有一定优势,能满足水稻害虫精准识别的需求,为水稻害虫识别研究中的难题提供了新的解决路径。

猜你喜欢

害虫注意力水稻
什么是海水稻
让注意力“飞”回来
水稻种植60天就能收获啦
蜗牛一觉能睡多久?
冬季果树常见蛀干害虫的防治
一季水稻
水稻花
枣树害虫的无公害防治
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things