时间:2024-05-04
王 健,刘雪花
1(广州大学 华软软件学院 网络技术系,广州 510900)
2(广州大学 华软软件学院 计算机系,广州 510900)
随着机器学习的发展与计算机数据处理能力的不断增强,结合图像处理的机器学习技术在植物病害智能识别上的应用越来越广泛,并取得了一定的成果[1,2].相关研究表明作物的病害一般都会在叶片上表现出来,不同的病害种类引起的叶部病理症状也不同[3].由于病害叶片图像及其病斑的复杂多样性,一般的特征选择方法因其识别率低,泛化能力不强,使得人们很难从病斑图像中提取出有效的分类特征[4].深度学习方法能够利用多个隐含层从大规模数据中逐层、逐级学习到更有用的深层判别特征,以提高分类的准确性[5],因此利用现代图像处理技术和深度学习方法对作物叶片病害进行诊断和识别已成为目前一个主流研究方向[6].深度学习中的卷积神经网络(Convolutional Neural Network,CNN)具有较强的特征提取能力[7],目前被广泛应用于各个领域的图像分类任务当中.
将CNN 应用于苹果叶的病理检测需要解决以下两个问题:第一,农作物的病理检测普遍由物联网中的边缘计算节点(Edge Computing Node,ECN)完成,虽然传统的CNN 模型(如:IDCNNs、GoolgeNet)已经达到了95%的识别率[4],但其模型参数规模较大,无法满足ECN 对于计算资源有限和低功耗运行的要求.第二,传统的CNN 需要大量的训练样本进行学习才能提高模型提取图像特征的能力,而目前关于农作物叶片病理的公开数据集较少,无法满足CNN 的训练要求.针对以上问题,本文作了如下工作:① 采用概率数据增强对原始数据集进行了扩增;在使用小规模的数据集进行训练时仍然可以达到较好的识别精度;② 通过迁移学习方法对深度可分离卷积网络进行训练,实现了一种适用于受限设备部署的轻量级模型;③ 将模型进行压缩和转换,部署到以PaddlePi-K210 终端运算模块为核心的嵌入式系统上,在受限设备上验证了该模型的可行性.
MobileNets 是为受限设备提出的高效模型,是一种使用深度可分离卷积来有效构建轻量级深度神经网络低延迟网络架构模型,可用于移动应用和嵌入式视觉应用的设计[8];迁移学习使CNN 能获得在大数据集上已经训练得到了的较好的特征提取能力,减小网络模型训练所需的样本数量[9].基于上述研究成果,本文采用了MobileNets V2 为基础模型,使用迁移学习的方法进行重新建模.系统流程如图1所示,① 采用ImageNet对MobileNets 进行预训练,得到预训练模型;② 将经过概率数据增强的数据集送入预训练模型进行训练,并调整网络的全连接层与相应超参数,得到训练完成模型;③ 将测试数据集直接送入训练完成后的模型,输出识别结果;④ 通过模型压缩与转换,将转换后的模型移植到PaddlePi-K210 嵌入式开发板上,亦可通过摄像头采集作物的信息进行实时的病理叶检测识别.
图1 系统流程图
图2 苹果页面病理图示
本文采用的公开数据集由西北农林科技大学制作,分别在西北农林科技大学白水苹果试验站、洛川苹果试验站和庆城苹果试验站进行的采集[10].数据集主要在晴天光线良好的条件下获取,部分图像在阴雨天进行采集,不同的采集条件进一步增强了数据集的多样性.数据集包括斑点落叶病、褐斑病、花叶病、灰斑病以及锈病等五种常见的苹果叶面病理图像数据,如图2所示,数量分别为:斑点落叶病5343 张,褐斑病5655 张,灰斑病4810 张,花叶病4875 张,锈病5694 张.
数据增强是扩充数据样本规模的一种有效方法.当进行神经网络训练时,数据的规模越大,模型的质量越高,泛化能力越强.本文采取的数据增强思路如下:在获得一个批次的训练数据集时随机对数据进行裁剪、翻转,对亮度、对比度、饱和度、色度和色彩进行调整.其中,色彩随机调整了定义两种处理顺序,按照3:7 的概率实现.经过以上处理后,每种样本数据集的数量扩增6 倍,数据增强的效果如图3所示.
图3 数据增强效果对比图
迁移学习是机器学习中解决训练数据不足问题的重要工具.它试图通过放宽训练数据和测试数据,将知识从源域迁移到目标域[11].本文采用的是基于网络的深度迁移学习方法,该方法基于以下假设:神经网络类似于人类大脑的处理机制,是一个迭代且连续的抽象过程,网络的前面层可被视为特征提取器,提取的特征是通用的,后层为分类功能.
本文通过复用在源域(ImageNet 图片分类)中预先训练好的部分网络,包括其网络结构和连接参数,再使用网络的一部分将其迁移到目标域(苹果叶病理分类).卷积神经网络的迁移学习一般针对卷积基和分类器两个部分来展开工作的.卷积基由卷积层和池化层的堆栈所组成,其主要目的是提取图像中的特征;分类器通常是由多个全连接层组成的,其主要目标是通过特征对图像进行分类.卷积基的较低层适用的是通用特征,而较高层适用的是特殊特征.本文采用了冻结部分卷积基的迁移学习策略,其主要思想是将卷积基底层保持在原始形式,对高层进行重新训练,然后使用其输出提供给分类器,并重新训练分类器.这种策略适用缺少计算资源,数据集较小的应用场景.
MobileNet 的核心层为深度可分离卷积层,研究表明深度可分离卷积和常规卷积是等效的[12].其最初在纹理分类任务中被引入[13],随后在Inception 模型中使用[14].深度可分离卷积由两层组成:深度卷积(depthwise convolution)和1×1 点卷积(pointwise convolution).
假设一个普通卷积层的输入特征图为X,大小为H×W×C,其中N表示样本数,C表示输入特征图通道数,H和W分别是输入特征图的高和宽.Depthwise 是指将N×H×W×C的输入分为group=C组,然后每一组做 3×3 卷积,即相当于收集了每个Channel 的空间特征。深度卷积可表示为式(1).其中是大小为Dk×Dk×M的深度卷积核,其中,将中的第m个滤波器应用于F中的第m个通道以产生滤波后的输出特征图的第m个通道.
Pointwise 是指对N×H×W×C的输入做k个普通的1 ×1卷积,相当于收集了每个点的特征.与常规卷积网络一样,Depthwise+Pointwise 最终输出任为N×H×W×k,但深度可分离卷积的计算量缩减为常规卷积的1/9 左右.图4是常规卷积(左)与MobileNet 中深度可分离卷积(右) 的结构对比.Depthwise 卷积和1×1 卷积后都增加了BN (Batch Normalization,BN)层和ReLU6 (Rectified Linear Unit,ReLU).BN 主要作用是加快网络的训练和收敛的速度、控制梯度爆炸防止梯度消失和防止过拟合;BN 可表示为式(2).B=为输入数据集合,yi为BN 输出,β是可训练参数,ε (1e−8)是平滑项,用于在方差极小的情况下,避免除0 错.ReLU 是一种非线性激活函数,其作用是给神经元引入了非线性因素,而ReLU6 函数在低精度计算下具有更强的鲁棒性,ReLU6 可表示为式(3).
图4 常规卷积与深度卷积对比
本文使用MobileNetV2 基本网络通过迁移学习来构建模型.MobileNetV2 结构基于inverted residual,保留Depthwise Separable Convolutions.MobileNetV2 与V1 的block 结构如图5所示,图5(a)是V1 的block,没有Shortcut 并带有最后的ReLU6;图5(b)是V2 的加入了1 ×1升维,引入Shortcut 并且去掉了最后的ReLU,改为Linear.步长为1 时,先进行1 ×1卷积升维,再进行深度卷积提取特征,最后通过Linear 的逐点卷积降维,将input 与output 相加,形成残差瓶颈结构.MobileNetV2网络输入的图片大小为224×224×3,经过32 个卷积核的初始全卷积层和后续的19 个残差瓶颈层结构后输出大小为1×1×1280 的特征向量.整体结构如表1所示.
本文实验所用神经网络训练环境的GPU 配置为Tesla P100,在AI Studio 平台上使用paddlePaddle 框架完成,Python 版本为 Python3.5;ECN 采用的是迦南科技的PaddlePi-K210.对于系统所采用的主要评价指标为在验证集上的平均精度均值mAP.
图5 MobileNetV1 与V2 block 对比图
表1 MobileNetV2 网络结构
本文中,模型参数初始设置是根据已有的MobileNet模型应用实例[15,16],实验中进行了微调.调整参数包括优化器、训练批量大小(batchsize)和学习率.按照收敛速度的快慢将常见的4 种优化器(SGD、Momentum、RMSProp、Adam) 分成两组,分别设置两种学习率:SGD 和Momentum 设为0.001,RMSProp 和Adam 设为0.0001.设定模型训练停止目标值为0.95.Batchsize设置为10 至120,以10 为步长分别对每个优化器共进行12 次训练,最后根据mAP 和speed 选取出模型的最优参数设置.
如图6所示,从优化器对mAP 的影响来分析,RMS优化器的效果最好,当batchsize 为50 时,mAP 为0.8596.虽然其他优化器的最高mAP 均达可以到0.80以上,但存在±0.05 的差距,可见优化器对于mAP 存在一定的影响;从训练批量大小对mAp 的影响来看,没有明显的线性相关;从训练速度epochs 来分析,取各优化器在验证集上的最优结果:SGDmAP=0.8083,MomentummAP=0.8305,RMSPropmAP=0.8596,AdammAP=0.8206.绘制Loss 与Acc 曲线,如图7所示,SGD 所需迭代次数最多,Adam 所需要的迭代次数最少,表明epochs 与mAP没有明显的线性相关.
图6 不同优化器的识别结果
图7 Loss 与Acc 训练曲线
取MobileNet 模型最优结果mAP=0.8596 与其他识别算法的mAP 进行对比,如表2所示,该模型的准确率高于大多常规卷积模型,虽然GoogleNet 的mAP高于MobileNe,但是GoogleNet 由于所需计算资源更多,并不适合部署到嵌入式设备上.因此,综合评价表明该方法优于其他已有方法.模型在验证集上的各病理的识别结果如图8所示(0-斑点落叶病,1-褐斑病,2-灰斑病,3-花叶病,4-锈病).除去灰斑病较低外,其他病理的识别效果均为良好.其中少量的灰斑病和一定量的褐斑病被识别成了斑点落叶病,这是因为这3 种病理的图像特征具有一定的相似性,即使在人工分类的情况下也会出现一定的误判.最后对模型进行压缩和量化.为了保证量化后的精度,再次使用训练图片对模型进行调整.将最终模型移植到PaddlePi-K210 终端运算模块上,并连接IR 摄像头,系统能实时对苹果叶病理进行检测,且运行稳定,验证了模型的有效性,效果如图9所示.
表2 模型准确值对比
图8 混淆矩阵图
图9 原型效果图
本文提出了一种基于深度可分离卷积的苹果叶病理识别方法,在5 种苹果病害叶片图像数据集上进行了数据集扩增和一系列实验,对网络模型的相关参数进行了优化,该模型能有效的对苹果病害叶片病理进行识别.实验结果表明该方法对苹果病理识别具有较好的应用效果.
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!