APP下载

基于卷积神经网络的玉米品种识别

2020-03-27徐岩刘林李中远高照李晓振

江苏农业学报 2020年1期
关键词:卷积神经网络玉米

徐岩 刘林 李中远 高照 李晓振

摘要:为了解决传统算法中人工提取特征的缺陷,提出了基于卷积神经网络的玉米品种识别算法。以登海518、浚单20和郑单958 3个玉米品种为研究对象,制作数据集并进行分类标签,分别标记为0、1、2。使用Keras学习框架搭建网络模型,包括1个输入层、5个连续的卷积池化结构、3个全连接层和1个输出层。卷积层提取有效的特征信息,结合Leaky ReLU激活函数传递至下一层,输出层采用Softmax函数实现玉米品种的识别。使用完成训练的模型对预测集进行预测。结果表明:登海518、浚单20、郑单958的识别率分别达到100.00%、93.99%、92.49%,平均识别率达到95.49%。

关键词:玉米;品种识别;卷积神经网络;Keras学习框架

中图分类号:TP391文献标识码:A文章编号:1000-4440(2020)01-0018-06

Abstract:In order to overcome the shortcomings of artificial featur extraction in traditional algorithm, a maize variety recognition algorithm based on convolutional neural network was proposed in this study. Taking maize variety Denghai 518, Jundan 20 and Zhengdan 958 as the research objects, the data sets were created and classified with labels of 0, 1, and 2. Keras learning framework was selected to build the network model, which included one input layer, five continuous convolution pooling structures, three full connection layers and one output layer. The convolution layer extracted effective feature information and transmitted it to the next layer with Leaky ReLU activation function. The output layer used Softmax function to realize the identification of maize varieties. The prediction set was predicted by the completed training model. The prediction results showed that the recognition rates of Denghai 518, Jundan 20 and Zhengdan 958 were 100.00%, 93.99% and 92.49% respectively, with an average recognition rate of 95.49%.

Key words:maize;variety recognition;convolutional neural network;Keras learning framework

中國是世界上主要的玉米生产国和消费国,玉米作为中国主要的农作物,在食品、饲料、医疗和工业原料等行业中备受关注[1]。玉米种子的质量直接关系到玉米的产量及品质,但假种子事件频发给农业造成了巨大的损失。随着科学技术的发展,计算机视觉技术和机器学习技术已广泛应用于棉花、小麦、玉米、花生等种子的破损识别以及水稻、棉花、大豆、番茄等种子的品种识别。在玉米品种识别中,学者们主要通过提取玉米种子的多个有效特征,如形态特征、颜色特征、纹理特征、胚部特征、光谱特征等,结合人工神经网络或支持向量机实现玉米品种的有效识别[2-9]。

传统的机器学习方法需要人工总结规律并设计特征量,在图像预处理及评估提取特征的有效性上耗费大量时间,而深度学习可以有效解决这一问题。卷积神经网络是深度学习中非常典型且重要的网络模型,能够实现局部连接和权值共享,从而减少大量参数,有效降低计算难度和减少运算时间[10]。1989年,Yann构建了应用于图像分类的卷积神经网络,即LeNet的最初版本,并于1998年构建了更加完备的卷积神经网络模型——LeNet-5。LeNet-5加入了池化层对输入特征进行筛选,但由于数据集规模及软硬件基础设施的限制,使得在大规模数据集分类任务中并未取得良好的效果。2006年以来,卷积神经网络得到迅速发展,2012年Krizhevsky等提出了一种与LeNet-5类似但具有更深结构的卷积神经网络模型——AlexNet,该模型夺得2012 ImageNet大规模视觉识别竞赛的冠军[11]。随着AlexNet的成功构建,卷积神经网络成为研究的热点,学者们通过对其进行改进,不断提出新的卷积神经网络模型,如:VGG模型、GoogLeNet模型、ResNet模型等[12-14];同时,卷积神经网络的应用快速增长,但多用于各领域的识别分类问题。2016年,魏英姿[15]等将卷积神经网络应用于玉米种子的完整性识别,但卷积神经网络在玉米种子品种识别中的应用还比较少。本研究将使用Keras深度学习框架搭建卷积神经网络模型,对登海518、浚单20和郑单958 3个玉米品种进行识别。

1材料与方法

1.1试验材料

以登海518、浚单20和郑单958三个玉米品种为研究对象,均为华北地区高产玉米品种。从每个品种中选取150粒正常种子,共计450粒。按固定顺序与方向将种子摆放于ECOSYS M6530cdn多功能一体机的玻璃平台上,为了使扫描背景为黑色,种子上方覆盖黑色吸光布。具体参数设置如下:分辨率为600 DPI,色彩模式为彩色,图像格式为png。扫描获取的试验样本的数字化图像。基于PhotoShop软件获取像素为100×100单粒种子数据。由于神经网络模型需要大量的数据进行训练,以降低模型对某些属性的依赖,提高神经网络模型的泛化能力,本研究主要通过2种方式的翻转处理(镜像翻转、垂直翻转)和不同角度的旋转处理(90°、180°、270°)进行数据增强,经过处理的数据有效信息会发生改变,从而对试验结果有所影响。数据增强后每个玉米品种的数据量为1 200个,总数据量达到3 600个。

1.2试验方法

1.2.1卷积神经网络常见的卷积神经网络通常由输入层、卷积层、池化层、全连接层和输出层构成(图1)。其中,连续的卷积、池化结构和全连接层构成了卷积神经网络的隐含层[16]。

卷积层是卷积神经网络的核心,通过卷积运算提取图像的不同特征。卷积层由多个特征图构成,同一特征图的所有神经元共享同一个卷积核参数,而每一个神经元通过卷积核与上一层特征图的部分神经元连接,用来学习局部特征[17]。将卷积核的每个元素作为一个权值参数与输入特征图进行卷积运算,每项卷积求和并加上偏置作为激活函数的输入特征图,通过激活函数的非线性映射得到卷积层的输出特征图[18]。池化层紧跟在卷积层之后,主要是通过对输入的特征图进行压缩,简化网络计算的复杂度,同时进行特征压缩,提取有效的特征信息。在经过多个连续的卷积池化结构之后,连接着一个或多个全连接层。全连接层中的每个神经元与其前一层的所有神经元全部连接,用于获取卷积池化结构中具有类别区分性的局部信息。

1.2.2卷积神经网络的构建Keras是一个高度模块化的深度学习程序库,由神经网络模块、损失函数模块、激活函数模块等18个模块组成,只要将所需模块自由组合在一起就可以设计神经网络。Keras同时支持卷积神经网络和循环神经网络,从CPU切换到GPU加速计算不需要对代码作任何更改。以TensorFlow为后端,使得Keras训练模型的性能相比于TensorFlow基本上没有任何损耗,只是极大程度地简化了编程的复杂度。近年来,Keras在工业界和学术界得到广泛应用,其应用率高于除TensorFlow之外的任何深度学习框架。

使用Python在Keras中搭建深度学习神经网络虽然非常简单,但需要严格遵循模型的生命周期,其生命周期由选择模型、构建网络层、编译、训练和测试5个步骤组成(图2)。

Keras的核心数据结构是模型,它是一种组织网络层的方式。使用Keras搭建网络模型的方法有2种:一种是单输入单输出,多个神经网络层线性堆叠,层与层之间只存在相邻关系的序贯模型(Sequential);另一种是多输入多输出,层与层之间可以任意连接,编译速度较慢,是模型复杂度较高的函数式模型(Model)。序贯模型可以看作是函数式模型的一种特殊情况。在选用序贯模型后,序贯模型的第一层需要接受一个关于输入数据状态的参数,后面各层可以自动推导出数据状态,因此不需要为每个层都指定这个参数。网络层的构建只需要使用add函数加入需要的每一层。本研究搭建的模型由输入层、5个连续的卷积池化结构、平坦层、3个全连接层和输出层组成。

模型搭建完成之后需要对模型进行编译和训练。通过调用compile方法编译学习过程,编译需要接收3个重要参数:优化函数、损失函数和性能评估。优化函数用来计算和更新影响模型训练和输出的网络参数,使其逼近或达到最优值;损失函数用来度量神经网络输出的预测值与真实值之间的误差,通过误差的反向传播指导网络参数学习;性能评估用于监控网络训练,对于分类问题,一般将性能评估指标设置为accuracy。调用fit函数对模型进行训练,模型训练不仅需要输入数据及标签,还需要指定batch_size、epochs及validation_split。batch_size是指进行梯度下降时每一批次数据包含的样本数量,在训练过程中,1个batch样本会被计算1次梯度下降,使目标函数优化一步;epochs是训练的轮数,每个epoch是对整个输入数据的一次迭代;validation_split用来指定训练集中一定比例的数据作为验证集,验证集不参与训练,在每轮迭代结束后用来测试模型的损失函数、精确度等指标。最后,使用测试数据集评估模型的准确率,当模型准确率达到所需要的水平时,使用该模型进行预测。

1.2.3网络模型参数输入图像均为100×100像素的3通道图片,网络共25层,具体网络结构及其参数如图3所示。

式中,a为1到正无穷的一个固定参数,本研究取a为0.001。Leaky ReLU函数具有ReLU激活函数的所有优点,并且Leaky ReLU函数在x<0时有一个很小的斜率,解决Relu函数进入硬饱和区导致神经元不学习的问题[19]。为了抑制SGD震荡,SGDM是在SGD的基础上引入一阶动量,也就是常说的“慣性”,使得下降方向由当前时刻的梯度方向和累积的动量方向共同决定。下降初期,梯度方向与动量方向一致,可以起到加速的作用;下降中后期,在局部最小值震荡,累积的动量能使权重更新幅度加大,容易跳过局部最优值。SGDM的相关参数设置如下:学习速率初始化为0.000 5,动量参数设置为0.96,并且每次更新后的学习率衰减值为学习率与迭代次数的比值。

1.2.4对比试验在20世纪80年代,MLP(多层感知器,Multilayer Perceptron)是一种受欢迎的机器学习模型,尤其在图像识别、语音识别等多个领域[20]。20世纪90年代,MLP受到来自更简单的模型(例如支持向量机)强烈竞争。近年来,随着深度学习的发展,MLP又重新受到业界的重视。将MLP应用于玉米品种识别,输入层的输入数据是100×100的数字图像,以reshape转换为一维的向量,也就是10 000个浮点数,作为10 000个神经元的输入;隐含层共有3层,各层包含的神经元数分别为4 096、4 096、1 000;输出层含有3个神经元,对应预测的3个品种。输入层和隐含层的激活函数均选用Leaky ReLU函数,输出层选用Softmax函数,可以实现对预测数据的分类。

2结果与分析

在进行模型训练之前,随机选取数据集中85%的数据作为训练集,剩下的15%的数据作为测试集, 训练集共有3 060个数据样本,测试集共有540个数据样本。取训练集的20%作为验证集供模型训练使用。当模型训练完成后,使用该模型对测试集进行测试,测试结果如表1所示:

利用MLP和卷积神经网络模型对相同数量的样本进行训练、测试,多层感知器模型的平均识别率仅为74.26%,卷积神经网络模型是在多层感知器的基础上加入连续的卷积、池化结构,将平均识别率提高到95.49%(表1)。两个网络对郑单958的识别率都最低,但在表现较好的卷积神经网络模型中,识别率达到92.49%。在对卷积神经网络模型进行训练时,将训练过程中的数据保存并上传至Tensorflow的可视化工具Tensorboard,得到准确率和损失率的变化曲线(图4、图5)。

由图4可知,训练在前50次迭代時,识别准确率上升较快,经过80次迭代后达到一个稳定状态,识别准确率可以达到100%。由图5可知,训练过程中前100次迭代使得误差以较快的速率下降,随后的600次迭代是一个平稳收敛的过程,当迭代次数为700次时,总误差趋近于0。因此,本研究设计的卷积神经网络模型能够完成对玉米品种的识别工作。将本研究结果与前人的研究结果进行对比(表2),由表2可知,本研究获得的识别率最高,且解决了传统算法中需要人工提取特征的缺陷。

3结论

玉米品种识别是机器视觉技术在农业领域的一个重要研究方向。传统玉米品种识别方法需要人工提取特征,存在操作复杂、识别率低等缺陷。本研究提出了一种基于卷积神经网络的玉米品种识别方法,该方法能自动提取图像特征,克服了人工提取特征的缺陷,试验结果表明其平均识别率高达95.49%,高于传统玉米品种识别算法。说明该方法在玉米品种识别上准确可靠,对今后研究种子识别具有重要指导性意义。

参考文献:

[1]傅兆翔. 中国粮食消费现状分析及展望[J]. 农业展望,2017,13(5):91-94.

[2]王玉亮,刘贤喜,苏庆堂,等. 多对象特征提取和优化神经网络的玉米种子品种识别[J]. 农业工程学报, 2010,26(6): 199- 204.

[3]张云丽,韩宪忠,王克俭. 基于深度颜色特征的灰度直方图玉米品种识别研究[J]. 作物杂志, 2015(1):156-159.

[4]程洪,史智兴,冯娟,等. 基于玉米胚部特征参数优化的玉米品种识别研究[J]. 中国粮油学报, 2014, 29(6): 22-26.

[5]DENG L M , LUAN T , MA W J . Research on maize varieties recognition system based on image processing[J]. Applied Mechanics and Materials, 2013, 397-400:2335-2339.

[6]宁纪锋. 玉米品种的计算机视觉识别研究[D]. 咸阳:西北农林科技大学,2002:25-40.

[7]陈建,陈晓,李伟,等. 基于近红外光谱技术和人工神经网络的玉米品种鉴别方法研究[J]. 光谱学与光谱分析,2008 (8):1806-1809.

[8]杨蜀秦,宁纪锋,何东健. BP人工神经网络识别玉米品种的研究[J]. 西北农林科技大学学报(自然科学版), 2004,32(S1):162-164.

[9]程洪,史智兴,么炜,等. 基于支持向量机的玉米品种识别[J]. 农业机械学报, 2009, 40(3):180-183.

[10]BENGIO Y. Learning deep architectures for AI[J]. Foundations and Trends Machine Learning, 2009, 2(1):1-127.

[11]KRIZHEVSKY A, SUTSKEVER I, HINTON G. Image net classification with deep convolutional neural networks[C]//PEREIRA F, BUTGES C J C, BOTTOU L, et al. Advances in neural information processing systems 25. Lake Tahoe, Nevada, USA: Curran Associates Inc, 2012:1097-1105.

[12]SIMONYAN K, ZISSERMAN A. Very deep convolutional networks for large-scale image recognition[J]. Computer Science, 2014, 14(9):1409-1556.

[13]SZEGEDY C, LIU W, JIA Y, et al. Going deeper with convolutions[C]//COHEN N, SHARIR O, SHASHUA A. 2015 IEEE conference on computer vision and pattern recognition (CVPR).Boston: IEEE, 2015:1-9.

[14]HE K, ZHANG X, REN S, et al. Deep residual learning for image recognition[C]//COHEN N, SHARIR O, SHASHUA A. 2016 IEEE conference on computer vision and pattern recognition (CVPR). Las Vegas: IEEE, 2016:770-778.

[15]魏英姿,谭龙田,欧阳海飞,等. 玉米籽粒完整性识别的深度学习方法[J]. 沈阳理工大学学报, 2016, 35(4):1-6.

[16]许伟栋,赵忠盖. 基于卷积神经网络和支持向量机算法的马铃薯表面缺陷检测[J].江苏农业学报,2018,34(6):1378-1385.

[17]龚丁禧,曹长荣. 基于卷积神经网络的植物叶片分类[J].计算机与现代化,2014(4):12-15.

[18]张善文,谢泽奇,张晴晴. 卷积神经网络在黄瓜叶部病害识别中的应用[J].江苏农业学报,2018,34(1):56-61.

[19]张顺,龚怡宏,王进军. 深度卷积神经网络的发展及其在计算机视觉领域的应用[J]. 计算机学报,2019,42(3):453-482.

[20]林大贵. TensorFlowo +Keras 深度学习人工智能实践应用[M]. 北京: 清华大学出版社, 2018: 67-107.

(责任编辑:张震林)

猜你喜欢

卷积神经网络玉米
收玉米啦!
我的玉米送给你
为什么玉米长“胡须”
基于卷积神经网络温室智能大棚监控系统的研究
基于深度卷积神经网络的物体识别算法
深度学习算法应用于岩石图像处理的可行性研究
基于深度卷积网络的人脸年龄分析算法与实现
基于卷积神经网络的树叶识别的算法的研究