马 晓,邢 雪,武青海.基于改进ConvNext的复杂背景下玉米叶片病害分类[J].江苏农业科学,2023,51(19):190-197.doi:10.15889/j.issn.1002-1302.2023.19.028
正则化参数的自适应估计基于改进ConvNext的复杂背景下玉米叶片病害分类
马 晓1,邢 雪1,武青海1
,2
(1.吉林化工学院信息与控制工程学院,吉林吉林132022;2.吉林农业科技学院电气与信息工程学院,吉林吉林132101)
摘要:针对玉米叶片病害分类过程中存在叶片背景复杂且背景与被识别叶片具有较高相似度的问题,提出一种改进的C
onvNeXt算法。首先通过随机遮挡等数据增强操作多样化病害数据集,增强网络的抗干扰能力,从而提高了模型的鲁棒性。其次,为了提高网络的分类准确度,在ConvNeXt网络的基础上融合多个注意力模块,使网络更加关注具有判别性的特征,以减少背景的干扰,并在注意力模块中使用LeakyReLu激活函数从而避免网络在输入为负值时神经元不学习的情况。最后,以具有3种玉米常见叶片病
害的图像和健康叶片作为分类样本,采用改进后的ConvNeXt模型与相同样本数量和条件下的原ConvNeXt、ResNet50以及SwinTransformer进行试验和对比分析,试验表明,改进后的网络模型在测试集的平均分类准确率为91.77%,优于ResNet50(85.64%)、ConvNeXt-T(79.91%)和SwinTransformer(89.09%)3个对比模型,证明了通过改进后的ConvNeXt进行叶片病害的特征提取,提高了在复杂背景下玉米叶片病害的分类精度。
关键词:图像分类;ConvNeXt;注意力机制;数据增强;玉米;叶片病害
中图分类号:S126;TP181 文献标志码:A 文章编号:1002-1302(2023)19-0190-08
收稿日期:2023-02-10
基金项目:吉林省智慧农业工程研究中心项目(编号:JLNKU2015);吉林省特高水平学科新兴交叉学科“数字农业”(编号:JLXK20180319);吉林省高等教育教学改革研究课题(编号:JLJY202338594176)。
作者简介:马 晓(1999—),女,山东临沂人,硕士研究生,研究方向为人工智能图像分类。E-mail:1925709084@qq.com。
通信作者:武青海,硕士,副教授,主要从事图形图像处理及农业信息化研究。E-
mail:57922126@qq.com。 玉米作为我国主要的粮食作物,种植面积和总产量仅次于小麦和水稻居第3位。玉米不仅是重要的粮食作物、畜牧业的优良饲料,而且还是发展轻
工业、医药工业的重要原料[
1]
。在生产过程中,植物的病害是导致产量减少、质量变差的重要原因,
因病害导致玉米产量常年损失10%~15%[2]
。目
前发生普遍而又严重的叶部病害主要有大斑病、小斑病、锈病、灰斑病等,根据病害的方案大多都强调在发病初期采取相应的措施,所以说能够及时
准确地发现病害是非常有必要的[3]。传统的病害
识别需要人工进行,由于叶片病害复杂多样,需要丰富的经验才能准确识别病害的类别,存在耗时耗
力的问题[
4]
。随着机器学习和神经网络的发展,各种算法被应用到植物叶片病害的识别[5]
。人工智
能的不断发展对政府提出的科技强农政策具有重
大意义[6]。目前国内外对玉米叶片病害的分类主
要有2个方向:
基于传统机器学习算法的叶片病害识别和基于深度学习的病害识别。
玉米叶片病害分类的方法有很多,比较传统的是使用基于传统机器学习算法进行特征提取并分类,这种方法具有识别速度快、对硬件要求低等优点。Panigrahi等将传统机器学习算法如朴素贝叶斯、决策树、K-最近邻、支持向量机和随机森林用于玉米病害检测,并对这些方法进行比较分析,发
现随机森林较其他算法准确率高[7]
。吕洁等利用
Gabor小波提取纹理特征,并借助局部线性嵌入降维,最终采用孪生支持向量机(TWSVM)完成分类。基于机器学习算法的图像识别一般步骤为图像预处理、特征提取和分类器训练3个部分,其中特征提取是其中最重要的一个环节,它直接影响着分类的好坏,传统方式的特征提取主要通过人工设计,提
取特征难度较大[8]
。基于传统机器学习的图像识
别存在识别准确率低,特征提取设计困难等
问题[9]
。
随着神经网络以及深度学习[10]
的发展,国内外
学者开始通过神经网络对玉米叶片病害进行自动提取特征,从而实现病害分类,这大大降低了特征提取的难度。Priyadharshini等通过将深度可分离卷积引入LeNet,使得玉米叶片病害分类精度达到
97 89%[11]
。黄英来等针对传统玉米叶片识别方法
正确率不高、速度慢等问题,通过改变残差网络内
—091—
第一层卷积的卷积核和改变激活函数等方法,提出一种基于改进深度残差网络模型的玉米叶片图像识别算法,使得模型的准确度大幅度提升,鲁棒性进一步增强[12]。刘合兵等通过将MobileNetV2与迁移学习相结合的方式提高玉米叶部病害识别效率、精度,这种轻量化网络模型更适合部署在移动端[13]。
现有研究大多是针对在较单一背景下采集的玉米叶片病害图像[14-16],本研究针对在实际采集中通常存在复杂背景干扰的问题,并基于具有复杂背景信息的玉米叶片图像作为训练、验证及测试样本,开展玉米叶片病害分类研究。通过随机遮挡被识别叶片模拟真实采集中遇到的遮挡情况,提高网络
的鲁棒性,并通过融合注意力机制提高网络对具有判别性特征的权重,减少背景干扰,最后通过采用LeakyReLu激活函数克服输入为负值时神经元不学习的情况。基于所提出的改进型ConvNeXt模型提取玉米叶片病害图像中的病害特征,从而实现在复杂背景干扰情况下的玉米叶片病害分类。
1 网络模型结构设计
1.1 数据增强
在玉米病害分类过程中,由于病害图像采集过程中会遇到不同天气、其他叶片遮挡病斑等情况,会导致模型的泛化能力和鲁棒性不佳,为了提高模型的分类准确度以及模型的泛化能力及鲁棒性,通常会使用图像数据增强的正则化方法[17]。本研究通过采用旋转、高斯模糊、添加随机噪声、添加随机位置的遮挡以及亮度调节等数据增强方法分别模拟在图像采集中不同角度、其他背景叶片的遮挡以及不同天气等外界因素的干扰,从而防止模型过拟合,同时提升模型的鲁棒性和泛化能力[18]。为避免数据集信息发生泄漏,先对原数据集按照6∶2∶2的比例划分训练集、验证集与测试集。本试验针对玉米种植中3种常见病害玉米灰斑病、玉米锈病以及玉米大斑病和健康叶片进行试验研究。以PlantVillagedataset[19]公开数据集和吉林农业科技学院“智慧农业”平台数据集作为试验对象,最终采用图像增强前数据集总量为1829张,数据增强后共16452张,数据集在各个类别上的分布如表1所示,玉米病害图像如图1展示,并如图2展示部分数据增强效果。
表1 玉米叶片病害数据集详情
病害名称原始图像数量(张)数据增强后数量(张)健康叶片4303861
灰斑病4093681
锈病5004500
大斑病4904410
共计(张)18291645
2
1.2 注意力机制
注意力机制(attentionmechanism)是受到人类
视觉系统的启发,可以迅速将注意力集中在场景中
重要区域,从而使得在处理复杂的信息时能够将神
经网络的计算资源更多地投入到重要的任务中,并
且利用反向传播指导注意力模块,通过参数更新来
判断哪些是重要特征,从而高效准确地完成响应任
务[20]。注意力机制被广泛用于各个领域当
中[21-24],其中常用的注意力机制有SE-Net[25]
(squeezeandexcitation)、ECA-Net[26](efficient
channelattention)、SK-Net[27](selectivekernel
networks)、CBAM[28](convolutionalblockattention
module)等。
SE-Net显式地建模特征通道之间的相互依赖
关系,即通过学习的方式来自动获取每个通道的重
要程度。ECA-Net提出了一种不降维的局部跨信
道交互策略和自适应选择一维卷积核大小的方法。
CBAM包含2个部分:空间注意力模块SAM(spatial
attentionmodule)和通道注意力模块CAM(channel
attentionmodule),用来分别汇总空间和通道2个方
—
1
9
1
—
面的注意力信息,其整体结构如图3所示,其CAM与SAM模块分别如图4和图5所示。通道注意力模块的计算公式如公式(1)所示,其中σ表示sigmoid激活函数,Favg与Fmax分别表示全局平均池化和全局最大池化的输出结果,W0和W1表示2层不同的神经网络操作。空间注意力模块的计算公式如公式(2)所示,f7×7代表卷积核大小为7×7的卷积操作,[]代表通道拼接操作。CBAM总体流程可以由公式(3)和公式(4)表示,其中输入特征F(F∈{
RC×H×W
}),通道注意力模块输出CAM(CAM∈
{RC×1×1
}),空间注意力模块输出SAM(SAM∈{R1×H×W}),通道注意力输出结果F′和空间注意力
输出结果F″。本研究就是使用的这种通道与空间结合的注意力模块。
CAM(F)=σ{W1[W0(Fcavg)]+W1[W0(Fcmax
)]};(1)
SAM(F)=σ{f7×7
([Fsavg;Fsmax
])};(2)F′=CAM(F) F;(3)F″=SAM(F′) F
′。(4
)
—291—
1.3 改进型ConvNeXt
本试验用到的ConvNeXt-T[29]
模型是基于ResNet50[30]并根据SwinTransformer[31]
的思想进行
改进得到的。本研究提出的改进型ConvNeXt(CBAM-ConvNeXt)结构如图6所示,网络结构主要包含用于特征提取的ConvNeXt模块(图7)、用于下采样的拆分降采样模块(图8),以及为消除复杂背景干扰所增加的注意力模块,本试验通过对
SENet、ECANet、SKNet以及CBAM注意力模块进行对比分析,最终选用CBAM作为本模型的注意力模块。CBAM是结合通道以及空间2个角度的注意力机制,它将提取到的中间特征依次映射到通道维度和空间维度进行注意力分析,最后将得到的注意力分数与输入的中间特征图进行相乘得到添加注意力后的特征图,
进而进行下一步的卷积操作。
同时本试验在CBAM注意力模块中的使用
LeakyReLu[32]激活函数,通过修正ReLu激活函数的
非线性单元从而克服输入为负值时神经元不学习的情况,LeakyReLu激活函数如公式(5)所示,函数
图像如图9
所示。
—
391—
LeakyReLu=
x,x>0
ax,x≤{
0
。
(5)
改进型ConvNeXt模型首先将大小为224×224的三通道彩玉米叶片病害图像经过一个大小为4×4步长为4的卷积操作进行浅层特征的提取,并经过层归一化,输出大小为56×56通道数为96的特征图,经过卷积操作得到的特征图的宽高计算公式为公式(6)和公式(7),其中H、W为
经过卷积后特征图的高、宽,h、w为卷积前的高宽,k为卷积核的大小,p为填充的大小,s为卷积的步长。接下来就是经过4个C
onvNeXt块和4个注意力模块以及3个下采样模块进行进一步的特征提取、添加注意力分数以及下采样操作,使得网络更加关注病害特征而减少对复杂背景的关注从而减少干扰。
H=(h-k+2p)/s+1;(6)W=(w-k+2p)/s+1。
(7)
2 试验准备工作2.1 试验环境与设置
本试验采用PaddlePaddle2.3.2深度学习框架,编程语言为python3.7,并采用4核CPU以及TaslaV100的GPU加速训练。网络采用交叉熵损失函数(CrossEntropyLoss)结合自适应矩估计(Adam)作为优化器进行训练,该优化器可以根据训练参数对学习率进行自适应调整训练迭代100次,批量大小设置为64,学习率设置为0.000001。2.2 评价标准
本研究通过Softmax作为模型的输出进而计算被预测对象所属的类别,Softmax的表达式为
Y(P)=P(y=p|x,θp
)=e
xT
·θp∑cp=1e
xT·θp
。(8)
并用交叉熵损失函数来作为进行网络优化的标准,并使用Adam优化器对模型参数进行优化,交叉熵损失函数的表达式为
min{W,b;θ}ε(W,b;θ)=1N∑N
n=1[-∑C
p=1
γ(yn=p)·lgP(y=p|θp
)]+λR(θ)。(9)
为更加直观地观察网络模型的好坏进行模型的对比,本试验引入准确率(Accuracy)、精确率(Precision)、召回率(Recall)、F1-
score对模型进行评估[33]。正确率可以表示模型整体的预测精准度,
但是在样本不平衡的情况下,正确率并不能很好地
作为衡量模型好坏的标准;精确率代表在正样本结果中预测的准确程度;召回率则是在所有正样本中正确预测为正样本的概率。准确率、精确率、召回率、F1-
score在二分类中的公式定义如下:Accuracy=TP+TN
TP+
TN+FP+FN;
(10)Precision=TP
TP+FP;
(11)Recall=TP
TP+
FN;
(12)F1-score=2×Precision×Recall
Precision
+Recall。(13)
其中:TP(TruePositive)表示正样本预测答案正确,
FP(FalsePositive)表示错将负样本预测为正样本,TN(TrueNegative)表示负样本预测答案正确,FN(FalseNegative)表示错将正样本预测为负样本。
为更加直观地看到模型分类的效果,采用混淆
矩阵[35]来对分类结果进行展示,其每一列代表了预
测的标签类别,每一行表示数据真实的标签类别,数据越集中在对角线上说明模型分类效果越好。3 试验结果对比
为验证改进的CBAM-ConvNeXt模型的性能,共设置了4组对比试验:改进模型使用增强数据集进行训练的效果与使用原数据集进行训练的效果之间的对比、改进模型与原模型之间的性能对比、改进模型与ResNet50以及改进模型与SwinTransformer模型之间的性能对比。3.1 数据增强试验效果对比
为了验证数据增强方法对模型效果的提升,分
别将原始数据集与进行数据增强后的数据集输入到CBAM-ConvNeXt模型进行训练。模型训练过程中在验证集上的损失值和准确率对比如图10所示,最终对测试集分类效果的混淆矩阵如图11所示,混淆矩阵中对角线上的值越大、颜越深说明分类模型的效果越好。
由图10可以看出,经过增强后的数据集训练的模型其训练过程中的损失值和分类准确率不论是收敛速度还是最终稳定的值都优于数据增强前的数据训练的模型。数据增强前后试验效果对比如表2所示,由表2可以看出,经过数据增强后训练出的模型,在测试集的准确率、精确率、召回率以及F1-
score都有一定程度的提升。综上所述,本研究采用的数据增强方法能够在数据预处理阶段提升网
—
491—
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论