温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
面向
移动
植物病害
图像
识别
方法
及其
应用
杨祥
杨祥,段军明,董明刚 面向移动端的植物病害图像识别方法及其应用J 江苏农业科学,2023,51(4):191 197doi:10 15889/j issn1002 1302 2023 04028面向移动端的植物病害图像识别方法及其应用面向移动端的植物病害图像识别方法及其应用杨祥,段军明,董明刚(桂林理工大学信息科学与工程学院,广西桂林 541000)摘要:针对传统卷积神经网络(CNN)在病害图像识别时需要较高的存储空间和计算资源问题,提出一种基于轻量级 CNN 植物病害图像识别网络 CSP ShuffleNet V2 来降低识别成本。CSP ShuffleNet V2 模型基于 ShuffleNet V2网络,首先,将卷积核大小由 3 3 改为 5 5 扩大病斑图像全局感受野;其次,采用 CSPNet 结构来改进网络特征层;最后,再引入通道注意力(ECA)模块用于增强图像病斑通道特征信息。采用 AI Challenger 平台提供的公共植物病害数据集进行训练和测试。试验结果表明,CSP ShuffleNet V2 网络模型识别准确率为90 34%,比原始 ShuffleNet V2 网络模型提高 2 23%,参数量也减少 29 6%,权重大小仅为 13 5 MB。与 ResNet50、MobileNet V2、GoogleNet、DenseNet121网络相比,CSP ShuffleNet V2 网络不仅降低了网络计算量和参数量,而且收敛速度更快、分类效果更好。最终将模型离线部署在 Android 平台实现了植物病害移动端智能检测,为植物病害防治和诊断提供参考依据。关键词:卷积神经网络;植物病害;ShuffleNet V2;图像识别;CSPNet;ECA中图分类号:TP183;TP391 41文献标志码:A文章编号:1002 1302(2023)04 0191 07收稿日期:2022 03 01基金项目:国家自然科学基金地区项目(编号:61563012);广西自然科学基金(编号:2021GXNSFAA220074)。作者简介:杨祥(1970),男,内蒙古乌兰察布人,硕士,教授,硕士生导师,主 要 研 究 方 向 为 图 像 处 理、模 式 识 别。E mail:490745953 qq com。通信作者:段军明,硕士研究生,主要研究方向为图像处理、深度学习。E mail:1032241157 qq com。植物病害种类各种各样,植物病害识别的传统方法是基于植物研究专家进行直观的观察和监测,该方式需要专业人员在一个特定区域中持续进行监测,这需要消耗大量的人力资源且产生巨大的经济开销。现如今随着智能信息化的进步,人工智能技术,特别是深度学习技术给人们的生活工作等多方面提供了巨大的便利,利用人工智能去替代传统的人工鉴别方式,十分有利于提高识别速度,快速准确定位农业植物发病原因。孙云云等通过使用经典卷积神经网络(CNN)AlexNet 完成对茶叶病害的图像识别1;许景辉等通过迁移学习将 VGG 16卷积神经网络应用在玉米叶片病害中,平均识别率达到95.33%2;宋晨勇等对 GoogLeNet 模型进行改进,在苹果病害识别上的精准率达到 98 4%3;刘翱宇等利用 ResNet50 网络通过引入 Focal Loss 损失函数在识别玉米病害上的准确率高达 98 96%4。传 统 的 卷 积 神 经 网 络AlexNet5、VGG6、GoogleNet7、ResNet8 等因参数多、计算复杂度高,运行时需要丰富的计算资源和较大的存储空间,因此限制了在资源有限的移动端设备中应用。在现实生活中,研究一种低计算成本、高性能的方法用于植物病害识别是目前最广泛的需求。为了使卷积神经网络在不降低识别率的条件下,降低参数量和模型复杂程度进而降低识别成本,本研究提出了一种轻量级 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 种植物的叶片病害图,叶子占据图片中间重要位置。从该191江苏农业科学2023 年第 51 卷第 4 期数据集中选取 4 种农作物作为本研究的数据集,这4 种分别为辣椒、苹果、马铃薯、葡萄。试验数据集总共 9 518 张叶片病害图像,包含 17 组叶片病害类别,其中 4 组健康叶片、13 组病害叶片(图 1)。1 2数据增强为减少图像大小不规则造成的识别误差,对图片进行统一裁剪,并确保输入网络中的图像尺寸为224 像素 224 像素。同时对图片进行了长宽比裁剪、随机水平和垂直翻转、随机 30旋转、图像仿射、图像归一化等操作实现数据增强效果,以避免训练过程中出现过拟合现象。1 3改进轻量级神经网络构建1 3 1深度可分离卷积模块轻量级卷积神经网络主要采用深度可分离卷积结构11 来减少网络的参数量和计算量,其结构的核心包括深度卷积(depthwise convolution,DW)和逐点卷积(pointwiseconvolution,PW),其作用为滤波和线性组合。深度卷积和逐点卷积过程见图 2。输入和输出特征图的宽度和高度均为 Df,输入通道数量为 M,输出通道数量为 N,卷积核大小为Dk Dk。则普通标准卷积的算力消耗为 Dk DkM N Df Df;深度可分离卷积的算力消耗为Dk Dk M Df Df+M N Df Df;深度可分离卷积与普通标准卷积之比为1N+1D2k。由此可见,深度可分离卷积能够有效减少网络参数量,降低计算资源消耗。实际网络设计过程中,DW 的卷积核大小通常采用 3 3,而经过 PW 后输出特征图通道数 N 往往比较大。由深度可分离卷积的算力消耗可知,深度可分离卷积的计算量大部分在 PW 上,因此将 DW 的卷积核大小由 3 3 改为 5 5,并不会增加较大的参数量,反而能够扩大图像感受野,提取更多图像的细节特征信息。1 3 2通道注意力 ECA 模块植物叶片病害形状、大小不固定,为了获取充足的病害图像特征信息,降低有效的图像信息丢失,引入有效的通道注意力模块,它是一种捕获局部的跨通道信息互动的注意力机制,在通道注意力 SENet12 模块的基础上去掉维度降低操作,避免降维过程对学习通道注意的影响。图 3 为 ECA 模块的结构示意图。ECA 在对输入的特征图进行全局平均池化之后,利用核大小为 k 的一维卷积来为每个特征通道生成权重,每个特征通道乘以不同的权重系数,达到对各个通道特征信息的关注,最后与输入特征图进行乘法加权获得最终通道特征信息的标定13。=CIDk(y)。(4)式中:表示最终通道权重;表示 Sigmoid 激活函数;y 表示输入通道特征;CID 表示一维卷积;核大291江苏农业科学2023 年第 51 卷第 4 期小 k 的取值决定跨通道信息交互的区域。特征图的通道数 C 与核大小 k 有一定的对应关系,如公式(5)所示,通道数 C 均为 2 的倍数。C=2(k b)。(5)因此,ECA 模块核大小 k 的自适应取值可表示为公式(6)。其中|t|odd表示取与 t 最近的奇数值,和 b 的值取为 2 和 1。k=(C)=log2C+bodd。(6)1 3 3跨阶段局部网络结构跨阶段局部网络的主要目的是增强 CNN 的学习能力,减少网络在优化过程中出现重复梯度信息来降低计算量。CSPNet设计思路是通过对输入特征图的通道进行平均划分,由一部分进入基础网络块(比如残差结构、深度可分离结构)进行特征提取,另一部分直接与第一部分特征提取得到的结果进行合并输入到过渡层,实现梯度通过不同路径进行传播,使得梯度信息具有相关性和差异性。CSPNet 结构图见图 4。1 3 4轻量级网络模型整体框架卷积神经网络模型结构包括但不限于输入层、卷积层、池化层、全连接层以及输出层等14,例如 VGG16、ResNet5015 等。这些网络的设计往往都倾向于网络层次更深、结构更加复杂化,复杂模型带来的高计算量、存储和功耗的缺点限制了网络在移动端上的应用与普及。为了让模型运行在资源有限的移动端上,选取轻量级网络 ShuffleNet V216 作为试验的基本网络,ShuffleNet V2 网络卷积操作集中在 3 个 stage 部分,每个 stage 之间通过控制设置步距为 2 来缩小输入特征图尺寸,stage 内部特征图像大小是保持不变的,表1 为 ShuffleNet V2 1 5 网络结构详情。改进网络模型在 stage 结构内部融入 CSPNet,将空间下采样单元作为 CSPNet 的基础输入层,通过通道划分将输入图像的维数一分为二:一部分经 ShuffleNetV2 的基本单元模块进行特征图像提取操作,另一部分经过一个 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 模型的框架结构。表 1ShuffleNet V2 15 网络结构详情层数输出尺寸大小卷积核大小步距重复数通道数Image224 2243Conv1112 1123 321MaxPool56 563 32124Stage228 282117628 2813Stage314 142135214 1417Stage47 7217047 713Conv57 71 1111 024GlobalPool1 17 7FC1 0001 4模型训练1 4 1训练环境试验硬件环境为 Intel CoreTMi5 10400F CPU 2 90 GHz,24 00 GB RAM 和Nvidia GeForce GTX 1650 4G 显存。软件环境为Windows 10 版本 64 位系统,Python 版本为 Python3 7,采用开源的人工智能框架 Pytorch 1.7 1。14 2训练方法数据集按照 8 1 1 的比例划分为训练集、验证集和测试集。在每一次迭代前训练集都会被随机打乱,确保每次学习的数据分布不会固定。学习率优化上使用随机梯度下降算法391江苏农业科学2023 年第 51 卷第 4 期(stochastic gradient descent,SGD),学习速率初始值设为 0 05。由于 SGD 在学习过程中会出现学习过慢的情况,所以引入动量方法,加速学习能力。其中动量设置为 0 9,每一阶学习率衰减值为 4 105。批量大小设置为 16,训练迭代次数为 50。试验损失函数使用交叉熵损失函数,使用 checkpoint方法,保存训练过程中性能最好的模型。此外,当训练过程中连续 5 次模型的性能指标没有提升时,学习率降为原来的 0 2 倍。为防止网络训练过