面向移动端的植物病害图像识别方法及其应用

2023-03-21 01:39段军明董明刚
江苏农业科学 2023年4期
关键词:植物病害识别率准确率

杨 祥,段军明,董明刚

(桂林理工大学信息科学与工程学院,广西桂林 541000)

植物病害种类各种各样,植物病害识别的传统方法是基于植物研究专家进行直观的观察和监测,该方式需要专业人员在一个特定区域中持续进行监测,这需要消耗大量的人力资源且产生巨大的经济开销。现如今随着智能信息化的进步,人工智能技术,特别是深度学习技术给人们的生活工作等多方面提供了巨大的便利,利用人工智能去替代传统的人工鉴别方式,十分有利于提高识别速度,快速准确定位农业植物发病原因。孙云云等通过使用经典卷积神经网络(CNN)AlexNet完成对茶叶病害的图像识别[1];许景辉等通过迁移学习将VGG-16卷积神经网络应用在玉米叶片病害中,平均识别率达到95.33%[2];宋晨勇等对GoogLeNet模型进行改进,在苹果病害识别上的精准率达到98.4%[3];刘翱宇等利用ResNet50网络通过引入Focal Loss损失函数在识别玉米病害上的准确率高达98.96%[4]。传统的卷积神经网络AlexNet[5]、VGG[6]、GoogleNet[7]、ResNet[8]等因参数多、计算复杂度高,运行时需要丰富的计算资源和较大的存储空间,因此限制了在资源有限的移动端设备中应用。

在现实生活中,研究一种低计算成本、高性能的方法用于植物病害识别是目前最广泛的需求。为了使卷积神经网络在不降低识别率的条件下,降低参数量和模型复杂程度进而降低识别成本,本研究提出了一种轻量级CNN植物病害图像识别方法,通过采用轻量级卷积神经网络ShuffleNet V2 1.5×架构,在原网络中通过引入跨阶段局部网络(Cross-Stage Partial Network,CSPNet)[9]结构和高效通道注意力(Efficient Channel Attention,ECA)[10]模块来达到降低模型参数量和增强模型对病害图像重要特征信息的效果,并通过将深度卷积层中的卷积核大小由3×3改成5×5来改善卷积操作的感受野,达到更多病害图像细节信息特征的保留。

1 材料与方法

1.1 数据来源

本研究使用了AI Challenger 2018平台提供的官方农作物病害检测数据集,该数据集旨在为人工智能领域的研究人才构建大规模、全面的研究数据集和世界水平的竞争平台。该数据集中总共有10种农作物、61组病害类别,每张图片包含1种植物的叶片病害图,叶子占据图片中间重要位置。从该数据集中选取4种农作物作为本研究的数据集,这4种分别为辣椒、苹果、马铃薯、葡萄。试验数据集总共9 518张叶片病害图像,包含17组叶片病害类别,其中4组健康叶片、13组病害叶片(图1)。

1.2 数据增强

为减少图像大小不规则造成的识别误差,对图片进行统一裁剪,并确保输入网络中的图像尺寸为224像素×224像素。同时对图片进行了长宽比裁剪、随机水平和垂直翻转、随机30°旋转、图像仿射、图像归一化等操作实现数据增强效果,以避免训练过程中出现过拟合现象。

1.3 改进轻量级神经网络构建

1.3.1 深度可分离卷积模块 轻量级卷积神经网络主要采用深度可分离卷积结构[11]来减少网络的参数量和计算量,其结构的核心包括深度卷积(depthwise convolution,DW)和逐点卷积(pointwise convolution,PW),其作用为滤波和线性组合。深度卷积和逐点卷积过程见图2。

由此可见,深度可分离卷积能够有效减少网络参数量,降低计算资源消耗。实际网络设计过程中,DW的卷积核大小通常采用3×3,而经过PW后输出特征图通道数N往往比较大。由深度可分离卷积的算力消耗可知,深度可分离卷积的计算量大部分在PW上,因此将DW的卷积核大小由3×3改为5×5,并不会增加较大的参数量,反而能够扩大图像感受野,提取更多图像的细节特征信息。

1.3.2 通道注意力ECA模块 植物叶片病害形状、大小不固定,为了获取充足的病害图像特征信息,降低有效的图像信息丢失,引入有效的通道注意力模块,它是一种捕获局部的跨通道信息互动的注意力机制,在通道注意力SENet[12]模块的基础上去掉维度降低操作,避免降维过程对学习通道注意的影响。图3为ECA模块的结构示意图。ECA在对输入的特征图进行全局平均池化之后,利用核大小为k的一维卷积来为每个特征通道生成权重,每个特征通道乘以不同的权重系数,达到对各个通道特征信息的关注,最后与输入特征图进行乘法加权获得最终通道特征信息的标定[13]。

ω=σ[CIDk(y)]

(4)

式中:ω表示最终通道权重;σ表示Sigmoid激活函数;y表示输入通道特征;CID表示一维卷积;核大小k的取值决定跨通道信息交互的区域。

特征图的通道数C与核大小k有一定的对应关系,如公式(5)所示,通道数C均为2的倍数。

C=2(γ×k-b)

(5)

因此,ECA模块核大小k的自适应取值可表示为公式(6)。其中|t|odd表示取与t最近的奇数值,γ和b的值取为2和1。

(6)

1.3.3 跨阶段局部网络结构 跨阶段局部网络的主要目的是增强CNN的学习能力,减少网络在优化过程中出现重复梯度信息来降低计算量。CSPNet设计思路是通过对输入特征图的通道进行平均划分,由一部分进入基础网络块(比如残差结构、深度可分离结构)进行特征提取,另一部分直接与第一部分特征提取得到的结果进行合并输入到过渡层,实现梯度通过不同路径进行传播,使得梯度信息具有相关性和差异性。CSPNet结构图见图4。

1.3.4 轻量级网络模型整体框架 卷积神经网络模型结构包括但不限于输入层、卷积层、池化层、全连接层以及输出层等[14],例如VGG16、ResNet50[15]等。这些网络的设计往往都倾向于网络层次更深、结构更加复杂化,复杂模型带来的高计算量、存储和功耗的缺点限制了网络在移动端上的应用与普及。为了让模型运行在资源有限的移动端上,选取轻量级网络ShuffleNet V2[16]作为试验的基本网络,ShuffleNet V2网络卷积操作集中在3个stage部分,每个stage之间通过控制设置步距为2来缩小输入特征图尺寸,stage内部特征图像大小是保持不变的,表1为ShuffleNet V2 1.5×网络结构详情。改进网络模型在stage结构内部融入CSPNet,将空间下采样单元作为CSPNet的基础输入层,通过通道划分将输入图像的维数一分为二:一部分经ShuffleNet V2的基本单元模块进行特征图像提取操作,另一部分经过一个1×1的卷积操作之后接入批量标准化层(batch normalization,BN)[17]和ReLu激活函数,使得通过的特征信息分布有规律减少梯度爆炸现象,加快网络收敛速度。为扩大提取病斑图像特征视野,将网络中DW卷积的卷积核大小使用5×5代替原来的3×3,在通过第1个PW卷积后增加通道注意力ECA模块有利于网络关注病害图像的通道特征信息。最终将经过2条不同路径输出的结果进行合并相连,再进行通道混洗操作,减少模型参数量和计算量,构建成改进网络CSP-ShuffleNet V2的CAP-stage基础单元结构,如图5所示。图6为改进网络CSP-ShuffleNet V2模型的框架结构。

表1 ShuffleNet V2 1.5×网络结构详情

1.4 模型训练

1.4.1 训练环境 试验硬件环境为Intel® CoreTMi5-10400F CPU@2.90 GHz,24.00 GB RAM 和Nvidia GeForce GTX 1650 4G显存。软件环境为Windows 10版本64位系统,Python版本为Python 3.7,采用开源的人工智能框架Pytorch 1.7.1。

1.4.2 训练方法 数据集按照8 ∶1 ∶1的比例划分为训练集、验证集和测试集。在每一次迭代前训练集都会被随机打乱,确保每次学习的数据分布不会固定。学习率优化上使用随机梯度下降算法(stochastic gradient descent,SGD),学习速率初始值设为0.05。由于SGD在学习过程中会出现学习过慢的情况,所以引入动量方法,加速学习能力。其中动量设置为0.9,每一阶学习率衰减值为 4×10-5。批量大小设置为16,训练迭代次数为50。试验损失函数使用交叉熵损失函数,使用checkpoint方法,保存训练过程中性能最好的模型。此外,当训练过程中连续5次模型的性能指标没有提升时,学习率降为原来的0.2倍。为防止网络训练过程出现过拟合现象,在网络的全连接层之前加入Dropout技术[18],设置失效神经元的概率值为0.2。网络训练和测试的整体流程见图7。

2 结果与分析

为验证本研究改进的网络模型对病害识别效果的有效性,采用ResNet50、MobileNet V2、GoogleNet、DenseNet121、ShuffleNet V2 1.5×、CSP-ShuffleNet V2 1.5×共6个网络模型进行病害识别对比验证。试验结果如表2所示,改进后的网络CSP-ShuffleNet V2 1.5×比其他网络模型的识别准确率高,在参数数量上最小,权重大小仅有13.5 MB。

2.1 植物病害训练集的损失曲线

由图8可知,迭代50次损失曲线中改进的网络CSP-ShuffleNet V2比其他5个网络模型的损失率都要低,并且收敛速度比其他网络要快,在第16次迭代后损失就趋于稳定状态,因此改进的网络模型在植物病害数据集上具有较强的抗干扰能力和鲁棒性。

2.2 植物病害验证集的准确率曲线

从图9可以看出,在验证集上改进的网络CSP-ShuffleNet V2对植物叶片病害识别的准确率上升速度快,优于其他5个网络模型,其中ResNet50网络的准确率最低且曲线波动较大。改进的网络CSP-ShuffleNet V2通过利用CSPNet和ECA等网络优化策略的结合达到了降低网络参数量的目标,使网络的泛化能力增强,加快了准确率的上升速度,减少了网络达到稳定所需的时间。

表2 不同网络模型的训练结果

2.3 6种网络模型对17类植物叶片分类准确率

表3为6种网络模型在17种病害测试集上的分类准确率,其中改进的网络CSP-ShuffleNet V2在辣椒健康(C0)、辣椒疮痂病一般(C1)、苹果健康(C3)、苹果灰斑病(C6)、马铃薯健康(C7)、马铃薯早疫病一般(C8)、马铃薯早疫病严重(C9)、葡萄健康(C12)、葡萄轮斑病一般(C15)这9类叶片上的识别准确率均在90%以上,分别是100.00%、90.00%、98.73%、100.00%、99.17%、93.10%、96.30%、100.00%、96.75%,在辣椒疮痂病严重(C2)、苹果黑星病一般(C4)、马铃薯晚疫病一般(C10)、马铃薯晚疫病严重(C11)这4类叶片中的识别准确率均在80%以上,分别为87.04%、80.00%、88.89%、89.06%;而对剩余4类叶片的识别率均低于80%,分别是苹果黑星病严重(C5)、葡萄黑腐病一般(C13)、葡萄黑腐病严重(C14)、葡萄轮斑病严重(C16),识别准确率为68.18%、77.78%、69.70%、71.19%。

2.4 改进网络的误识别分析

对改进网络CSP-ShuffleNetV2识别率低于80%的病害类别进行错误识别分析,如图10所示,图中柱子总高度表示当前类别总的错误识别率,不同颜色表示当前类别被错误识别成其他类别。可以看出,识别率较低的葡萄轮斑病严重(C16)被全部误识别成了葡萄轮斑病一般(C15)叶片,葡萄黑腐病严重(C14)叶片被误识别成葡萄黑腐病一般(C13)叶片占据整体错误识别率的95.02%,而葡萄黑腐病一般(C13)叶片被识别成葡萄黑腐病严重(C14)叶片占总体错误识别率的91.67%,苹果黑星病严重(C5)叶片被误识别成苹果黑星病一般(C4)叶片占总体错误识别率的85.70%。由此可知,改进的网络CSP-ShuffleNet V2模型在病害类别分类中,能够准确识别叶片病害种类,但在区分病害的患病严重程度上表现欠缺。图11展示了模型最容易误判的几种病害类型图像,从图像上可以看出病斑的大部分是局部零散分布在叶片上,造成误判原因可能由于在同病不同严重程度的病害划分时,没有在病害患病程度上制定标准性的划分规则。通常在人为制作数据集划定时,出现在数据集中同种病害不同患病程度的图片出现混淆,造成模型对同种病害不同患病程度的分类出现混淆误判情况。

表3 不同网络模型测试集的准确率

3 植物病害识别移动端应用

利用训练好的模型权重导入到移动设备中,通过Android Studio开发工具完成植物病害识别应用开发,实现手机端对植物叶片病害进行检测。APP测试机型是荣耀10,如图12所示,安装到手机后进入到登录页面,用户可自行注册账号进行登录,病害识别界面包含相册选择病害图片、相机拍摄病害图、叶片病害检测这3个按钮。通过相册选择或相机拍摄叶片后,点击叶片病害检测,照片下方会显示模型分类概率最高的3种,一般概率值最高就可以判定为本张病害图像的识别结果。图12中显示了该叶片病害图被分类为辣椒疮痂病严重(C2)的概率是0.848。

4 结论

本研究针对降低卷积神经网络的高计算量和高存储空间的需求,提出在轻量级卷积神经网络ShuffleNet V2中引入CSPNet和注意力机制ECA构建本研究CSP-ShuffleNet V2网络模型,用来解决在降低网络模型复杂程度的同时,提高植物叶片病害图像的有效特征提取能力。通过在AI Challenger竞赛平台上选出的4类17种病害数据集进行网络模型对比试验,结果表明,提出的网络模型CSP-ShuffleNet V2在减少网络参数量和计算量的同时,植物病害识别准确率也达到了90.34%,权重大小为 13.5 MB。这不仅降低了计算成本而且减少了存储空间的占用,有利于部署在对存储空间和计算资源有限的移动端设备中。未来计划扩充更多病害样本图像数据集,提升模型在同种类不同患病程度上的识别精度,并且进一步研究在自然复杂场景下的植物病害移动端识别,实际应用于农业生产上,以满足农业种植户对植物病害的准确判定和防治。

猜你喜欢
植物病害识别率准确率
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
植物内生菌在植物病害中的生物防治
基于类图像处理与向量化的大数据脚本攻击智能检测
基于真耳分析的助听器配戴者言语可懂度指数与言语识别率的关系
高速公路车牌识别标识站准确率验证法
提升高速公路MTC二次抓拍车牌识别率方案研究
高速公路机电日常维护中车牌识别率分析系统的应用
植物病害生物防治