APP下载

基于改进ShuffleNet V2 的柑橘病害识别研究

2024-03-09于雁南莫泳彬严继池熊春林窦世卿杨荣峰

河南农业科学 2024年1期
关键词:柑橘注意力准确率

于雁南,莫泳彬,严继池,熊春林,窦世卿,杨荣峰

(1.桂林理工大学机械与控制工程学院,广西 桂林 541006;2.桂林理工大学测绘地理信息学院,广西 桂林541006;3.集美大学轮机工程学院,福建 厦门 361021)

柑橘是我国产量最高和消费量最大的水果,也是世界上产量最高的水果[1]。随着种植面积不断增加,大规模种植让柑橘病害防治工作面临不小的挑战。在柑橘种植过程中,病害会影响产量和品质,甚至出现毁园,造成巨大的经济损失。目前,传统的柑橘病害识别主要依靠人工实地观察,由于人工识别工作量大、识别主观性强等原因,导致病害检测效果并不理想。因此,构建一个简单的柑橘病害识别方法具有重要的现实意义。

近年来,深度学习在自然语言处理、图像识别、语音识别等方面取得了飞速发展[2-4],能够自动从输入数据中提取复杂特征,更具客观性[5-6]。同时,深度学习在农业病害识别领域逐渐兴起[7-13]。黄平等[14]提出一种基于改进VGG19 的柑橘病虫害识别方法,引入多尺度特征融合,同时使用Inception 模块增加网络的深度和宽度。帖军等[15]提出一种基于改进ResNet34 的柑橘病害识别方法,解决了模型泛化能力弱、鲁棒性差的问题。鲍文霞等[16]提出一种基于改进卷积神经网络的玉米病害识别模型,通过Inception 与ResNet 构成特征融合网络,提高了模型的稳定性,为研究玉米病害识别模型做出探索。

为了提升网络性能,通过堆叠更深的网络或构建更复杂的网络是一个可行的办法。但是,加深或者拓宽网络导致计算复杂度增加,模型准确率提升往往伴随计算开销变大。XING 等[17]基于自建柑橘病虫害数据集开发了一个轻量级的卷积神经网络(Convolutional neural network,CNN)模型,对柑橘17类害虫和7 类病害进行识别,准确率为93.33%。洪惠群等[18]基于ShuffleNet V2 0.5x 对网络进行改进,提出多种农作物病害识别模型,结果显示,相比于原网络,准确率由85.6%提高到86.5%。轻量级卷积神经网络的识别精度一般低于大型网络模型,如何在确保模型轻量化的前提下,进一步提高识别准确度是亟待解决的问题。鉴于此,针对识别率问题,在ShuffleNet V2 模型中融入混合注意力模块(Mixed attention module,MAM),将较大的权重分配到病斑所在的区域,而将较小的权重分配给背景,降低背景等其他因素带来的干扰,进一步提升病害分类能力。针对模型复杂度高问题,利用Ghost 模块优化参数量,减少冗余特征;同时,通过简化ShuffleNet V2 模型整体结构,以调整网络深度方式进一步保证模型轻量化。

1 材料和方法

1.1 试验数据与处理

数据集来源于柑橘园实地采集和网络收集。为了体现果园中柑橘病害发生时真实状况,拍摄过程中考虑不同角度、光照强度等因素,目的是确保图片能代表真实的复杂环境。通过邀请柑橘病害防治专家进一步筛选叶片数据,最终得到874 张图片,其中包括炭疽病、黄龙病、溃疡病以及健康叶片样本,部分数据集图片如图1所示。

图1 数据集部分图像Fig.1 Part of the data set images

数据集规模较小,容易导致整体网络拟合不佳,分类识别效果差。为了提高模型鲁棒性和泛化能力,让模型具备更高的分类性能,通过数据增强技术扩增样本数量,具体的方法包括对比度增强、翻转、旋转、亮度增强和颜色增强。表1是使用数据增强技术前后数据集分布情况。

表1 柑橘病害数据分布Tab.1 Citrus disease data distribution个

1.2 ShuffleNet模型

为了满足嵌入式设备上高效运行卷积神经网络的需求,并在速度和准确度之间达到较好的平衡,旷世科技提出可用于移动设备的轻量化卷积神经网络ShuffleNet V1[19]。该网络融入了分组卷积、深度可分离卷积、通道混洗理念,保证了网络准确度,且大幅度降低模型计算量。

ShuffleNet V2[20]延续了ShuffleNet V1 中轻量化网络设计原则,根据4 项高效网络设计原则设计了新的结构,ShuffleNet V2 单元如图2 所示。4 项高效网络设计原则如下:1)卷积层中输入和输出特征通道数应尽量相等,此时模型速度最快;2)组卷积操作会增加内存访问成本,使模型速度变慢,应尽量减少组卷积操作;3)网络模型分支数量越多,速度越慢,应尽量减少分支数量;4)张量操作消耗时间较多,应尽可能减少张量操作。

图2 ShuffleNet V2单元Fig.2 ShuffleNet V2 unit

1.3 Ghost模块

GhostNet[21]是一种新型轻量级神经网络,可以在移动设备上进行快速推理。GhostNet 采用Ghost模块替换普通卷积操作,通过成本更低的线性操作生成更多的特征映射。Ghost 模块先使用普通卷积生成部分特征图,再通过线性操作得到另一部分特征图的“幻影”,最后将这两部分特征图进行拼接后输出。线性变换生成的特征映射,减少了卷积操作产生的计算量,普通卷积和Ghost模块示意图如图3所示。Ghost 模块以较小的代价从原始特征中提取所需信息,且Ghost 模块即插即用便于与其他网络融合。

图3 普通卷积和Ghost示意图Fig.3 Ordinary convolution and Ghost diagram

1.4 注意力机制

注意力机制在深度学习中用于处理数据,主要是有选择性地聚焦某些相关事物,自动学习和计算输入数据对输出数据的贡献大小。在柑橘病害分类任务中,网络模型通过堆叠不同的卷积运算提取特征信息。但是,不同的特征信息对区分病害种类的影响程度并不相同,注意力机制能够对输入图像中不同区域的信息进行不同的处理。为了加强网络模型对病斑区域关注度,减少其他因素对病害识别的干扰,本研究提出了一种包含通道域和空间域的混合注意力机制模块。

1.4.1 通道注意力模块 田间采集的作物叶片病害图像背景复杂,特征多样,识别难度较大。通道注意力模块能够关注柑橘病变图像中最具代表性的特征信息。ECANet[22]提出了一种不降维的局部跨信道交互高效通道注意力(Efficient channel attention,ECA)机制,通过一维卷积跨通道交互来降低算法复杂度,在增加少量参数量情况下提升网络性能,ECA模块的结构如图4所示。

图4 ECA模块Fig.4 ECA module

1.4.2 空间注意力模块 在柑橘病害分类中,病斑所在区域作为病害识别的显著特征,该区域位置信息对分类正确率有重要影响。在通道注意力模块的基础上,进一步提出了空间注意力模块(Spatial attention module,SAM)[23]。空间注意力模块关注相同通道中不同位置像素的重要性,其本质就是定位特征并获取权重,将信息集中在重要特征的空间位置上,进一步提升分类能力。SAM 能够使空间维度不变,同时压缩通道维度,达到关注目标位置信息的效果。SAM模块如图5所示。

图5 SAM模块Fig.5 SAM module

1.4.3 混合注意力模块 相比于常规图像分类任务,柑橘病害识别中由于发病初期病斑小且类间病害相似度高的特点,容易对不同病害类型图像造成误判。为了增强模型对外界因素的抗干扰能力,增强模型对病变区域重要信息的学习能力,本研究基于卷积块注意模块(Convolutional block attention module,CBAM)[24]提出一种混合注意力模块MAM。在CBAM 注意模块中,通道注意力模块利用多层感知机(Multilayer perceptron,MLP)进行降维和升维操作,导致参数量变大,且容易造成特征丢失;还有,CBAM 通道与空间注意力模块之间是一个串行连接,在一定程度上会影响到后者的特征提取能力。针对上述问题,将CBAM 中通道注意力模块改为高效ECA 模块;同时,通道注意力模块和空间注意力模块采用并行连接,互不影响。MAM混合注意力模块的结构如图6所示。

图6 MAM模块Fig.6 MAM module

1.5 MAM-ShuffleNet设计

在果园实际种植环境下,柑橘叶片病害识别易受到外界因素干扰,如树枝、果实、自然光等其他复杂背景,导致模型无法有效地提取叶片病害特征,识别难度大。为了让模型在精度和复杂度上得到更好的平衡,本研究提出一种基于ShuffleNet V2 的柑橘病害轻量级分类网络。

首先,引入混合注意力模块MAM到ShuffleNet V2每一个Stage 中最后一个block。MAM 注意力模块即插即用,不会改变特征图输入尺寸,能够关注通道上的信息,同时可以关注特征空间域上的位置信息,能够帮助网络削弱复杂背景对病害分类能力的影响,提升模型的抗干扰能力。其次,选用Ghost 模块替换最后一层卷积操作。普通卷积会产生冗余特征信息,导致消耗计算资源和提升复杂度,Ghost模块使用线性运算产生特征信息,计算量和参数量都低于普通卷积,能够降低网络结构参数,同时对准确率不会造成太大影响。最后,调整ShuffleNet V2 模型中每一个Stage 的重复次数,将3 个Stage 中ShuffleNet V2 单元重复次数从4、8、4更改为2、4、2。本研究分类识别的病害种类不多,并不需要过深的网络模型,减少网络的深度能够降低网络计算量和参数量,同时能够避免梯度下降不稳定而导致学习能力下降。

MAM-ShuffleNet 结构如图7 所示,首先将输入为224×224×3 的图片经过3×3 卷积操作,输出特征图变成112×112×24,然后经过3×3 最大池化层将特征图大小变为56×56×24,接着通过Stage2、Stage3、Stage4 三个阶段重复堆叠ShuffleNet V2 单元,并且每个Stage 间加入了MAM 混合注意力模块;再经过Ghost 模块将特征图通道数变为1 024,然后进行全局平均池化,最后通过一个FC层将输出设置为4。

图7 MAM-ShuffleNet网络模型结构Fig.7 MAM-ShuffleNet network model structure

1.6 试验环境和参数配置

试验软件配置为Ubuntu20.04 操作系统,采用Pytorch 深度学习框架,开发工具为Pycharm 2022.2,编程语言为Python。试验硬件设备为NVIDIA Jetson AGX Orin Developer Kit,其中CPU 为12 核Arm Cortex-A78AE V8.2,内存为32 GB,GPU 搭载2 048 个NVIDIA CUDA 核心和64 个Tensor Core 核心的NVIDIA Ampere架构。

本研究在模型训练中超参数设置如下:训练批次大小为32,迭代次数为200,优化器为SGD,动量参数为0.9,权重衰减为0.000 05,学习率采用余弦退火算法进行衰减[25],初始学习率为0.01,损失函数选用交叉熵损失函数。

1.7 评价指标

本研究选用多种模型性能评估指标[26],包括准确率(Accuracy)、召回率(Recall)、F1 值(F1 score),同时,增加模型参数量(Parameters)、浮点运算数(Floating point operations,FLOPs)等,衡量模型复杂度。准确率、召回率、F1 值计算公式分别如式(1)、式(2)和式(3)所示。

其中,TP为每种类型中准确分类的数量,TN为模型识别为负类的负样本,FP为模型识别为正类的负样本,FN为模型识别为负类的正样本。

2 结果与分析

2.1 不同模型对比结果

为了验证MAM-ShuffleNet 模型的有效性,将改进模型与多种经典分类模型进行性能对比。选用ResNet50、DenseNet121、EfficientNet B0、MobileNet V2、ShuffleNet V2 0.5x 进行对比试验,结果如表2所示。

表2 不同模型对比结果Tab.2 Comparison results of different models

从表2 可以看出,各类模型对4 类柑橘叶片识别效果均较好,准确率都达到96%以上。ResNet50模型性能最差,识别准确率为96.1%,且模型较为复杂,在浮点运算数、参数量等指标表现较差。经过200 次迭代训练,MAM-ShuffleNet 模型识别准确率达到97.7%,为最优分类结果;且在模型复杂度上具备优势,浮点运算数、内存消耗等指标相比于其他网络都为最低;相比于EfficientNet B0 网络,虽准确率一致,但MAM-ShuffleNet 综合性能更优,在参数量和浮点运算数上都得到进一步优化,分别降低了95.3%和92.6%。本研究提出的模型是一个高效的轻量化网络,综合性能良好,能够较好地满足果农对病害识别准确度的要求。

为了研究不同注意力机制对柑橘病害分类性能的影响,分别进行CBAM、SE(Squeeze-and-excitation)、ECA、MAM 不同注意力机制试验,结果如表3 所示。在ShuffleNet 网络中加入上述4 种注意力机制都能够提升网络对病害特征的提取能力,表现在能够提升模型准确率,加入CBAM、SE、ECA、MAM 模块平均准确率依次提高0.3、0.8、0.3、1.2 百分点。MAMShuffleNet 模型与其他3 种注意力机制相比,在浮点运算数和内存消耗等模型复杂性评估指标上差异不大,但准确率高达97.7%。MAM 注意力模块不仅保持模型轻量化,而且能获得更好的网络性能。

表3 不同注意力机制对比结果Tab.3 Comparison of different attention mechanisms

由于MAM 注意力模块的灵活性,能够直接插入网络中任意位置。为探究注意力模块不同的放置位置对网络性能的影响,本研究讨论3 种不同嵌入方式,其嵌入位置如图8 所示。第1 种为放在ShuffleNet V2 单元中每一个分支的最后一层,且每一个block 都引入了MAM;第2 种为放在每一个ShuffleNet V2 单元的通道混洗后,同样每一个ShuffleNet V2 单元都添加了MAM;第3 种为放在每一个Stage 后。从表4 可知,第1 种识别率为96.0%,第2种识别率为97.0%,在每一个ShuffleNet V2单元加入注意力模块会导致网络中间层的输出发生变化,并未获得最佳网络性能。第3 种所得到的模型综合性能更优,准确率达到了97.7%,且浮点运算数等模型复杂度评价指标均为最低,较好地实现了模型精度与复杂度之间的平衡。

表4 MAM位置比较结果Tab.4 Comparison results of different MAM locations

图8 MAM位置Fig.8 MAM location

2.2 可视化分析结果

为了进一步评估本研究模型,采用混淆矩阵可视化方式评估模型。模型在测试集上的混淆矩阵如图9所示。混淆矩阵中所有正确的预测都在对角线上,所有不正确的预测都不在对角线上,颜色越深,对应类别预测精度越高。

图9 MAM-ShuffleNet混淆矩阵Fig.9 Confusion matrix of MAM-ShuffleNet

根据图9 可知,144 张健康叶片中能够正确识别141 张,准确率为97.9%;157 张黄龙病叶片只有2张被识别错误,准确率为98.7%;在123 张炭疽病叶片中,8 张被误判为溃疡病,准确率为93.5%;在274 张溃疡病中,有2 张被识别成炭疽病,有1 张被识别成黄龙病,准确率为98.9%。分析炭疽病较多误判为溃疡病原因,可能由于炭疽病样本数量相比于其他3 类较少,提取到的炭疽病病斑信息并不是很完善,易造成识别错误。综上所述,MAMShuffleNet模型虽然未能将所有病害正确分类,但准确识别了每个类别的大部分样本图像,具备良好的实际应用价值。

通过常用的模型评价指标对网络性能进行评估缺少直观的显示,难以了解模型主要关注叶片图像中哪一部分区域。为了更直观地分析网络对病害识别任务的决策方式,采用热力图可视化方法对网络重点关注区域进行显示。随机选择黄龙病、溃疡病、炭疽病3类样本图像进行热力图可视化测试,结果如图10 所示。根据热力图可知,ShuffleNet V2网络对柑橘病害图像中关键的病斑位置无法准确聚焦,对病斑区域关注比较分散,在显著特征所在区域颜色较浅,导致特征学习不足。由于MAMShuffleNet引入了注意力机制,减少了对复杂背景环境的关注度,能够更好地关注病害所在区域,在病斑所在位置图像颜色较深。模型对图中3类叶片预测结果与真实类型一致,说明了热力图中高亮区域能够为正确识别提供关键信息。通过上述分析可知,MAM-ShuffleNet 对于复杂环境下的病害叶片具有更好的识别效果。

图10 热力图对比结果Fig.10 Heat map comparison results

为了进一步显示网络中病斑区域的细粒度信息并研究注意力机制对提取特征的影响,使用特征图进行可视化分析,图11 为Stage1 后特征图。在网络初期,本研究模型通过加入混合注意力模块可以准确定位到病变叶片所在位置,对复杂环境具有较好的适应性,叶片细粒度信息全面,信息冗余度低,能够获取到病害叶片信息,有助于深层网络进一步提取叶片内病斑特征,并由此做出准确的分类决策。相比于改进模型,ShuffleNet V2 对叶片附近的环境信息敏感,网络并没有重点关注存在病害信息的叶片,信息提取能力不如前者。综上所述,MAM注意力机制能够增强网络模型的柑橘病斑特征提取能力,减少背景等其他因素的干扰。

图11 特征图可视化结果Fig.11 Visualization results of feature map

2.3 消融试验结果

消融试验是为了验证模型增删某些模块对整体网络性能的影响效果。本研究将改进点引入到ShuffleNet V2,通过消融试验方法验证所提出优化方法的有效性。消融试验包括引入混合注意力模块MAM、Ghost 模块和模型结构调整,结果如表5 所示。从表5 可以看出,Ghost 优化卷积使准确率、F1值略有提升,参数量和浮点运算数分别降低了28.6%、10.8%。 将MAM 注意力模块引入到ShuffleNet V2中,准确率和F1值分别提升0.6、1.1百分点,而模型的参数和浮点运算数也略有提升。在ShuffleNet V2 同时加入Ghost 模块、MAM 注意力模块、结构调整3 种优化方法,准确率、F1 值分别提升1.2、1.3 百分点,参数量和浮点运算数下降45.7%和31.0%。由上述试验可知,MAM-ShuffleNet 不但没有增加模型复杂度,反而提高了模型的识别准确率。

表5 消融试验结果Tab.5 Results of ablation test

3 结论与讨论

柑橘作为我国南方地区种植面积最广、经济地位最重要的水果,病害防治一直是一个紧迫问题。将人工智能技术应用到柑橘病害分类可以提高果园管理效率,进一步提高柑橘产量和品质。本研究针对柑橘病害识别模型识别精度低、模型复杂度高等问题,设计了一个轻量化的柑橘病害分类模型MAM-ShuffleNet。

MAM-ShuffleNet 基于ShuffleNet V2 进行改进,加入了并行混合注意力机制,使用了Ghost 模块优化卷积模块,同时对网络结构进行调整。通过对比试验、消融试验、可视化分析验证了所提出改进措施有助于提升网络性能。结果表明,MAMShuffleNet 模型准确率达到97.7%,参数量为0.19 M,浮点运算数为29.39 M;与原ShuffleNet V2相比,准确率提升了1.2 百分点,同时参数量和浮点运算数分别降低了45.7%和31.0%;与ResNet50、DenseNet121、EfficientNet B0、MobileNet V2 相比,综合性能均有所提升。本研究提出的模型不仅优化了模型参数,还提高了识别准确率,对于柑橘病害的智能识别具有重要参考意义和实际应用价值。

本研究还存在一些局限性,可在今后的工作中不断完善。柑橘病害数据集还需不断扩大,同时,模型并没有部署到实际应用。在未来的工作中,如何通过对抗生成网络建立更多的数据集是一个值得探索的方向;同时,可以设计一个简单的轮式机器人,将模型部署在轮式机器人中,让机器辅助人工进行果园病害巡检。本研究最终目标是将MAM-ShuffleNet 部署在更多的应用场景中,促进数字农业的进一步发展。

猜你喜欢

柑橘注意力准确率
让注意力“飞”回来
吃柑橘何来黄疸——认识橘黄病
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
高速公路车牌识别标识站准确率验证法
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things
柑橘大实蝇综合治理
“五及时”柑橘冻害恢复技术