基于CNN深度模型的小麦不完善粒识别

2018-01-25 03:27曹婷翠何小海董德良石恒熊淑华
现代计算机 2017年36期
关键词:麦粒双面卷积

曹婷翠,何小海,董德良,石恒,熊淑华

(1.四川大学电子信息学院,成都 610065;2.中储粮成都粮食储藏科学研究所,成都 610091)

0 引言

我国是世界上小麦产量大国和消费大国,小麦的质检分级,对粮食储备、粮食安全、粮食流通具有重要作用。小麦不完善粒的数量是衡量小麦品级的关键指标,目前在不完善粒的检测识别中采用的是人工感官检测的方法,该方法具有费时费力、可重复性差、主观性强和不同质检员检测结果不一等缺点,已不能满足大规模麦粒快速准确检测的需求,实现麦粒的智能化识别成为必然。随着科技的发展,利用图像处理技术来实现麦粒快速准确识别的方法受到了普遍关注,现在已有许多研究成果[1-5],这些研究大多采用了特征提取算法,但人为提取的特征需要通过实验不断地进行择优,过程比较繁杂,而且麦粒品种混合、不完善粒间存在交错现象(如某单颗破碎麦粒在某个部位有病斑)、图像采集时难以避免的移位和光照不均等因素导致在实际应用中难以找到准确、稳定的特征,这种方法已经不能满足需求。

近几年来,深度学习已成为人工智能研究的热点方向,作为深度学习中的一项关键技术,CNN深度模型已成功应用于人脸识别,手写汉字识别、车型识别等领域,并取得了优秀的成绩。在2013年的ICDAR手写汉识别竞赛中[6],英国华威大学的Graham采用深度稀疏卷积神经网络的方法[7],获得了联机手写汉字识别的第一名,Ijjina等[8]将遗传算法和深度卷积神经网络算法应用于人体行为识别,并且取得了很好的效果,Yu等[9]提出了一种级联的CNN网络结构用于人脸识别,在FDDB上达到了当时最高的分数。不同于传统的图像识别方法,CNN深度模型的方法避免了依赖于先验知识的特征提取算法,它具备自主特征学习、自我完善等优点。

本文将CNN深度模型引入到小麦不完善粒识别中,解决传统图像处理方法人为提取特征的繁琐及不准确问题,结合CNN深度模型的理论构建常规的CNN网络模型,再加入金字塔池化层改进了网络模型,然后通过扩展样本集训练的方法以提高模型泛化能力,最后采用双面识别方案降低实际应用中麦粒的识别错误率。最后验证该方法的准确性,为小麦不完善粒的快速、智能自动化识别以及小麦品级判定提供重要依据。

1 WheatImage数据库

因为数据库也是造成麦粒不完善粒识别研究比较困难的原因之一,所以本文首先初步建立一个小麦不完善粒数据库并不断地进行完善以便于后面的研究学习。

研究中的小麦样本(含有白小麦、红小麦)由中储粮成都粮食储藏科学研究所提供,收集了不同批次不同样本号的小麦样本,由专业质检员挑选出完善粒、病斑粒和破碎粒。为了获取全面的小麦图像数据,进行小麦图像双面采集。将麦粒以无粘连的方式放置在透明的载物板上,进行上下两面图像采集,采集的分辨率设置为800dip,背景板为蓝色。小麦有可能只有单面呈现特征(如某单颗病斑粒只有上图有病斑特征),这种情况下就只保留有特征的一面。

采集后的三类小麦原始图像需经过分割,分割为每张图像仅有单粒小麦如图1所示。分割方法为,首先使用轮廓检测算法检测出小麦原始图像的轮廓,然后以轮廓的大小向外扩展30个像素的尺寸进行裁剪,最后得到图1所示的分割图像。从图中可以看到图像采集时小麦的摆放是随机的,且光照不均匀,这样的采集环境更接近实际应用场景。

图1 小麦分割图像

用分割后的图像建立麦粒图像数据库,命名为WheatImage。该数据库包含5729张完善粒图像、5000张破碎粒图像和5999张病斑粒图像。

2 卷积神经网络

2.1 卷积神经网络算法描述

深度学习中的深度卷积神经网络(Convolutional Neural Networks,CNN),是一种多层堆叠的神经网络,如图2所示,一个卷积神经网络由若干卷积层、池化层和全连接层组成。

图2 简易卷积神经网络结构图

图2为一个包含两个卷积层两个池化层和一个全连接层的卷积神经网络,按照不同的需求可以设计不同的网络结构。在图2的每一个卷积层中,将卷积核和上一层的输出进行卷积,得到局部特征数据,然后通过激活函数进行激活,即可得到该层的特征图,如式(1)所示。

其中为 f激活函数,本研究选用ReLU函数,l为层数,MjMj表示选择的输入特征图的集合,为卷积核,*表示二维卷积,表示偏置。然后将得到的特征进行池化降维。一般深度卷积网络有多个卷积层,通过逐层递增的方式,从底层最基础的边缘特征,不断到高层最复杂的全局特征。最后经过全连接层进行特征融合后再通过Softmax回归分类器实现物体多分类。CNN还采用局部连接和权值共享技术,大大减少了卷积神经网络模型的参数数量。CNN还对二维数据的输入做了特别的设计,这使得卷积网络对于图片的移动、旋转、形变以及缩放等具有较高的鲁棒性。

2.2 基于CNN的小麦不完善粒识别模型

(1)建立网络结构模型

对于深度学习的研究,目前已有很多的开源框架例如Theano和TensorFlow等,由于Caffe的上手快、模块化和速度快等优点,且实验室条件能运行,所以本文采用Caffe作为研究工具。

根据CNN理论和麦粒图像数据,通过多次实验,构建了常规CNN网络模型。空间金字塔池化(Space Pyramid Pooling,SPP)[10]跟普通池化相比,采用了多个不同尺寸的池化窗,它提取了更多不同的特征,这使得加入了SPP的网络模型具有更强的表征目标对象的能力,因此本文将SPP引入到构建的常规CNN网络层中得到WheatNet网络模型。网络中SPP算法所采用的尺度为(4×4,2×2,1×1),网络结构如图3所示。

图3 WheatNet网络结构图

图3所示的WheatNet网络,每层卷积层卷积后都使用了ReLU激活函数进行激活,激活后进行最大池化。不同的是第五层卷积层在激活函数激活后,采用的是SPP算法。每一个卷积层都采用了不同的卷积核,和大小不同的滑动窗,第一层采用了96个卷积核,滑动窗大小为11×11,步长为4,第二个卷积层采用了126个卷积核,滑动窗为5×5,步长为1,第三个和第四个卷积层卷积核都为192,滑动窗大小为3×3,步长为1,第五个卷积层卷积核大小为126,滑动窗大小为3×3,步长为1,经过这些卷积层,机器逐层学习到能够表征目标物体的全局丰富特征。全连接层1和全连接层2都使用了激活函数进行激活,并使用Dropout技术来减小过拟合的风险,而全连接层3采用Softmax回归作为分类器。

(2)样本集扩展

将数据库中每类4000张图像作为训练集,每类1000张作为交叉验证集,得到原图样本集。实际应用中,采集图像时光照条件无法保证绝对均匀,而且难免会引入噪声,因此,本文采用改变亮度和引入适量噪声的方法扩展原图样本集,以提高模型泛化能力。

RGB图像亮度的本质为像素点的亮度,每个像素的亮度本质上为RGB值的大小,RGB值为0时,像素点最暗为黑色,RGB值为255时像素点最亮为白色。因此,文本把图像的每个像素点的RGB各分量的值加上或者减去一定的值,得到改变亮度的图像。图像引入的噪声为均匀分布的噪声和高斯分布的噪声。

将原图样本集的训练样本采用上述的方法扩展到每类8000张图像,测试集不变,得到扩展样本集。

(3)双面识别方案

为了在实际应用中有更好的识别效果,本文设计了小麦不完善粒识别的方案,如图4所示,主要分为小麦图像预处理、WheatNet网络模型训练和分类识别三部分。

图4 小麦不完善粒双面识别方案

如图4所示,采用该方案识别需要采集小麦上下两面的图像,进行分割,再输入模型进行识别,最后综合上下分类识别的结果得到小麦最终所属类别。双面识别的准则如下:①上下同时为完善识别结果为完善粒;②若得到某一面识别为完善,另一面识别为病斑或破碎,那么识别结果为病斑粒或破碎粒;③若某一面识别为病斑粒另一面识别为破碎粒,那么识别结果为病斑粒。

3 实验结果及分析

首先设置网络训练的参数,将batch_size设置为90,初始学习率 base_lr设置为 0.0001,stepsize为100000,即每隔10万次调整一次学习率,动量系数设置为0.9。为了加快训练模型的收敛速度,训练时使用GPU加速。

3.1 不同方法的识别效果对比

首先采用原图数据集进行实验,实现目前小麦不完善粒识别中传统的图像处理方法,因为麦粒在颜色、形状、和纹理三方面存在着差异,所以提取麦粒这三方面的特征。形状特征有长、宽、面积、周长、矩形度、圆形度[1]、直径、等面积圆直径、最小凸多边形面积、紧密度、椭圆离心率[2]。颜色特征有RGB、HSV、lab三种颜色空间分量的均值和方差。纹理特征有RGB和HSV各分量的平滑度、三阶矩、熵和一致性[2]。共提取了53维特征,将提取的特征输入经典的SVM、ANN和Ada⁃Boost分类器,训练得到3个模型。同时将原图数据集输入常规的8层CNN网络和本文的WheatNet网络中进行训练,得到常规CNN模型和WheatNet原图模型。采用原图测试集验证模型的精确度,得到表1所示的结果。

表1 不同方法的识别结果

由表1可知常规CNN方法平均识别率比传统图像识别方法提高了10%左右,由此可见CNN深度模型应用于麦粒不完善粒的识别,能够很大地提升识别正确率,而融入了SPP的WheatNet模型的识别率比常规CNN方法提高了5%左右,相对于传统的方法提高了15%左右。结果表明,对于小麦不完善粒的识别,WheatNet模型具有最佳的识别效果。

特征是影响识别率的重要因素,在传统图像处理方法中,特征是靠人为提取设计的,人为难以提取能刻画麦粒本质的稳定特征,而且特征提取需经过观察麦粒图像在颜色形态纹理等这些方面的差异,然后尝试提取能刻画这些差异的特征,再验证特征的有效性优化特征,过程比较繁琐。然而采用了CNN深度模型的麦粒识别方法,可以自主的进行特征提取和选择,避免了传统方法繁琐的特征设计过程,而且从实验结果来看,CNN深度模型的方法对麦粒的识别效果优于传统图像处理方法,证明了CNN深度模型自主学习的特征比人为提取的特征具有更强的刻画麦粒本质特征的能力,将CNN深度模型引入到麦粒不完善粒识别中是有效的。在常规CNN的基础上,本文引入了金字塔池化层,金字塔池化层不同于普通的池化层,它采用了多个不同尺寸的池化窗,提取了多个不同的特征,因此融入了SPP的WheatNet模型具有比常规CNN模型更强的表征特征的能力,它的识别效果最佳。

3.2 WheatNet原图模型和扩展数据模型比较

将扩展数据集输入WheatNet网络进行训练,得到WheatNet扩展数据模型。使用不同质量的6组图像对该模型和上一步实验得到的WheatNet原图模型进行测试,得到表2所示的结果,表中第1组数据为不经过任何处理的图像数据,第2组和第3组数据为经过不同程度改变亮度处理的图像数据,第4组为引入高斯分布噪声的图像,第5组为引入均匀分布噪声的图像,第6组为同时改变亮度和引入高斯分布噪声的图像。

表2 两个不同模型对6组不同质量图像的识别结果

由表2结果可知,对于改变亮度的图像,原图模型识别效果有所下降,而扩展数据模型下降并不大,仍能够有效地识别。对于引入了噪声的图像,原图模型的识别效果急剧下降,而经过扩展数据训练后的模型,虽然识别率有所下降,但是识别率仍能够达到90%,而且对同时改变了亮度和引入噪声的图像都能有效地识别,识别效果远远优于原图模型,由此可见本文的数据扩展方法有效地提高了模型的泛化能力。

3.3 双面识别方案的识别效果

使用本文识别方案对100粒完善粒、100粒病斑粒和100粒破碎粒进行识别,首先采集小麦图像(包含上下图像),经过分割得到上下分割图像。然后输入网络进行识别,得到双面识别结果,根据双面识别准则得出最终结果。本文采用的是双面识别,而一般多采用单面识别,因此本文也实现仅用上图或者下图来进行识别的方法,得到表3的结果。

表3 双面识别和单面识别的识别结果

表3中的结果可知,虽然对完善粒的识别,本文方案没有绝对的优势,但对于破碎粒若仅采用上图识别,那么识别正确粒数为81粒,仅采用下图识别,识别正确粒数为83粒,而上下综合判断识别正确粒数为95粒,这是因为其中部分的小麦破碎面仅在某一面,病斑粒中也有相同的情况。如果仅仅采用上图识别,那么破碎粒的错误率为0.19,病斑粒为0.2,而采用双面识别的方法,破碎粒的识别错误率为0.05,病斑粒为0.06,可以看到双面识别的方法可以大大降低识别的错误率。小麦不完善粒中存在部分小麦破碎面或者病斑面仅存在于某一面,另一面呈现为完善,对于这部分小麦,仅靠某一面识别,往往会错误地识别为完善粒,而双面识别方案能很好的将这一部分小麦正确的识别出来,从而降低识别错误率,这种方案更适用于小麦不完善粒的实时检测识别。

4 结语

在麦粒的图像识别研究中,没有准确的图像数据库也是造成研究困难的原因之一,而本文初步建立的小麦完善粒、破碎粒和病斑粒的图像数据库WheatIm⁃age,将有利于麦粒不完善粒的学习和研究。针对目前已有的麦粒不完善粒图像识别方法需要进行特征提取并且所提特征不能很好的表征麦粒的特性从而导致的识别效果不佳的问题,本文将CNN深度模型的方法引入到麦粒不完善粒识别中,构建了常规的CNN网络模型并取得了优于传统图像处理方法的识别效果,然后在常规CNN的基础上加入了金字塔池化层得到WheatNet网络模型,进一步提高了识别率。在研究中,发现通过原图训练集训练得到的网络对于亮度变化和引入噪声的图像不能很好地识别,然而实际应用情景中,是无法保证绝对均匀的光照条件和杜绝噪声的引入,因此本文通过改变亮度和引入部分噪声的方式扩展样本集进行训练的方法来提高模型泛化能力,实验证明该方法很好地提高了模型的泛化能力,使得模型对亮度变化和引入噪声的图像都能很好的识别。考虑到部分麦粒只有某一面呈现特征的特殊情况,设计了小麦不完善粒双面识别的方案,有效降低了识别的错误率,有利于麦粒的实际场景检测识别。

[1]陈丰农.基于机器视觉的小麦并肩杂与不完善粒动态实时监测研究[D].杭州:浙江大学,2012:1-121

[2]张玉荣,陈赛赛,周显青,等.基于图像处理和神经网络的小麦不完善粒识别方法研究[J].粮油食品科技,2014,22(3):59-63.

[3]付玲.小麦质量快速测定与评价技术的研究[D].郑州:河南工业大学,2013:8-51

[4]陈赛赛.小麦质量指标机器视觉技术研究[D].郑州:河南工业大学,2014:14-50.

[5]Manley M,Toit G D,Geladi P.Tracking Diffusion of Conditioning Water in Single Wheat Kernels of Different Hardnesses by Near Infrared Hyperspectral Imaging[J].Analytica Chimica Acta,2011,686(1-2):64-75.

[6]Yin F,Wang Q F,Zhang X Y,et al.ICDAR 2013 Chinese Handwriting Recognition Competition[C].Document Analysis and Recognition(ICDAR),2013 12th International Conference on.IEEE,2013:1464-1470.

[7]Graham B.Spatially-Sparse Convolutional Neural Networks[J].Computer Science,2014,34(6):864-867.

[8]Ijjina E P,Chalavadi K M.Human Action Recognition Using Genetic Algorithms and Convolutional Neural Networks[J].Pattern Recognition,2016,59(11):199-212.

[9]Yu J H,Sim K B.Face Classification Using Cascade Facial Detection and Convolutional Neural Network[J].2016,26(1):70-75.

[10]He K,Zhang X,Ren S,et al.Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition[J].IEEE Transactions on Pattern Analysis&Machine Intelligence,2015,37(9):1904-1916.

[11]Gatys L A,Ecker A S,Bethge M.Image Style Transfer Using Convolutional Neural Networks[C].Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition.2016:2414-2423.

[12]Maggiori E,Tarabalka Y,Charpiat G,et al.Convolutional Neural Networks for Large-Scale Remote-Sensing Image Classification[J].IEEE Transactions on Geoscience and Remote Sensing,2017,55(2):645-657.

[13]邓柳,汪子杰.基于深度卷积神经网络的车型识别研究[J].计算机应用研究,2016,33(3):930-932.

[14]Zhu J,Yu J,Wang C,et al.Object Recognition Via Contextual Color Attention[J].Journal of Visual Communication&Image Representation,2015,27(C):44-56.

[15]Russakovsky O,Deng J,Su H,et al.ImageNet Large Scale Visual Recognition Challenge[J].International Journal of Computer Vision,2015,115(3):211-252.

[16]马彧廷,郭敏.基于极限学习与蜻蜓算法的小麦碰撞声信号检测与识别[J].电子设计工程,2016,24(5):8-11.

[17]杨楠.基于Caffe深度学习框架的卷积神经网络究[D].石家庄:河北师范大学,2016:6-48.

[18]汤一平,韩国栋,鲁少辉,等.基于CNN的火炮身管全景图像疵病识别方法[J].仪器仪表学报,2016,37(4):871-878.

猜你喜欢
麦粒双面卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
掉在石缝里的麦粒
双面威尔逊
本草,一场不动声色的“双面修行”
双面人
卷积神经网络的分析与设计
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
史上最强的双面间谍
从麦粒到面包