李书琴 陈 聪 朱 彤 刘 斌
(西北农林科技大学信息工程学院, 陕西杨凌 712100)
植物病害问题与人们的生产生活密切相关[1-3]。在植物生长过程中,容易受到天气、环境、微生物、病毒和细菌等影响而产生各种病害。植株叶片是病症最常出现的部位,由于病害种类较多且部分病害特征相似,仅靠种植者肉眼观察和经验判断不能及时诊断病害类型,导致植物病害越来越严重,造成巨大损失。因此,快速准确地确定病害类型是防治植物病害的关键点。
传统病害识别算法[4-6]主要通过人工提取研究对象图像特征进行分析研究,取得了一定的研究成果。郑建华等[7]通过融合葡萄病叶的RGB颜色矩、HSV颜色直方图特征、GLCM纹理特征、HOG特征,利用支持向量机算法对3种病害识别准确率达到93.41%。郭小清等[8]选择HSV模型中的4维H分量等量分割波段作为颜色特征,基于灰度差分统计的均值、对比度和熵3维特征作为纹理特征,通过粒子群算法优化支持向量机参数,获得了90%番茄叶片病害识别准确率。然而,人工提取的特征包含一定程度的主观性,无法确定最佳和鲁棒的特征,且植物病害通常表现为纹理、形状和颜色等多种复合特征,这为传统植物叶片病害识别算法带来了巨大的挑战,也影响了识别的效果。
深度学习的出现,为病害识别提供了新的方法。卷积神经网络不依赖特定特征,得到广泛应用。基于卷积神经网络的植物叶片病害识别方法[9-11]具有识别准确率高的优点,但也存在网络参数众多,计算量大且复杂的问题,实用性较差。因此越来越多的学者将目光转向轻量级植物叶片病害识别网络的研究。孙俊等[12]通过批归一化和全局池化改进卷积神经网络获得了99.56%识别准确率,参数内存需求2.6 MB。刘洋等[13]采用MobileNet V1[14]在PlantVillage数据集获得了95.02%的准确率,参数内存需求17.1 MB。贾鹤鸣等[15]运用深度可分离卷积,全局平均池化,批归一化改进VGG网络,改进后的网络识别精度为99.43%,内存占用空间为6.47 MB。可以看出上述研究只是运用或改进卷积神经网络,未能针对病害特征进一步分析,虽然取得了较好的结果,但模型仍有提升的空间。
为进一步提升轻量级植物病害识别网络性能,结合植物病害特征,本文提出一种基于轻量级残差网络的植物叶片病害识别方法,通过缩减ResNet-18[16]卷积核数目和轻量级残差模块(SD-BLOCK),在减少参数、降低计算复杂度的同时提取多种病害特征,保持低识别错误率。然后加入SE[17]模块,增强网络病害特征提取能力,降低网络识别错误率,从而构建轻量级残差网络(Scale-Down ResNet,SDResNet)。
分析植物病害颜色、纹理、轮廓等特征可知,不同植物病害特征,同一植物不同病害特征表现出一定的相似性,区分难度较大。Residual Network[16](ResNet)运用了残差学习的思想,增加了网络的深度,进而提升了网络病害特征提取能力,被广泛应用于病害识别[18-20]。ResNet主要由一系列残差模块(图1)组成。一个残差模块可以表示为
图1 残差模块Fig.1 Residual module
XL+1=XL+F(XL,WL)
(1)
式中XL、XL+1——第L、L+1层特征图
WL——第L层卷积参数
F——卷积运算函数
即将网络映射H(XL,WL):=XL+1转变为XL+F(XL,WL),叠加的卷积层只需要拟合F(XL,WL)函数。这种转变使深层网络更容易优化。假设网络学习的XL是最优的,网络更深层的卷积将权重置为0便能达到最佳性能。若最优结果接近XL,更深的卷积层则只需要微调,而不是学习一个新的映射。
残差结构实现简单,如图1所示,在网络中构建恒等连接即可,这使得网络底层和深层中的信息可以快捷传递,在一定程度上解决了深层网络信息丢失、损耗和梯度爆炸与消失问题,提升了深层网络的性能。
1.2.1分组卷积
分组卷积采用split-transform-merge[21]思想,在减少参数和计算量的同时提高了网络识别精度。通过这种卷积方式可以得到关注点不同的特征图,互为补充,更完整地表示图像特征。同时分组卷积增加了卷积核之间的对角相关性,减少了参数,可以缓解过拟合,类似于正则。分组卷积计算过程如图2所示,分组卷积对输入特征图分解,然后在各个分组上进行卷积计算。由于卷积的输入通道数减少,相应也减少了参数和计算量,减为原来的1/G,G为分组数。
图2 分组卷积Fig.2 Group convolution
1.2.2深度可分离卷积
(2)
由式(2)可知,如果卷积核尺寸为3×3(DK=3),由于输出通道数N很大,深度可分离卷积大约是标准卷积计算量的1/9。MobileNet V1[14]将标准卷积替换为深度可分离卷积,精度却没有损失太多,证明了深度可分离卷积强大的特征提取能力。
1.2.3轻量级残差模块结构
轻量级残差模块(SD-BLOCK)主要运用了深度可分离卷积和分组卷积。首先2种卷积方式搭配使用大幅减少了网络参数,降低了计算量。同时2种卷积方式都构建了多条卷积路径,并且深度卷积不会扰乱分组卷积的分组。植物病害往往表现为颜色、纹理、形状等复合特征。通过不同卷积路径得到的特征图关注的主要特征不同,互为补充,进而提取了多种的病害特征,增强了网络病害识别能力。同时分组卷积存在各分组信息无法交互的问题,而逐点卷积可以融合通道信息,解决了此问题。如图3所示,DSConv代表深度可分离卷积,GConv表示分组卷积,SD-BLOCK有2种不同结构,结构A(图3a)用于特征图减半,结构B(图3b)使用1×1卷积进一步减少参数。
图3 SD-BLOCK 模块Fig.3 SD-BLOCK module
SE[17](Squeeze-and-Excitation)模块是一个轻量级的通道注意力模块,可以使模型注意到重要的病害特征,同时弱化其他干扰因素,提升模型病害识别能力。SE模块由Squeeze和Excitation 2部分构成。
由于卷积计算只在局部接受域上,无法获取更多的上下文信息。为解决这个问题,Squeeze部分使用了全局平均池化获取通道维度的上下文信息。单通道特征图u的上下文信息z的计算公式为
(3)
式中H——特征图高度
W——特征图宽度
Excitation部分主要目的是学习通道之间的相关性。为了做到这一点,要满足2个条件:①必须有极强的学习能力,可以学习通道之间的非线性关系。②学习到的应是非互斥关系,以确保对多个通道增加注意力。同时为了限制模型的复杂度,Excitation部分构建了一个2层瓶颈状的全连接网络。具体计算公式为
s=σ(W2δ(W1Z))
(W1∈R(C/r)×C,W2∈RC×C/r)
(4)
式中δ——ReLU函数C——通道数
σ——Sigmoid函数
W1——第1层网络的参数
W2——第2层网络的参数
r——中间全连接层的缩减参数
Z——所有通道的上下文信息
s——通道注意力信息
融合SE模块的残差模块结构如图4所示,SE模块加入到残差模块的卷积层之后。在卷积层之后先使用全局平均池化聚合特征图的信息。然后送入两层全连接网络中学习各通道权重,进而与输入特征图相乘重新调整网络特征。最后和初始特征图相加实现残差学习。
图4 SE-ResNet模块Fig.4 SE-ResNet module
轻量级残差网络(Scale-Down ResNet,SDResNet)模型总体结构如表1所示,表中RE-BLOCK代表原残差模块。
表1 轻量级残差网络结构Tab.1 Scale-Down ResNet structure
模型以ResNet-18为基础,首先缩减卷积核的数目,去除网络冗余。本研究构建了3个模型SDResNet-1、SDResNet-2和SDResNet-3,卷积核的数目分别设置为(12,24,48,96)、(16,32,64,128)和(24,48,96,192)。考虑到底层提取的特征对网络识别精度至关重要,SDResNet保留了网络底层的原残差模块,使用标准卷积提取底层特征,提高了网络的性能。因为经过缩减后网络底层特征通道数已足够小,所以这样做并没有带来过多的参数和计算量。网络深层特征通道数仍比较大,SDResNet使用SD-BLOCK减少了大部分参数和计算量,同时保持了低识别错误率。最后网络融合了SE注意力模块,进一步提升了网络性能。
本研究数据集选用PlantVillage工程(www.plantvillage.org)面向所有用户开放的植物病害图像数据库[22],它包含26类植物患病叶片图像和12类植物健康叶片图像,共54 306幅。数据库中的图像均是在室内拍摄,拍摄规范,背景简单。数据集详情如表2所示。实验将图像统一到224像素×224像素,然后按照4∶1划分得到训练集和测试集。
表2 PlantVillage数据库图像信息Tab.2 Image information of PlantVillage
苹果叶片病害数据集包含4种苹果叶片病害图像和1种健康苹果叶片图像,叶片病害分别是黑星病、褐斑病、锈病、花叶病。数据集图像主要来自Kaggle竞赛和田间采集,共有2 276幅原始图像。与PlantVillage数据集不同,该数据集中所有病害叶片图像均为自然光照下拍摄且背景复杂。为均衡各类别图像,对部分类别采用随机旋转、亮度调整、对比度增强、翻转操作扩充数据集,扩充后的数据集共有2 973幅图像,每个类别约有600幅图像。图5给出了苹果叶片病害数据集中5个类别的样例。同样,实验将图像调整到224像素×224像素,训练集和测试集的比例为4∶1。
图5 苹果叶片病害数据集样本Fig.5 Examples of apple leaf disease data set
本研究实验环境配置如表3所示,训练epoch设置为60,学习率初始值为0.1,epoch为45时设置为0.01,epoch为55时设置为0.001。batch设置为128。
表3 实验环境配置Tab.3 Experimental environment configuration
本研究选用识别错误率、网络参数量和每秒百万次浮点运算(MFLOPs)作为评价网络的指标。
图6为SDResNet-1、SDResNet-2和SDResNet-3的损失函数曲线。由图6可以看出,模型收敛迅速,可以很好地拟合病害特征。这使得SDResNet-3模型在训练3轮后识别错误率低于10%,训练5轮后识别错误率低于5%。分析原因,模型运用残差学习的思想,加入了恒等连接,使网络更容易优化。并因此构建了更深的网络,提高网络拟合病害特征的能力。
图6 损失函数曲线Fig.6 Loss function curves
为更好地评价所提网络的性能,选取现有优异的图像识别模型ResNet-18、ShuffleNet V2[23]和MobileNet V3[24]与SD-ResNet在PlantVillage数据集进行实验对比。MobileNet V3出自Google AI,是最近发布的轻量级网络架构。ShuffleNet V2是旷视科技推出的最新轻量级网络架构,相关论文收录在ECCV中。
实验结果如表4所示,按计算量正序排列。从识别错误率分析,SDResNet-3取得了最优的结果,甚至超过ResNet-18,而前者是后者参数量和计算量的几十分之一。这是因为针对植物叶片病害识别问题,SDResNet继承了ResNet优异的残差结构,在几乎不影响性能的情况下,合理去除了更多的参数和计算量。针对植物叶片病害特征使用SD-BLOCK提取了多种病害特征,使用SE模块关注到重要的病害特征,提升了网络性能。与其他轻量级网络相比,SDResNet-3在计算量略小于MobileNet V3情况下,识别错误率低于后者。SDResNet-2在计算量小于ShuffleNet V2 1x情况下,识别错误率低于后者。SDResNet-1在计算量略大于ShuffleNet V2 0.5x情况下,识别错误率明显低于后者。MobileNet V3和ShuffleNet V2并未就植物叶片病害特征针对性处理,使其无法更好地提取病害特征,影响了网络精度。
表4 卷积神经网络实验结果Tab.4 Convolution neural network experiments
为确定缩减卷积核数目对ResNet-18网络性能的影响程度,研究构建不同的残差块卷积核数的模型进行实验。模型1卷积核数为(12,24,48,96),模型2卷积核数为(16,32,64,128),模型3卷积核数为(24,48,96,192),分别对应SDResNet-1、SDResNet-2、SDResNet-3残差块卷积核数目。实验结果如表5所示。
由表5可知,缩减后的模型在网络参数与计算量大幅减少的同时,识别错误率并没有显着上升,仍维持在较低水平,这很大程度上得益于残差结构的设计,构建了较深的网络,增强了病害特征提取能力。缩减后的模型依然能很好地拟合植物病害特征,具有更少的参数和计算量,但识别错误率相比ResNet-18仍有不足。同时可以看出,不同的缩减模型,具有不同的性能,总体上随着卷积核数目的增长,模型识别错误率也在下降,并逐渐逼近原网络,但同时也可以看出随着网络性能的提升,通过单纯增加卷积核数目来降低识别错误率的代价高昂,因此本研究选择了SD-BLOCK和SE模块提升网络的性能。
表5 缩减卷积核数目实验结果Tab.5 Reduce convolution kernel experiment
将轻量级残差模块SD-BLOCK和SE模块加入到网络中以探讨他们对网络性能的影响。模型1~3与3.5节定义相同。不同的分组数和SE参数对不同模型的影响不同,本文通过实验选取最优参数值,将3个模型的分组卷积参数依次设置为12、8、12,SE参数依次设置为3、4、6。
实验结果如表6所示,单独加入SD-BLOCK的模型相比缩减模型(模型1~3)参数减少了绝大部分,计算量明显下降。SD-BLOCK对模型识别错误率的影响不同。因为模型1加入SD-BLOCK后变得极小,影响了识别错误率,但仍保持了低识别错误率,与原模型仅相差0.11个百分点。模型2较大,加入SD-BLOCK后,识别错误率已与原模型相差不大。模型3更大,加入SD-BLOCK后,识别错误率降低了0.05个百分点。这是因为植物病害往往表现为颜色、纹理、形状等复合特征,SD-BLOCK构建了多条卷积路径,通过不同卷积路径得到的特征图关注的主要特征不同,互为补充,进而提取了多种病害特征,增强了网络病害识别能力。
表6 SD-BLOCK和SE模块影响实验结果Tab.6 SD-BLOCK and SE influence experiment
单独加入SE模块的模型相比缩减模型参数和计算量增加微乎其微,识别错误率却明显下降,低于缩减模型。说明SE是高效的提升网络性能的方法。植物叶片病害具有颜色、纹理、轮廓等多种多样的特征,SE模块的注意力机制使网络可以增强重要的特征,提升了网络的性能。相比单独加入SD-BLOCK的模型,这种模型识别错误率更低,但拥有更多的参数和计算量。
同时加入SD-BLOCK和SE模块的网络即SDResNet综合性能最优,既减少了参数量和计算量,又降低了识别错误率。SD-BLOCK减少了模型大部分参数量和计算量,同时提取了众多的病害特征,而SE会增强重要的病害特征,两者相互配合,提升了网络性能。
PlantVillage数据集是公开数据集,众多的学者基于此研究植物叶片病害识别。为准确评估所提模型的性能,与近期植物病害识别方法进行比较。由于各个研究的评价指标不同,在原有评价指标的基础上添加了参数内存需求,它表示存储网络参数所需的空间大小。由表7可知,SDResNet在网络参数量和参数内存需求远低于其他方法情况下,识别错误率更低。SDResNet-2在网络参数量和参数内存需求大幅减少的情况下,识别错误率仍低于或等于其他方法。说明针对植物叶片病害识别,基于残差结构搭建深而窄的网络,并辅以轻量级的注意力模块,更为高效。
表7 植物病害识别方法实验对比Tab.7 Experimental comparison of plant disease identification methods
为探讨所提方法在不同植物叶片病害数据集的效果。在自建苹果叶片病害数据集上进行实验,同样与MobileNet V3、ShuffleNet V2 1x和ResNet-18对比。考虑到苹果叶片数据集图像较少且背景复杂,实验将训练epoch增大到100,以使模型更好地收敛。训练学习率初始值为0.1,epoch为60时设置为0.01,epoch为90时设置为0.001。分析表8实验数据可知,复杂背景会影响植物叶片病害的识别效果,网络识别错误率整体升高。相比轻量级网络ShuffleNet V2 1x和MobileNet V3,SDResNet模型的识别错误率明显下降,其中SDResNet-3模型取得了最低识别错误率1.52%。原因是SDResNet网络底层使用标准卷积,可以更好地提取病害特征,尤其在复杂的背景中。同样设计的ResNet-18因为较少的训练数据和大量的参数使得网络过拟合,识别错误率升高,但仍低于轻量级网络ShuffleNet V2 1x和MobileNet V3。实验表明,SDResNet针对不同植物叶片病害数据集均可以获得较好的识别精度。
表8 苹果叶片病害数据集实验结果Tab.8 Experiment on data set of apple leaf diseases
针对植物叶片病害识别模型参数众多,计算量大且复杂的问题,提出一种轻量级植物叶片病害识别网络SDResNet。SDResNet基于缩减的ResNet-18,运用SD-BLOCK,在大幅减少参数,降低计算复杂度的同时提取了多种病害特征,保证了低识别错误率,加入SE模块,进一步降低了识别错误率。在PlantVillage数据集上实验表明,SDResNet识别错误率略低于ResNet-18,同时参数量约为其1/39,计算量约为其1/10,具有很强的实用性。
相关知识
基于残差网络迁移学习的花卉识别系统
基于残差网络的花卉及其病害识别的研究与应用
深度学习下的小样本玉米叶片病害识别研究
基于轻量级CNN的植物病害识别方法及移动端应用
基于改进efficientnet的玉米叶片病虫害识别分类系统
基于神经结构搜索的多种植物叶片病害识别
基于改进卷积神经网络的苹果叶部病害识别
基于深度学习的苹果叶片病害识别研究
基于ResNet50的植物病害识别研究与系统应用实现
基于改进ResNet的植物叶片病虫害识别
网址: 基于轻量级残差网络的植物叶片病害识别 https://m.huajiangbk.com/newsview1421414.html
上一篇: 基于多特征的BP神经网络多种植物 |
下一篇: 基于ResNet模型的玉米叶片病 |