常 祥, 楊 明
(中北大學(xué) a.信息探測(cè)與處理山西省重點(diǎn)實(shí)驗(yàn)室; b.理學(xué)院, 太原 030051)
基于改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)的圖像分類(lèi)性能
常 祥a, 楊 明b
(中北大學(xué) a.信息探測(cè)與處理山西省重點(diǎn)實(shí)驗(yàn)室; b.理學(xué)院, 太原 030051)
將改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用到圖片目標(biāo)識(shí)別中。為了提高分類(lèi)預(yù)測(cè)準(zhǔn)確度,對(duì)傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行了改進(jìn),其具體結(jié)構(gòu)為:卷積層C1—池化層S1—卷積層C2—池化層S2—卷積層C3—池化層S3—全連接層FC—輸出,主要增加了卷積層和池化層層數(shù),且在卷積濾波器規(guī)格選擇上統(tǒng)一選擇了5×5。最后用這一網(wǎng)絡(luò)結(jié)構(gòu)模型和其他模型(ReNet、APAC、PACNet)對(duì)CIFAR-10數(shù)據(jù)庫(kù)進(jìn)行試驗(yàn)對(duì)比,通過(guò)最終的預(yù)測(cè)準(zhǔn)確度可以看出:改進(jìn)后的卷積神經(jīng)網(wǎng)絡(luò)的精度達(dá)90.37%,高于其他3種模型。
卷積神經(jīng)網(wǎng)絡(luò); 圖像分類(lèi)技術(shù);卷積層;池化層
layer
隨著互聯(lián)網(wǎng)平臺(tái)的迅速發(fā)展,人們?cè)谌粘I钪型ㄟ^(guò)各種搜索引擎獲取自己感興趣的圖片已經(jīng)變得越來(lái)越簡(jiǎn)單化。同時(shí),人們也可以將各式各樣的圖片上傳到互聯(lián)網(wǎng)平臺(tái),與他人進(jìn)行分享。在搜索圖片時(shí)主要通過(guò)輸入關(guān)鍵信息,計(jì)算機(jī)再在云端數(shù)據(jù)庫(kù)中根據(jù)特定算法尋找符合條件的圖像,實(shí)質(zhì)上就是根據(jù)算法對(duì)圖片中的物體或人物進(jìn)行查詢與分類(lèi)。由于網(wǎng)絡(luò)數(shù)據(jù)庫(kù)中信息基數(shù)較大,因此迫切需要具有較高準(zhǔn)確度的算法和模型,改善對(duì)目標(biāo)圖形的分類(lèi)預(yù)測(cè)。
目前,對(duì)于圖像分類(lèi)領(lǐng)域相關(guān)研究,大多都集中在遙感圖像和醫(yī)學(xué)圖像等領(lǐng)域,而對(duì)于自然圖像分類(lèi)問(wèn)題的研究較少。一般的圖像分類(lèi)方法包括KNN算法[3]、多層神經(jīng)神經(jīng)網(wǎng)絡(luò)算法(BP神經(jīng)網(wǎng)絡(luò))[4]、支持向量機(jī)學(xué)習(xí)圖像分類(lèi)[5],還有先通過(guò)提取圖像的SIFT特征然后再用支持向量機(jī)分類(lèi)[1]的綜合方法。這些分類(lèi)方法都能達(dá)到很可觀的分類(lèi)效果,但存在共同的缺點(diǎn):由于模型結(jié)構(gòu)的原因,對(duì)大數(shù)據(jù)庫(kù)的分類(lèi)效果不佳,容易出現(xiàn)分類(lèi)準(zhǔn)確度低、訓(xùn)練與測(cè)試樣本較少、易產(chǎn)生過(guò)擬合等缺點(diǎn),系統(tǒng)對(duì)于實(shí)物部分遮擋識(shí)別效果的魯棒性低,很難實(shí)現(xiàn)多分類(lèi)的要求。
本文通過(guò)提出一種改進(jìn)后的卷積神經(jīng)網(wǎng)絡(luò)?;谠撋窠?jīng)網(wǎng)絡(luò)的圖像分類(lèi)具有很強(qiáng)的抗干擾能力,在視角變化、目標(biāo)大小變化、形變、光照改變的情況下依舊可以保持很好的分類(lèi)效果。本文實(shí)驗(yàn)部分主要是研究卷積神經(jīng)網(wǎng)絡(luò)在大數(shù)據(jù)庫(kù)CIFAR-10下的分類(lèi)預(yù)測(cè)效果,并與其他方法進(jìn)行對(duì)比。
卷積神經(jīng)網(wǎng)絡(luò)(CNN)是一個(gè)多層感知器,能在各種實(shí)驗(yàn)中獲得較好效果的原因主要在于它采用了局部連接和權(quán)值共享兩種連接方式。局部連接是指每一層網(wǎng)絡(luò)的神經(jīng)元只與其上一層的一個(gè)方形鄰域內(nèi)的神經(jīng)單元連接,通過(guò)卷積塊賦予每個(gè)神經(jīng)元權(quán)重,從而提取出目標(biāo)圖像的特征。共享權(quán)值表示同一個(gè)特征圖所對(duì)應(yīng)的神經(jīng)元共用相同的權(quán)值,可減少所需要訓(xùn)練參數(shù)的數(shù)量。
卷積神經(jīng)網(wǎng)絡(luò)根據(jù)是否有目標(biāo)類(lèi)別輸出來(lái)區(qū)分,是一種典型的多層監(jiān)督學(xué)習(xí)神經(jīng)網(wǎng)絡(luò),主要結(jié)構(gòu)包括卷積層(convolution layer)、池化層(也稱(chēng)亞采樣層,pooling layer)、全鏈接層(full connection layer)。
2.1 卷積層
卷積層主要是通過(guò)卷積塊(filter)對(duì)目標(biāo)圖形做卷積處理,完成特征提取的任務(wù)。每個(gè)特征平面都代表上一層圖像經(jīng)過(guò)特定卷積塊處理后在某一方面表現(xiàn)突出的特征,如方向線段、端點(diǎn)、角點(diǎn)等。卷積層結(jié)構(gòu)如圖1所示。
圖1 卷積層結(jié)構(gòu)示意圖
原始圖像大小為w×h,將其定義為Xlarge。通過(guò)從原始圖像中抽取圖像樣本Xsmall與卷積核建立關(guān)系:
(1)
該函數(shù)是一個(gè)ReLU函數(shù)。由此得到了k個(gè)特征,其中W1和b1是可視層單元和隱含單元之間的權(quán)重和偏差值。對(duì)于每一個(gè)圖像樣本Xsmall,計(jì)算出對(duì)應(yīng)的值:
(2)
其中:a為卷積核的長(zhǎng);b為卷積核的寬。即得到k×(w-a+1)×(h-b+1)個(gè)卷積后的特征的矩陣。
在卷積層激活函數(shù)的選取上,本文選擇ReLU函數(shù)作為卷積層激活函數(shù),其計(jì)算公式為:
(3)
其中:xijd是經(jīng)過(guò)卷積處理后的第i行、j列、d層的輸出值;yijd為經(jīng)過(guò)ReLU函數(shù)處理后的輸出值,即下一層池化層的輸入值。
該函數(shù)可以在很大程度上減少計(jì)算量,相比sigmoid有很大的優(yōu)勢(shì)。在sigmoid 函數(shù)計(jì)算過(guò)程中易出現(xiàn)梯度消失的情況,會(huì)造成數(shù)據(jù)丟失,ReLU 函數(shù)可以避免這一現(xiàn)象的出現(xiàn)[12]。同時(shí),ReLU函數(shù)會(huì)調(diào)整部分神經(jīng)元的輸出為0,減少了參數(shù)的關(guān)聯(lián)性,一定程度上緩解了過(guò)擬合問(wèn)題的發(fā)生。
2.2 池化層
在卷積神經(jīng)網(wǎng)絡(luò)中,池化層通常在卷積層后,通過(guò)池化來(lái)降低卷積層輸出的特征向量維數(shù)。為了描述大的圖像,可以對(duì)圖像特征做聚合處理,從而提取出局部主要特征,加快訓(xùn)練速度。池化層的主要作用是通過(guò)卷積獲得特征之后,對(duì)所得到的特征做聚合統(tǒng)計(jì),在保證準(zhǔn)確率的同時(shí),減去了冗余重復(fù)特征。一般采用的池化方法有兩種:平均池化(mean pooling)和最大池化(max pooling)。
最大池化是選取圖像目標(biāo)局部區(qū)域的最大值作為該區(qū)域池化后的值,兩者都伴隨著原始圖像維度的降低,計(jì)算公式如下:
(4)
其中:xijc為鄰域Ωi′j′內(nèi)的i行、j列的函數(shù)值;Ωi′j′表示以xi′j′為中心的大小為某一定值的鄰域。
圖2為2×2的池化窗口對(duì)原始圖像的最大池化過(guò)程,左側(cè)為原始圖像的像素表示,右側(cè)為最大池化后的效果。
圖2 池化層結(jié)構(gòu)示意圖
2.3 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)及改進(jìn)
在處理大數(shù)據(jù)集方面,傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)由于卷積層和池化層數(shù)較少,獲得的特征圖數(shù)量相對(duì)不足,分類(lèi)效果不佳。針對(duì)傳統(tǒng)卷積神經(jīng)的缺點(diǎn),本文的改進(jìn)主要有兩點(diǎn):
1) 分別增加卷積層和池化層層數(shù)至3層,提高各層提取出目標(biāo)圖像的特征的能力,改善了分類(lèi)效果。
2) 對(duì)于卷積層卷積窗口(pooling size)的規(guī)格,均選取5×5。一方面減少實(shí)驗(yàn)參數(shù),提高訓(xùn)練效率;另一方面,對(duì)卷積窗口掃描的步長(zhǎng)(stride)選擇為2,充分保留了圖像的原始特征,保證了分類(lèi)精確度。
3.1 實(shí)驗(yàn)設(shè)置
實(shí)驗(yàn)的操作環(huán)境為Anaconda3 (32-bit)-Ipython,windows 7操作系統(tǒng),主頻 2.53 GHz,內(nèi)存2 GB。實(shí)驗(yàn)數(shù)據(jù)集為 CIFAR-10 dataset(數(shù)據(jù)來(lái)源:https://www.cs.toronto.edu/kriz/cifar.html),其中包含 60 000幅32×32像素的照片,可分為有10類(lèi),每一類(lèi)6 000幅,其中5 000幅為訓(xùn)練數(shù)據(jù),1 000 幅為實(shí)驗(yàn)數(shù)據(jù)。部分圖形如圖3所示,其中左列表示分類(lèi)標(biāo)簽,每一行表示該類(lèi)中的部分訓(xùn)練樣本。
根據(jù)classification datasets results統(tǒng)計(jì)的各種算法對(duì)各類(lèi)數(shù)據(jù)庫(kù)(MNIST,CIFAR-10,CIFAR-100,STL-10,SVHN)的分類(lèi)準(zhǔn)確率,目前對(duì)CIFAR-10分類(lèi)效果最好的是Benjamin Graham 提出的Fractional Max-Pooling[11],精確度達(dá)到96.53%。其主要思想是在池化層中賦予池化窗一個(gè)整數(shù)α值。隨著對(duì)隱含層的池化處理,α值逐漸變小。這也是本文待優(yōu)化的一個(gè)方向,即引入?yún)?shù)來(lái)提高池化效率,從而提高整體的分類(lèi)效果。
本研究所用的卷積神經(jīng)網(wǎng)絡(luò)一共有7層,其中有3個(gè)卷積層、3個(gè)池化層、1個(gè)全連接層。
在濾波器大小的選擇上,各卷積層都使用了規(guī)格為5×5的卷積塊,池化層則使用了規(guī)格為2×2的池化窗,如表1所示。同時(shí)表1也給出了各個(gè)網(wǎng)絡(luò)層的參數(shù)數(shù)目及其具體計(jì)算過(guò)程。
3.2 實(shí)驗(yàn)結(jié)果分析
圖4為該結(jié)構(gòu)卷積神經(jīng)網(wǎng)絡(luò)對(duì)其中1幅圖片的識(shí)別過(guò)程。通過(guò)各層神經(jīng)網(wǎng)絡(luò)處理后圖像發(fā)生變化,像素逐步由高到低。在前期特征提取中,飛機(jī)的整體輪廓特征保留得較為完整,在后期圖像識(shí)別過(guò)程中,突出提取出了飛機(jī)的局部特征,如機(jī)頭,尾翼等。
圖3 CIFAR-10部分圖像
圖4 一幅圖片的識(shí)別過(guò)程
訓(xùn)練層C1S1C2S2C3S3FC濾波器5×5×32×25×5×162×25×5×202×2/參數(shù)數(shù)目1216/8020/10020/3210參數(shù)備注16×5×5×3+1620×5×5×16+2020×5×5×20+2010×320+10
由表2可以看出:卷積神經(jīng)網(wǎng)絡(luò)的分類(lèi)精度明顯高于其他3種預(yù)測(cè)方法。APAC(Augmented PAttern Classification)[14]是基于最優(yōu)決策規(guī)則的增強(qiáng)數(shù)據(jù)學(xué)習(xí)方法,其在分類(lèi)問(wèn)題中具有優(yōu)于其他傳統(tǒng)方法的歸一化性能。PCANet[15]是一種應(yīng)用主成分分析的多級(jí)濾波器組合,具有很高的學(xué)習(xí)效率。這一方法被應(yīng)用于Extended Yale B,AR,MNIST 數(shù)據(jù)集,都具有很高的分辨率。
表2 各層濾波器大小及參數(shù)數(shù)目
本文對(duì)卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行了改進(jìn),并將其應(yīng)用到了對(duì)數(shù)據(jù)庫(kù)CIFAR-10的實(shí)驗(yàn)中。為了提高對(duì)大數(shù)量圖像數(shù)據(jù)進(jìn)行分析處理的能力,對(duì)傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行結(jié)構(gòu)上的改進(jìn)。研究結(jié)果顯示:改進(jìn)后的卷積神經(jīng)網(wǎng)絡(luò)模型能提取出圖像中目標(biāo)的明顯特征,可精確地對(duì)目標(biāo)數(shù)據(jù)集進(jìn)行分類(lèi),準(zhǔn)確度達(dá)到了90.37%。
在今后的研究中,可以考慮對(duì)前期圖像的預(yù)處理進(jìn)行優(yōu)化,提高后期特征提取效率,進(jìn)一步提高分類(lèi)準(zhǔn)確度。
[1] 于麗莉,戴青.一種改進(jìn)的SIFT特征匹配算法[J].計(jì)算機(jī)工程,2011(2):210-212.
YULili,DAIQing.AnimprovedSIFTfeaturematchingalgorithm[J].ComputerEngineering,2011(2):210-212.
[2] 王彥情,馬雷,田原.光學(xué)遙感圖像艦船目標(biāo)檢測(cè)與識(shí)別綜述[J].自動(dòng)化學(xué)報(bào),2011(9):1029-1039.
WANGYanqing,MALei,TIANYuan.StateoftheartofShipDetectionandRecognitioninOpticalRemotelySensedImagery[J].Actaautomaticsinica,2011(9):1029-1039.
[3] 李艷靈,沈軼.基于KNN的均值漂移圖像分割算法[J].華中科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2009(10):68-71.
LIYanling,SHENYi.KNN-basedmeanshiftalgorithmforimagesegmentation[J].JHuazhongUniversityofSci&Tech(NaturalScienceEdition),2009(10):68-71.
[4] 卜富清.基于人工神經(jīng)網(wǎng)絡(luò)的圖像識(shí)別和分類(lèi)[D].成都:成都理工大學(xué),2010.
BUFuqing.ImageRecognitionandClassificationBasedonArtificialNeuralNetworks[D].Chengdu:ChengduUniversityofTechnology,2010.
[5] 肖靚.基于支持向量機(jī)的圖像分類(lèi)研究[D].上海:同濟(jì)大學(xué),2006.XIAOLiang.SupportVectorMachine-BasedImageClassificationResearch[D].Shanghai:TongjiUniversity,2006.
[6] 趙志宏,楊紹普,馬增強(qiáng).基于卷積神經(jīng)網(wǎng)絡(luò)LeNet-5的車(chē)牌字符識(shí)別研究[J].系統(tǒng)仿真學(xué)報(bào),2010(3):638-641.
ZHAOZhihong,YANGShaopu,MAZengqiang.LicensePlateCharacterRecognitionBasedonConvolutionalNeuralNetworkLeNet-5[J].JournalofSystemSimulation,2010(3):638-641.
[7] 徐姍姍,劉應(yīng)安,徐昇.基于卷積神經(jīng)網(wǎng)絡(luò)的木材缺陷識(shí)別[J].山東大學(xué)學(xué)報(bào)(工學(xué)版),2013(2):23-28.
XUShanshan,LiuYing’an,XUSheng.Wooddefectsrecognitionbasedontheconvolutionalneuralnetwork[J].JournalofShandongUniverstiy(EngineeringScience),2013(2):23-28.
[8] 肖柏旭,張麗靜.基于分流抑制機(jī)制的卷積神經(jīng)網(wǎng)絡(luò)人臉檢測(cè)法[J].計(jì)算機(jī)應(yīng)用,2006(S1):46-48.
XIAOBaixu,ZHANGLijing.Afacedetectionmethodbasedonneuralnetworkbasedonthemechanismofshuntinginhibiton[J].ComputerApplications,2006(S1):46-48.
[9]RASEKHIJ,MOLLAEIMRK,BANDARABADIM,etal.Epilepticseizurepredictionbasedonratioanddifferentiallinearunivariatefeatures[J].Journalofmedicalsignalsandsensors,2015,5(1):1.
[10]賈世杰,楊東坡,劉金環(huán).基于卷積神經(jīng)網(wǎng)絡(luò)的商品圖像精細(xì)分類(lèi)[J].山東科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2014(6):91-96.
JIAShijie,YANGDongpo,LIUJinhuan.ProductImageFine-grainedClassificationBasedonConvolutionalNeuralNetwork[J].JournalofShandongUniversityofScienceandTechnology(NaturalScience),2014(6):91-96.
[11]GRAHAMB.Fractionalmax-pooling[J].arXivpreprintarXiv,2014(12):6071.
[12]IOFFES,SZEGEDYC.Batchnormalization:Acceleratingdeepnetworktrainingbyreducinginternalcovariateshift[J].arXivpreprintarXiv,2015(2):031675.
[13]HEK,ZHANGX,RENS,etal.Identitymappingsindeepresidualnetworks[J].arXivpreprintarXiv.2016(3):05027.
[14]SATOI,NISHIMURAH,YOKOK.APAC:AugmentedPAtternClassificationwithNeuralNetworks[J].arXivpreprintarXiv,2015(5):03229.
[15]CHANTH,JIAK.PCANet:ASimpleDeepLearningBaselineforImageClassification[J].arXivpreprintarXiv,2014(4):3606.
(責(zé)任編輯 楊黎麗)
Research on Image Classification Performance Based on Improved Convolution Neural Network
CHANG Xianga, YANG Mingb
(a.National Key Lab for Electronic Measurement and Technology; b.College of Science, North University of China, Taiyuan 030051, China)
An improved convolution neural network is applied to image object recognition. In order to improve the accuracy of classification prediction, this paper improves the structure of the basic convolution neural network. The concrete structure is as follows: Convolution layer C1—Pool layer S1—Convolution layer C2—Pool layer S2—Convolution layer C3—pool Layer S3—full-connect layer FC—output, ant it mainly increased the number of convolution layers, and unified selection of 5×5 in the convolution filter specification. Finally, this model is compared with other models (ReNet, APAC, PACNet) for CIFAR-10 database. Through the final prediction accuracy, it can be seen that the improved convolutional nerve has a better precision of 90.37% than the other three models.
convolution neural network; image classification technique; convolution layer; pooling
2016-12-15 基金項(xiàng)目:國(guó)家自然科學(xué)基金資助項(xiàng)目(61171179)
常祥(1991—),男,山西臨汾人,碩士研究生,主要從事圖像處理研究,E-mail:437345404@qq.com;楊明(1970—),男,四川閬中人,碩士,副教授,主要從事數(shù)據(jù)挖掘研究,E-mail:843628650@qq.com。
常祥, 楊明.基于改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)的圖像分類(lèi)性能[J].重慶理工大學(xué)學(xué)報(bào)(自然科學(xué)),2017(3):110-115.
format:CHANG Xiang, YANG Ming.Research on Image Classification Performance Based on Improved Convolution Neural Network[J].Journal of Chongqing University of Technology(Natural Science),2017(3):110-115.
10.3969/j.issn.1674-8425(z).2017.03.016
TP391;O175.1
A
1674-8425(2017)03-0110-06