APP下载

基于多注意力机制的苹果叶部病害检测方法

2023-02-24龙阳肖小玲

江苏农业科学 2023年23期
关键词:叶部注意力卷积

龙阳 肖小玲

摘要:针对苹果叶部病害在复杂环境下出现的多尺度病斑识别和定位不准确等难题,并提高对小目标病害特征的识别能力,提出了一种基于改进YOLO v5s的苹果叶部病害检测算法。首先,在骨干网络中采用ConvNeXtBlock模块替换传统的CSP模块,以增强对病害特征的提取能力。同时,为了更准确地检测小目标病害特征,引入自注意力和卷积集成的ACmix注意力机制,使得改进后的骨干网络在复杂环境下也能更准确地检测到苹果叶部病害。在颈部网络中,采用通道和空间混合的CBAM注意力机制以及SK注意力机制,以进一步提高模型对多尺度病害特征的精确定位和提取能力,并赋予了模型更强的语义信息理解能力,使其能够更好地适应不同尺寸和复杂度的病害状况。试验结果表明,与传统的YOLO v5s相比,改进后的算法精确率提高了12.2百分点,召回率提高了12.0百分点,mAP@0.5提高了12.72百分点,平均精度达到94.03%,具有较好的识别精度,误检和漏检概率显著减少。本研究的改进算法在苹果叶部病害检测方面取得了显著成果。该算法不仅提高了对多尺度病害特征的识别和定位能力,在复杂环境下也能更准确地检测到小目标病害特征。这一算法的应用潜力不仅限于苹果叶部病害,还可推广至其他农作物病害检测领域,对于提高农业病害防控水平具有重要意义。

关键词:苹果叶部病害;YOLO v5s;ConvNeXtBlock;ACmix;CBAM;SK;注意力机制

中图分类号:TP391.41  文献标志码:A

文章编号:1002-1302(2023)23-0178-09

当今社会,农业产业的发展对于粮食供应和经济增长至关重要。然而,农作物病害是农业生产的主要障碍之一,尤其是水果作物,其中苹果叶部病害对苹果产量和质量的影响尤为显著。因此,快速、准确地检测和识别苹果叶部病害对于农业生产具有重要意义。

目前,深度学习方法在图像处理和分类任务中取得了显著的突破。其中,卷积神经网络被广泛应用于目标检测和图像分类任务中。针对苹果叶部病害检测,研究者们也尝试利用深度学习方法来提高检测的准确性。例如,王云露等提出了基于改进Faster R-CNN的苹果叶片病害识别方法,能够在实际场景中进行无损测量识别,平均精度均值(mAP)达到86.2%[1]。Jiang等提出了一种新的使用  Deep-CNN 的苹果叶病检测模型来检测5种常见的苹果叶病。结果表明,INAR-SSD模型在ALDD上达到了78.80%的 mAP检测效果[2]。Sun等提出了一种可以实时检测苹果叶片病害的轻量级CNN模型,其试验结果表明,该模型能够达到 83.12%的mAP检测效果[3]。刘斌等构建了一种基于快照集成方法的苹果叶部病害程度识别模型,在其试验结果中,对苹果黑星病早晚期病害程度的识别准确率高达90.82%[4]。然而,在过去的研究中,虽然已经取得了一定的成果,但其中的一些方法仍然受到一些限制。例如,一些早期研究可能对于多尺度和复杂环境下的苹果叶部病害检测表现不佳。此外,在小目标病害的准确识别方面存在挑战,这在实际农业生产中尤为重要。

在实际场景和实验室场景混合的应用中,像VGG、GoogleNet和ResNet等卷积神经网络模型训练效果一般,随着数据集的数量增多、规模增大,训练的时间也较长[5-7]。像Faster R-CNN和FPN等二阶段检测算法的准确率较高,但是检测速度较慢[8-9]。YOLO系列算法和SSD等单阶段检测算法的检测速度比较快,但是准确率较低[10-11]。這些现有模型的局限性启发了本研究选择YOLO v5s算法并进行改进,以克服这些挑战并提高苹果叶部病害检测的准确性和效率。YOLO v5s具备较快地检测速度,但在准确率方面需要改进,特别是在复杂情境下。因此,笔者所在课题组对YOLO v5s进行相关改进,以提高其适应复杂环境的能力,并使其更具鲁棒性。本研究的主要目的如下:(1)使用ConvNeXtBlock模块替换主干网络中的CSP模块,增强主干网络的特征提取能力,提高病害特征的检测精度,降低模型误检率。(2)使用ACmix和CBAM注意力集成的模块添加到原YOLO v5s中,ACmix能够提高网络对小目标的敏感度,降低复杂环境下的影响。CBAM在颈部网络中能够对空间和通道特征的权重进行再分配,提高网络识别精度。(3)使用SK注意力机制添加到颈部网络,采用不同大小卷积核来识别不同尺度的病害特征,增强网络对多尺度病害特征的提取能力和自适应能力。

1 材料与方法

1.1 数据集采集

本研究数据取自已公开的AppleLeaf9数据集,该数据集是从PlantVillage、ATLDSD、PPCD 2020和PPCD 2021中融合得到的[12-15]。这个数据集汇集了不同来源的图像,使得所提出的算法能够识别出更多种类的苹果叶部病害,尤其是在野外环境下也能表现出色,增强了模型在应对环境变化时的鲁棒性。数据集中经过人工筛选的图片数据包括链格孢叶斑病408张、褐斑病381张、蛙眼叶斑病360张、灰斑病339张、花叶病371张、白粉病410张、锈病361张、黑星病370张,共计8种病害3 000张图片。该数据集的多样性反映了苹果叶部病害的真实多样性,其中像链格孢叶斑病、蛙眼叶斑病和锈病等都属于小目标病斑,因此为本文解决小目标检测问题提供了有力的支持。表1为苹果叶部8种病害的主要症状和原因,图1为苹果叶部8种病害数据集的示例图。

1.2 数据集处理

通过 LabelImg 工具对图像上的病斑进行标注,再对应 xml 文件中存储病斑的位置信息和其对应的类别信息。训练集和测试集以8 ∶2的比例随机划分并将图像路径信息写入到对应的 train.txt、test.txt 文件中,各病害图像标注名称及数量见表2。

1.3 YOLO v5s模型

YOLO v5有不同的变种,用字母标记,如“s”“m”“l”和“x”,表示模型的大小。其中最小的变种是YOLO v5s,旨在更快速,并具有较小的内存占用,适用于实时或资源受限的应用程序。YOLO v5s模型由输入、骨干网络、颈部、头部和输出组成,彼此协同工作,实现高效的目标检测。输入端主要包括Mosaic数据增强、自适应锚框计算等预处理操作。

其中骨干网络主要由CBS卷积块、CSP结构、SPPF特征金字塔池化等组成,主要功能是不断进行特征提取后再进行特征融合。颈部则使用类似路径聚合网络的网络结构得到80×80×512、40×40×512、20×20×512(单位均为像素px) 3种大小的特征图,头部则采用不同尺度的特征图用于检测[16]。

1.4 改进的YOLO v5s模型

如图2所示,改进的模型是在YOLO v5s 6.0版本的基础上进行的。在骨干网络中将CSP模块替换为ConvNeXtBlock模块,增强骨干网络的特征提取能力,并添加ACmix注意力机制,通过融合卷积和Self-attention操作来实现对小目标的精确识别;在颈部网络的输出阶段添加CBAM注意力机制和SK注意力机制串行结构,其中CBAM注意力机制是将注意力集中在通道和空间上,而SK注意力机制则是将注意力集中在此后的卷积核尺寸维度上,这样能够对多尺度特征进行权重分配并进一步提高网络的识别能力。

1.4.1 ConvNeXtBlock结构

在实际场景中,苹果叶部病害区域与背景区域之间存在相似度较大的情况,这使得将病害特征与背景进行区分变得更加困难。这个问题导致原始 YOLO v5s 的主干提取网络在进行下采样时,可能会错过一些局部细节的特征信息,从而降低了后续特征融合的准确性。为了解决这一问题,本研究提出了使用优化的 ConvNeXtBlock 模块替代原始主干提取网络中的 CSP 模块[17]。ConvNeXtBlock 模块通过使用一个较大卷积核的深度卷积,扩大感受野,捕获更多的特征信息,从而增强了主干提取网络的特征提取能力。这一改进旨在提高模型对苹果叶部病害细节特征的捕获,使得模型更好地区分病害特征与背景区域,从而增强了检测精度,降低了漏检和误检率。

ConvNeXtBlock模块结构如图3所示,利用卷积核大小为7的Depthwise卷积对输入特征进行逐通道卷积操作,进行空间信息的交互,扩大感受野,同时提高模型的计算效率。经过Layer Norm归一化来加速网络的收敛并减少梯度动荡。用1×1卷积和GELU激活函数,使训练更加稳定,通道数变为原来的4倍。然后再通过1×1卷积层和Layer Scale归一化操作,用向量形式的可学习参数gamma对每个通道进行缩放,最后使用DropPath正则化方法,随机丢弃一些连接,来提高模型的泛化能力。将主分支与identity分支连接,得到最终输出特征图。

1.4.2 ACmix注意力机制

在苹果叶部病害检测任务中,小目标的检测通常受到以下问题的影响:由于苹果叶部病害区域与背景区域的相似性,使得小目标的区分难度较大,这导致检测器在识别小目标时的准确性不高。此外,纯卷积操作可能无法有效捕获全局特征,而自注意力机制则可能忽略了局部特征。因此,为了解决这些问题,笔者所在课题组引入了ACmix模块。ACmix是融合Self-Attention和卷积操作的模块,示意图如图4所示[18]。它同时享有自注意力和卷积的好处,且与纯卷积或自注意力对应物相比具有最小的计算开销。

第1阶段:将输入的特征图进行3个1×1的卷积操作,在通道上升维,得到3×N个特征图的豐富中间特征集,然后作为输入给下一阶段。

第2阶段:分为2个模块,对于自注意力模块,将中间特征集聚集成N组,遵循传统的多头注意力机制,每组分别进行查询、键和值操作得到相对应的特征图,然后通过特征融合得到H×W×C的特征图Fatt;对于卷积模块,通过一个3N×k2N全连接层后对子特征图进行特征平移和融合得到H×W×C的特征图Fconv。最后将2个模块的输出进行相加操作,得到最终的输出特征图Fout,如公式1所示,α和β是2个可学习的标量控制。

Fout=αFconv+βFatt。(1)

通过如上分阶段过程,ACmix集成了卷积和自注意力模块的优点,通过合并2个分支的输出结果,模型可以同时兼顾全局特征和局部特征。这种综合考虑有助于提升网络对于小目标的检测效果,使其更具鲁棒性,能够在复杂环境中更准确地识别和定位苹果叶部的小目标病害。

1.4.3 CBAM注意力机制

由图5可以看出,CBAM结构包含2个独立的子模块,通道注意力模块和空间注意力模块,这些模块的引入在颈部网络的输出上起到了关键作用,帮助网络更好地识别苹果叶部病害区域[19]。具体而言,苹果叶部病害区域往往具有复杂的纹理和颜色变化,这增加了检测的难度。通道注意力模块有助于网络集中注意力在最相关的通道上,以提高对苹果叶部病害特征的敏感度。而空间注意力模块则有助于网络集中注意力在最相关的空间区域上,从而提高了对苹果叶部病害位置的准确性。因此,CBAM注意力机制的引入可以使网络更有效地识别和定位苹果的叶部病害,从而提升检测性能。

通道注意力模块如图6所示,具体流程如下:将输入特征图F分别经过最大池化和平均池化,得到2个1×1×C的特征图,接着再将它们分别送入多层感知器,将多层感知器输出的特征进行加和操作,再经过sigmoid激活操作,生成最终的特征图M。最后,将输出特征图M和输入特征图F做乘法操作,作为空间注意力模块需要的输入特征。

空间注意力模块如图7所示,具体流程如下:将通道注意力模块输出的特征图M经过与原始输入特征图进行乘积得到的特征图M1作为本模块的输入特征图。首先做一个基于通道的最大池化和平均池化,得到2个H×W×1 的特征图;然后将这2个特征图经过一个卷积操作,降维为1个通道;再经过sigmoid生成输出特征图M2;最后与M1做乘积,得到最终生成的特征。

这2个注意力模块的综合作用使得网络能够更好地适应苹果叶部病害的多样性和复杂性,提高了对小目标病害的敏感性,同时提高了对其准确定位的能力。因此,CBAM注意力机制的引入有助于解决本文中提出的问题,提高了苹果叶部病害检测的性能。

1.4.4 SK注意力机制

在苹果叶部病害检测中,不同的病害可能具有不同的尺度和特征, 传统的卷积操作可能无法充分捕捉到这些多尺度特征,导致检测性能下降。SK注意力机制是针对卷积核的注意力机制,根据不同大小的目标对不同大小的卷积核敏感度不同,SK注意力机制对不同的图像动态生成不同的卷积核,尝试找到最合适大小的卷积核[20]。因此,SK注意力机制具有目标尺度自适应的特点,可以更好地捕捉不同尺度的目标特征,从而提高了网络的多尺度目标检测能力和精度。图8所示是SK注意力机制的基本结构,主要流程分为拆分、融合和选择。

(1)拆分:对输入向量[WTHX]X进行不同卷积核大小的完整卷积操作,如使用3×3、5×5的卷积核同时进行处理,得到2个不同的特征图,主要测试不同卷积核对目标的敏感度,以提高检测精度。

(2)融合:对上一步得到的2个不同的特征图进行融合,接着沿着H和W这2个维度进行全平均池化,将所有空间信息平均成一个值,得到一维向量S,代表着不同特征的重要程度。通过线性变换将其映射为Z维信息。

(3)选择:再通过2个线性变换将其复原为 C 维信息,然后进行 Softmax 归一化,得到了反映通道重要程度分数的2个权重矩阵a和b,最后a和b等2个权重矩阵对之前的2个特征图进行加权操作,得到了2个经过加权了的特征图,然后融合得到输出向量。相比于初始X,输出特征图舍弃无关特征的同时保留了更丰富的细节信息特征。

由于本研究在试验过程中采用了4组不同的卷积核,分别为1×1、3×3、5×5和7×7。因此,SK注意力机制的引入有助于解决本研究中提出的问题,使网络能够更好地适应苹果叶部病害的多尺度特征,从而提高检测性能和精度。

2 结果与分析

2.1 试验环境

本试验基于ubuntu 20.04系统环境下进行,硬件配置为 Intel Xeon Platinum 8358P CPU @2.60 GHz,A40 GPU,80 GB内存,显存为48 GB。编译环境为Python3.8+Pytorch 1.10.0+CUDA 11.3。

2.2 评测指标

试验使用Precision(P)、Recall(R)、平均精度(AP)、平均精度均值(mAP)来评价检测模型的准确性。评价指标计算公式如下:

式中:m表示样本类别数;p(r)表示Precision以Recall为参数的一个函数;TP是指被正确识别的正样本数;TN为被正确识别的负样本数;FP表示负样本被错误识别为正样本数;FN表示正样本被错误识别为负样本数。

2.3 消融试验

为了更好地验证本研究算法的有效性,本研究进行了消融试验,共试验了4种不同的改进方法。同样使用上面的数据集进行测试,在epoch设为150时,试验模型的对比结果如表3所示。改进1通过引入SK注意力机制,模型能够更好地适应多尺度目标,表现出更高的检测效果。这一改进对于苹果叶部病害的多样性非常有帮助。改进2是添加了ACmix和CBAM注意力机制集成的模块,使模型能够更好地捕捉全局和局部特征,这有助于模型更准确地定位和识别苹果叶部病害。改进3是将ConvNeXtBlock替换掉骨干网络中的CSP模块,提高了模型的特征提取能力,同时提升了检测效果。最后是本研究算法将改进1、改进2 和改进3 集成在一起,综合考虑了多尺度特征、全局和局部特征以及更强的特征提取能力。结果表明,精确度、召回率、mAP@0.5分别上升了12.2、12.0、12.72百分点,说明本研究算法在苹果叶部病害特征的识别和定位上是更加优秀的。

本研究将结果绘制成曲线,由图9可明显看到本算法将所有改进点集成以后相比于原始模型,在mAP@0.5、mAP@0.50~0.95、精确率和召回率等指标上都有明显的提升。它能够更准确地检测目标,具有更高的召回率,并且在不同IoU阈值下取得更高的准确性。

2.4 对比试验

为了验证本算法与其他算法的性能对比,同样使用上面的数据集,结果如表4所示,可看出本算法表现出优于Faster R-CNN、SSD和RetinaNet的效果[21]。首先,本研究算法在mAP@0.5方面表现最为优越,达到了94.03%,相比其他3个模型,差距明显,表明本研究算法在准确性上具有优势。然而,即使在提供更好性能的同时,本研究算法在参数数量方面相较于Faster R-CNN仍然保持较小规模,这意味着更轻量级的模型更容易存储和部署。此外,本研究算法的GFLOPs也相对较低,显示出更高的计算效率。最后,在模型权重大小方面,虽然本算法略大于YOLO v5s,但仍然明显小于Faster R-CNN、SSD和RetinaNet,表明本研究算法在模型尺寸上保持了相对的小型化。综合来看,本研究算法在性能、模型规模和计算效率3个关键方面均取得了明显的优势,在苹果叶部病害检测领域成为一个更具竞争力和实用性的选择。

除此之外,在600张测试集上进行对比试验,各种病害的平均精度如表5所示。本研究算法模型在测试集上检测各种病害种类的平均精度明显优于其他模型。它展现出更高的准确性和召回率,在不同病害种类上取得了更好的检测结果。这意味着该模型能够更精确地定位和识别各种病害,从而提高病害检测的整体性能。

图10为部分苹果叶部病害检测结果图,可以看出原始YOLO v5s模型还存在误检、漏检和精确度不高的问题。本研究所改进的模型的优化设计使其能够更好地应对病害检测任务的挑战,它在提高检测准确性和可靠性方面取得了显著的表现。与原始模型相比,改進模型能够更精确地识别各种病害,并且更少地出现误检和漏检的情况。以上结果都展现出改进模型在病害检测任务中的优越性,为相关领域的应用提供了更可靠和高效的解决方案。

3 結论与讨论

本研究为了解决苹果叶部病害在复杂环境下多尺度病斑难以精确定位和识别的问题,提出了基于改进YOLO v5s的模型,通过在骨干网络添加CNB模块和ACmix注意力机制,在颈部网络添加CBAM和SK串行的注意力机制,试验结果的mAP@0.5、精确率和召回率分别高达94.03%、92.6%和90.0%,表明改进方法对于正常情况下的物体检测更加可靠,能够准确地区分目标物体和背景噪声。

综上所述,改进模型在检测效果方面相比原始模型表现更好。它在准确性、漏检和误检方面都取得了显著的改善,从而提高了整体的检测性能。后续可以在本研究算法的基础上将其轻量化,即减少模型的参数量和计算复杂度,让其保持较高检测性能的同时,更好地满足在移动设备上进行实时检测。

参考文献:

[1]王云露,吴杰芳,兰 鹏,等. 基于改进Faster R-CNN的苹果叶部病害识别方法[J]. 林业工程学报,2022,7(1):153-159.

[2]Jiang P,Chen Y H,Liu B,et al. Real-time detection of apple leaf diseases using deep learning approach based on improved convolutional neural networks[J]. IEEE Access,2019,7:59069-59080.

[3]Sun H N,Xu H W,Liu B,et al. MEAN-SSD:a novel real-time detector for apple leaf diseases using improved light-weight convolutional neural networks[J]. Computers and Electronics in Agriculture,2021,189:106379.

[4]刘 斌,徐皓玮,李承泽,等. 基于快照集成卷积神经网络的苹果叶部病害程度识别[J]. 农业机械学报,2022,53(6):286-294.

[5][JP3]Simonyan K,Zisserman A. Very deep convolutional networks for large-scale image recognition[EB/OL]. (2015-04-10)[2023-06-10]. https://arxiv.org/abs/1409.1556.

[6]Szegedy C,Liu W,Jia Y Q,et al. Going deeper with convolutions[C]//2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Boston,2015:1-9.

[FK(W21][TP龙阳10.tif;S+2mm][FK)]

[7]He K M,Zhang X Y,Ren S Q,et al. Deep residual learning for image recognition[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Las Vegas,2016:770-778.

[8]Ren S Q,He K M,Girshick R,et al. Faster R-CNN:towards real-time object detection with region proposal networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence,2017,39(6):1137-1149.

[9]Lin T Y,Dollár P,Girshick R,et al. Feature pyramid networks for object detection[C]//2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR).Honolulu,2017:936-944.

[10]Redmon J,Divvala S,Girshick R,et al. You only look once:unified,real-time object detection[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Las Vegas,2016:779-788.

[11]Liu W,Anguelov D,Erhan D,et al. SSD:single shot MultiBox detector[C]//European Conference on Computer Vision.Cham:Springer,2016:21-37.

[12]Yang Q,Duan S K,Wang L D. Efficient identification of apple leaf diseases in the wild using convolutional neural networks[J]. Agronomy,2022,12(11):2784.

[13]Hughes D P,Salathe M.An open access repository of images on plant health to enable the development of mobile disease diagnostics[EB/OL]. (2016-04-12)[2023-06-10]. https://arxiv.org/abs/1511.08060.

[14]Feng J Z,Chao X F. Apple tree leaf disease segmentation dataset[DS/OL]. (2022-03-31) [2023-06-10]. https://doi.org/10.11922/sciencedb.01627.[HJ2.08mm]

[15]Thapa R,Zhang K,Snavely N,et al. The Plant Pathology Challenge 2020 data set to classify foliar disease of apples[J]. Applications in Plant Sciences,2020,8(9):e11390.

[16]Liu S,Qi L,Qin H F,et al. Path aggregation network for instance segmentation[C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City,2018:8759-8768.

[17]Liu Z,Mao H Z,Wu C Y,et al. A ConvNet for the 2020s[C]//2022 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). New Orleans,2022:11966-11976.

[18]Pan X R,Ge C J,Lu R,et al. On the integration of self-attention and convolution[C]//2022 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). New Orleans,2022:805-815.

[19]Woo S,Park J,Lee J Y,et al. CBAM:convolutional block attention module[C]//European Conference on Computer Vision.Cham:Springer,2018:3-19.

[20]Li X,Wang W H,Hu X L,et al. Selective kernel networks[C]//2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). Long Beach,2020:510-519.

[21]Lin T Y,Goyal P,Girshick R,et al. Focal loss for dense object detection[C]//2017 IEEE International Conference on Computer Vision (ICCV). Venice,2017:2999-3007.

猜你喜欢

叶部注意力卷积
面向移动端的苹果叶部病虫害轻量级识别模型
基于YOLOv3的多类烟草叶部病害检测研究
让注意力“飞”回来
基于3D-Winograd的快速卷积算法设计及FPGA实现
从滤波器理解卷积
基于颜色差异性的植物叶片病害图像分割方法
基于傅里叶域卷积表示的目标跟踪算法
“扬眼”APP:让注意力“变现”
推广新型农药噻虫嗪防治甘蔗叶部害虫突破14万公顷
A Beautiful Way Of Looking At Things