APP下载

基于注意力机制和残差网络的苹果叶片病害分类

2023-10-19吴刚正蔡成岗朱瑞瑜

江苏农业科学 2023年18期
关键词:注意力准确率卷积

吴刚正, 蔡成岗, 朱瑞瑜

(浙江科技学院生物与化学工程学院/浙江省农产品化学与生物加工技术重点实验室,浙江杭州 310023)

苹果作为国内消费最广泛的水果之一,在经济发展和满足人们的日常需求方面起着至关重要的作用。然而,面对复杂多变的自然环境,苹果的生长过程会受到不同疾病的影响,这对苹果的产量和质量造成极大影响。因此,高效识别苹果病害是保证苹果产量和质量的关键。快速准确地检测苹果病害,进而有效地控制病害,有助于合理利用如杀虫剂、肥料等农业资源,达到促进苹果生长的目的。目前,传统的农作物病害识别方法主要依靠视觉识别,对于识别者的经验有很高的要求。此外,人为识别时主观因素也会影响识别的准确率,并且该方法也无法应用于量化疾病识别。由于苹果病害症状复杂,评估错误会导致农药的过度使用,不仅无法预防和控制疾病,还会引起环境问题。随着计算机技术的快速发展,智能识别技术被广泛应用于解决植物病害问题,而在过去几年卷积神经网络(CNN)相较于其他图像识别技术具有更高的识别准确率[1-5]。

Bin等基于Kiwi-Inception和dense连接策略,提出了Kiwi ConvNet,该模型能够提取3种葡萄叶片疾病的特征,准确率达到98.54%[6]。Zeng等提出了一种自关注卷积神经网络,该网络能更加有效地提取作物病害特征,识别准确率较现有方法提高了2.9%[7]。李淼等将批归一化算法应用于卷积神经网络CNN中的Alexnet和VGG(visual geometry group network)模型,改善网络过拟合这一问题;再通过迁移学习的方法提高农作物病害的识别效率[8]。孙俊等将一种批归一化与全局池化相结合的卷积神经网络应用于 PlantVillage 中 26 种病害的识别检测[9]。

而后,在卷积神经网络中引入深度可分离卷积以及引入注意力模块,均被证明可以提高模型的识别准确率[10-11]。Tang等以ShuffleNet为基础网络,添加注意力机制,对常见葡萄病害识别的准确率达到99.14%[12]。Zhu等通过引入CBAM(convolutional block attention module)提高了LAD模型对苹果叶片病害识别的准确率,并将此模型应用于安卓系统[13]。Zhao等通过融合ResNet、FPN和CBAM,提出了一种新的Faster_R_CNN架构,识别草莓叶、花、果实不同部位病害的平均精度(mAP)为92.18%[14]。

苹果叶片病害会直接影响和关联苹果果实病害的发生。本研究以苹果叶片病害为研究对象,识别其染病程度有利于提前预警苹果病害的发生和进展。考虑到苹果叶片病害在不同发病时期、不同病理和表面特征的较大差异,同时拍摄角度和光线的不同也会增加对叶片病害识别的难度,为解决这一问题,本研究选择网络深度较深的ResNet101作为骨干网络模型,采用拆解大卷积层操作以减小模型参数,利用推迟下采样进行特征信息的获取以及添加注意力机制高效通道注意力(efficient channel attention module,ECA)模块对特征通道进行权重的重新分配,以达到增强有效特征权重、削弱无效特征干扰,进而提高模型的抗干扰能力,以实现更加精准识别苹果叶片病害的能力和效果。

1 试验数据

1.1 数据集构建

本研究数据集来源分为3种:(1)来自于公开的PlantVilage数据集;(2)来自于CVRP2021植物病理学挑战赛上的Plant-Pathology-2021-fgvc8数据集;(3)来自于线下拍摄采集,拍摄时间为2022年5月,拍摄地点为山东省烟台市,在苹果果园中采用1 920×1 080像素的高清数码相机拍摄叶片,对存在病斑的叶片进行多角度的拍摄,从而收集苹果叶片病害照片。将上述3个部分获得的苹果叶片病害图像整合成苹果叶片病害数据集,本研究构建的苹果叶片病害数据集共含有健康苹果叶片以及苹果叶片4种病害图像8 500幅。图1为健康苹果叶片以及4种苹果病害叶片,每种病害图像选取100幅用作测试集,剩余8 000幅图像以8 ∶ 2的比例将上述数据集图划分为训练集和验证集。

1.2 数据增强

为增强卷积神经网络模型的泛化性,避免过拟合,需要使用大量数据对模型进行训练。因此对训练集图像采取随机旋转、翻转、随机色彩以及随机亮度调整操作,对训练集样本进行扩充。经过扩充处理后的数据集各个类别的图像数量见表1,数据增强示意见图2。

表1 苹果叶片病害图像数量

2 苹果叶片病害识别方法

2.1 构建苹果叶片病害识别模型

2.1.1 选取基础网络模型 自2012年AlexNet夺得ImageNet竞赛项目冠军,奠定了卷积神经网络在计算机视觉的地位后,卷积神经网络受到了广泛的关注,但其发展陷入了唯有通过加深网络层数才能达到更好的识别效果的误区。随着研究的深入,只是普通的卷积层与池化层的堆叠,并未有预想的识别提升效果,一方面,梯度会随着网络深度的加深而减弱直至消失,进而引起梯度爆炸以及梯度弥散;另一方面,网络结构的复杂度会随着网络深度的增加而增加,获得的最优解通常为局部最优解而非全局最优解。而2015年获得ImageNet竞赛中分类任务第1名的ResNet网络通过残差块结构(residual block)很好地解决了这一问题[14-15],ResNet的残差结构块见图3。

该残差结构块以图像特征矩阵的形式输入,而后特征矩阵分为2个分支,其中1个分支经过多个卷积层运算产生特征矩阵作为输出,与另1个称为捷径连接(shortcut connection)的分支传输的特征矩阵相加之后,得到新的输出特征矩阵进行激活,进而得到H(x)这一输出值[H(x)=F(x)+x],此时残差F(x)=H(x)-x,公式为

F(x)=ω2σ(ω1x)。

(1)

式中:F(x)为残差函数;σ为ReLU非线性激活函数;ω1ω2为权重。

残差块结构通过捷径连接的方法将前层网络输出的特征矩阵作为输入矩阵,直接与本层输出的特征矩阵相加后传入到后层,确保了梯度在反向传播过程中不会因为多层网络结构而削弱,解决了网络深度增加会导致梯度消失这一问题,因此可以通过加深网络深度以达到更好的分类效果。而本研究数据集较为复杂,ResNet101较ResNet18与ResNet50具有更多的残差模块,网络结构更深,具有更好的特征识别能力,因此选择ResNet101作为苹果叶片病害识别的基础网络模型。

2.1.2 利用推迟下采样提升特征信息提取 ResNet中的下采样模块如图4-a所示,Path A通过一个步长为2的1×1卷积层实现通道的收缩以及下采样,再经过一个步长为1的3×3卷积层,进行特征的提取,最后通过一个步长为1的1×1卷积层,完成通道数的扩张。其中第1个卷积用于下采样,卷积核大小1×1,步长2的卷积会造成3/4的信息丢失,以图4-b中6×6的特征图为例,只有红色部分的信息能够传递到下一层,非红色部分均不参与卷积运算。

由此可见,1×1的卷积层进行下采样存在缺陷,提出图5-a下采样模块结构,将下采样的过程移至3×3的卷积层,在3×3卷积层进行下采样操作,所得采样特征见图5-b,由于卷积核宽度大于步长,卷积核在移动过程中能够遍历输入特征图上的所有信息,还会有一部分重叠(红色部分),有利于提高模型识别准确率。

2.1.3 通过拆解大卷积层降低模型复杂度 大卷积层可以由多个小卷积替代实现,这不仅能减少网络参数,加快网络运算速度,还能加深网络深度,以便更好地提取特征信息。Szegedy等对GoogLeNet中的Inception1模块做出改进,分别用3个和2个 3×3 卷积的级联去替代 7×7 和 5×5 的卷积[16]。ResNet网络的前2层结构与GoogLeNet相似,在输入通道数为64、步幅为2的7×7卷积层后,接一个步幅为2的3×3的最大池化层,如图6-a所示。改进后的模型由图6-b所示,采用1个步幅为2的3×3的卷积层与2个步幅为1的3×3的卷积层替代原模型中7×7的卷积层,从而达到减少网络参数,提升运算速度的目的。

2.1.4 添加ECA提升模型精度 近年来研究表明,卷积神经网络可以通过添加注意力机制模块达到提升网络性能的目的。例如,SENet(squeeze-and-excitation networks)、BAM、GCNet、CBAM等注意力机制均可以对卷积神经网络的性能有显著的提升[17]。但是,大多数注意力机制通过增加注意力模块的复杂度来提升模块的性能,但这必然会增加模型的复杂性。而ECA在SENet模块的基础上提出一种不降维的局部跨信道交互策略,以及自适应选择卷积核大小的方法,进而达到性能提升的目的。在苹果叶片病害识别任务中,病害类别的判定对卷积特征的局部信息依赖性较强,因此可在残差结构引入ECA通道注意力机制以提高识别准确率,通道注意力机制ECA示意见图7。

ECA利用公式(2)矩阵Wk来进行通道注意力的学习:

(2)

Wk有k×C个参数,Wk避免了不同通道之间完全独立,同时也兼顾了不同通道之间的相互作用。计算公式如下:

(3)

此外ECA模块的方法还可以通过卷积核为k的一维卷积来实现通道之间的信息交互,如下所示:

ω=σ[C1Dk(y)]。

(4)

式中:C1D代表一维卷积;k代表涉及k个参数信息,当k=3时,ECA可以实现与SE-Var3同样的效果但是网络结果更加简便。因此,这种跨通道捕捉信息的交互方法保证了模型的性能与效率。

2.1.5 模型整体架构 本研究所设计的网络模型以ResNet101为基础,结合推迟下采样、拆分大卷积层以及ECA注意力机制构成。改进得到的注意力残差网络(P-D-ECA-ResNet101)将Conv1_x中的7×7大卷积层替换为3个3×3的卷积层,Conv2_x~ Conv5_x 的下采样过程由1×1的卷积层推迟至3×3的卷积层,同时将ECA注意力机制模块嵌入到Conv2_x~Conv5_x 的每个残差模块中,原网络最后的Average pooling层与Softmax层保留。P-D-ECA-ResNet101模型的相关结构与参数见表2。

表2 P-D-ECA-ResNet101网络模型参数

2.2 模型性能评估指标

模型使用精准度(precision,P)、召回率(recall,R)、F1分数(F1-score)以及测试集准确率(accuracy,Acc)作为评估指标对模型的性能进行检验。模型对样本的分类能力通过精准率体现,模型寻找正样本的能力由召回率体现。计算公式如下:

(5)

(6)

(7)

(8)

式中:TP表示被判定为正样本,事实上也是正样本;FP表示被判定为正样本,但事实上是负样本;TN表示被判定为负样本,事实上也是负样本;FN表示被判定为负样本,但事实上是正样本。

2.3 试验环境与参数设置

本研究基于PyTorch这一深度学习框架,在Window10系统下进行模型的训练与测试。CPU为Intel® Xeon®,2.20 GHz,内存为64 G,GPU为Tesla P100-PCLE,显存为16 G。通过使用GPU提高网络的训练速度,CUDA版本为11.2。

试验选择随机梯度下降法(stochastic gradient descent,SGD)作为优化器对卷积神经网络进行优化,加快训练过程。初始学习率设定为0.000 5,SGD动量参数设置为0.9,权值衰减参数设置为0.000 1.训练时输入的图像统一调整为256×256像素,训练总共进行50轮,batch_size设为32。

3 结果与分析

3.1 基础模型的选择

为了探索不同的卷积神经网络对于识别苹果叶片病害图像的性能,以上述提到的数据集为基础,选取AlexNet[18]、VGG[19]、GoogLeNet[20]、ResNet101[15]4种模型进行训练,在迭代次数、学习率、优化算法、损失函数相同的情况下,4种训练模型的测试集准确率、网络参数量、每秒浮点运算次数(flops)见表3。各模型在测试集上的准确率均高于75%,表明各模型均可以实现苹果叶片病害分类。Alexnet较其他3种网络具有网络参数量小的优势,ResNet101准确率较AlexNet与GoogLeNet分别高了8.8、 11.0百分点,网络参数量仅为VGG16的60.70%。

表3 4种网络模型实验结果

对测试集各类病害的识别准确率见表4,ResNet101对于4种常见的苹果叶片病害分类准确率均高于92%,其中对蛙眼病的分类准确率达到97%,对4种疾病的分类准确率较其他3种模型更高。

表4 不同网络模型对测试集各类病害识别的准确率对比

综上所述,4种模型均能有效地识别苹果叶片病害类型。其中,VGG16和ResNet101较其他2种模型具有更高的准确性,分别为91.20%、94.00%。而ResNet101较VGG16具有更小的网络参数量,各病害种类均有更高的识别率。因此,选择ResNet101网络作为骨干网络模型,在此网络模型上进行改进。

3.2 本研究模型消融试验结果

此部分对不同优化策略改进的ResNet101算法模型进行对比评估,以此检验优化策略的有效性。不同优化策略下的ResNet101网络在验证集上的准确率、损失值变化曲线见图8。ResNet101网络模型大概在20个迭代次数后收敛,最终在验证集上的准确率达到93.9%。而本研究改进后的最终模型P-D-ECA-ResNet101模型损失值下降最快,大约在迭代10个周期后就达到了较低的损失值(0.08),在验证集上的最终准确率较ResNet101模型也提升了近5%。

表5对比了ResNet101与本研究提出的P-D-ECA-ResNet101模型。P-D-ECA-ResNet101模型在提高分类准确率的同时避免了flops和模型占用内存容量的增加。原因有以下2点:(1)将7×7的大卷积层拆解为3个3×3的卷积层,避免了网络参数增加的同时加深网络深度。(2)采取避免降维以及适当跨通道交互的ECA注意力机制,可以在显著降低复杂性的同时增加网络性能。

表5 模型准确率、参数量和模型占用内存对比

本研究构建的P-D-ECA-ResNet101具有更高的识别准确率,能够更快地进行收敛,同时避免了网络参数量的增加。主要原因有:(1)将ResNet101中的下采样过程由1×1的卷积层移至 3×3 的卷积层,原本于1×1的卷积层进行下采样会导致特征图上的信息缺失,而在3×3的卷积层进行采样,卷积核移动过程中可以遍历特征图,从而获得更丰富的特征信息,提高模型的分类准确率。(2)将7×7的卷积层拆解为3个3×3的卷积层,显著减少了网络参数量。(3)ECA注意力模块通过削弱无关信息权重,增强有效特征信息的权重,进而提升网络模型的表达能力和分类能力。

3.3 改进模型的混淆矩阵

使用已经训练好的P-D-ECA-ResNet101模型对测试集的图片进行识别,得到的混淆矩阵见图9。

由图9可知,苹果白化病识别成苹果蛙眼病与健康苹果叶片的情况发生较多,同时苹果黑星病也发生了被识别成苹果蛙眼病与苹果白化病的情况,原因主要是不同的苹果叶片病害在不同的时期会具有一定的相似性,同时不同的拍摄角度也会导致模型出现识别错误。由表6可知,改进后P-D-E-ResNet101模型识别准确率达到96.20%,对测试集中4种苹果叶片病害的识别准确率均达到90%以上,同时召回率也均高于90%,表明该改进模型可以有效地识别常见的4类苹果叶片病害。

表6 模型性能评价结果

3.4 特征图可视化分析

特征图可视化分析可以更直观地展示网络模型的识别机制,对本研究网络模型Conv2_x层的输出特征进行可视化分析,分析结果见图10,在特征图中病斑区域呈现为深色,病斑区域较正常叶片区域呈现高亮信息,表明本研究构建的P-D-ECA-ResNet101模型可以有效地忽略图像中的无效背景信息,使得模型能够聚焦于轮廓内的特征,进而达到高效提取病斑区域特征的目的,并以此作为识别特征,使模型获得更高的识别准确率。而健康苹果叶片因无病斑区域,特征图上无病斑特征信息,则以其叶片轮廓信息作为分类依据。试验结果表明,本研究构建的P-D-ECA-ResNet101模型可以有效识别苹果叶片轮廓,聚焦苹果叶片病斑,提取病斑区域特征,从而更准确地识别苹果叶片病害。

4 讨论与结论

苹果叶片病害发生和预防的研究具有重要的意义,卷积神经网络技术具有识别常见苹果叶片病害的应用潜力,但由于苹果叶片病害在田间环境下会因为尺寸和光线等差异造成干扰,基于不同卷积神经网络建模的识别技术和方法具有提升识别能力和预防苹果病害的效果。本研究基于以上问题开展研究并得出如下结论:(1)采用AlexNet、VGG16、GoogleNet、ResNet101对本研究构建的苹果叶片病害数据集进行病害识别试验,结果表明,ResNet101与VGG16在本研究数据集上表现出色,2个模型的平均识别准确率均高于90%,其中ResNet101的识别准确率达到94.00%,因此本研究以ResNet101为骨干网络模型进行后续研究。(2)以ResNet101为骨干网络模型,采取推迟下采样增加模型的特征提取能力,通过拆解大卷积层加快网络的运算速度,并在每个残差模块中添加了ECA注意力模块,构建了P-D-E-ResNet101改进模型。结果表明,改进模型对4种苹果叶片病害的识别准确率达到96.20%,相对于原ResNet101网络模型准确率提升了2.20百分点,并且模型占用内存容量与ResNet101仅相差0.1 MB。而后通过特征图可视化分析,表明该模型可以有效地识别苹果叶片病害区域特征。因此,本研究提出的P-D-ECA-ResNet101在苹果叶片病害识别任务中表现优异,在控制模型占用内存容量的前提下,有效提升了模型的识别准确率,显示了该模型在解决苹果叶片病害识别问题上具有一定的优越性。

猜你喜欢

注意力准确率卷积
让注意力“飞”回来
基于3D-Winograd的快速卷积算法设计及FPGA实现
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
从滤波器理解卷积
高速公路车牌识别标识站准确率验证法
基于傅里叶域卷积表示的目标跟踪算法
“扬眼”APP:让注意力“变现”
一种基于卷积神经网络的性别识别方法