刘小玲 崔艳荣
摘要:针对真实环境下苹果叶片病害识别背景复杂、识别准确率不高的问题,提出了一种改进轻量化网络MobileNeXt的苹果叶片病害识别方法。首先收集了4类常见苹果叶片病害图像样本,每类由简单背景图像与复杂背景图像混合,通过多种数据增强方式对图像进行处理,以增加样本多样性,提高模型的泛化能力。接着基于轻量化网络MobileNeXt中的sandglass结构,引入协调注意力机制CA分配权重,以区分目标与背景,同时结合Inception模块与Ghost模块,设计了2种SCI(Sandglass-CA-Inception)结构,在参数增加量尽可能小的前提下,扩充网络深度与宽度,增强模型对于背景复杂病害图像的特征学习能力。试验结果表明,改进后的模型相比于MobileNeXt,Top-1准确率提升了1.23百分点,平均精确率提升了1.18百分点,参数量只增加了0.62M,为真实场景下的苹果叶片病害识别提供了一种有效的解决方案。
关键词:苹果病害识别;轻量化网络;MobileNeXt;sandglass;协调注意力机制;Inception;Ghost
中图分类号:TP391.41文献标志码:A
文章编号:1002-1302(2023)10-0185-08
苹果富含维生素和矿物质,是最受欢迎的水果之一。我国是世界上最大的苹果生产国与消费国[1],据联合国粮农组织统计,我国苹果产量超过美国与波兰,位列第一。在山东省、陕西省等以果树产业为主的地区,发展苹果种植产业是当地果农脱贫致富的重要手段,更是促进农业产业化与农村经济发展的有效途径[2]。然而,苹果的质量与产量易受苹果病害的影响,若能快速准确地识别苹果病害,及时防控,便能减少经济损失,保证苹果产业的可持续健康发展[3]。
苹果病害主要发生在叶部。传统病害识别由人工现场观测叶片,或者提取叶片病害图像的浅层特征,如颜色特征、纹理特征等,准确率与效率都很低,难以准确快速地识别病害种类。随着人工智能时代发展,以卷积神经网络为代表的深度学习方法成为主流,广泛应用于矿业[4]、电力工业[5]、农业[6]、医学[7]等各个领域。深度学习方法大幅提高了农作物病害识别的准确率[8-9],但较深的网络结构产生了大量参数,增加了计算量,提高了模型对设备的内存要求,计算速度也随之降低。为了平衡模型精度、尺寸与效率,研究者们提出了各种轻量化卷积神经网络[10]模型,主要有SqueezeNet[11]、Xception[12]、ShuffleNet[13-14]系列、MobileNet[15-17]系列,在农作物病害识别方面取得了不错的效果。洪惠群等利用迁移学习和番茄单作物数据集,比较训练了Xception和ShuffleNetV20.5x模型,并将ReLU激活函数替换为LeakyReLU,识别准确率提高到86.5%[18];孙俊等在MobileNetV2模型上嵌入坐标注意力机制,对不同尺寸特征图进行上采样融合,并使用分组卷积,在16类背景复杂农作物叶片病害数据集中识别准确率为92.20%,较改进前提高了2.91百分点[19];李好等引入ECA注意力模块与H-Swish激活函数,减少ShuffleNetV2模型中单元个数,使得参数量明显减少,在PlantVillage数据集上识别平均准确率高达99.26%[20]。
本研究基于MobileNet系列轻量化网络,尤其是新一代的MobileNeXt[21]模型,对苹果叶片病害数据集进行分类识别,并做出相应改进使其适应真实环境,可将训练好的模型部署于移动端,在户外场景对苹果叶片病害进行实时识别,便于果农及时采取措施,减少经济损失。
1试验材料
1.1数据来源
本次研究对象为由西北农林科技大学采集的苹果叶片病害数据集,包括斑点落叶病、灰斑病、花叶病、锈斑病共4类常见苹果叶片病害图像,每类由简单背景图像与复杂背景图像混合,在晴天和阴雨天条件下均有采集,使得数据集更具丰富性与多样性。图像大小为512×512像素,具体如图1所示。
1.2数据预处理
为了防止样本数据不足导致网络训练出现过拟合情况,在训练之前,对苹果叶片病害图像进行了数据增强,扩充数据集的同时增加训练样本的多样性。通过图像旋转、水平和垂直镜像,亮度、对比度调整等完成对数据集的预处理,得到苹果叶片病害数据集信息(表1),预处理过程如图2所示。该数据集以训练集∶测试集=8∶2划分,训练时将从训练集中按0.2比例划分出验证集。
2试验方法
2.1网络结构
本研究基于轻量化网络MobileNeXt。MobileNeXt中提出了新颖的sandglass结构,该结构根据MobileNetV2中的逆残差结构设计,沿用了MobileNetV1的深度可分离卷积方式(即Dwise),更大程度上实现高效与轻量化。模型整体由sandglass
模块简单堆叠构成,如图3所示,s表示步长,b表示sandglass模块重复个数,步长为2只作用于每层的第一个模块。本研究的苹果叶片病害识别流程如图4所示,通常在真实环境下采集的叶片病害图像背景较为复杂、病斑大小与分布位置均有不同,为提高MobileNeXt在实际应用场景中的表现能力,将对其进行相应改进。
2.2sandglass结构
深度可分离卷积是一种常规卷积的替代方式,可以达到轻量化参数与计算量的需求,在MobileNetV1中实现,并贯穿于整个MobileNet系列网络结构中。深度可分离卷积包含2个步骤:深度卷积与点卷积,深度卷积是指单独对输入图像的每个通道进行卷积,卷积核大小一般为3×3,输出通道数与输入一致;点卷积则将上一步得到的特征图组合生成新的特征图,卷积核大小为1×1,输出通道数与卷积核个数一致。常规卷积与深度可分离卷積过程如图5所示,假设常规卷积核大小为k,深度卷积核大小为d,输入图像大小为H×W,输入通道数与输出通道数分别为Cin、Cout,则普通卷积参数量Nstd与计算量Cstd为
自2015年何凯明等提出了深度残差神经网络(ResNet)[22]以来,该模型中的残差结构引起了研究者们极大的关注,且应用日益广泛。残差结构如图6-a所示,采用跳跃连接,将浅层特征过渡至深层重复学习,解决了网络加深时会出现的梯度爆炸或梯度消失问题。所学习的残差函数可表示为F(),令激活函数为g(),则输出函数为H(x)=g[F(x)+x],当学习到的残差F(x)=0时,H(x)=x表示恒等映射。
逆残差结构是残差结构的变体,如图6-b所示,在MobileNetV2中提出。逆残差结构将普通3×3卷积替换为深度可分离卷积,以减少计算量;采用升维-卷积-降维的方式,使得模型能在高维空间学习更多样化的特征;同时使用非线性激活函数ReLU6与线性函数Linear,前者设置输出边界以满足移动端的低精度需求,后者防止维度变换过程中的信息丢失。但是,逆残差的输入特征需要先降维,难以保留足够的有效信息,且跳跃连接所跨维度较少,可能阻碍梯度回传。
注意力机制即告知模型应该“看什么”与“看哪里”,可有效提高模型对重要信息的关注度。在轻量化网络结构中,使用较多的注意力机制是SE[24]、CBAM[25]。SE利用了二维全局池化降低计算成本,但只考虑了通道间的信息编码;CBAM结合了通道注意力与空间注意力,但通过卷积只能捕获局部的位置信息,无法建立大范围的空间依赖关系。协调注意力机制CA[26]在SE的基础上,将位置信息嵌入通道信息中,实现了大范围上的注意。具体是将通道注意力分解为2个并行的一维特征编码过程,然后整合到生成的注意力特征图上,从而缓解二维全局池化导致的位置信息丢失。具体结构如图7所示,GAP表示全局平均池化。
CA模块能够捕获特征跨通道信息、方向感知和位置敏感信息,有助于模型集中识别目标区域,且参数量较小,不会增加过多的计算开销。本次研究所用数据集中包含背景复杂图像,为了更好地区分目标与背景,本研究将CA模块插入到sandglass模块中第1个3×3深度卷积之后,通过注意力权重分配来帮助模型更好地定位感兴趣的区域。
2.4Inception模块
增加网络深度与宽度是提升网络性能最直接的方法,但因此也会产生大量参数,为解决这一问题,研究者们提出了Inception[27]模块。受生物神经系统稀疏连接的启发,Inception模块将不同的卷积层并联结合,并串联拼接不同卷积层处理的结果矩阵得到更深的子矩阵,既保持了网络结构的稀疏性,又通过将稀疏矩阵聚类为密集子矩阵提高了计算性能。由图8可知,Inception模块包含4个分支,分别使用了3种不同尺寸卷积核与1个最大池化核,提供了不同大小的感受野,增加了网络对不同尺寸的适应性。
2.5Ghost模块
Ghost模块是GhostNet[28]模型的核心模块,由华为诺亚方舟实验室提出,旨在通过低成本操作来生成更多特征图。由图9可知,Ghost模块可分为2个部分,首先使用普通卷积对输入特征进行浓缩整合,生成本特征图,接着对其进行线性变换φ生成Ghost特征图,最终输出特征图由本特征图与Ghost特征图拼接而成。
2.6SCI结构
为了扩充网络的深度和宽度,提高模型的特征学习能力,本研究在sandglass结构的基础上结合协调注意力机制与Inception模块,设计出2种SCI(Sandglass-CA-Inception)结构(图10)。在SCI_1结构中,用Inception1模块代替了sandglass结构中用于升维的第2个1×1卷积,设计思路是希望在升维的同时进行多尺度特征提取与融合,以获取更为丰富的特征信息。SCI_2结构则是针对步长为2的情况设计,Inception2模块代替第2个3×3深度卷积,利用不同卷积与池化分支提供不同大小的感受野,一定程度上减少特征图分辨率降低带来的信息损失。此外,为了防止参数增加量过多,将Inception模块中的1×1卷积替换为Ghost模块,其他尺寸卷积沿用深度可分离卷积方式。
3试验结果与分析
3.1试验环境
本研究均使用同一算力平台OpenBayes,CPU型号为AMDEPYC7773×64-COREProcessor,GPU型号为RT×3090,显存24GB。使用Linu×系统开发环境,深度学习框架为Pytorch1.7.1,Python环境3.6,Cuda11.0。
使用SGD优化器训练所有模型,衰减和动量设置为0.9,权重衰减保持0.00004,初始学习率为0.00625,采用余弦退火学习率更新策略,batchsize为32,输入图像大小统一设置为224×224像素,模型迭代训练100次。
3.2评估指标
本研究主要根据Top-1准确率(Top-1Accurcacy)、平均精确率(MeanPrecision)、平均召回率(MeanRecall)与MeanF1Scores这4个指标对模型进行评估。在混淆矩阵中,TP表示实例为正且被预测为正的样本数量,FP表示实例为负但被预测为正的样本数量,FN表示实例为正但被预测为负的样本数量,TN表示实例为负且被预测为负的样本数量。准确率指分类正确样本占总样本个数的比例,Accuracy=TP+TNTP+TN+FP+FN;精确率指模型预测与实际上都为正的样本占被预测为正的样本的比例,Precision=TPTP+FP;召回率指实际为正的样本中被预测为正的样本所占实际为正的样本的比例,R=TPTP+FN;F1Score是精确率和召回率的调和平均值,F1=2+Precision+RPrecision+R。Top-1Acc表示使用最大概率值预测的结果与实际结果相符的准确率,根据每个类别相应计算结果取均值可获得其余3个指标。
损失函数能够反映模型预测数据与实际数据的差距。本研究模型中采用了分類任务中常见的交叉熵损失函数H(p,q)=-∑n[]i=1p(xi)log[q(xi)],它表示真实概率分布与预测概率分布的差异,损失值越小,模型的预测效果越好。
模型参数量也是模型评估的一个指标,本研究借助flops-counter.pytorch完成模型参数量与浮点运算量的计算。对于轻量化卷积神经网络,本研究改进遵循参数增加量尽可能少的原则,避免其带来的存储与效率问题,便于后续在移动端上进行应用。
3.3试验结果与分析
首先,本研究对MobileNet系列轻量化网络进行了对比试验,以验证MobileNe×t模型在苹果叶片病害数据集上的表现能力。由表2可知,MobileNe×t模型在各个指标上的结果优于其余3个模型,与MobileNetV2相比参数量(Param)不变,是MobileNet系列轻量化网络中的佼佼者。
其次是注意力机制的对比,本试验在sandglass相同位置分别插入了SE、CBAM、CA注意力模块,结果如表3所示。由于本试验所用数据集包含复杂背景图像,目标的位置信息影响着最终识别效果,而SE模块只考虑通道信息,CBAM模块带来的参数量相对较大,因此选用CA模块帮助模型定位目标区域。
为进一步提高MobileNe×t模型对于真实场景下背景复杂的苹果叶片病害识别准确率,本研究通过设计2种SCI结构对其进行改进,在控制变量的情况下进行了消融试验,结果如表4所示。与MobileNe×t相比,MobileNe×t_Inception1与MobileNe×t_SCI1各指标数据均下降,表明使用Inception1模块代替升维部分并不合理,分析是由于分支中通道变换过程与非线性激活丢失了太多信息;而MobileNe×t_SCI2各指标数据有所增长,Top-1准确率达到96.16%,平均精确率达到了96.26%,因此确定MobileNe×t_SCI2为最终改进模型,训练过程中的准确率、损失值变化与混淆矩阵如图11所示。
4结论
针对真实场景下苹果叶片病害识别背景环境复杂的情況,为了增强模型的泛化能力与鲁棒性,提高识别准确率,本研究采用协调注意力CA模块、Inception模块、Ghost模块对轻量化网络MobileNe×t进行改进,在sandglass的基础上设计了2种SCI结构,完成了对4类常见苹果叶片病害的识别研究。试验结果表明,改进后的模型MobileNe×t_SCI2更加适应真实环境,特征学习能力有所增强,与MobileNe×t相比,参数量只增加了0.62×106,但
Top-1准确率提高了1.23百分点,平均精确率提高了1.18百分点,验证了改进的有效性。
对于实际应用场景,本研究存在一些不足之处,例如选取病害种类较少、实时性不高、识别准确率还有提升空间等。后期将导入更多种类的病害图像用于模型训练,不断完善并部署于移动端,将其投入到生产实践中,为农业发展贡献一份力量。
参考文献:
[1]常倩,李瑾.2000年以来中国苹果产业发展趋势分析[J].北方园艺,2021(3):155-160.
[2]翟衡,史大川,束怀瑞.我国苹果产业发展现状与趋势[J].果树学报,2007,24(3):355-360.
[3]王树桐,王亚南,曹克强.近年我国重要苹果病害发生概况及研究进展[J].植物保护,2018,44(5):13-25,50.
[4]袁森,邵春.基于卷积神经网络的采煤机故障分类与预测研究[J].煤炭技术,2022,41(11):227-229.
[5]赵京鹤,修大元,王金龙,等.绝缘纸板典型缺陷局放特征的CNN识别[J].哈尔滨理工大学学报,2022,27(5):79-88.
[6]乔丹.基于深度图像和卷积神经网络的插秧机识别技术[J].农机化研究,2023,45(7):196-200.
[7]舒甜督,刘芳,蔡茂.基于卷积神经网络的肺部CT图像分类算法研究[J].电子设计工程,2022,30(21):170-174,179.
[8]李彧,余心杰,郭俊先.基于全卷积神经网络方法的玉米田间杂草识别[J].江苏农业科学,2022,50(6):93-100.
[9]于雪莹,高继勇,王首程,等.基于生成对抗网络和混合注意力机制残差网络的苹果病害识别[J].中国农机化学报,2022,43(6):166-174.
[10]毕鹏程,罗健欣,陈卫卫.轻量化卷积神经网络技术研究[J].计算机工程与应用,2019,55(16):25-35.
[11]IandolaFN,HanS,MoskewiczMW,etal.SqueezeNet:AleNet-levelaccuracywith50fewerparametersand<0.5MBmodelsize[EB/OL].(2016-06-01)[2022-11-11].https://ariv.org/abs/1602.07360.
[12]CholletF.ception:deeplearningwithdepthwiseseparableconvolutions[C]//2017IEEEConferenceonComputerVisionandPatternRecognition(CVPR).July21-26,2017,Honolulu,HI,USA.IEEE,2017:1800-1807.
[13]ZhangY,ZhouY,LinM,etal.ShuffleNet:anetremelyefficientconvolutionalneuralnetworkformobiledevices[C]//2018IEEE/CVFConferenceonComputerVisionandPatternRecognition.June18-23,2018,SaltLakeCity,UT,USA.IEEE,2018:6848-6856.
[14]MaNN,ZhangY,ZhengHT,etal.ShuffleNetV2:practicalguidelinesforefficientCNNarchitecturedesign[C]//ComputerVision-ECCV2018:15thEuropeanConference,Munich,Germany,September8-14,2018,Proceedings,PartIV.NewYork:ACM,2018:122-138.
[15]HowardAG,ZhuML,ChenB,etal.MobileNets:efficientconvolutionalneuralnetworksformobilevisionapplications[EB/OL].(2017-06-06)[2022-11-11].https://ariv.org/abs/1704.04861.
[16]SandlerM,HowardA,ZhuML,etal.MobileNetV2:invertedresidualsandlinearbottlenecks[EB/OL].(2018-06-09)[2022-11-11].https://ariv.org/abs/1801.04381.
[17]HowardA,SandlerM,ChenB,etal.SearchingforMobileNetV3[C]//2019IEEE/CVFInternationalConferenceonComputerVision(ICCV).October27-November2,2019,Seoul,Korea(South).IEEE,2020:1314-1324.
[18]洪惠群,黃风华.基于轻量级神经网络的农作物病害识别算法[J].沈阳农业大学学报,2021,52(2):239-245.
[19]孙俊,朱伟栋,罗元秋,等.基于改进MobileNet-V2的田间农作物叶片病害识别[J].农业工程学报,2021,37(22):161-169.
[20]李好,邱卫根,张立臣.改进ShuffleNetV2的轻量级农作物病害识别方法[J].计算机工程与应用,2022,58(12):260-268.
[21]ZhouDQ,HouQB,ChenYP,etal.RethinkingBottleneckStructureforEfficientMobileNetworkDesign[C]//VedaldiA,BischofH,BroT,etal.EuropeanConferenceonComputerVision.Cham:Springer,2020:680-697.
[22]HeKM,ZhangY,RenSQ,etal.Deepresiduallearningforimagerecognition[C]//2016IEEEConferenceonComputerVisionandPatternRecognition(CVPR).June27-30,2016,LasVegas,NV,USA.IEEE,2016:770-778.
[23]张宸嘉,朱磊,俞璐.卷积神经网络中的注意力机制综述
[J].计算机工程与应用,2021,57(20):64-72.
[24]HuJ,ShenL,SunG.Squeeze-and-ecitationnetworks[C]//2018IEEE/CVFConferenceonComputerVisionandPatternRecognition.June18-23,2018,SaltLakeCity,UT,USA.IEEE,2018:7132-7141.
[25]WooS,ParkJ,LeeJY,etal.CBAM:ConvolutionalBlockAttentionModule[C]//EuropeanConferenceonComputerVision.Cham:Springer,2018:3-19.
[26]HouQB,ZhouDQ,FengJS.Coordinateattentionforefficientmobilenetworkdesign[C]//2021IEEE/CVFConferenceonComputerVisionandPatternRecognition(CVPR).June20-25,2021,Nashville,TN,USA.IEEE,2021:13708-13717.
[27]SzegedyC,LiuW,JiaYQ,etal.Goingdeeperwithconvolutions[C]//2015IEEEConferenceonComputerVisionandPatternRecognition(CVPR).June7-12,2015.Boston,MA,USA.IEEE,2015:1-9.
[28]HanK,WangYH,TianQ,etal.GhostNet:morefeaturesfromcheapoperations[C]//2020IEEE/CVFConferenceonComputerVisionandPatternRecognition(CVPR).June13-19,2020.Seattle,WA,USA.IEEE,2020:1580-1589.