DOI:10.19850/j.cnki.2096-4706.2021.09.002
摘 要:在玉米生长初期,不能及时知道玉米所患病害从而无法及时医治,将导致玉米产量和质量下降。而人工分辨玉米病害耗费大量人力和时间,判断准确率也不高。因此文章提出了基于卷积神经网络的玉米病害识别模型,模型主要有12个网络层,其中包含输入层、4个卷积层、4个池化层、2个全连接层和输出层。通过调整参数和模型优化等操作,最终分类准确率在95%左右。模型具有一定的实际意义,可为玉米病害防治提供理论依据。
关键词:玉米;卷积神经网络;模型;病害
中图分类号:TP183;TP391.4 文献标识码:A 文章编号:2096-4706(2021)09-0006-04
Corn Disease Identification Based on Convolution Neural Network
WU Shuqi
(Ji Xianlin Honors School of Liaocheng University,Liaocheng 252000,China)
Abstract:In the early growth of corn,we can not know the diseases of corn in time and thus cannot be cured in time,which leads to a decline in the yield and quality of corn. However,it takes a lot of manpower and time to distinguish corn diseases manually,and the accuracy of judgment is not high. Therefore,a corn disease recognition model based on convolutional neural network is proposed in this paper. The model mainly has 12 network layers,including input layer,4 convolutional layers,4 pooling layers,2 fully connected layers and output layer. By adjusting the parameters and the optimization model,the final classification accuracy is about 95%. The model has certain practical significance and can provide a theoretical basis for corn disease control.
Keywords:corn;convolutional neural network;model;disease
0 引 言
玉米在我國粮食作物产业中发挥着至关重要的作用,是我国农作物产业中的中流砥柱[1]。我国幅员辽阔,跨经纬度差异大,不同地区的玉米种植也遭受不同的病害折磨。作为我国最大的粮食作物品种,玉米病害严重减少了玉米产量。准确、快速地识别玉米病害并及时进行补救,可有效降低玉米病害的影响。传统的玉米病害分类依赖人工判断,这种识别方法效率低、易判断失误,无法适应当今玉米大规模种植的需求。如何智能识别不同玉米病害,为农民提供最佳的解决方案,就成为研究重点[2]。
1 研究现状
随着图像处理和深度学习的深入研究,计算机识别图像并进行分类已成为可以实现的技术。吴云志等人提出一种基于深度残差网络的玉米病害识别网络TFL-ResNet。他们将Focal Loss损失函数作为评估函数,再将数据集在ResNet50网络上训练好的参数应用到改进好的网络里,最终得到的平均准确率高达98.96%[3]。许景辉等人从迁移学习的方向出发,将迁移学习的思想运用在卷积神经网络模型上,构建出了一个针对玉米病害的图像识别模型,得到的最终平均准确率为95%[4]。顾博等人构建了一种基于GrabCut算法的玉米病害图像识别模型,此模型用于解决在图像背景难以区分或者模糊时,尽量准确分割前景区域的问题[5]。在农作物病害识别领域,很多学者已经进行了深入的研究,并取得了重要成果,如今也有大量的实际产品应用于农产品行业中。
2 材料与方法
由于引起玉米病害的病原菌类型不同,叶片在形状、颜色、质地等方面会有不同的病斑、病洞等具体症状,因此本文采用基于玉米叶片判断病害类型的方法。
2.1 材料
本研究所用到的数据集来源于PlantVillage-Dataset数据集,由3种不同玉米图像组成:玉米普通锈病、灰斑病、大斑病的病害图像,分别如图1、图2、图3所示。
其中玉米普通锈病1 192张,灰斑病513张,大斑病985张。本文实验将玉米图像分为训练集和测试集,用0、1、2分别表示对应的类别标签,标签2为普通锈病,标签0为灰斑病,标签1为大斑病,其中训练集为2 152张,测试集为538张。
2.2 方法——卷积神经网络
目前卷积神经网络(Convolutional Neural Network,CNN)领域已经被很多学者和研究人员进行了深入研究。已经从最初较为简单的手写字符识别,逐渐深入到诸如人脸识别等更复杂的领域。卷积神经网络采用的是一种端到端的学习模型,模型中的参数可以通过传统的梯度下降方法进行训练,卷积神经网络会在一次次训练中学习图像中的特征,并且提取图像特征进一步完成分类。卷积神经网络最大的特征是权值共享和局部连接,可以大大减少计算机的计算量。
卷积神经网络由输入层、卷积层(convolutional layer)、池化层(pooling layer)、全连接层及输出层组成。一个网络的卷积层和池化层会取多个,具体数量具体而定,总体是一个卷积层、一个池化层、一个卷积层……以此类推。卷积神经网络的特点是每一层的神经元只有受到前一层局部范围内的神经元刺激时才会作出反应,即数学上的卷积运算,卷积神经网络由此得名。
3 模型构建与训练
3.1 模型结构
本文的模型是以经典的LeNet模型为基础,该模型网络共有3个卷积层、2个池化层、1个全连接层。本文的玉米病害识别模型共有12个网络层,包含输入层、4个卷积层、4个池化层、2个全连接层和输出层。本文CNN玉米病害识别模型网络结构如图4所示。
另外,在第三层卷积和第四层卷积当中,都包含了Dropout策略层,丢弃概率调整为0.1,用来避免过拟合,增加随机性。在全连接层中,丢弃概率调整为0.5。另外本课题池化方式选用的是最大池化法(Max pooling),在卷积层的运算后使用激活函数修正线性单元(ReLU)[6],进行数据的训练。最后采用分类器Softmax,作为最后的分类输出层,输出类别为3,分别对应玉米病害的3类。
因此,结合课题的具体要求和目前已有的数据集,本课题中提出的玉米病害识别模型的网络结构一些参数设置如表1所示。
表1 本研究模型参数设置
3.2 模型优化
模型结构优化的目的是最大限度地减少损失函数的迭代次数,得到最高的识别准确率。本课题的玉米病害识别模型在全连接层加入了Dropout层,为了减少神经网络过拟合的概率,也用了分类函数Softmax函数,Softmax函数会通过一系列的函数运算,输出该样本能够被分成某类的最大概率。
大部分的数据都是非线性的,看似杂乱无章,但是神经网络的计算是线性的,非线性神经网络中需要引入主动函数,从而提高网络的自学习能力。常用的激活函数有:Sigmoid函数、tanh函数、ReLU函数。
3.3 模型训练过程
本课题模型训练过程主要分为以下4个阶段:
(1)寻找数据集,搜寻与玉米病害有关的图像,并且分类保存。将图像进行归一化,以1:4的比例随机划分成训练集和测试集。
(2)根据图4所示的模型思路,进行编译和设定模型参数。最大训练数设置为6轮,batch_size为11。
(3)训练并且保存模型。
(4)手动调参,选取损失值最小,预测准确率最高的模型作为最终结果。
4 实验结果分析
4.1 激活函数的不同对模型性能的影响
在模型的第三层卷积、第四层卷积之后、第一个全连接层之后添加了Dropout策略层,能够增加随机性,避免过度拟合。在第一层全连接之后添加激活函数ReLU,第二层全连接之后添加函数Softmax。ReLU函数作为激活函数,速度更快,也可以尽量避免梯度消失。此外,ReLU以其独特的稀疏性,即神经元的激活率较低,贴合大脑工作的结构,更是被广泛使用。Softmax函数会将输出层的数据转化为概率表达式后的输出值,因此人们通常将Softmax被作为神经网络模型的分类器。
表2显示了不同的激活函数对分类识别准确率的不同影响。
4.2 Dropout层对模型性能的影响
Dropout层的存在是为了减少神经网络过拟合,主要用于神经元个数较多的层。通常,Dropout层加在全连接层,不仅可以减小过度拟合情况的出现概率,还可以提高模型的自主适应和学习能力。表3是Dropout层对模型准确率和损失率的影响,前提是都在12个网络层,包含输入层、4个卷积层、4个池化层、2个全连接层和输出层。
由表3可以看出,Dropout层的存在极大地提高了玉米病害分类识别的准确率,减小了损失率。所以为了提高准确率,避免数据训练过拟合,本课题的模型在全连接层中添加Dropout策略层。
4.3 网络层数对准确率的影响
一个良好的模型需要经过不断地调整参数才能够确定最佳模型,本课题选择对卷积层(2层、3层、4层)和全连接层(1层、2层)进行设置,通过对比选出最优的模型。实验结果如表4所示。
根据表3中内容可以看出,当设置2个全连接层、4个卷积层时,训练最小损失率和训练最大准确率分为达到0.453 0和0.951 7,表明该模型性能最优。
4.4 预测结果分析
在对图像数据进行预处理时,划分的训练集和测试集分别为2 152张、538张。需要测试在每次调整参数构造的模型中,代入未参与训练的测试集,是否也能达到同样高的准确率。图5、图6分别是训练集和测试集对于不同玉米病害识别准确率和损失值的截图。
由图5、图6比较可知,对于不同玉米病害的训练集和测试集,识别正确的准确率和损失值基本一致,都达到了95%以上,损失值都在45%左右。这说明该模型的性能还是比较不错的。
5 结 论
玉米已成为我国最大的粮食产物,而玉米的产量与人们的生活紧密相关。玉米病害防治是我国生产的重要组成成分,具有重要的实际意义。本文以LeNet模型为基础,构建了一个12层的玉米病害识别模型,完成对玉米灰斑病、普通锈病和大斑病3类不同玉米病害图像的识别分类,基于此,得出了以下结论:
(1)卷积神经网络模型可以主动提取图像的特征,为我们研究玉米病害提供了极大的便利,从而达到很好的分类效果。在本课题中,对于已划分好的测试集的识别率最高达到95%以上,最低也有87%以上,在短时间内就可以对几百个植株进行病害识别,不仅节省时间和人力,也可以很大程度地提高识别精度。
(2)在模型优化方面,为了避免过拟合情况的发生,增加随机性,在网络层中运用Dropout策略和ReLU激活函数。
(3)该模型可以同时识别3种病害,具有更高的识别性能和实用性。鉴于我们搜寻到的数据集有局限性,因此本课题仅选用了3个种类进行分析和识别,所以该模型存在着一定的局限性。为了能够将此模型应用于實际生活中,下一步我们需要找到更多种类的数据,调整模型,达到更高的识别准确率,完成模型的推广,开发出关于该模型的平台,争取更快地将其投入到玉米生产领域中,为我国农业生产做出一份贡献。
参考文献:
[1] 章楷,李根蟠.玉米在我国粮食作物中地位的变化——兼论我国玉米生产的发展和人口增长的关系 [J].农业考古,1983(2):94-99.
[2] 王晓鸣,晋齐鸣,石洁,等.玉米病害发生现状与推广品种抗性对未来病害发展的影响 [J].植物病理学报,2006(1):1-11.
[3] 刘翱宇,吴云志,朱小宁,等.基于深度残差网络的玉米病害识别 [J].江苏农业学报,2021,37(1):67-74.
[4] 许景辉,邵明烨,王一琛,等.基于迁移学习的卷积神经网络玉米病害图像识别 [J].农业机械学报,2020,51(2):230-236+253.
[5] 顾博,邓蕾蕾,李巍,等.基于GrabCut算法的玉米病害图像识别方法研究 [J].中国农机化学报,2019,40(11):143-149.
[6] OSHIEA K,NASH R. An Introduction to Convolutional Neural Networks [J/OL].arXiv:1511.08458 [cs.NE].(2015-11-26).https://arxiv.org/abs/1511.08458.
作者简介:吴淑琦(2001—),女,汉族,山东阳谷人,本科在读,研究方向:模式识别。
收稿日期:2021-04-05