APP下载

基于改进YOLOv7-tiny算法的多种类不均衡样本水稻害虫检测

2024-08-22李鑫南新元

山东农业科学 2024年6期
关键词:特征融合迁移学习

关键词:水稻害虫检测;改进YOLOv7-tiny算法;部分卷积;极化自注意力机制;特征融合;迁移学习

中图分类号:S434.112:TP391.41 文献标识号:A 文章编号:1001-4942(2024)06-0133-10

我国是世界最大的水稻生产国与消费国,水稻产量和质量对保障国家粮食安全起着重要作用,影响着居民生活稳定和国家经济发展。病虫害是影响水稻产量和质量的主要因素之一,严重时甚至导致绝收,因此及时识别并有效防治病虫害对提高水稻产量和质量具有重要意义。目前我国的害虫分类识别工作主要由相关领域专家目视辨别,但害虫种类繁多,农田面积大,人工识别不仅费时费力而且易出错,无法满足大面积农田害虫的快速准确识别,从而影响农田虫害的及时有效防治,严重威胁农业生产安全。随着信息技术和人工智能的发展,利用机器视觉和机器学习方法进行害虫识别分类成为可能,这对于农业生产的智能化、精准化管理意义重大。然而由于实际生产中环境因素复杂,水稻害虫种类繁多且有些种类间相似度较高,基于机器视觉准确检测田间水稻害虫并不容易。目前国内外研究人员已开展了害虫检测的相关研究,取得了一定的成果,如:马鹏鹏等融合了图像全局特征和局部特征后使用支持向量机分类识别,获得了3种大型水稻害虫识别91.4%的准确率和2种小型水稻害虫识别94.9%的准确率;Yao等用灯光诱捕器捕捉到4种水稻鳞翅目害虫,对其颜色、形状、纹理等156个特征进行了提取和分类,并采用七倍交叉验证法来提高害虫识别的准确率,平均准确率达到97.5%;杨国国等利用颜色及像素对图像的显著性区域进行检测,实现了茶园23种害虫的识别,准确率达91.5%;陈娟等提出了一种基于改进残差网络的害虫识别方法,通过在残差块中添加卷积层和增加通道数提取更多的害虫图像特征,对38种北方园林害虫的识别准确率平均提高9.6%;Jiao等提出了一种无锚区域卷积神经网络(AF-RCNN)用于24类害虫的识别和分类,取得了56.4%的平均检测精度;Liu等提出了一种端到端的深度学习方法PestNet,将通道注意力机制融合到卷积神经网络(CNN)中,对多类害虫检测的精度达到了75.46%。

但目前针对水稻害虫分类识别的检测研究仅局限于几类害虫,泛化性不强。因此,本研究首先在IP102农业害虫数据集基础上构建了包含26类标签的水稻害虫数据集,然后对单阶段目标检测算法YOLOv-7-tiny的骨干网络、特征融合网络中的结构进行改进,同时加入无参训练策略,对多种类不均衡样本下的水稻害虫进行检测,在提升检测精度的同时保证推理速度,提高算法的泛化性能,以期实现对自然环境下多种类水稻害虫的准确检测,为及时防治提供技术支持。

1材料与方法

1.1水稻害虫数据集的建立

IP102是目前最大的农业害虫数据集,包含了102类共计75222张图片,其中有关水稻害虫的共计14类8416张,涵盖了同一类别害虫的卵、幼虫、蛹、成虫等不同形态,并将其归为同一标签。但是该数据集中存在大量重复、不相关以及种类错误的图像,可供实际使用的图片数量很少,而且实际生产中水稻害虫远不止14种,还有很多危害水稻的害虫未被列入。因此,我们保留部分IP102数据集中的图片,同时以网络资源作为主要的数据来源,利用常用的图片搜索引擎,如Google、Baidu、Bing,以及各农学论坛和各类昆虫网站等,共收集了1500张不重复的水稻害虫图像,经3次旋转和镜像操作后,扩充至7500张图像,构建了一个包含26类标签的水稻害虫数据集,其害虫分类见表1。

IP102数据集中将同一类别害虫的不同形态归在同一标签下,但当种间害虫或其幼虫极其相似时,将其另外归在同一标签下会更好。因此,我们在新建数据集时保留了将部分成(幼)虫归为同一标签的特性,如稻纵卷叶螟和稻螟蛉,然后将相似害虫归为同一标签,如将稻潜叶蝇和稻秆潜蝇的幼虫归为蝇类幼虫,将三类原IP102中存在的灰飞虱、褐飞虱、白背飞虱归为稻飞虱单类。

最终,我们按照每类害虫的比例,随机分配了6075张图像作为训练集,1425张图像作为验证集,测试集选取与验证集相同的1425张图像。

1.2目标检测算法选择

当前的目标检测算法可分为两类(图1):一类是直接回归的单阶段目标检测算法,如YOLO(You Only Look Once)系列、SSD(Single ShotMultiBox Detector) 等,这类算法直接产生物体的类别概率和位置坐标值,速度快,但精度有所损失;一类是基于建议框(Region Proposals)的两阶段目标检测算法,如R-CNN系列,第一阶段生成建议框,第二阶段专注于对建议框进行分类回归和位置调整,这类算法通常精度较高,但速度较慢。为了实现水稻害虫检测的准确性和快速性,本研究选取单阶段检测算法中YOLO的轻量化版本YOLOv7-tiny,然后进行改进,以在提高精度的同时保证检测速度。

1.3本研究改进点

1.3.1改进卷积核模型 卷积核作为卷积神经网络的主要组成部分,承担了网络中绝大部分的参数量。发展至今,卷积神经网络的层数越来越多,参数量越来越大,即便是一些轻量化网络,也会因为浮点运算速度(FLOPS)降低导致模型的检测速度提升不明显。造成这种现象的主要原因在于运算符频繁的内存访问,特别是在使用深度卷积时,因此单纯减少浮点运算量(FLOPs)并不一定会提升检测速度。基于此,我们使用一种全新的部分卷积(Partial Convolution,PConv)来替换YOLOv7-tiny网络中8个EIAN-T结构的后两层卷积核,得到改进后的EIAN-T结构P-EIAN-T。图2为PConv与常规卷积和深度卷积的对比,图3为改进前后的ELAN-T结构。PConv拥有比常规卷积更低的FLOPs,比深度卷积更高的FLOPS,能够通过同时减少冗余计算和内存访问更有效地提取空间特征,从而实现速度和精度的双重提升。

1.3.2特征融合网络 在特征的传播过程中,由于网络层数不断增多,部分特征存在丢失的现象。为了更好地利用骨干网络提取的特征图,需要将不同尺度的特征图进行融合,以保证部分特征得以延续传播。为此,各式特征融合网络被设计出来,逐渐使用不同尺度的特征图进行重构或融合后组成特征金字塔网络,实现更好的检测效果(图4)。

本研究使用的复杂双向多尺度特征融合(BiFPN)是在特征金字塔(FPN)的基础上,保留了自顶向下的通路传递高层特征的语义信息,增加了自底向上的通路传递底层的位置信息,且同一层的输入和输出节点之间新加一条边。另外,传统特征融合使用Concat或Shortcut进行简单连接,但输入特征图分辨率的不同致使其在融合时的贡献不同,简单相加或叠加并不是最佳的融合操作,因此,BiFPN引入加权特征融合(weighted feature fusion),并使用不同于简单连接的加权ADD连接,学习不同输入特征的重要性,对不同输入特征有区分的融合。BiFPN采用快速归一化融合(fast normalized fusion),以图5的P6层为例,先对P6和P7层的特征进行融合,过程如公式(1),然后将融合后的结果与P6层的输入与P5层的输出进行融合,过程如公式(2)。

式中,ε取0.000 1;P参数在图中已经给出;Resize操作是上采样或者下采样:ω是学习参数,用于区分特征融合中不同特征的重要程度。

1.3.3极化自注意力机制 深度卷积神经网络中的注意力机制(Attention Mechanism)在提高网络特征提取能力方面效果显著,但针对特定元素的非局部模块注意力非常复杂,对学习噪声敏感,因而出现多种简化的即插即用注意力模块,尝试在多种类型的任务(如图像分类、对象检测以及实例分割等)中达到最佳妥协。其中,通道注意力(如Squeeze-and-Excitation Networks, SE)是广泛使用的注意力模块。纯通道注意力对不同的空间位置赋予相同的权重,分类任务仍然受益,因为它的空间信息最终会因池化而消失:物体检测中的锚点位移回归受益,因为纯通道注意力一致突出所有前景像素。但由于注意设计的关键差异,使用空间通道注意力比纯空间注意力有更好的效果,而常用的空间通道注意力模块(如Conv-olutional Block Attention Module, CBAM)与新的仅通道注意块(如Globle Context Network,GC-Net)相比,并没有表现出显著的优势。

因此,本研究使用一种空间通道注意力模块——极化自注意力(Polarized Self-Attention,PSA) 。它包含了两种实现高质量像素级回归的关键设计:一是极化滤波,在通道和空间注意力计算中保持高内部分辨率,同时沿其对应维度完全折叠输入张量;二是增强,组成直接拟合典型细粒度回归输出分布的非线性,如二维高斯分布(关键点热图)或二维双正分布(二元分割掩码)。PSA在仅通道分支和仅空间分支的表示能力都相当优异,其顺序布局和并行布局之间只有微小的差异,本研究使用极化自注意力机制的并行布局(图6),得到加入PSA后的PP-ELAN-T结构(图7)。

1.4改进的YOLOv7-tiny算法整体网络结构

图8为本研究所用检测算法的整个网络结构。在整个网络中,前4个ELAN-T结构被替换为PP-ELAN-T结构,后4个ELAN-T结构被替换为P-ELAN-T结构,网络的第63层和第71层将原本的2节点Concat连接替换为加权BiFPN的3节点ADD连接,第一处特征融合相较原结构增加了conv44节点,第二处特征融合相较原结构增加了conv34节点,图中分别用红线和蓝线标出。

1.5硬件与环境配置

本研究在训练和测试阶段使用的计算机硬件与环境配置:处理器为12th Gen Intel(R) Core(TM) i7-12650H,内存为16 GB,显卡使用NVIDIA GeForce RTX 4060 Laptop GPU,显卡内存为8GB。操作系统及软件环境:Windowsll操作系统,CUDA12.1版本,Pytorch使用2.0.0+cu117版本,YOLOv7-tiny目标检测算法,编程语言Py-thon 3.9。

1.6评价指标

本研究选用的评价指标:均值平均精度(mAP),用以评价网络预测结果的准确性;权重文件大小,用以评价网络结构的大小;单张图片的检测时间(FPS),用以评价检测算法的检测速度;浮点运算量(FLOPs)和浮点运算速度(FOLPS),用以评价网络的运算量和卷积核的处理速度。各项指标的计算公式如下:

式中,n表示待检真实框的个数,AP表示平均精度,P(precision)表示精确度,R(recall)表示召回率,TP表示检测框交并比(IoU)满足阈值的检测框数量,FP表示IoU不满足阈值的检测框数量,或是检测到同一个真实框的多余检测框的数量,FN表示没有检测到的真实框的数量。Ttotal表示检测验证集所用的时间,Nimage表示验证集图片的数目。

2结果与分析

2.1不同卷积核对检测算法性能的影响

为了探究不同卷积核对检测算法性能的影响,本研究在保证其他参数不变的情况下,分别使用全维动态卷积(ODConv)、条件参数化卷积(CondConv) 和部分卷积(PConv)3种卷积核模型替代部分卷积核,并与原卷积网络进行对比,其中ODConv与PConv替换的位置完全相同,而CondConv由于自身特性被替换在整个网络的第三层。它们的各项参数见表2。本研究训练轮数除特殊标明外均取100轮,无权重训练。PConv卷积核在检测精度和检测时间上均最优,且模型大小与FLOPs都有所下降,FLOPS低于原Conv但高于ODConv,表明PConv作为改进卷积核有相当的优越性。因此,本研究选取PConv作为改进卷积核替换原网络中的部分卷积核,以使网络有更好的性能。

2.2不同特征融合对检测算法性能的影响

为了研究不同特征融合方式对改进后的网络的影响,本研究使用加权BiFPN与不加权BiFPN分别对相同位置的特征图进行融合,并与原路径聚合网络(PANet)进行对比,结果(表3)显示,无论加权与否,BiFPN都可以提升模型的检测精度,其中,加权BiFPN的检测精度可达91.2%,高于原PANet和不加权BiFPN,且在模型大小上无明显增加,检测时间无增加。

2.3不同注意力模块对检测算法性能的影响

在前文改进的基础上,我们对比了分别加入简单无参注意力机制SimAM、接近无参注意力Triplet

Attention和极化自注意力PSA后检测算法的性能,结果(表4)显示,SimAM模型最小,但精度最低,符合其简单、无参的特性。Triplet Attention作为接近无参注意力,尽可能降低了模型增加的数值,仅比SimAM模型多出32 kb,检测时间明显增加,说明在运算速度上有所降低,通过增加运算复杂程度保证模型大小。PSA取得了最好的综合效果,虽然模型最大,但检测时间相比SimAM仅增加0.8 ms,且有效提升了检测精度。

Grad-CAM热力图是一种利用梯度信息对卷积神经网络进行可视化解释和决策的方法,能够将任意结构的卷积神经网络模型对不同区域的关注可视化,其关注度以不同颜色区域表示出来,图9展示了引入不同注意力模块的Grad-CAM热力图。可以看出,在未加入注意力时,检测算法对害虫的关注范围较广,且把背景上与害虫颜色类似的部分枝条视为害虫并予以关注,在加入注意力后,算法对背景的关注度明显降低,在加入PSA时,算法的关注点几乎全部集中在害虫附近,并且对两条害虫予以区分,表明PSA有更好的检测效果和抗干扰能力。

2.4迁移学习和多尺度训练

为了进一步提升检测算法的性能,我们在网络的训练阶段采取了加入迁移权重和多尺度训练的策略。迁移权重来自对数据集IP102中留有标注的18965张图片的训练,权重训练轮数为150轮,最终权重大小为9493 kb。多尺度训练幅度为±50%。

表5为不同训练策略的检测性能对比。以多尺度训练和迁移学习作为训练策略,其结果一定是无参的。在同时加入二者后,算法的最终检测精度达到了96.4%。但在单加入迁移学习时,算法的精度略微下降,这也体现了IP102这一数据集的问题所在,即图片质量不高、待检目标大小差异大、重复和错误图片较多等。在继续加入多尺度训练解决迁移权重的目标大小差异问题时,现有模型的学习能力和特征提取能力体现了出来,不仅补偿了迁移学习的负向增益,而且使迁移学习的效果得以体现。

2.5本研究提出的改进YOLOv7-tiny算法与其他检测算法的比较

为了证明本研究改进的单阶段检测算法的性能,将改进后的算法与其他轻量YOLO系列算法、Faster RCNN算法和SSD算法在数据集和硬件条件相同的情况下进行对照实验,对照实验均为带原始权重实验。最终结果(表6)表明,本研究改进的YOLOv7-tiny算法在模型大小上优于其他算法,FPS仅高于YOLOv3-tiny算法2.4 ms,但mAP提高34.9个百分点:mAP仅落后于Faster RCNN算法1.8个百分点,但FPS减少44.8 ms,且模型大小约为Faster RCNN的1/12。表明本研究改进的YOLOv7-tiny算法性能更优,更适合对田间多种类水稻害虫的检测。

图10为本研究提出的改进YOLOv7-tiny检测算法与原始YOLOv7-tiny算法训练结果的mAP和总损失(Loss)对比分析结果,改进后的算法在精度上由84.7%提升至96.4%,提升了11.7个百分点;在损失上由0.05416降低至0.03521,降低0.01895,占原损失的35.0%,因此,改进后算法的性能相较于原算法有很大提升。

2.6基于本研究改进检测算法的水稻害虫检测分析

图11为利用本研究建立的检测算法对水稻害虫进行检测的结果展示,其中a和b图展示了同一标签中成虫和幼虫的检测效果,c为困难样例,d为简单样例,均有较好的检测效果。

以困难样例为例,选取2.5节中检测时间相似的YOLOv5s、YOLOv7-tiny和改进YOLOv7-tiny进行检测效果对比,由图12可见,YOLOv5s出现了漏检情况,仅检测到一只螟虫幼虫,左侧检测信度虽然达到0.96,但检测框位置不够精准,右侧害虫未被检测到:YOLOv7-tiny检测到两只害虫,但信度不高,分别为0.72和0.73,且左边的锚框仅检测了一半的害虫,检测效果一般:改进后的算法准确检测到了两只害虫,害虫边界检测正确,信度提高,达到了0.90和0.86,取得了较好效果。

3讨论

本研究针对田间水稻害虫的检测问题,构建了一个包含26类水稻害虫标签的数据集,并通过卷积核、特征融合网络和注意力机制改进及使用迁移学习和多尺度训练策略,建立了改进的YOLOv7-tiny检测算法模型。

卷积核部分,本研究使用了最新的FasterNet中所构建的部分卷积PConv,并将其移植到了YOLOv7-tiny检测算法中的ELAN-T结构上,同时我们对PConv卷积核在ELAN-T结构中的数量和位置也进行了探索。ELAN-T结构右侧共有3个可供替换的卷积核,经过尝试1、2、3的替换数量以及不同替换位置,最终发现将ELAN-T结构的后两层Conv结构更换为PConv结构的效果最好。进一步将PConv与性能优异的深度动态卷积ODConv和条件参数卷积CondConv进行对比,也证明了PConv作为改进点的优越性,其FLOPS低于普通卷积核但高于深度卷积。

特征融合网络部分,本研究变更了原PANet的融合路径,并对加权与不加权的特征金字塔网络进行了探索,另外,为了验证加权特征金字塔的可行性,对原网络中的两处不加权Concat融合连接增加了融合节点,并在后续将Concat连接变更为加权特征金字塔的ADD连接,结果证明了特征金字塔相对于原PANet的优越性,且加权金字塔相对于不加权金字塔更优。

注意力机制部分,本研究使用了极化自注意力机制PSA。由于卷积神经网络的特性,注意力加在网络相对靠前的位置通常会取得更好的效果,因此我们在前四处改进后的P-ELAN-T结构的Concat节点前增加PSA节点,取得了较好的效果。而添加其他常用的注意力,如通道注意力SE、空间注意力CBAM、坐标注意力CA(Coordi-nate Attention,CA)等,效果均较差。

4结论

本研究使用PConv替换原YOLOv7-tiny中的部分卷积核,可以降低模型大小和参数量,同时提高检测速度和检测精度:使用加权BiFPN,可以有效利用各种特征层提取的特征,达到更好的检测效果;加入极化自注意力机制PSA,能够在不过分影响检测速度的情况下提高模型的泛化性能,使其更好地使用多尺度训练和迁移学习来提高检测算法性能。建立了改进的YOLOv7-tiny检测算法,并基于新构建的水稻害虫数据集进行训练,能够实现对田间自然环境下多种类水稻害虫的快速准确识别。最终,本研究建立的改进YOLOv7-ti-ny算法在自建数据集中对26类水稻害虫检测的均值平均精度达到96.4%,模型大小9055 kb,单张图片检测时间8.8ms,可以满足田间多种类水稻害虫实时准确的检测要求,也有利于后续边缘设备或移动端检测的开发工作。

猜你喜欢

特征融合迁移学习
迁移学习研究综述
从认知角度探讨大学英语网络教学模式
基于多特征融合的图像匹配算法
人体行为特征融合与行为识别的分析
基于移动端的树木叶片识别方法的研究
基于多特征融合的跨域情感分类模型研究
基于SIFT特征的港口内舰船检测方法
奇异值分解与移移学习在电机故障诊断中的应用
融合整体与局部特征的车辆型号识别方法
基于MATLAB的道路交通标志识别