APP下载

基于改进ShuffleNet v2的轻量化番茄叶片病害识别

2024-04-08李大华仲婷王笋于晓

江苏农业科学 2024年3期
关键词:轻量化番茄

李大华 仲婷 王笋 于晓

摘要:番茄大面积种植导致叶片部位被病虫害侵蚀面积不一、侵蚀种类多样化等问题,为了满足在资源有限的硬件设备上实现对番茄叶片病害准确识别,提出改进ShuffleNet v2模型。首先对基本单元进行改进,提出SA-stage模块,使模型密切关注叶片相关特征信息的同时减小了参数量和计算量;其次提出LFN轻量化特征融合模块,实现浅层和深层网络的上下文信息交互;接着引入RFB-s轻量化特征增强模块,增强小目标病害的特征提取;最后将SPD-Conv代替普通卷积和最大池化层,降低图像分辨率的同时保留了番茄叶片病害小目标的细粒度信息。试验结果表明,改进ShuffleNet v2模型在10种番茄叶片病害图像上进行测试,准确率和平均召回率分别达到了96.55%、96.40%,较原模型分别提高了4.44、3.70百分点;参数量和计算量分别为348 154、38.75 MB,较原模型分别减少 3 888、3.88 MB。相比于其他分类模型AlexNet、ResNet50、MobileNet v3等,改进ShuffleNet v2模型不仅准确率最高、参数量和计算量最小,而且权重最小,仅为1.51 MB。该研究提出的改进ShuffleNet v2模型具备在资源有限的移动设备上部署的条件,满足实时、准确地识别番茄叶片病害。

关键词:番茄;叶片病害;病害识别;轻量化;参数量

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

文章编号:1002-1302(2024)03-0220-09

为了满足社会的需求,番茄的种植面积逐渐扩大,产量逐渐提升,然而病虫害发生范围及影响也逐渐提高[1],而病虫害的侵蚀位置初期以叶片为主。人们主要依靠种植人员的经验判断番茄叶片病害的种类,该方法费时费力,还会造成误判从而影响对病虫害的喷雾防治作用[2]。因此提供一种对番茄叶片病害种类快速、准确的识别方法尤其重要。

随着人工智能技术的不断发展,尤其是深度学习技术和深度学习框架的广泛应用[3-4],基于卷积神经网络的分类模型有利于快速、准确地对叶片病害种类进行识别。戴久竣等提出在ResNet50模型基础上进行改进实现对葡萄叶片病害的识别,改进模型对叶片病害识别准确率达到98.20%[5]。曹藤宝等提出在DenseNet模型基础上融合空间注意力机制的玉米叶片病害分类方法,将PReLU激活函数代替ReLU,改进后模型准确率达到98.77%[6]。Ding等采用增加CBAM模块和随机裁剪分支2种方案对ResNet18网络进行改进,对苹果叶病进行分类,准确率分别达到95.2%、97.2%[7]。Naik等设计基于SE的卷积神经网络,在自建辣椒叶数据集上达到98.63%的精度[8]。Paymode等对葡萄和番茄叶片图像进行增强,在卷积神经网络中利用VGG模型设置超参数,利用迁移学习分别达到98.40%和95.71%的准确率[9]。刘拥民等提出优化的Swin Transformer网络模型,结合Mixup混合增强算法对数据集进行增强,并采用迁移学习对番茄叶片进行训练,最终准确率达到98.40%[10]。由于以上常规的卷积神经网络ResNet、DenseNet、VGG以及现阶段较为新颖的网络模型Swin Transformer参数量较多[11-15],模型较为复杂,在训练数据集时训练时间过长,还需要相对较大的存储空间,导致在资源有限的移动设备上缺少研究的应用价值。

在移动设备广为使用的现状下,研究一种参数量、计算量较少,较为轻量的番茄叶片病害识别模型显得尤为重要。ShuffleNet v2模型平衡了轻量级模型识别的准确率和模型复杂度[16],本研究在此基础上提出一种改进ShuffleNet v2番茄叶片病害识别方法,采用ShuffleNet v2 0.5x框架,在所有阶段(stage)每个模块(block)中引入一种轻量且有效的置换注意力机制(shuffle attention,SA)[17],并对其结构进行优化,组成SA-stage结构,着重关注叶片病害相关的信息并降低模型参数量及计算量,在网络的浅层引入轻量化特征增强模块(receptive field block-s,RFB-s)[18],增强浅层叶片病害的语义信息从而提升模型识别准确率,接着对每个的输出进行轻量化特征融合,将深度可分离卷积(depthwise separable convolution,DSC)[19]代替普通卷积,进一步提升识别准确率的同时保证模型较低的参数量和计算量,最后使用SPD-Conv(space-to-depth convolution)[20]取代模型的卷积和池化层,提高低分辨率图像中叶片病害的准确率。

1 材料与方法

本研究于2023年2—4月在天津理工大学电气工程及自动化硕士实验室进行试验,从Plant Village公开数据集中随机挑选番茄病害叶片图像作為研究对象,叶片病害包括细菌性斑点病、早疫病、晚疫病、叶霉病、斑枯病、二斑叶螨病、轮斑病、花叶病和黄化曲叶病。每张图像包含1种叶片病害,加上番茄健康叶片,共10种叶片病害种类,共 1 267 张图像。为了避免在训练过程中出现过拟合现象,对图像进行增强操作(高斯滤波、高斯噪声、明亮、昏暗、翻转、旋转180°等7种方式),可模拟模糊、光线明亮、光线昏暗等环境,增强模型的泛化能力,部分番茄病害叶片增强图像如图1所示,每种病害叶片数量为900张左右,总数量达到8 869张。

2 改进ShuffleNet v2模型相关设计

2.1 置换注意力机制

将空间注意和通道注意融合在一起可能会比它们各自应用展现更好的性能,但会不可避免地增加计算开销。置换注意力SA模块可以解决此问题,SA模块的整体架构见图2。对于给定的番茄叶片病害特征图X∈RC×H×W,SA首先按照通道维度分组为G个子特征,即X=[X1,X2,…,XG],Xk∈RC/G×H×W,在训练过程中捕捉特定的病害语义信息,然后Xk沿着通道维度被分成2个分支,即Xk1、Xk2,两者均∈RC/2G×H×W,一个分支利用通道间的相互关系生成通道注意力图,另一个分支利用特征间的空间关系生成空间注意力图。为了捕捉通道之间的依赖性,获取病害通道权重,首先通过使用全局平均池化(GAP)来嵌入全局信息,以生成通道方式的统计信息s∈RC/2G×1×1,可通过将Xk1收缩到空间维度 H×W来计算:

s=FGAP(Xk1)=1H×W∑Hi=1∑Wj=1Xk1(i,j)。(1)

此外,通过Sigmoid激活函数获得通道注意力的最终输出:

Xk1′=σ[FC(s)]·Xk1=σ(W1s+b1)·Xk1。(2)

其中,W1∈RC/2G×1×1,b1∈RC/2G×1×1,两者分别是用于缩放和移位s的参数。

为了获取病害空间权重,在Xk1上使用组归一化(group norm,GN)来获取空间统计信息[21],通过Sigmoid激活函数获得空间注意力的最终输出:

Xk2′=σ[W2·GN(Xk2)+b2]·Xk2。(3)

其中,W2∈RC/2G×1×1,b2∈RC/2G×1×1。

然后将这2个分支连接,即Xk′=[Xk1′,Xk2′]∈RC/G×H×W。最后将病害所有子特征聚合 并采用通道混洗算子使叶片病害不同的子特征之间跨组进行信息交流,使得该模块有效学习病害的关键信息。

2.2 基本单元结构优化

ShuffleNet v2模型提出一种较为新颖且更加轻量的基本单元。基本模块(block)包含2种不同结构,如图3所示,一种为步长(stride)=1的结构,另一种为stride=2的结构,这2种结构的主分支都由3个卷积层构成,分别为1×1普通卷积、3×3深度可分离卷积、1×1普通卷积,但输入端和侧分支的构成有所不同。在步长为1的结构中,输入端进行通道分割,侧分支直接将通道分割后的图像与主分支图像进行维度上拼接(concat);在步长为2的结构中,图像直接进入输入端经过2个分支的处理,其侧分支由 3×3 深度可分离卷积和1×1普通卷积构成。在这2种结构中,最后通过通道混洗进行2个分支之间的信息通信。

ShuffleNet v2的整体结构主要由stage2、stage3、stage4构成,而每个stage又由多个基本单元组成,所以优化基本单元结构在番茄叶片病害特征提取中起着重要作用,优化的基本单元SA-stage结构见图4。由于最后的1×1普通卷积不改变通道数,起到信息结合的作用,可能会造成信息冗余,所以本研究去除此卷积,降低了计算量和参数量,但也造成了准确率下降,为了弥补此情况,进一步使模型在特征提取时,获取不同叶片病害有效信息,提升识别准确率,在主分支1×1普通卷积之后添加置换注意力机制SA,该模块相对轻量化,基本单元结构的优化既保证病害识别准确率的提升,也减少了参数量和计算量。

2.3 轻量化特征融合网络

卷积神经网络浅层特征感受野较小,包含病害更多的细节信息,无法提供更多语义信息;深层特征感受野较大,包含病害更多语义信息,但却缺少相关的纹理、颜色等细节信息。网络不同卷积层生成不同分辨率特征图,无法避免叶片病害相关特征的缺失,导致模型识别效果欠佳。针对此种情况,又考虑到既能提高模型识别能力,又能保证该模型的轻量化,设计一种轻量化特征融合网络(LFN)如图5所示,该模块先将增强后的SA-stage2和 SA-stage3 进行融合,采用深度可分离卷积(DSC)

代替普通卷积,通过步长为2的逐通道卷积将大小为 56×56 的特征图调整为28×28,又通过步长为1的逐点卷积将通道数调整为96,与增强后的stage3保持同样形状(shape);接着使该融合的结果通过深度可分离卷积,将特征图大小调整为14×14×192,与SA-stage4进行融合。该模块融合了叶片病害浅层和深层特征,为最终识别模型提供了更多的精确病害信息。

2.4 轻量化特征增强模块

番茄叶片表现为不规则、多为小病斑病害,根据成像特點,拍摄环境与光线的影响会导致病害识别的准确率不高。本研究引入RFB-s模块(图6),膨胀卷积的应用不仅增强了小目标病害的特征提取能力,还保证了模型较少的参数量方便在移动设备上部署。RFB-s是一个多分支卷积模块,由多分支卷积层和膨胀卷积层构成。每条分支均由1×1卷积对通道数进行调整;中间2条分支采用1×3和3×1卷积来代替3×3卷积,减少了参数量;右侧紧接3×3卷积对叶片病害进行特征提取;然后每条分别连接膨胀率为1、3、3、5的3×3卷积,为了在不同感受野下有效提取叶片病害的特征;通过concat连接与1×1卷积将不同感受野下的病害特征进行融合,最后将输入特征图与concat连接得到的特征图进行相加,通过获取不同尺度融合的叶片病害特征图,提高了番茄叶片小目标病害的识别效果。

2.5 SPD-Conv 结构

在卷积网络ShuffleNet  v2中 为了去除冗余像素信息,通过普通卷积和最大池化对图像进行处理,得到小分辨率特征图,会导致丢失关于番茄叶片病害小目标的细粒度信息,用于模型学习的上下文信息也有限,在特征学习过程中,使小目标病害无法被识别。为了解决此问题,引入SPD-Conv(图7)来取代普通卷积和最大池化层,SPD-Conv由空间到深度层(SPD层)和非跨步卷积层构成。

SPD层对叶片病害特征图进行下采样,但却保留了通道维度中的所有相关信息。对于特征图X,将一系列子特征图分割为

f0,0=X[0:S:scale,0:S:scale],

f1,0=X[1:S:scale,0:S:scale],…,fscale-1,0=X[scale-1:S:scale,0:S:scale];

f0,scale-1=X[0:S:scale,scale-1:S:scale],f1,scale-1,…,

fscale-1,scale-1=X[scale-1:S:scale,scale-1:S:scale]。

番茄叶片子特征图fx,y由所有特征映射组成 X(i,j) 特征图,每个子映射可按照一定比例对病害特征图X进行下采样,在图7中,当比例为2时,得到四个子特征图f0,0、f1,0、f0,1、f1,1,其大小为S×S×C1,并将特征图X下采样2倍。然后沿着通道维度将这些子特征图进行连接,获得新的特征图X′,其大小为S2×S2×4C1。

接着通过非跨步卷积层,即使用步长为1、通道数为C2的卷积核将特征图转变成X″为S2×S2×C2,可以学习较少的特征相关参数来减少通道数量。

2.6 改进ShuffleNet v2模型整体框架

本研究的改进ShuffleNet v2模型整体框架如图8所示,输入图片大小为224×224×3,经过 SPD-Conv1 对图片进行下采样,保留了所有与番茄叶片病害相关的特征;用SA-stage2、SA-stage3、SA-stage4、代替原模型中的基本单元stage2、stage3、stage4,接着使用轻量化特征增强模块RFB-s对SA-stage2、SA-stage3输出的特征图进行处理,提高叶片小目标病害的识别效果;在此基础上采用LFN模块对叶片病害进行特征融合,实现病害不同尺度信息的交互;最后通过全局池化、全连接层(FC)对叶片病害进行识别,输出病害类别,该模型不仅提升了对番茄叶片病害识别的准确率,还具备在移动设备上部署的优势。

3 试验条件

3.1 试验平台

本次模型训练及测试所采用的试验平台为:使用编程软件Python 3.9.12,利用CUDA 11.6及PyTorch 1.12.1的深度学习框架搭建模型,使用NVIDIA GeForce RTX 3060 的显卡,在Windows 11操作系统上进行运行。

3.2 改进模型训练参数

在改进模型进行训练前,将番茄病害叶片数据集的训练集与验证集以9 ∶1的比例进行划分。在训练过程中,输入番茄病害叶片图片大小为224×224,批量大小(Batch_size)设为16,初始学习率为0.01,选择 SGD 优化器对学习率进行优化,动量设置为0.9,共迭代50次,模型训练逐渐达到稳定,在测试时,随机从PlantVillage公开番茄病害叶片数据集中构建测试集,对该模型的识别效果进行测试,更能体现出改进模型的识别效果。

4 结果与分析

4.1 ShuffleNet v2与改进ShuffleNet v2模型训练结果对比

为了更直观地观察原模型与改进模型在训练过程中对番茄叶片病害识别的准确率,以及损失值变化情况对比,制作准确率对比图和损失值对比图,分别如图9、图10所示。

由图9、图10可知,仅迭代10次,改进ShuffleNet v2模型在验证集上的准确率高于ShuffleNet v2模型;而损失值从一开始就比原模型小,并且下降得较快,说明对原模型改进后,收敛速度更快,泛化能力更强。

4.2 不同分类模型准确率对比

各个分类模型均具备其特点 为了对比分类模型在番茄叶片病害验证集上的准确率,选择常规分类模型AlexNet、ResNet50、GooleNet以及轻量化分类模型MobileNet v3,制作准确率曲线对比图,如图11所示,相比之下,改进ShuffleNet v2模型虽然在训练刚开始准确率偏低,但随后上升速度很快,在迭代

10次后,基本达到平稳状态,且高于其他分类模型。

4.3 消融试验结果

为了进一步探究所提各项改进模块相比原模型识别性能是否有所提升,在随机制作的测试集上进行消融试验,消融试验结果见表1。

从表1中可观察到在原模型基础上,将基本单元结构改变为SA-stage结构,置换注意力SA模块的添加使准确率提高了1.23百分点,平均召回率提高了1.00百分点,又将1×1普通卷积删除,使得参数量和计算量均有所减小;在添加SA-stage基础上,添加LFN轻量化特征融合模块,虽然额外增大了参数量和计算量,但由于深度可分离卷积的替换,使得参数量和计算量低于原模型,并且准确率和平均召回率又分别提高了1.53、1.50百分点;接着随着RFB-s模块的加入,准确率又提升了0.80百分点,平均召回率提高了0.40百分点;通过各个改进模块的引入,相比原模型,改进ShuffleNet v2模型的参数量和计算量均降低,准确率提高了4.44百分点,平均召回率也上升了3.70百分点。由上述分析可知,各个模块的融合不仅提高了番茄叶片病害识别的有效性,还使得最终改进ShuffleNet v2模型更加轻量化。

4.4 混淆矩阵

为了判断改进ShuffleNet v2模型将番茄叶片病害是否预测正确,对分类模型评价指标混淆矩阵可视化,如图12所示,该混淆矩阵是在随机制作的叶片病害测试集上进行测试判断,每种叶片病害图像大致在100张左右。从图12中可直观看出,改进模型对于番茄叶片病害大部分都能正确识别,晚疫病的误测率比其他稍高,基本被误测为早疫病,因为这2种病害在发病到一定程度时特征基本相似,導致无法准确区分,但不足以影响该模型对病害的识别,依然具备满足实际应用的要求。

4.5 模型热力图可视化

在使用分类模型处理图像分类问题时,通过卷积神经网络训练之后,直接得到关于番茄叶片病害的分类种类,却不知病害哪些位置信息影响着最终的分类结果,为此使用原模型ShuffleNet v2和改进ShuffleNet v2模型,对部分叶片病害进行类激活图(class activation mapping,CAM)可视化对比,如图13所示,在热力图中,整张图片表现出的颜色不一致,与叶片病害越相关的信息位置,颜色表现越明显,越接近于红色。

从图13可以看出,针对叶片细菌性斑点病、晚疫病、叶霉病、斑枯病,有些病害病斑较小、分布零散,导致原模型ShuffleNet v2无法全面、准确地定位到病害的关键区域,而改进ShuffleNet v2模型能够提取与叶片病害相关的关键特征信息,既可以全面覆盖叶片病害的关键区域,也能准确、清晰定位病害关键区域的具体位置。由上述分析可知,改进ShuffleNet v2模型能够清晰关注到图像中与番茄叶片病害相关的关键信息,增强了该模型对叶片病害的识别效果。

4.6 不同分类模型性能对比

不同分类模型在番茄叶片病害验证集上达到了较高的准确率,为了进一步探究识别性能,对其在随机制作的测试集上进行试验。

根据在番茄叶片病害测试集上的试验结果(表2)可知,改进ShuffleNet v2模型对病害识别的准确率、参数量以及权重均优于其他分类模型。与常规分类模型AlexNet、GooleNet相比,准确率大幅上升,相比于ResNet50模型,准确率上升了5.55百分点;与新颖模型Vision Transformer相比,准确率也大幅上升,参数量和权重大幅降低;相比于轻量化模型MobileNet v3,准确率上升了9.25百分点。改进模型参数量和计算量分别为348 154、38.75 MB,权重仅为1.51 MB,与原模型ShuffleNet v2基本持平,且小于其他模型。进一步证明了改进ShuffleNet v2模型對于番茄叶片病害识别性能的优势,具有较强的鲁棒性。

5 结论

本研究以常见的番茄叶片细菌性斑点病、早疫病、晚疫病、叶霉病等9种病害为研究对象,使用PlantVillage公开数据集划分训练集与验证集,从中随机构建测试集。为了解决ShuffleNet v2模型在叶片病害测试集上识别准确率不高、模型参数量和计算量较大等问题,提出改进ShuffleNet v2模型,通过一系列对比试验,得到如下结论。

(1)原模型ShuffleNet v2基本单元关注着病害不同程度相关的特征信息,会造成信息冗余,模型较为复杂,则提出SA-stage基本单元,试验结果表明该方法使模型关注紧密相关的病害特征,同样减小了模型复杂度。

(2)原分类模型仅靠卷积神经网络深层特征进行病害识别,缺少相关的纹理、颜色等细节信息,导致模型识别效果欠佳,提出LFN模块,使模型浅层和深层网络实现上下文信息交互,不仅提高了识别效果,而且降低了参数量和计算量。

(3)番茄叶片多表现为不规则、小病斑病害,根据成像特点,导致病害识别的准确率不高,引入RFB-s模块,利用不同感受野的膨胀卷积提取不同尺度叶片病害特征,增强了小目标病害的识别效果。

(4)普通卷积和最大池化对图像进行处理会导致番茄叶片病害小目标的细粒度信息丢失,在特征学习过程中,使小目标病害无法被识别,则引入 SPD-Conv 代替普通卷积和最大池化层,试验结果表明,不仅提高了模型识别准确率,还使模型更加轻量化,便于在资源有限的设备上进行部署。

参考文献:

[1]高 山. 设施番茄病虫害绿色防控技术分析[J]. 农村实用技术,2022(6):98-100.

[2]苏子峰. 基于大数据的大棚番茄病虫害防治栽培技术研究[J]. 中国农业文摘(农业工程),2023,35(1):69-73.

[3]蒋万胜,田 姿. 论深度学习技术对人类社会发展的影响[J]. 宝鸡文理学院学报(社会科学版),2023,43(1):133-139.

[4]唐晓彬,沈 童. 深度学习框架发展综述[J]. 调研世界,2023(4):83-88.

[5]戴久竣,马肄恒,吴 坚,等. 基于改进残差网络的葡萄叶片病害识别[J]. 江苏农业科学,2023,51(5):208-215.

[6]曹藤宝,张 欣,陈孝玉龙,等. 融合空间注意力机制和DenseNet的玉米病害分类方法[J]. 无线电工程,2022,52(10):1710-1717.

[7]Ding R R,Qiao Y L,Yang X H,et al. Improved ResNet based apple leaf diseases identification[J]. IFAC-Papers On Line,2022,55(32):78-82.

[8]Naik B N,Malmathanraj R,Palanisamy P. Detection and classification of chilli leaf disease using a squeeze-and-excitation-based CNN model[J]. Ecological Informatics,2022,69:101663.

[9]Paymode A S,Malode V B. Transfer learning for multi-crop leaf disease image classification using convolutional neural network VGG[J]. Artificial Intelligence in Agriculture,2022,6:23-33.

[10]刘拥民,刘翰林,石婷婷,等. 一种优化的Swin Transformer番茄叶片病害识别方法[J]. 中国农业大学学报,2023,28(4):80-90.

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

[12]Huang G,Liu Z,van der Maaten L,et al. Densely connected convolutional networks[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2017:4700-4708.

[13]Simonyan K,Zisserman A. Very deep convolutional networks for large-scale image recognition[J]. arXiv preprint arXiv:1409.1556,2014.

[14]Liu Z,Lin Y,Cao Y,et al. Swin transformer:hierarchical vision transformer using shifted windows[C]//Proceedings of the IEEE/CVF international conference on computer vision. 2021:10012-10022.

[15]熊夢园,詹 炜,桂连友,等. 基于ResNet模型的玉米叶片病害检测与识别[J]. 江苏农业科学,2023,51(8):164-170.

[16]Ma N,Zhang X,Zheng H T,et al. Shufflenet v2:practical guidelines for efficient cnn architecture design[C]//Proceedings of the European conference on computer vision (ECCV). 2018:116-131.

[17]Zhang Q L,Yang Y B. Sa-net:shuffle attention for deep convolutional neural networks[C]//ICASSP 2021-2021 IEEE international conference on acoustics,speech and signal processing (ICASSP). IEEE,2021:2235-2239.

[18]Liu S,Huang D. Receptive field block net for accurate and fast object detection[C]//Proceedings of the European conference on computer vision (ECCV). 2018:385-400.

[19]Howard A G,Zhu M L,Chen B,et al. Mobilenets:efficient convolutional neural networks for mobile vision applications[J]. arXiv preprint arXiv,2017.

[20]Sunkara R,Luo T. No more strided convolutions or pooling:a new CNN building block for low-resolution images and small objects[C]//European conference on machine learning and principles and practice of knowledge discovery in Databases(ECML PKDD),Grenoble,France,September 19-23,2022,Proceedings,Part Ⅲ. Cham:Springer Nature Switzerland,2023:443-459.

[21]Wu Y X,He K M. Group normalization[C]//Proceedings of the European conference on computer vision (ECCV). 2018:3-19.

猜你喜欢

轻量化番茄
汽车轻量化集成制造专题主编
番茄炒蛋
秋茬番茄“疑难杂症”如何挽救
番茄果实“起棱”怎么办
四点接触球转盘轴承的轻量化材料应用
一种轻量化自卸半挂车结构设计
一种轻量化自卸半挂车结构设计
冬天的番茄为啥不太好吃
425轻量化桥轴承座工艺改进
番茄炒蛋做成功啦