基于注意力机制和特征融合的葡萄病害识别模型

时间:2024-08-24 19:00:02 来源:网友投稿

贾 璐 叶中华

(中国农业大学信息与电气工程学院, 北京 100083)

葡萄是世界上最重要的果树树种之一,它是一种广泛种植在世界各地的作物,并且具有丰富的营养价值、药用价值和经济价值等。然而,每年包括葡萄在内的农作物由于病害侵袭,对其产量造成了严重的损失。最近研究发现,植物病害是造成世界各地农作物产量下降的主要原因之一,这对全球粮食安全也造成了严重的威胁[1-3]。此外,传统的农作物病害识别方法大多依靠人工观察和经验判断或者在实验室依赖特定的实验分析来识别病害的类别,非常低效并且操作复杂,难以满足实际农业生产的需求。因此研究农作物病害的智能识别,具有重要意义。

随着人工智能技术的飞速发展,许多研究人员使用机器视觉和图像处理的方法来识别农作物病害[4-7]。传统的机器视觉和图像处理的病害识别方法是从颜色、形状、纹理和小波特征或组合中提取外部特征[8-11],然后利用分类器对提取的特征进行分类。最后,实现农作物病害的分类。其中常用的分类器包括支持向量机[12-13]、贝叶斯[14]、主成分分析[15]、随机森林[16-17]和决策树[18]等。例如,MAJUMDAR等[5]首先采用模糊c-means聚类算法来提取小麦叶片的病害特征,然后利用人工神经网络(ANN)对提取的病害特征进行分类,最终实现对小麦病害的识别。PANTAZI等[6]采用局部二值模式(LBPs)进行病害特征的提取,并实现了对不同作物病害的自动识别。张燕等[19]将农作物的颜色纹理等特征结合支持向量机(SVM)提出了一种有效的病害识别模型。然而,这些研究大都是实验室环境下进行的,采集的病害图像数据噪声较少,这与自然环境下的病害图像差距较大,难以满足实际农业生产的需求。

近年来,深度学习方法被应用到各个领域,并且取得了较大的进展,其中卷积神经网络(CNNs)在图像识别领域取得了显著的效果。目前有许多研究者已经提出了一系列经典的CNN模型,比如AlexNet[20]、VGG[21]、ResNet[22]和DenseNet[23]等。同时,随着移动设备的普及,一些学者也提出了一些轻量级CNN模型,比如MobileNetV1[24]、MobileNetV2[25]、ShufftNetV1[26]、ShufftNetV2[27]和GhostNet[28]等。此外,许多研究者已将深度学习应用到农作物病虫害识别领域。MOHANTY等[29]训练了一个深度卷积神经网络模型,用来识别14种作物的26种病害,在测试集上的准确率达到99.35%。LU等[30]提出了一种基于深度卷积神经网络的模型,并且基于自然环境下采集的水稻病害数据集进行实验,在10倍交叉验证策略下,提出的模型准确率达到95.48%。PRIYADHARSHINI等[31]提出了一种基于深度卷积神经网络的玉米叶片病害识别模型,然后使用公开数据集PlantVillage中的玉米叶片图像进行实验,最终模型在测试集上的识别准确率达到97.89%。ZHANG等[32]对AlexNet模型进行改进,提出了一种新的植物病害识别模型GPDCNN,并且在黄瓜病害数据集上展开实验,实验结果表明该模型可以有效识别黄瓜病害。CHEN等[33]改进了DenseNet模型,并设计了一个新的玉米病害识别模型Mobile-DANet,在其自建数据集上的平均准确率为95.86%。李书琴等[34]设计了一种轻量级卷积神经网络模型Scale-Down ResNet,该模型对植物病害叶片具有较好的识别效果。以上深度学习模型,虽然在植物病害识别领域已经取得了一定的进展,但是经典的CNN模型依然存在模型参数量和计算量较大的问题,轻量级的CNN模型虽然参数量和计算量大幅降低,但是当应对自然状态下复杂背景的病害图像时,其识别准确率仍有待进一步提高。上述研究大多在实验室环境下进行,或者是专业人员为了研究而专门拍摄,并不是在实际生产中拍摄,所以采集到的病害图像噪声较小,与在自然复杂环境中拍摄的病害图像有较大差距,难以满足实际农业生产的需要。

为解决上述问题,本文提出一种新的网络模型MANet,用于自动识别自然状态下的葡萄病害图像,如白腐病、褐斑病和霜霉病。在该模型中嵌入倒残差模块[25]来构建网络,以降低模型参数量和计算成本。同时,提出一种多尺度特征融合模块(Multi-scale convolution, MConv),可以提取病害图像多尺度的特征并进行融合,提高模型对不同病害的识别准确率。此外,在MANet中嵌入注意力机制SENet[35]模块,以增强模型在复杂背景的图像中提取关键病害特征的能力,并抑制其他无关信息。

1.1 数据获取

本文使用2个植物病害数据集进行实验,一个是本文构建的复杂背景葡萄病害数据集(命名为Grape_Complex),另一个是公开的PlantVillage数据集(http:∥www.plantvillage.org)。

PlantVillage是一个公开的农作物病害数据集,共有54 305幅图像,包含13种作物,涉及26类作物病害叶片和12类健康叶片,共计38种类别[36]。这个数据集中的图像是由专业人士出于科学研究目的而拍摄的,因此其病害图像的背景比较简单。实验中,按照比例8∶2将图像随机分成训练集和测试集。同时将数据集中的原始图像归一化为3×224×224,使其适应模型的输入。PlantVillage数据集中的部分样本图像如图1所示。

图1 PlantVillage数据集中的部分样本图像

Grape_Complex数据集包括3种病害(白腐病、褐斑病、霜霉病)和健康叶片,数据主要来源于农管家在线农技问答平台(http:∥www.laodao.so/)。农管家是一种为农民在实际生产中提供交流的在线农技问答平台,其中问答板块主要是农民在种植农作物过程中遇到的各种作物病害、虫害等问题,农民提出问题后会有相关的专家进行解答。基于此,收集该在线农技问答平台的相关数据,然后根据专家领域的知识对图像标记病害类别,并保存为JPG格式。Grape_Complex数据集中的各类别样本示例如图2所示。明显可以看出,这些图像是农民在实际生产中拍摄的,比为科学研究目的而去专门拍摄的图像背景更加复杂。本研究收集的病害图像数据更加符合实际农业生产的情况。最终,Grape_Complex数据集共收集2 022幅图像,包括548幅白腐病图像,717幅褐斑病图像,414幅霜霉病图像,343幅健康图像。

图2 Grape_Complex数据集中的样本图像

1.2 数据预处理与数据增强

由于收集的Grape_Complex数据集中的图像分辨率和尺寸不同,首先将图像尺寸调整为3×224×224,以适应模型的输入尺寸,然后,将数据集按照比例8∶2分为训练集和测试集。其中训练集有1 616幅图像,包括438幅白腐病图像、573幅褐斑病图像、331幅霜霉病图像以及274幅健康图像。测试集有406幅图像,包括110幅白腐病图像、144幅褐斑病图像、83幅霜霉病图像以及69幅健康图像。由以上统计可以发现,自建数据集中样本分布存在不平衡的现象,这种不平衡的训练数据会干扰到深度学习模型的识别效果[37-39],所以本文对原始数据进行数据增强,扩充训练样本的数量,以增加训练图像中样本的多样性,防止模型出现过拟合现象,同时使模型对自然状态下的病害图像具有较强的泛化能力。本文主要通过随机旋转、水平翻转和垂直翻转来扩充训练样本的数量。数据增强后的样本分布如表1所示。

表1 Grape_Complex数据集数据增强后的样本分布

1.3 病害识别总体流程

葡萄叶片病害识别的总体流程如图3所示。首先进行病害图像数据的收集,并通过人工方式剔除无法使用的图像。其次对构建的数据集进行预处理操作。然后按照比例8∶2将数据集划分为训练集和测试集,并且通过随机旋转、水平或者垂直翻转等方式对原始数据集进行数据扩充,这样原有数据的多样性得以增加,使得最终训练得到模型的泛化能力更强。最后用数据增强过的数据集训练MANet模型,保存训练过程中性能最佳的模型权重。基于以上训练的MANet模型用测试集中的图像进行测试,得到测试样本的预测类别,以实现葡萄叶片病害的识别。

图3 葡萄叶片病害识别的整体流程

1.4 MANet模型

1.4.1模型结构

本研究提出了一种对葡萄叶片病害具有更高识别准确率的CNN模型,将其命名为MANet。MANet模型的整体结构如图4所示。从图4可看出,MANet模型主要由多尺度特征融合模块(Multi-scale convolution,MConv)、最大池化层、SENet-InvertedResidual模块(由SENet模块和倒残差模块[25]交替连接构成)、注意力机制模块、自适应平均池化层和全连接层组成。MANet首先利用一个多尺度特征融合MConv模块来提取病害多尺度的特征信息,获得图像的丰富特征表示。其次,连接一个最大池化层用于降低图像的尺寸,然后,在最大池化层后将SENet和倒残差模块交替连接,用少量参数增加网络的深度,从而提高模型的非线性表示能力。同时,在MANet中加入了注意力机制SENet模块,使其能够更加关注图像中葡萄叶片的病害区域,从而减少图像中复杂背景产生的噪声对识别效果的影响。自适应平均池化层主要起到降低特征图的空间维度的作用,并在一定程度上增加模型的感受野。最后通过一个分类器模块使用全连接层和Softmax函数来实现病害的分类。

图4 MANet模型结构

1.4.2多尺度特征融合模块

由于在自然状态下采集的葡萄叶片病害图像往往包含较多噪声,并且图像背景较为复杂,所以这使得病害识别难度更大。为此,本文提出了一种多尺度特征融合模块(Multi-scale convolution,MConv),在不同感受野和多尺度空间下尽可能多地提取病害的关键特征。MConv模块结构如图5所示。在该模块中,输入特征图经过卷积核大小分别为1×1、3×3、5×5和7×7的卷积层进行并行处理,以获取病害图像更加丰富的特征信息。然后将各个支路卷积得到的特征图合并为一个新的特征图,并利用一个1×1的卷积对新的特征图进行特征融合。综上所述,本文提出的MConv模块可以捕获多尺度的病害信息,从而使得对于复杂背景的病害图像,获得更有辨别力的病害特征信息,有助于更加准确地识别葡萄叶片病害。

图5 MConv模块结构

1.4.3倒残差结构模块

本文提出的MANet中使用倒残差结构[25]来减少模型的参数量,其主要亮点在于深度可分卷积。倒残差模块结构如图6所示。从图6中可以看出,倒残差模块主要由普通卷积、Depthwise convolution和Pointwise convolution组成。当输入特征图进入倒残差结构时,首先由卷积核大小为1×1的普通卷积进行升维操作,然后Depthwise convolution提取特征图的深度特征,并且特征图的通道数不会发生改变,最后由Pointwise convolution对特征图进行降维操作。同时当Depthwise convolution的步长为1时,即输入输出特征图的形状一致,则通过ShortCut支路将Pointwise convolution的输出特征图和输入特征图进行相加操作,得到倒残差模块最终的输出特征图,如图6a所示。当Depthwise convolution中的步长为2时,倒残差模块没有ShortCut支路,Depthwise convolution在提取深度特征的同时进行下采样操作,扩大网络的感受野,最终倒残差模块输出特征图的空间维度H和W都将减半,如图6b所示。

图6 倒残差模块结构

与普通卷积相比,使用深度可分卷积可以大大减少模型的参数量和成本。普通卷积和深度可分卷积的卷积操作如图7所示。在图7a中假设输入特征图的宽和高都为D,通道数为M,卷积核大小为K×K,输出特征图的通道数为N,则普通卷积的参数量为K2MND2。同理在图7b中深度可分卷积的参数量为K2MD2+MND2。由此可计算深度可分卷积与普通卷积参数量的比值为

图7 普通卷积和深度可分卷积的卷积过程比较

(1)

综上所述,本文在提出的模型中嵌入倒残差结构,这不仅大大减少了模型参数量和成本,而且在一定程度上增加了网络的深度,提高了模型的非线性表示能力。

1.4.4Squeeze-and-Excitation Networks模块

本文提出的MANet中嵌入了注意力机制模块(Squeeze-and-Excitation Networks,SENet),使其能够关注图像中的葡萄叶片病害区域,并减少复杂背景对病害识别的影响。SENet是一种通道注意力机制,通过网络学习得到不同通道特征的重要程度,并且按照不同的重要程度依次为不同的通道赋予不同的权重,通道的特征重要程度越高被赋予的权重越大,通道的特征重要程度越小被赋予的权重越小。SENet模块主要分为压缩、激励和重构3个步骤,其中前两个是最为关键的步骤。SENet模块的结构如图8所示。

图8 SENet模块结构

在图8中X表示输入特征图,Ftr表示特征图X到特征图U的变换过程,即Ftr:X→U,X∈RC1×H1×W1,U∈RC×H×W,其中C1、H1和W1分别表示特征图X的通道数、高度和宽度;同理对于特征图U,C、H和W分别表示通道数、高度和宽度。卷积核为K=[k1,k2,…,kc],其中k1表示第1个卷积核,kc表示第c个卷积核,由此可得输出特征图为U=[u1,u2,…,uc],其中uc的计算公式为

(2)

式中uc——第c个通道的特征图

kc——第c个卷积核

C1——特征图X的通道数

i——计数变量

xi——第i个特征图

在图8中,Fsq表示SENet的压缩操作,它通过一个全局的平均池化层将每个通道上整个空间的信息压缩编码成一个全局特征。如图8所示,具有C个通道的特征图U,将其每个通道H×W的空间维度压缩为1×1的全局特征。Fsq操作结束后得到shape为C×1×1的特征图,具体的计算公式为

(3)

式中zc——第c个通道的特征图

Fsq(uc)——压缩操作

i、j——计数变量

在图8中Fex表示SENet的激励操作,主要作用是学习到特征图各个通道之间的关系,并且根据每个通道不同的重要程度为其赋予不同的权重。Fex操作的具体实现过程为将Fsq操作得到的所有全局特征传入两个全连接层,并且在两个全连接层后分别用ReLU和Sigmoid激活函数进行激活,从而使得模型学习到特征图每个通道的重要程度。Fsq操作的具体计算公式为

s=Fex(z,W)=σ(g(z,W))=σ(W2ReLU(W1z))

(4)

式中s——权重W1、W2——权重

Fex(z,W)——激励操作

z——特征图σ——激活函数

Fscale表示重构操作,即将SENet预测出的通道特征权重加权到特征图的每个通道空间上,得出一个新的特征图U1。Fscale的具体计算公式为

U1=Fscale(uc,sc)=scuc

(5)

式中Fscale(uc,sc)——重构操作

sc——特征图中第c个通道的权重

在式(5)中Fscale(uc,sc)表示在特征映射之间的通道运算,其中uc∈RH×W。综上所述,SENet模块具有很强的移植性,可以灵活地嵌入到各种图像识别的深度学习模型中,并且在很大程度上提升了模型的性能。

2.1 实验平台

本研究实验平台的硬件环境为Windows 10企业版64位操作系统,处理器为Intel(R)Xeon(R)Silver 4210R,RAM为128 GB,显卡为NVIDIA GeForce RTX 3090,显存为24 GB。同时使用Python语言进行编程,选用深度学习框架Pytorch 1.7.1进行模型的搭建和训练。

2.2 超参数设置

综合考虑模型的训练效果,本文对模型超参数进行以下设置:模型在训练和测试时采用批处理的方式,每批数据包含32幅图像,即批训练数据量的大小设置为32。模型训练的迭代总次数(Epoch)设置为100,采用随机梯度下降(Stochastic gradient descent, SGD)优化器,初始学习率设置为0.01,动量设置为0.9,同时在训练过程中,学习率采用自适应动态调整的策略,它会随着验证集的准确率而变化,损失函数使用交叉熵损失。最后,为了避免模型出现过拟合现象,在训练过程中使用EarlyStopping策略。

2.3 模型评价指标

本研究中,使用平均识别准确率和F1值来综合评价模型的识别效果。同时为了进一步评价各个深度学习模型的性能,在实验中还计算每个模型的参数量以及模型的浮点运算量(Floating point operations,FLOPs)。模型参数量决定各个模型的尺寸,也影响模型推断时对内存的消耗。模型浮点运算量用于评价各个模型的计算复杂性。

2.4 消融实验

在本实验中,将不同注意力机制SENet模块和CBAM[40](Convolutional block attention module, CBAM)模块分别嵌入MANet,具体实验结果如表2所示。MANet_CBAM表示在MANet中采用CBAM注意力机制,MANet_SENet表示在MANet中采用SENet注意力机制。从表2中可以看出,当向MANet中添加SENet注意力机制模块时,模型表现效果更好,平均识别准确率为87.93%,高于MANet_CBAM模型0.74个百分点,所以本研究选择将SENet模块嵌入到MANet中来建立模型。同时为了验证MANet模型的MConv模块、倒残差模块和注意力机制SENet模块的有效性,在自建Grape_Complex数据集展开了实验。消融实验结果如表3所示,MANet的平均识别准确率比Base、Base_SE、Base_MConv分别高5.17、3.45、0.5个百分点。其中Base表示只有倒残差结构而没有MConv和SENet模块的基准模型,Base_SE表示向基准模型加入SENet模块,Base_MConv表示向基准模型加入MConv模块,MANet为本文提出的新模型,此时向基准模型中同时加入SENet和MConv模块。

表2 不同注意力机制的实验结果

表3 消融实验结果

从表3中可以发现,当向基准模型中分别单独引入SENet和MConv模块时,模型在训练集和测试集上平均识别准确率都得到了明显提升。这是因为当在模型中加入SENet时,模型在几乎不增加网络开销的情况下,可以更加专注于葡萄叶片的病害部分信息,抑制其他无关信息的干扰。当在模型中加入MConv模块时,模型可以提取葡萄叶片多尺度的病害信息,并进行融合,从而使模型的性能得到了进一步的提升。同时,用Grad-CAM[41]对每个模型识别病害的结果进行了可视化,如图9所示。可以发现图9b、9c可能关注了与病害无关的区域,同时也忽略了一些有用的信息。当加入SENet模块时,模型可以更加专注于病害区域,如图9d所示。与其他基准模型相比,所提出的MANet模型可以准确地关注病害区域,而很少关注不相关的复杂背景(图9e),从而获得比其他模型更高的病害识别精度。综上所述,本文提出的MANet模型,当在基准模型中同时引入SENet和MConv模块时,模型性能表现最佳。

图9 不同模型识别效果的可视化

2.5 基于自建Grape_Complex数据集的模型评估

为了测试MANet模型在自然复杂环境下识别病害图像的效果,本实验选择了一些先进的模型作为对比,包括AlexNet[20]、VGG16[21]、ResNet50[22]、MobileNetV1[24]、MobileNetV2[25]、MobileNetV3[42]、ShuffleNetV2[27]、GhostNet[28]和Swin Transformer[43]。Grape_Complex数据集的预处理、数据增强方法和数据集的分布与1.2节一致。不同算法的识别效果如表4所示。总体来看,通过与这些模型的比较,MANet的识别表现最好,它达到了最高的平均识别准确率。MANet的平均识别准确率和参数量分别为87.93%和2.20×106。除了MobileNetV3和ShuffleNetV2之外,MANet的参数量比其他模型少。MANet模型的缺点是浮点运算量为5.2×108,略高于MobileNetV2、MobileNetV3、ShuffNetV2和GhostNet。然而,与MobileNetV2、MobileNetV3、ShuffleNetV2和GhostNet相比,MANet的平均识别准确率分别高4.68、3.45、10.10、5.17个百分点。除了这4个模型外,MANet模型的浮点运算量最小,准确率最高。

表4 不同模型基于Grape_Complex数据集的识别效果

不同模型对每种病害的F1值如表5所示。与其他模型相比,MANet对每种病害都有相对较高的F1值。白腐病的病害特征较为明显,各个模型识别效果都比较好,但是褐斑病和霜霉病的识别效果要略微差一些,这是因为自建数据集是自然状态下收集的图像,其背景较为复杂,这也增加了识别的难度。同时褐斑病和霜霉病在发病早期时,其病斑极其微小,即使人眼也很难辨别,所以模型容易将其误判为健康类别。而且褐斑病在发病晚期时,其枯叶病斑较大,模型也容易将其误判为白腐病。MobileNetV1和ShuffleNetV2模型对葡萄叶片褐斑病和霜霉病的F1值相对较低,这可能是因为模型错误地将图像背景判断为识别目标,从而造成了干扰。MANet对葡萄叶片褐斑病和霜霉病的F1值分别为85.83%和85.87%,高于MobileNetV1和ShuffleNetV2。综上所述,与这些模型相比,虽然MANet的参数量和浮点运算量略高于一些轻量级的模型,但它取得了最高的平均识别准确率,模型识别效果也优于上述对比模型。

2.6 基于PlantVillage数据集的模型评估

为了进一步评估MANet的鲁棒性,本研究还在公开农作物病害数据集PlantVillage上对其进行了测试。与2.5节类似,选择一些模型进行对比实验,实验结果如表6所示。与这些模型相比,MANet在测试集的平均识别准确率最高,达到99.65%。实验结果表明,本文设计的MANet模型具有良好的鲁棒性,在公共农作物病害PlantVillage数据集上也表现出较好的识别效果。

表6 不同模型基于PlantVillage数据集的识别效果

(1)提出了一种新的网络模型MANet,其模型的参数量和浮点运算量相对较小,并且对葡萄叶片病害具有更高的识别准确率。在MANet中嵌入倒残差模块来构建网络,这极大降低了模型参数量和计算成本。同时,在模型中采用设计的MConv模块来提取病害图像多尺度的特征并进行融合,提高了模型对不同病害的识别准确率。此外,在MANet中嵌入注意力机制SENet模块,增强了模型在复杂背景的图像中提取关键病害特征的能力,并抑制其他无关信息,从而使得模型的平均识别准确率得到进一步的提高。

(2)为了验证该模型的有效性,在自建Grape_Complex数据集和PlantVillage数据集上进行了实验。实验结果表明,MANet的平均识别准确率为87.93%,明显高于经典CNN模型,如ResNet50、AlexNet、VGG16,以及轻量级CNN模型,如MobileNetV1、MobileNetV2、MobileNetV3、ShuffleNetV2和GhostNet等。此外,为了进一步证明模型的鲁棒性,还在公开农作物病害数据集PlantVillage上进行了测试,实验结果表明,本文提出的模型在这个数据集上仍然取得了较好的识别效果。然而,与一些轻量级模型相比,MANet的不足之处在于模型的浮点运算量略高。

猜你喜欢 残差卷积准确率 基于双向GRU与残差拟合的车辆跟驰建模网络安全与数据管理(2022年3期)2022-05-23基于3D-Winograd的快速卷积算法设计及FPGA实现北京航空航天大学学报(2021年9期)2021-11-02乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析健康之家(2021年19期)2021-05-23不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨医学食疗与健康(2021年27期)2021-05-132015—2017 年宁夏各天气预报参考产品质量检验分析农业科技与信息(2021年2期)2021-03-27基于残差学习的自适应无人机目标跟踪算法北京航空航天大学学报(2020年10期)2020-11-14基于递归残差网络的图像超分辨率重建自动化学报(2019年6期)2019-07-23从滤波器理解卷积电子制作(2019年11期)2019-07-04高速公路车牌识别标识站准确率验证法中国交通信息化(2018年5期)2018-08-21基于傅里叶域卷积表示的目标跟踪算法北京航空航天大学学报(2018年1期)2018-04-20

推荐访问:病害 注意力 融合

版权所有:天豪文档网 2012-2024 未经授权禁止复制或建立镜像[天豪文档网]所有资源完全免费共享

Powered by 天豪文档网 © All Rights Reserved.。浙ICP备12036114号-1