APP下载

基于改进轻量化网络MobileViT的苹果树叶病害识别

2024-04-08马维娣吴钦木

江苏农业科学 2024年3期
关键词:苹果树

马维娣 吴钦木

摘要:针对传统的苹果树叶病害识别模型准确率低,参数数量多和移动端部署困难的问题,提出了一种基于改进轻量化网络MobileViT的的苹果树叶病害识别方法。该网络模型以MobileViT作为主干网络,高效编码全局信息,同时引入MV2模块编码局部信息,将原MobileViT网络结构中的Swish激活函数替换为SMU激活函数提高网络性能,并在全连接层后添加Dropout层防止数据过拟合。针对常见的多病症叶片、锈病叶片等苹果树叶病害进行识别。试验结果表明,改进后的MobileViT相对于其他轻量级网络识别准确率高,相对于重量级网络更轻量、反应更迅速,测试集识别的准确率达到95.73%,参数数量所占显存空间仅为5.6 MB,单张苹果树叶病害图片的响应时间为4.32 ms。最终将模型部署在在移动设备,落地实现成为可能。

关键词:苹果树;病害识别;SMU;轻量级;MV2;MobileViT

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

文章编号:1002-1302(2024)03-0229-08

中国是全球苹果最大产区,种植面积和产量超过世界的50%。苹果的产量每年都会因为病虫的危害大大降低[1]。“十四五”推进农业农村现代化规划的通知中提到聚焦智慧农业、农业绿色投入品等关键领域,加快研发与创新一批关键核心技术及产品。近年来,随着大数据、深度学习的发展,苹果种植人员利用卷积神经网络识别病害,针对病害种类对症下药,提高产量和质量[2]。Zhong等基于DenseNet-121深度卷积网络,提出利用回归、多标签分类和焦点损失函数3种方法来识别苹果叶片病害,准确率达到92.29%[3];Chao等将DCNN模型结合DenseNet和Xception,使用平均池代替全连接层来提取特征,最后使用支持向量机对苹果树叶病害进行分类,达到了98.82%的准确率[4]。

以上研究虽然对于苹果病害识别的准确率达到90%以上,但是随着准确率的提高,模型的参数量和复杂度也在提高,对将模型部署到移动设备造成困难,因此提高精度的同时对模型进行压缩,减少参数数量成为研究的趨势。Wang等将注意力机制集成到EfficiencyNet-B4网络中,使用深度可分离模块进行卷积运算以减少参数数量,并引入 h-swish 激活函数实现快速识别,准确率达到98.92%[5];Li等提出了一种新的轻量级卷积神经网络RegNet,在学习率设置为0.0001时,测试集的准确率达到99.23%[6];Yu等在深度残差网络ResNet18的基础上,通过分组卷积构建多尺度特征提取层,实现压缩模型,并通过引入通道注意力模块(ECANet)来抑制复杂背景的噪声,准确率达到97.80%[7];以上研究模型大小虽然在一定程度上进行了压缩,但是单纯的卷积神经网络因为感受野有限很难捕获全局信息且网络性能不稳定,因此,研究一种模型更小、泛化能力更强且更益部署、网络性能更稳定的模型成为研究趋势。

MobileViT是2022年发表在ICLR会议中的一种网络模型[8],该网络模型利用轻量级卷积神经网络CNN与Vision Transformer[9]的优势,将两者进行结合,是一种轻量级、通用的、响应快以及针对移动端更加友好的网络模型。本研究以MobileViT网络模型作为主干网络,提出基于改进MobileViT的苹果树叶病害识别模型,让深度学习技术更好地服务于智慧农业的发展。

1 数据集构建

1.1 数据集介绍

试验采用的苹果叶片数据来自于Plant Pathology[10]提供的数据集。树叶的采集是在康奈尔大学数字农业研究中心的赞助支持下完成的,在树叶不同成熟阶段和一天中不同时间以及不同焦距相机设置下拍摄的叶片图像,均可以用来反映真实的现场场景。数据集由行业专家标注,本研究针对我国苹果树叶较为常见的病害:多病症(complex)、锈病(rust)、黑星病(scab)、灰斑病(frogeye leaf spot)、白粉病(powdery mildew)以及健康叶片(healthy)进行分类识别,各苹果树叶病害种类如图1所示。其中健康叶片4 624张,锈病叶片 1 860 张,黑星病叶片4 824张,多病症叶片1 602张,灰斑病叶片3 181张,白粉病叶片1 184张。

1.2 数据预处理

由于苹果树病害叶片的数量分布是不均匀的,为了得到具有泛化能力的模型,进行数据增强处理。常见的数据增强技术有:翻转(水平和垂直)、旋转、缩放、裁剪、平移、亮度变换和添加高斯噪声等。本试验通过垂直翻转、水平翻转、高斯模糊和亮度变换方法对数据集进行扩充,数据增强后的效果如图2所示。通过数据增强技术处理,扩充后的苹果树叶数据集有健康叶片4 824张,锈病叶片 3 826 张,黑星病叶片5 125张,多病症叶片3 572张,灰斑病叶片4 027张,白粉病叶片3 721张。

2 苹果树叶病害识别模型设计

2.1 MV2模块

由于移动设备的运算能力和存储能力有限,若将苹果树叶病害识别模型部署到移动端,需要参数量较小的模型来满足设备的资源设置。MV2(inverted residual block)模块[11]通过深度可分离卷积降低模型参数以减少网络规模,其网络结构如图3所示。该网络结构首先通过1×1卷积进行升维,然后通过3×3卷积进行深度卷积(DW卷积),最后通过1×1卷积进行降维(PW卷积),在最后1×1卷积降维操作后,由于输出的是低维特征,故使用Linear线性激活函数。在卷积操作过程中,若卷积步长等于1(Stride=1)且输入特征矩阵的维度与输出特征矩阵的维度相同时,需要进行特征拼接。

该网络结构相对于传统卷积而言,假设输入特征矩阵的高为H,宽为W,通道数为M,卷积核的大小为K,输出特征矩阵的通道数为N,传统卷积的计算量如式(1)所示,深度可分离卷积的计算量如式(2)所示,由式(3)可知,理论上传统卷积的计算量是深度可分离卷积的K2倍,即3×3大小的卷积核的9倍,因此,利用深度可分离卷积代替普通卷积可大大减少参数量,从而减少模型占用内存的空间,更有利于将模型部署。

F1=K×K×M×N×H×W;(1)

F2=K×K×M×H×W+M×N×H×W;(2)

F2F1=1N+1K2。(3)

2.2 MobileViT模块

苹果树叶病害识别模型在降低模型大小的同时应保证拥有较高的识别准确率。但通过MV2模块进行卷积运算只能提取病害的局部特征,为了得到较高的识别准确率,可通过MobileViT模块提取病害的全局信息。该模块主要由普通卷积、Transformer[12]模块、全局池化以及全连接层组成,如图4所示。对于输入的宽为W,高为H,通道数为C的特征图表示为X[H,W,C],通过大小为3×3的卷积核进行卷积操作,提取苹果树叶病害图像特征,然后通过1×1的卷积放缩通道数为d,得到 X′[H,W,d]。其中,3×3卷积编码X的局部空间信息,1×1卷积用于升维(d>C)。然后将X′[H,W,d]展开为序列X″[P,N,d]送入L个Transformer模块中进行并行运算提取全局空间信息,输出Y″[P,N,d],接着将得到的特征序列折叠成原特征图 Y′[H,W,d],其中P=H×W,N=H×W/P,每个序列patch[P,1,d]有H×W个像素位置,共有N个patch。最后通过 1×1 的卷积再次调整通道数,将Y″[H,W,d]调整为[H,W,C],并与X[H,W,C]进行拼接(shortcut),通过3×3 的卷积进行特征通道融合得到最终的特征图Y。

MobileViT模块中的Transformer能够获取更多需要关注苹果树叶病害的细节信息,而抑制其他无用信息。Layer Normalization操作能够将输入的特征信息进行标准化;接着通过多头注意力机制(muti-head-attention)对不同的特征信息赋予不同的权重,将得到的特征信息与一开始输入的特征信息进行相加操作实现特征融合,再次进行Layer Normalization操作,通过MLP模块与Dropout层,将得到的特征信息与得到的融合特征信息再次进行相加操作,实现特征融合。

2.3 SMU激活函數

激活函数在卷积操作运算后将神经网络模型中的线性变换转换为非线性变换,使网络模型拥有更强的学习能力。

SMU(smooth maximum unit)函数于2022年被提出[13],可以平滑逼近一般的激活函数,且最大函数在原点处不平滑,在网络的训练和性能上均超越Swish函数[14],优于广泛使用的激活函数,具有较好的泛化能力和稳定的优化能力。其计算公式如式(4)、式(5)所示。因此,为了提高模型的泛化能力、稳定性以及苹果树叶病害识别的精度和速度,将原MobileViT模块中的Swish激活函数替换为SMU激活函数。

fSMU(x,αx;μ)=(1-α)x+(1-α)x·erf[μ(1-α)x]2;(4)

erf(x)=2π∫x0e-t2dt。(5)

式中:α表示超参数;μ表示可训练参数;erf(x)表示高斯误差函数。在苹果树叶病害模型训练时α的取值为0.25;μ通过调用Pytorch中的API实现前向传播,初始值设置为1.0,通过微分自动更新参数。

2.4 MobileViT网络改进

为了得到轻量、识别准确率高且易于部署的苹果树叶病害识别模型。本研究在MobileViT网络结构的基础上,添加MV2,网络结构如图5所示(↓2表示对特征图进行下采样)。主干网络由5个模块组成,每个模块由MV2、MobileViT组成。利用MV2提取局部特征,提供位置偏执,利用MobileViT block提取全局特征,各个模块结构参数如表1所示。将MobileViT模块中的Swish激活函数替换为SMU激活函数;并在网络结构的全连接层后添加Dropout层防止数据过拟合,最后通过SoftMax函数输出苹果树叶病害结果的预测值。

3 试验结果分析与应用

3.1 试验环境及相关配置

本试验是在实验室服务器运行完成的,试验时间为2022年10月至2023年3月,环境配置如表2所示。

3.2 模型参数设置

对进行数据增强后的数据按照8 ∶2 的比例划分为训练集和测试集。将图片大小调整为256像素×256像素,划分好的数据集送入苹果树叶病害识别模型进行训练,训练迭代次数的大小设置为30,batch_size的大小设置为32,学习率通过使用余弦退火算法进行动态衰减,即通过余弦函数降低学习率,优化器设置为Adam,损失函数设置为交叉熵损失函数,改进MobileViT网络结构中的Dropout设置为0.3。

3.3 评价指标

为评价苹果树叶病害识别模型的可行性,采用准确率(Accuracy)、参数数量、单张苹果树叶病害图片响应时间作为模型的评价指标。准确率的计算公式如式(6)所示。其中 TP代表正确分类为正样本的数量,TN代表正确分类为负样本的数量,FN代表错误分类为负样本的数量,FP代表错误分类为正样本的数量。

Accuracy=TP+TNTP+FP+TN+FN。(6)

3.4 结果分析与对比

3.4.1 改进后的MobileViT模型与原模型试验效果对比 为了验证改进后的网络模型是否得到了有效提升,与原MobileViT网络模型进行试验对比。在其他试验模型参数设置保持一致的情况下,得到的验证集与测试集的准确率与损失函数图像如图6所示。从准确率变化曲线得知,训练集上2种模型的识别准确率都在99%以上;测试集上改进后的网络模型识别的准确率高于原模型,改进后的网络模型在第5代完全收敛,原网络模型在第10代完全收敛。从损失函数变化曲线来看,训练集与测试集上改进后的网络模型的损失更接近0,改进后的网络模型的变化曲线有较小波动且收敛速度较快 原网络模型有较大波动且收敛速度较慢。因此,本研究提出的改进后的网络模型相比原网络模型拥有较强的鲁棒性、稳定性、识别准确率和泛化能力。

3.4.2 改进MobileViT模型与其他网络模型效果对比 为了验证改进后的MobileViT网络模型的有效性,本研究选择轻量级CNN模型、重量级CNN模型以及Transformer模型进行试验对比,其中轻量级CNN模型包括MobileNet[15]、MobileNet v2、ShuffleNet[16]、ShuffleNet v2[17],重量级CNN模型包括VGG16[18]、ResNet-18[19]、DenseNet-121[20],Transformer模型包括ViT、ConViT[21]。各模型的评价指标如表3所示,DenseNet-121模型在测试集的识别准确率达到最高,高出改进后的MobileViT网络模型1.02百分点,但同时参数量达到最高,是改进后的MobileViT网络模型参数量的3倍,对于内存空间较小的移动端并不适用;轻量级网络模型ShuffleNet、ShuffleNet v2的参数量最小,但对图片的识别率仅仅在92%左右,低于改进后的MobileViT网络模型3百分点左右;MobileNet v2模型单张图片识别最快,但是识别准确率较低。综合考虑,改进后MobileViT模型在保证模型较小的同时拥有较高的准确率,能够满足移动端的内存大小和算力要求。

为了进一步得到改进后的MobileViT网络模型与其他模型对6种苹果树叶识别的情况,11种网络模型在测试集上对6种苹果树叶分类准确率的混淆矩阵如图7所示。按照8 ∶2的比例划分训练集与测试集,测试集中6种苹果树叶的数量分别为健康965张,多病症715张,黑星病1 025张,锈病765张,灰斑病805张,白粉病744张。对于健康叶片与多病症叶片而言,2种叶片的特征较为明显,但ShuffleNetV2网络模型的识别准确度最低,正确识别健康叶片仅为832张,其他网络模型正确识别均接近900张;由于灰斑病和锈病的病斑特征具有某些相似性,11种网络模型将小部分灰斑病错误分类为锈病,对灰斑病与锈病正确识别的结果较低,但改进后的MobileViT网络模型相对于其他轻量级网络模型而言,对灰斑病与锈病正确识别的结果较高,有效地验证了改进后的MobileViT网络模型能够高效地编码叶片的局部和全局信息,对苹果树叶病害图片进行有效识别。

3.4.3 消融试验 为了证明苹果树叶病害识别模型的改进对性能的提高,分别对不同的改进进行消融试验,共分为4组。以MobileViT作为主干网络,试验数据集和其他试验参数均保持不变,结果如表4所示,其中“√”表示添加,“×”表示未添加。由表4可以得知,在原网络结构的基础上添加MV2模块虽然导致参数量和识别时间有所提高,但是苹果树叶病害识别的准确率提升了0.52百分点;在全连接层添加Dropout层有效地提升了单张图片的识别速度,将Swish激活函数替换为SMU激活函数在一定程度提高了识别的准确率和单张图片的识别速度;同时添加MV2、Dropout以及替换为SMU激活函数使网络性能有了较大提升,使网络具有较强的泛化能力。

3.5 苹果树病害识别移动端设计及应用

将训练好的改进MobileViT模型通过Pytorch Mobile加速推理框架完成模型文件格式的转换、模型的量化剪枝处理以及模型的加载;通过Android Studio开发工具、JDK和SDK完成UI界面设计和模型的调用与调试工作并运行生成 .APK 文件。软件调试使用的手机机型为小米9,其苹果树叶病害识别页面如图8所示,通过点击上传图片按钮或者通过扫一扫调用摄像头完成苹果树叶图片的识别,并将苹果树叶图片的识别结果显示在图片下方。

4 结束语

为了满足移动端的内存空间大小和算力要求,并同时提高识别准确率和缩小识别时间,本研究基于苹果树叶病虫害的特点,提出了一种基于改进轻量化网络MobileViT的网络模型。 该模型通过引入MV2模块、SMU激活函数,Dropout层对MobileViT进行了改进,通过消融试验验证了不同改进的必要性,在同一个数据集上与原网络模型、其他网络模型进行对比试验,结果表明,改进后的MobileViT网络模型在与重量级网络模型识别准确率相差仅为

1.02百分点的情况下由于其网络模型的轻量性更易于部署在移动端,其泛化能力和稳定性均優于其他网络,最终将模型部署在移动端验证了改进后MobileViT网络模型的有效性和可行性,接下来的研究将针对更多复杂场景的数据进行识别以及应用到具体场景。

参考文献:

[1]霍学喜,刘天军,刘军弟,等.  2020年度中国苹果产业发展报告(精简版)[J]. 中国果菜,2022,42(2):1-6.

[2]郭文娟,冯 全,李相周. 基于农作物病害检测与识别的卷积神经网络模型研究进展 [J]. 中国农机化学报,2022,43(10):157-166.

[3]Zhong Y,Zhao M. Research on deep learning in apple leaf disease recognition [J]. Computers and Electronics in Agriculture,2020,168:105146.

[4]Chao X F,Sun G Y,Zhao H K,et al. Identification of apple tree leaf diseases based on deep learning models [J]. Symmetry,2020,12(7):1065.

[5]Wang P,Niu T,Mao Y R,et al. Identification of apple leaf diseases by improved deep convolutional neural networks with an attention mechanism [J]. Frontiers in Plant Science,2021,12:723294.

[6]Li L L,Zhang S J,Wang B. Apple leaf disease identification with a small and imbalanced dataset based on lightweight convolutional networks [J]. Sensors,2021,22(1):173.

[7]Yu H L,Cheng X H,Li Z Q,et al. Disease recognition of apple leaf using lightweight multi-scale network with ECANet [J]. Computer Modeling in Engineering & Sciences,2022,132(3):711-738.

[8]Mehta S,Rastegari M. Mobilevit:light-weight,general-purpose,and mobile-friendly vision transformer [EB/OL]. (2021-10-05) [2023-03-23]. https://arxiv. org/abs/2110.02178.

[9]Dosovitskiy A,Beyer L,Kolesnikov A,et al. An image is worth 16x16 words:transformers for image recognition at scale [C]//Proceedings of the international conference on learning representations. Virtual Event:PMLR,2021:10096-10106.

[10]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.

[11]Sandler M,Howard A,Zhu M L,et al. MobileNetV2:inverted residuals and linear bottlenecks [C]//Proceedings of the IEEE conference on computer vision and patternrecognition. Salt Lake City,USA:IEEE,2018:4510-4520.

[12]Vaswani A,Shazeer N,Parmar N,et al. Attention is all you need [C]//Proceeding of the 31st international conference on neural information processing systems. Long Beach,California,USA. New York:ACM,2017,30:5998-6008.

[13]Biswas K,Kumar S,Banerjee S,et al. SMU:smooth activation function for deep networks using smoothing maximum technique [EB/OL]. (2022-10-31) [2023-03-23]. https://arxiv. org/abs/2111.04682.

[14]Ramachandran P,Zoph B,Le Q V,et al. Swish:a self-gated activation function [EB/OL]. (2017-10-16) [2023-03-23]. https://arxiv. org/abs/1710.05941v1.

[15]Howard A G,Zhu M,Chen B,et al. Mobilenets:efficient convolutional neural networks for mobile vision applications [EB/OL]. (2017-04-17) [2023-03-23]. http://arxiv. org/abs/1704.04861.

[16]Zhang X,Zhou X,Lin M,et al. Shufflenet:an extremely efficient convolutional neural network for mobile devices [C]//Proceedings of the IEEE conference on computer vision and pattern recognition. Salt Lake City,USA:IEEE,2018:6848-6856.

[17]Ma N N,Zhang X Y,Zheng H T,et al. ShuffleNet V2:practical guidelines for efficient CNN architecture design [C]//Computer Vision-ECCV 2018:15th european conference. New York:ACM,2018:122-138.

[18]Simonyan K,Zisserman A. Very deep convolutional networks for large-scale image recognition [EB/OL]. (2014-09-04) [2023-03-23]. https://arxiv. org/abs/1409.1556.

[19]He K M,Zhang X Y,Ren S Q,et al. Deep residual learning for image recognition [C]//Proceedings of 2016 conference on computer vision and pattern recognition(CVPR). Piscataway,NJ,USA:IEEE,2016:770-778.

[20]Huang G,Liu Z,Van Der Maaten L,et al. Densely connected convolutional networks [C]//Proceedings of 2017 conference on computer vision and pattern recognition(CVPR). Las Vegas:IEEE,2017:4700-4708.

[21]dAscoli S,Touvron H,Leavitt M L,et al. ConViT:improving vision transformers with soft convolutional inductive biases [EB/OL]. (2021-03-19) [2023-3-23]. https://arxiv. org/abs/2103.10697.

猜你喜欢

苹果树
光秃秃的苹果树
苹果树
入冬后 苹果树管理注意这四点
做一颗永远成长的苹果树
苹果树下的守候
奔跑的苹果树
秋天的苹果树
给苹果树的信
苹果树
神奇的苹果树