玉米籽粒完整性识别的深度学习方法
2016-12-07魏英姿谭龙田欧阳海飞赵祉淇
魏英姿,谭龙田,欧阳海飞,赵祉淇
(1.沈阳理工大学 信息科学与工程学院,沈阳 110159;2.盘锦市高级中学 2015级15班,辽宁 盘锦 124010)
玉米籽粒完整性识别的深度学习方法
魏英姿1,谭龙田1,欧阳海飞1,赵祉淇2
(1.沈阳理工大学 信息科学与工程学院,沈阳 110159;2.盘锦市高级中学 2015级15班,辽宁 盘锦 124010)
为满足正确识别玉米籽粒完整性的需要,提出一种基于深度卷积神经网络的智能识别方法。本网络结合池化和降采样操作,基于卷积原理进行构建。通过对直接输入的灰度图像进行卷积操作,逐层挖掘图像的深层特征,实现对单玉米籽粒图像的特征抽象和特征降维,再通过一个全连接网络,智能识别单玉米籽粒完整性特征。采用反向传播网络对相同的样本进行对照实验。实验结果表明,深度卷积神经网络能对籽粒图像进行有效地特征降维,使深度学习网络达到较高的识别准确率,满足准确识别玉米籽粒完整性特征的需要。
玉米籽粒;完整性识别;卷积神经网络;特征降维
籽粒完整性的检测和识别,是全自动筛选优良玉米种子必不可少的环节[1-2]。识别大量形态不一的玉米籽粒品质,对模式识别模型和方法都提出了较高的要求。目前,玉米籽粒品质的自动化检测和识别方法,主要有基于特定图像特征的方法和基于神经网络的方法两大类。其中,基于神经网络的识别方法,又可以分为浅层神经网络和深层神经网络两类模型。张俊雄等[3]通过对R通道分量图像在水平和垂直方向进行Sobel算子边缘检测,研究玉米种子的裂纹识别。史中辉等[4]通过13个几何特征和12个颜色特征检测玉米籽粒品质。Zayas等[5]通过形态学参数和统计判别函数,从破碎籽粒中识别完整籽粒。这些方法属于基于特定图像特征的方法,它们都需要人工确定用于籽粒品质识别的图像学特征。万鹏等[6]建立基于8个几何特征的BP网络,识别完整玉米籽粒和破碎玉米籽粒。王瑶[7]以籽粒的大小、饱满度、健康度、破损率和含杂率等特征作为评价指标,建立隶属度函数,实现玉米籽粒的品质识别。这些方法属于基于浅层神经网络的方法。浅层网络特别适合解决一些简单的强约束问题,对一些复杂的实际应用问题,其解决能力会很有限。当用浅层神经网络解决识别任务时,也需要向网络输入特定的图像学特征。因此,上述两类方法的识别效果依赖于给定特征的有效性,如果特征选择不当,识别效果就会大打折扣。不同的是,浅层神经网络,尤其是误差反向传播(Back Propagation,BP)神经网络,能同时接受并综合利用多个给定特征进行识别,因此BP网络能取得相对较好的识别效果。
深度神经网络(Deep Neural Network,DNN)在处理自然信号和自然图像等方面具有很好的效果[8]。与浅层神经网络不同,DNN不必明确指定一种或多种图像特征作为网络的输入特征,可以直接以图像作为输入。依据指定的学习规则,本网络能充分利用图像本身蕴含的信息,自动抽象和提取特征。深度神经网络着重于设计抽象图像特征的学习规则,目前常用的学习规则有稀疏编码、深度卷积等。此外,玉米粒图像大数据的存在,使深度神经网络更适合处理玉米籽粒完整性识别的问题。
本文以识别玉米籽粒完整性特征为研究目标,采用基于卷积的特征抽象学习规则,构建深度卷积神经网络(CNN Deep Neural Network),并将深度卷积网络的识别效果与标准单隐层BP网络的识别效果进行比较,表明深度卷积神经网络的优越性。
1 卷积神经网络模型的理论
1.1 CNN网络卷积核的确定
通过卷积核的卷积运算,CNN网络能自动抽象和提取图像的特征。如果卷积核为N×N维,则核中含有N2+1个待调参数。卷积核矩阵如式(1)所示。
(1)
式中:kij(1≤i≤m,1≤j≤n)为核矩阵(i,j)位置的权重参数,通常m、n为奇数且m=n,即核K为方阵。进行卷积操作时,先将核K顺时针旋转180度,得到变换后的核矩阵KR,如式(2)。
(2)
考虑到数据分布的平衡性,输入特征图MI中的待处理像素放在KR的中心,进行内积运算得到卷积操作诱导局部域vC,如式(3)。
(3)
用非线性函数对诱导局部域vC进行硬限幅操作,将数据归一化到[-1,1]区间。原理见式(4)。
mO=f(vC+b)
(4)
式中:f(·)为非线性硬限幅函数,通常选择sigmoid函数或tanh函数;b为一偏置值;mO为经过卷积和硬限幅操作后得到的输出特征。输入特征图的边缘像素不会与卷积核的中心重合,若输入特征图MI为Im×In维,卷积核KR为Rm×Rn维,则输出特征图MO为(Im-Rm+1)×(In-Rn+1)维。
用于卷积运算的卷积核,既可按权值共享原则设计,又可按非权值共享原则设计,其中权值共享是指一个输出特征图通过一个而非多个卷积核对输入特征图的卷积得到。显然,相比于非权值共享型卷积核,权值共享型卷积核的待调参数数量更少,而且卷积操作更简单。本文的CNN深度网络按权值共享的方案设计卷积核,采用随机初始化的方法确定核权重初始值。
1.2 CNN深度网络的降采样
降采样[9]的作用是对输入图像进行特征降维,可通过均值池化和等间隔采样的图像缩小来实现。均值池化[10]是一种特殊的卷积操作,其核矩阵为各位置权重值均相同的方阵。本文选用的核矩阵KM如式(5)所示。
(5)
(6)
(7)
1.3 CNN深度网络的参数调节与批量学习
依据梯度下降法可进行CNN深度网络的权重参数调节。本文以均方差函数作为梯度下降法的代价函数,如式(8)所示。
e=o-y
(8)
(9)
式中:ei为误差向量e的第i项分量;n为误差向量e的分量个数;乘积项0.5用于平衡梯度下降的求导系数;o和y分别为深度网络输出层神经元的网络输出和期望输出。
为使本深度网络具有更好的泛化性能,本文采用批训练[11]的方法。即对于批量大小为Batchsize的批,先将Batchsize个样本进行前向传播后,再进行一次反向传播来调整网络权值参数。另外,通过随机抽取方法使不同的样本随机组合,使得到的每个训练批具有更好的随机性。
1.4 CNN深度网络输入的特点 图1为BP网络与CNN网络的识别原理比较图。
图1 BP网络与CNN网络识别原理比较
从图1可以看出,应用BP网络等传统浅层网络解决识别问题时,需人工预先从图像中提取一些特征作为其输入;而CNN深度网络则直接以图像作为网络的输入,并且通过卷积和降采样操作自动学习图像中的有用信息。这是两者在网络输入和处理机制方面的重要不同之处。另外,相比BP网络,CNN网络受人为干预更少,其识别目标特征的效果会更好。
2 数据准备
2.1 提取单籽粒图像
采集玉米籽粒图像时,为避免籽粒间的粘连,本研究通过机械振动方法实现玉米籽粒在背景板上离散分布。
BP神经网络和CNN深度网络的输入数据都基于单籽粒图像得到,因此需对多籽粒图像进行单籽粒化的分割和提取。分割和提取的步骤如下:
步骤1 将多籽粒图像进行灰度化处理;
步骤2 以50为灰度阈值将灰度图像二值化;
步骤3 对二值图像进行贴标签操作,区分不同的前景目标,即得到不同的单玉米籽粒域;
步骤4 将同号的单玉米籽粒提取出来,得到单玉米籽粒图像,确定其最小外界矩形的尺寸l×w,其中l和w为单个籽粒最小外接矩形的长和宽;
步骤5 对各单玉米籽粒图像进行0.25×max{l,n}的纯黑色背景域的扩展,并编号保存单玉米籽粒图像。
当运行卷积运算时,图像画面边框上的像素无法被模板覆盖。为防止损失籽粒边缘的重要特征信息,并尽量使籽粒区域大、背景区域小,需对截取的单籽粒图像进行背景扩展。文中,单籽粒图像背景扩展尺寸选择50。为提高训练CNN深度网络对旋转不变性的识别能力,本文还对各单籽粒图像进行π/4的旋转变换。
2.2 归一化灰度图像的获取
按上述方法得到单籽粒图像后,为适应CNN网络的规格和减少网络处理的数据量,还需要对图像进行缩小和尺寸归一化。本文通过这两项操作,将各单籽粒图像处理成28×28的等规格灰度图像,具体效果如图2a和图2b所示。
本文采用有监督方法[12]训练神经网络,需对各样本的期望输出进行标记。将粒形完整的籽粒图像和粒形残缺的籽粒图像的输出值分别标记为1和0。由于需要向CNN神经网络直接输入图像数据,把上述28×28等规格小图像依次转换为单维向量,并生成训练样本文件和测试样本文件。本研究的训练样本Train_x为3040条向量构成的784×3040维矩阵,训练样本的期望输出Train_y为1×3040维矩阵,测试样本Test_x为456条向量构成784×456维矩阵,测试样本的期望输出Test_y为1×456维矩阵。
图2 归一化操作前后的单籽粒图像
3 构建神经网络结构
3.1 构建单隐层BP网络
BP神经网络8个输入特征及其计算方法如表1所示。从文献[6]可知,表1的8项几何特征是BP网络识别籽粒完整性的关键特征。基于这些特征,构建“输入层->单隐层->输出层”3层BP网络结构。输入层神经元个数为8,隐层神经元个数为15,输出层神经元个数为1。输入层和隐层间的硬限幅函数选择sigmoid函数,隐层和输出层间的硬限幅函数选择purelin函数。BP网络最大迭代步数设定为500。
表1 BP神经网络8个输入项[6]
3.2 深度卷积神经网络的构建
本文的CNN网络采用“输入层->第I卷积层->第I降采样层->第II卷积层->第II降采样层->全连接层->分类器的输出层”7层网络结构,每层的神经元个数依次选为784、6×576、6×144、6×12×64、6×12×16、192、1。批训练的批量Batchsize=40,卷积核K的尺寸为5×5,第I降采样层和第II降采样层的均值池化矩阵同式(5)。第I卷积层和第II卷积层分别采用6个和6×12个不同的卷积核,对前一输入层神经元进行卷积操作。本网络的硬限幅函数选择sigmoid函数,训练批次设置为10。 对CNN深度网络进行训练和测试,步骤如下:
步骤1 依次设置深度网络第1层~第5层的属性为‘i’、‘c’、‘s’、‘c’、‘s’,并初始化各卷积核的初始权重值;
步骤2 读入数据文件,用Train_x和Train_y训练CNN网络,得到训练收敛图;
步骤3 用Test_x和Test_y对已训练的CNN网络进行测试;
步骤4 统计识别错误的样本数,计算网络的识别错误率。
4 实验结果及分析
实验仿真环境:Win XP系统,CPU:Intel(R)Core(TM)2 Duo CPU E7200 Processor 2.53 GHz,2G内存,Matlab 2012b。
4.1 BP网络仿真实验
用3040个训练样本训练BP网络,得到训练误差变化曲线如图3所示。
图3 BP神经网络训练误差变化曲线
从图3可见,经500次迭代训练后,BP网络收敛,其训练误差约为0.12。利用456个测试样本对已训练的BP网络进行测试,识别错误样本有128个,如图4所示,得到的识别率为71.930%。
图4 BP网络错误识别的样本
4.2 CNN深度网络仿真实验
首先构建CNN网络并初始化它的78个尺寸为5×5的卷积核,其中4个卷积核的初始化结果如图5所示。
用3040个训练样本训练CNN深度网络。经过CNN深度网络特征抽象,得到部分特征数据如图6所示。图7a是部分测试样本的灰度图,用训练好的CNN网络对其进行卷积操作,得到的结果如图7b所示。CNN网络训练误差变化曲线如图8所示。
图5 部分卷积核的初始化结果
图6 CNN深度网络抽象出的特征数据
图7 CNN网络对灰度图像的卷积结果
图8 CNN网络训练误差变化曲线
图9 CNN网络错误识别的样本
从图8可见,CNN深度网络达到的训练精度约为91.760%。用456个测试样本对网络进行测试,识别错误样本有17个,如图9所示,得到的识别精度为96.271%。和传统BP神经网络相比,CNN深度神经网络的识别准确率更高。
5 结论
为解决基于特定图像特征和浅层神经网络等传统方法在识别玉米籽粒完整性特征上的不足,提出了解决籽粒完整性识别的一种新思路。通过引入深度卷积学习网络,模拟视觉感知的层次结构,建立多隐层的特征抽象和特征降维的神经网络模型。该模型可直接从大量单籽粒灰度图像数据中获取深层信息,提高了籽粒完整性特征识别的准确性。本文深入研究了深度网络中均值池化和降采样的特征降维实现原理,对比分析单隐层BP网络和深度CNN网络在实现效果上的不同。通过对3040个训练数据和456个测试数据的识别实验,验证了基于深度卷积神经网络方法识别玉米籽粒完整性特征的有效性,且深度CNN网络比传统浅层BP网络的识别准确率更高。籽粒完整性识别实验分析、实验结果与理论分析基本相符。
[1]孙莎,洪英,邓继忠,等.计算机视觉在种子品质检测和分级中的应用[J].农机化研究,2008(7):175-178.[2]刘利莎,赵敏.玉米高产保障之良种优选技术[J].农业开发与装备,2014(6):104-104.
[3]张俊雄,荀一,李伟,等.基于形态特征的玉米种子表面裂纹检测方法[J].光学精密工程,2007,15(6):951-956.
[4]史中辉,赵秀艳,于广洋,等.基于图像处理的玉米种子特征参数提取系统[J].农机化研究,2011,33(10):166-170.
[5]Zayas I,Converse H,Steele J.Discrimination of whole from broken corn kernels with image analysis[J].Trans of the ASAE,1990,33(5):1642-1646.
[6]万鹏,孙钟雷,宗力.基于计算机视觉的玉米粒形检测方法[J].中国粮油学报,2011,26(5):107-110.
[7]王瑶.种子分类与检测的图像分割与识别[D].长春:吉林大学,2007.
[8]Vinyals O,Jia Y,Deng L,et al.Learning with recursive perceptual representations[C]//Advances in Neural Information Processing Systems.South Lake Tahoe,2012:2825-2833.[9]Dilan R A,Koku A B,Konukseven E I.Rapid training data generation from image sequences for pattern recognition[C]//2011 IEEE International Conference on Mechatronics.Istanbul,2011:457-462.
[10]王勇,赵俭辉,章登义,等.基于稀疏自编码深度神经网络的林火图像分类[J].计算机工程与应用,2014(24):173-177.
[11]Takéhiko Nakama.Theoretical analysis of batch and on-line training for gradient descent learning in neural networks[J].Neurocomputing,2009,73(1/3):151-159.[12]Shusen Zhou,Qingcai Chen,Xiaolong Wang,et al.Convolutional Deep Networks for Visual Data Classification[J].Neural processing letters,2013,38(1):17-27.
(责任编辑:马金发)
Recognition of Maize Seed Integrity Based on Deep Neural Network
WEI Yingzi1,TAN Longtian1,OUYANG Haifei1,ZHANG Zhiqi2
(1.Shenyang Ligong University,Shenyang 110159,China; 2.Class 15 grade 2015,Panjin senior high school,Panjin 124000,China)
To meet the demand for recognizing maize seed integrity correctly,an intelligent method is proposed,which is based on deep convolutional neural network.This deep learning neural network is built and combined with pooling and down-sampling disposal.Single maize seed gray images pass through the network directly,and in-depth features are abstracted layer by layer by a series of convolution operations.In addition,feature dimension of images can be reduced,and the meaningful features can be extracted.Then the integrity features are recognized intelligently by a fully connected network.In addition,a contrast experiment based on back propagation network is also made on the same samples.Experimental results show that deep convolutional neural network can get better recognition rate by reducing feature dimensions effectively.This method can well meet the requirements for recognition of maize seed integrity.
maize seed;integrity recognition;convolutional neural network;feature dimension reduction
2015-11-02
国家自然科学基金资助项目(61373089);辽宁省自然科学基金资助项目(2014020083);辽宁省农业攻关及成果产业化项目(201404236)
魏英姿(1973—),女,教授,博士,研究方向:模式识别、机器人学等。
1003-1251(2016)04-0001-06
TP391
A