毕明帅,穆嘉松
(天津师范大学电子与通信工程学院,天津 300387)
目前预防禽流感的主要方式是给家禽注射禽流感疫苗,在 9 d~12 d 龄的 SPF(specific pathogen free,无特定病原体)鸡蛋胚胎中接种禽流感毒株后再进行增殖分离培养.接种疫苗之前需要分离死胚,目前分离检测鸡蛋品质主要靠人工方式,效率较低,准确率不高,难以达到市场的需求.针对此问题,为提高检测效率和准确率,相关学者做了一些研究.文献[1]和文献[2]分别使用高频超声成像和超声微泡显影技术,研究鸡蛋心血管组织结构的发育,以识别鸡蛋品质,但是这2种方法不能做到无损检测.文献[3]设计了基于机器视觉的毒株胚蛋图像采集系统,通过传统的机器视觉图像分割方法提取鸡蛋血管特征.
作为机器视觉的基本研究方向,图像特征的提取和分类随着深度学习的发展得到了越来越多的关注.深度学习是机器学习领域的研究热点之一.2006年,Hinton等[4]提出了深度学习的思想,指出深层的人工神经网络有利于解决图像分类问题.随后,基于卷积神经网络(convolutional neural network,CNN)的深度学习模型的优良性能推动了深度学习研究的热潮[5].近些年,深度学习模型被广泛应用于图像特征提取、语音识别和人脸识别等方面[6-10],推动了人工智能的发展.
卷积神经网络是一种人工神经网络,其本质是一个多层感知机.它通过权值共享的方式将特征提取功能融合进多层感知机,具有普通神经网络不具备的优点,包括运行速度快、适应性强、模型复杂度低等,且在处理二维图像方面也具有良好的鲁棒性.
卷积神经网络架构可以分为4个部分:输入层、卷积层、全连接层和输出层,卷积层主要包括卷积和池化的过程.卷积神经网络架构如图1所示.
图1 卷积神经网络Fig.1 Convolution neural network
卷积神经网络中的卷积层和子抽样层通常用来组成特征提取器.在卷积层中,神经元只与相邻的一些神经元相连,若干个矩形神经元组成特征图,同一特征平面上的神经元权重相同.卷积核通常以随机小数矩阵的形式进行初始化,在网络训练过程中,卷积核将学习获得合理的权重.共享权重可以减少网络层之间的连接,同时降低拟合风险.子抽样也称为池化,通常有2种形式:平均子抽样和最大值采样.子抽样可以看作是一个特殊的卷积过程.卷积和池化极大地简化了网络模型的复杂度,同时减少了模型的参数.全连接层即为普通神经网络多层感知机的隐含层,后面一层的所有神经节点与前一层的每个神经节点连接,同一层的神经节点之间不连接,多个全连接层可以相互连接,每一层的神经节点权重连接后,通过前向传播和加权组合即得到下一层神经元的输入.输出层通常为一个分类器.
卷积神经网络通过权值共享来减少自由参数,基于反向传播算法来更新权值.网络接受数据输入作为训练样例,训练数据量通常很大,全部输入会加重网络的负担,所以要将训练样例分为多个小的批次,每个批次称为mini-batch.网络每次只训练一个minibatch,数据经过前向传播后,计算得到实际输出和期望输出的误差,输出层再通过反向传播计算误差减小的方向,直到传播至次输入层.
本文根据卷积神经网络的特性,设计了一个带有Batch Normlization层[11]的卷积网络.算法流程如图2所示.该网络使用3个卷积层,第1层卷积由16个特征图构成,第2层卷积有32个特征图,第3层卷积有64个特征图,卷积核大小均为3×3.每个卷积层CL(convolution layer)后是Batch Normlization层BN和以ReLU为激活函数的激活层AL(activiation layer),同时加上一个最大池化层MPL(maxpooling layer),最后通过一个全连接层FCL(fully connected layer)连接Softmax层SL作为分类输出结果.
图2 算法流程Fig.2 Algorithm flow
在进行神经网络训练时,当数据流经一个深层的网络时,权重和参数会进行调整,有时会使数据过大或者过小,为了解决这个问题,往往要对输入数据进行惊醒预处理,包括减去均值和白化等,从而逐级提升随机初始化权重对数据分割的有效性.本文采用Batch Normalization对mini-batch进行操作,以提升网络的容纳能力.
训练时,每个mini-batch的输入为xi,进入BN层后,经过变换
选取ReLU激活函数,表达式为
梯度计算公式为
在正向传播过程中,ReLU函数只需设置阈值,在反向传播过程中,可加快参数更新,减轻梯度弥散.
鸡蛋品质种类样图如图3所示,分为活胚(live embryo egg)和死胚(addle egg).
采用2 000张图片作为实验数据,2种类别各1 000张进行训练.图像格式为bmp,大小为256×256.加入BN层和未加入BN层的训练效果见图4.
图3 鸡蛋品质Fig.3 Kinds of eggs
由图4可见,加入BN层的网络在150次迭代后识别准确率达到了98%,而未加入BN层的网络在250次迭代后识别准确率达到96%.可见加入BN层后不仅网络收敛更快,识别准确率也有一定的提升.
图4 加入BN层和未加入BN层的网络训练效果Fig.4 Training effects of network with and without BN layer
为了验证网络深度的影响,将2种类别图片各1000张,以5∶1的比例进行训练测试.考察使用1层卷积和3层卷积时,网络Loss的下降情况,结果见图5.
图5 1层卷积和3层卷积网络Loss情况对比Fig.5 Comparison of Loss between one and three convolution layers
由图5可见,只用1层卷积层的网络收敛很慢,Loss下降缓慢,且出现明显震荡,网络学习时间较长.而使用3层卷积层的网络收敛较快,Loss迅速下降,且无震荡.说明提高卷积层数可明显提升网络学习效果和网络性能.
本文将卷积神经网络用于鸡蛋品质识别,采用3层卷积网络并加入了BN层,考察了BN层和卷积层数对网络性能的影响.实验表明该模型对于鸡蛋品质类型分类具有较高的识别精度,且网络性能较好,可以应运于实际的自动化生产.
参考文献:
[1]MCQUINN T,BRATOEVA M,DEALMEIDA A,et al.High-frequency ultrasonographic imaging of avian cardiovascular development[J].Developmental Dynamics,2007,236(12):3503-3513.
[2] SCHELLPFEFFER M A,KOLESARI G L.Microbubble contrast imaging of the cardiovascular system of the chick embyro[J].Ultrasound in Medicine and Biology,2012,38(3):504-510.
[3]呼进国,刘川来.基于图像处理技术的种蛋胚体成活性无损检测[J].青岛科技大学学报:自然科学版,2014,35(2):200-205.HU J G,LIU C L.Non-destructive detection of hatching eggs fertility based on image processing[J].Journal of Qingdao University of Science and Technology :Natural Science Edition,2014,35(2):200-205(in Chinese).
[4]HINTON G E,SALAKHUTDINOV R R.Reducing the dimensionality of data with neural networks[J].Science,2006,313(5786):504-507.
[5]KRIZHEVSKY A,SUTSKEVER I,HINTON G E,et al.Image Net classificationwithdeepconvolutionalneuralnetworks[J].Communications of the ACM,2013,60(6):84-90.
[6] SIMONYAN K,ZISSERMAN A.Very deep convolutional networks for large-scale image recognition[C]//San Diego:International Conference on Learning Representations,2015.
[7]SZEGEDY C,LIU W,JIA Y,et al.Going deeper with convolutions[J].ComputerVisionandPatternRecognition,2015:1-9.arXiv:1409.4842.
[8] DAHLGE,YUD,DENG L,et al.Context-dependent pre-trained deep neural networks for large-vocabulary speech recognition[J].IEEE Transactions on Audio,Speech,and Language Processing,2012,20(1):30-42.
[9] SCHROFF F,KALENICHENKO D,PHILBIN J,et al.FaceNet:A unified embedding for face recognition and clustering[J].Computer Vision and Pattern Recognition,2015:815-823.arXiv:1503.03832.
[10]SILVER D,HUANG A,MADDISON C J,et al.Mastering the game of go with deep neural networks and tree search[J].Nature,2016,529(7587):484-489.
[11]IOFFES,SZEGEDYC.BatchNormalization:Acceleratingdeep network training by reducing internal covariate shift[J].Learning,2015:448-456.arXiv:1502.03167.