李建偉 鄭永果
摘 要:為實(shí)現(xiàn)AI動(dòng)物自動(dòng)化識(shí)別并提高識(shí)別精度,提出以CNN為基礎(chǔ)的動(dòng)物識(shí)別方法。首先對(duì)全景圖像進(jìn)行預(yù)處理,包括對(duì)圖像進(jìn)行隨機(jī)裁剪、翻轉(zhuǎn)以及調(diào)整各種屬性等;然后通過加入L2正則化和dropout方法進(jìn)行優(yōu)化,對(duì)CNN進(jìn)行自動(dòng)分類識(shí)別。實(shí)驗(yàn)結(jié)果表明,該方法能有效優(yōu)化CNN對(duì)于小數(shù)據(jù)集存在的過擬合現(xiàn)象,將動(dòng)物識(shí)別準(zhǔn)確率提升8%以上,同時(shí)增大數(shù)據(jù)集將動(dòng)物識(shí)別準(zhǔn)確率提升4%左右。
關(guān)鍵詞:CNN;動(dòng)物識(shí)別;L2正則化;dropout;增大數(shù)據(jù)集
DOI:10. 11907/rjdk. 191049
中圖分類號(hào):TP301文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1672-7800(2019)003-0030-04
0 引言
目前地球上已知的動(dòng)物約有150多萬種,但人類對(duì)野生珍稀動(dòng)物的識(shí)別力卻十分不足,本文通過優(yōu)化后的CNN提升動(dòng)物識(shí)別準(zhǔn)確率。
2012年,Krizhevsky等[1]提出Alex Net識(shí)別方法,該方法在大型圖像數(shù)據(jù)庫(kù)Image Net[2]圖像分類競(jìng)賽中,以準(zhǔn)確度超越第二名11%的巨大優(yōu)勢(shì)奪得冠軍,使CNN[3]倍受關(guān)注。Alex Net之后,不斷有新的CNN模型被提出,比如牛津大學(xué)的VGG(Visual Geometry Group)[4]、Google的Goog Le Net[5]、微軟的Res Net[6]等,這些網(wǎng)絡(luò)刷新了Alex Net在Image Net上創(chuàng)造的紀(jì)錄。
NORB[7]、Caltech-101/256[8-9]和CIFAR-10/100[10]等尺寸的數(shù)據(jù)集可以較好地解決簡(jiǎn)單識(shí)別任務(wù),如果增加標(biāo)簽保留轉(zhuǎn)換[11]則效果更好,如MNIST數(shù)字識(shí)別任務(wù)的最佳錯(cuò)誤率(<0.3%)接近人類性能[9]。
曾陳穎[12]提出一種基于BP神經(jīng)網(wǎng)絡(luò)的大熊貓(Ailuropoda melanoleuca)識(shí)別方法。Okafor[13]等提出一種基于深層學(xué)習(xí)與視覺詞匯袋的野生動(dòng)物識(shí)別方法, 該方法使用灰度、顏色信息和不同的空間匯集方法完成訓(xùn)練過程。Villa等[14]指出:圖像包含的復(fù)雜背景信息對(duì)于識(shí)別效果有一定影響, 需要依靠準(zhǔn)確的分割算法提高識(shí)別準(zhǔn)確率。Yu等[15]將動(dòng)物體從待訓(xùn)練圖像中提取出來,使得其對(duì)自建數(shù)據(jù)庫(kù)的識(shí)別準(zhǔn)確率提高到82%。
本文從KTH-ANIMALS[16]數(shù)據(jù)集中選取熊、美洲獅、牛、狼、大象、馬等6種動(dòng)物進(jìn)行實(shí)驗(yàn),將數(shù)據(jù)集擴(kuò)充并通過gamma歸一化等方式進(jìn)行圖像預(yù)處理。使用包含兩個(gè)卷積層、兩個(gè)亞采樣層以及3個(gè)全連接層的CNN深度學(xué)習(xí)模型進(jìn)行訓(xùn)練,其中在兩個(gè)卷積層中加入L2正則化,并且在后兩個(gè)全連接層中使用dropout方法對(duì)CNN進(jìn)行優(yōu)化。最后使用softmax分類器進(jìn)行分類,最終識(shí)別率達(dá)到92.67%。
1 數(shù)據(jù)集擴(kuò)展與預(yù)處理
1.1 數(shù)據(jù)集擴(kuò)展
實(shí)驗(yàn)在KTH-ANIMALS數(shù)據(jù)集中下載圖像的原始數(shù)據(jù),選取6種動(dòng)物總共602張圖像作為數(shù)據(jù)集,通過圖像翻轉(zhuǎn)、填充、平移等方式將圖像數(shù)據(jù)擴(kuò)充為原始的14倍,達(dá)8428張圖像。
KTH-ANIMALS數(shù)據(jù)集中的圖像大小各不相同,因此在實(shí)驗(yàn)中構(gòu)建圖像數(shù)據(jù)集時(shí)進(jìn)行g(shù)amma歸一化,歸一化后再將圖像縮小為32×32,以數(shù)據(jù)集中的一張圖為例如圖1所示。
1.2 數(shù)據(jù)集數(shù)據(jù)結(jié)構(gòu)
數(shù)據(jù)集分為大小為7 828張圖像組成的訓(xùn)練集和600張圖像組成的測(cè)試集。訓(xùn)練集與測(cè)試集的數(shù)據(jù)結(jié)構(gòu)相同,以測(cè)試集為例加以說明。
測(cè)試集的數(shù)據(jù)結(jié)構(gòu)分為3部分:①圖像數(shù)據(jù)集,由一個(gè)四維數(shù)組組成,4個(gè)維度大小為600、32、32、3,分別代表共有600張像素大小為32×32的RGB三通道圖像;②標(biāo)記數(shù)據(jù)集,由一個(gè)一維數(shù)組組成,數(shù)組大小為600,數(shù)組中每個(gè)元素是0~5中的一個(gè)數(shù)字,代表6種動(dòng)物中的某一種動(dòng)物,主要用于某一類動(dòng)物的標(biāo)記;③標(biāo)記數(shù)據(jù)集的另一種形式,由一個(gè)二維數(shù)組組成,兩個(gè)維度的大小為600、6,分別代表600張圖像的標(biāo)記,標(biāo)記位為1,其它位為0,如[0,0,1,0,0,0]代表第3種動(dòng)物。
1.3 數(shù)據(jù)集預(yù)處理
數(shù)據(jù)集偏少很容易導(dǎo)致模型出現(xiàn)過擬合現(xiàn)象,因此對(duì)圖像數(shù)據(jù)集進(jìn)行預(yù)處理,擴(kuò)充圖像廣度和深度,對(duì)圖像的性質(zhì)、位置進(jìn)行改變。
圖像預(yù)處理方式如下:①隨機(jī)裁剪24×24像素;②隨機(jī)左右翻轉(zhuǎn);③隨機(jī)調(diào)整圖片色相;④調(diào)整圖片對(duì)比度;⑤調(diào)整圖片亮度;⑥隨機(jī)調(diào)整圖片飽和度;⑦對(duì)數(shù)據(jù)集進(jìn)行歸一化。
將訓(xùn)練集的7種預(yù)處理方式相結(jié)合基本上能使每次迭代選取的訓(xùn)練集與前一次隨機(jī)選取的訓(xùn)練集有差別,充分?jǐn)U充了數(shù)據(jù)集大小,有效優(yōu)化了過擬合問題。
2 CNN構(gòu)建
CNN包含輸入層(input layer)、卷積層( convolutional layer)、亞采樣層(subsampling layer)、全連接層( fully-connected layer)、輸出層(output layer)。
2.1 輸入層
輸入層是整個(gè)CNN的輸入部分,對(duì)于動(dòng)物識(shí)別,輸入層代表一個(gè)待訓(xùn)練或待預(yù)測(cè)的圖像矩陣。輸入層大小取決于圖像長(zhǎng)、寬和深度。長(zhǎng)和寬代表圖像大小,如圖2中的32×32;深度代表圖像的色彩通道,如彩色圖像為RGB三色通道,則彩色圖像的深度為3。
2.2 加入L2正則化卷積層
卷積層[17]一般為多個(gè)特征提取層,由多個(gè)二維特征圖組成,每個(gè)特征圖由許多共享權(quán)值的神經(jīng)元組成。特征圖中每個(gè)神經(jīng)元通過卷積核與上一層特征圖的局部區(qū)域相連接。卷積層對(duì)輸入層輸入的圖像矩陣進(jìn)行卷積操作,提取特征,經(jīng)過激勵(lì)函數(shù)的作用得到特征圖。卷積層特征圖公式如式(1)所示。
每個(gè)輸入圖的卷積核可以不一樣,卷積核大小通常為3×3或5×5。常用的激勵(lì)函數(shù)有線性函數(shù)、Relu函數(shù)、sigmod函數(shù)、tanh函數(shù),分別如式(2)、式(3)、式(4)、式(5)所示。
在樣本數(shù)小于參數(shù)個(gè)數(shù)的情況下,樣本矩陣很可能是不可逆的(條件數(shù)很大),而引入正則化項(xiàng)則會(huì)解決這個(gè)問題。正則化項(xiàng)的引入平衡了偏差(bias)與方差(variance)、擬合能力與泛化能力、經(jīng)驗(yàn)風(fēng)險(xiǎn)(平均損失函數(shù))與結(jié)構(gòu)風(fēng)險(xiǎn)(損失函數(shù)+正則化項(xiàng))[18]。
實(shí)驗(yàn)使用L2正則化方法,如式(6)所示。
2.3 亞采樣層
亞采樣層根據(jù)圖像的局部相關(guān)原理,對(duì)卷積層輸出的特征圖在相鄰的小區(qū)域內(nèi)進(jìn)行聚合取樣,在減少特征和參數(shù)的同時(shí),保留圖像的有用信息。常用的采樣方法有mean-pooling、max-pooling和Stochastic-pooling。mean- pooling方法是對(duì)鄰域內(nèi)特征點(diǎn)求平均值;max-pooling方法是對(duì)鄰域內(nèi)特征點(diǎn)取最大;Stochastic-pooling方法介于兩者之間,對(duì)像素點(diǎn)按照數(shù)值大小賦予概率,再按照概率進(jìn)行亞采樣。
2.4 加入dropout方法的全連接層
圖像經(jīng)過多層卷積與亞采樣后到達(dá)全連接層,全連接層的每一個(gè)神經(jīng)元都與上一層的所有神經(jīng)元相連,將提取到的特征綜合起來。由于其全相連特性,一般全連接層參數(shù)也是最多的。
Dropout使用在監(jiān)督學(xué)習(xí)中,其核心思想是在訓(xùn)練中隨機(jī)刪掉神經(jīng)元以及它們之間所屬的關(guān)系,通常表現(xiàn)在機(jī)器視覺、語義識(shí)別、文本分類、生物計(jì)算等方面[19]。
2.5 輸出層
輸出層一般為分類器,作用為輸出屬于各個(gè)類別的概率,并且所有類別的概率值之和為1。常用的分類器有sigmod函數(shù)和softmax函數(shù)。sigmod函數(shù)公式見式(4),softmax函數(shù)[20]公式見式(7)。
2.6 CNN參數(shù)設(shè)計(jì)
本文采用的網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。
輸入層為32×32的彩色三通道圖像。
卷積層C1通過32個(gè)5×5的卷積核同時(shí)對(duì)權(quán)重進(jìn)行L2正則化,得到32個(gè)28×28×3的特征圖。
亞采樣層S1在2×2的區(qū)域內(nèi)對(duì)C1層產(chǎn)生的特征圖進(jìn)行最大值亞采樣,步長(zhǎng)為1,得到32個(gè)14×14×3的特征圖。
卷積層C2通過32個(gè)3×3的卷積核同時(shí)對(duì)權(quán)重進(jìn)行L2正則化,得到1 024個(gè)12×12×3的特征圖。
亞采樣層S2在2×2的區(qū)域內(nèi)對(duì)C1層產(chǎn)生的特征圖進(jìn)行最大值亞采樣,步長(zhǎng)為1,得到1 024個(gè)6×6×3的特征圖。
對(duì)特征圖采取flatten操作,產(chǎn)生一維特征向量。
全連接層F1的大小為256。
全連接層F2的大小為128,然后采用dropout方法對(duì)某一層的神經(jīng)元按照一定概率激活。
全連接層F3的大小為64,然后采用dropout方法對(duì)某一層的神經(jīng)元按照一定概率激活。
正則化項(xiàng)的系數(shù)為[1×10-4],兩次dropout的概率參數(shù)都設(shè)為0.5,激勵(lì)函數(shù)使用Relu函數(shù),CNN的學(xué)習(xí)率為[1×10-4]。
3 實(shí)驗(yàn)結(jié)果
3.1 示例
在實(shí)驗(yàn)訓(xùn)練過程中,輸入為7 828張訓(xùn)練圖像的數(shù)據(jù)集,輸出為訓(xùn)練好的卷積神經(jīng)網(wǎng)絡(luò);測(cè)試過程中,輸入為600張測(cè)試圖像的數(shù)據(jù)集,輸出為卷積神經(jīng)網(wǎng)絡(luò)識(shí)別的準(zhǔn)確率以及正確與錯(cuò)誤的圖像示例。測(cè)試結(jié)果如表1所示。
表1中,第一行代表預(yù)測(cè)類別,第一列代表實(shí)際類別,只有當(dāng)預(yù)測(cè)類別與實(shí)際類別相同時(shí)才代表識(shí)別成功,數(shù)值代表識(shí)別為該種類的個(gè)數(shù)。
3.2 算法比較分析
為驗(yàn)證試驗(yàn)的有效性,分別采用總大小為602和8 428的數(shù)據(jù)集。在602張圖像數(shù)據(jù)集中,訓(xùn)練集大小為742,測(cè)試集為60;在8 428張圖像數(shù)據(jù)集中,訓(xùn)練集大小為7 828,測(cè)試集大小為600。實(shí)驗(yàn)采用L2正則化和dropout等防過擬合方法對(duì)模型進(jìn)行優(yōu)化,未優(yōu)化前與優(yōu)化后的模型精度存在相當(dāng)大的差異。
4 結(jié)語
深度學(xué)習(xí)在圖像識(shí)別領(lǐng)域應(yīng)用廣泛,但是在動(dòng)物識(shí)別領(lǐng)域應(yīng)用相對(duì)較少。本文依據(jù)當(dāng)下最流行的深度學(xué)習(xí)模型卷積神經(jīng)網(wǎng)絡(luò)構(gòu)建動(dòng)物識(shí)別模型,然后通過擴(kuò)大數(shù)據(jù)集大小、L2正則化和dropout函數(shù)等方法優(yōu)化模型,提升模型精度。通過本文模型有效優(yōu)化了過擬合導(dǎo)致的模型精度降低問題,為動(dòng)物識(shí)別研究提供了一種新思路。
參考文獻(xiàn):
[1] LéCUN Y,BOTTOU L,BENGIO Y,et al. Gradient-based learning applied to document recognition[J]. Proceedings of the IEEE,1998,86(11):2278-2324.
[2] DENG J,DONG W,SOCHER R,et al. Imagenet: a large-scale hierarchical image database[C]. IEEE Conference on Computer Vision and Pattern Recognition,2009:248-255.
[3] KRIZHEVSKY A, SUTSKEVER I, HINTON G E. Imagenet classification with deep convolutional neural networks[C]. Advances in neural information processing systems, 2012: 1097-1105.
[4] SIMONYAN K,ZISSERMAN A. Very deep convolutional networks for large-scale image recognition[EB/OL]. http://xueshu.baidu.com/usercenter/paper/show.
[5] HE K,ZHANG X,REN S, et al. Deep residual learning for image recognition[C]. Proceedings of the IEEE conference on computer vision and pattern recognition. 2016: 770-778.
[6] LECUN Y,HUANG F J,BOTTOU L. Learning methods for generic object recognition with invariance to pose and lighting[C]. Computer Vision and Pattern Recognition, 2004.
[7] FEI-FEI L,F(xiàn)ERGUS R, PERONA P. Learning generative visual models from few training examples: an incremental bayesian approach tested on 101 object categories[J]. Computer Vision and Image Understanding, 2007, 106(1): 59-70.
[8] GRIFFIN G,HOLUB A,PERONA P. Caltech-256 object category dataset[J]. Technical Report 7694, California Institute of Technology, 2007(3):85-91.
[9] KRIZHEVSKY A,HINTON G. Learning multiple layers of features from tiny images[R].? Technical report, University of Toronto, 2009.
[10] KRIZHEVSKY A,SUTSKEVER I,HINTON G E. Imagenet classification with deep convolutional neural networks[C]. Advances in Neural Information Processing Systems,2012:1097-1105.
[11] 曾陳穎.面向珍稀野生動(dòng)物保護(hù)的圖像監(jiān)測(cè)與識(shí)別技術(shù)研究[D]. 北京:北京林業(yè)大學(xué),2015.
[12] OKAFOR E,PAWARA P,KARAABA F,et al. Comparative study between deep learning and bag of visual words for wild-animal recognition[C]. Athens:IEEE Conference on Computational Intelligence,2017.
[13] GOMEZ A,SALAZAR A,VARGAS F. Towards automatic wild animal monitoring: identification of animal species in camera-trap images using very deep convolutional neural networks[J]. Ecological Informatics, 2017(41):871-879.
[14] YU X,WANG J,KAYS R,et al. Automated identification of animal species in camera trap images[J]. EURASIP Journal on Image and Video Processing, 2013(1):52-59.
[15] HEYDAR MABOUDI AFKHAM,ALIREZA TAVAKOLI TAR GHI, JAN-OLUF EKLUNDH,et al. [C]. Tampa:Proceedings of the International Conference on Pattern Recognition,2008.
[16] LECUN Y,BENGIO Y,HINTON G. Deep learning[J]. Nature,2015,521(7553): 436-452.
[17] MOORE R,DENERO J. L1 and L2 regularization for multiclass hinge loss models[C]. Symposium on Machine Learning in Speech and Language Processing,2011:1-5.
[18] SRIVASTAVA N,HINTON G,KRIZHEVSKY A,et al. Dropout: a simple way to prevent neural networks from overfitting[J].? The Journal of Machine Learning Research,2014, 15(1): 1929-1958.
[19] HINTON G E,SALAKHUTDINOV R R. Replicated Softmax:an undirected topic model[C]. Neural Information Processing Systems Conference,2009:1607-1614.
(責(zé)任編輯:杜能鋼)