王建霞 張成 閆雙雙
摘 要: 為了提高寵物貓品種分類的準(zhǔn)確率,提出了一種卷積神經(jīng)網(wǎng)絡(luò)融合的方法進行特征提取。首先,基于堆疊卷積自動編碼器的域自適應(yīng)技術(shù),采用反卷積操作豐富特征圖;其次,利用Inception結(jié)構(gòu)增加網(wǎng)絡(luò)的寬度來提取多尺度信息的特征圖;最后,使用Softmox函數(shù)對圖像進行分類,在Oxford-ⅢT數(shù)據(jù)集中進行實驗分析。實驗結(jié)果表明,利用改進后的模型對寵物貓進行分類,準(zhǔn)確率高于對比模型,達到了84.56%,損失值為0.015 0。所提出的卷積神經(jīng)網(wǎng)絡(luò)融合方法不僅能通過豐富特征圖、加深網(wǎng)絡(luò)深度更好地表達特征,還能提高分類性能和收斂性能,較好地解決了寵物品種識別中由寵物相似所帶來的識別率低的問題,還可以推廣應(yīng)用到其他圖像相似問題的應(yīng)用場景中。
關(guān)鍵詞: 計算機圖像處理;深度學(xué)習(xí);卷積神經(jīng)網(wǎng)絡(luò);反卷積;寵物貓分類
中圖分類號: TP319? ?文獻標(biāo)識碼:? A
doi:? 10.7535/hbgykj.2020yx06004
Research on pet cat breed classification based on
convolutional neural network
WANG Jianxia, ZHANG Cheng, YAN Shuangshuang
(College of Information Science and Engineering, Hebei University of Science and Technology, Shijiazhuang,? Hebei 050018, China)
Abstract:
In order to improve the accuracy of pet cat breed classification, a convolutional neural network fusion method was proposed for feature extraction. Firstly, based on the domain adaptive technology of the stacked convolutional autoencoder, the deconvolution operation was used to enrich the feature map; Secondly, the Inception structure was used to increase the width of the network to extract the feature map of multi-scale information; Finally, the images were classified by the Softmox function and were experimentally analyzed in the Oxford-ⅢT data set. The experimental results show that the accuracy of classifying pet cats by using the improved model is higher than that of the comparison model, reaching 84.56%, and the loss value is? 0.015 0 . The proposed convolutional neural network fusion method can not only enrich feature maps and deepen the network depth to better express features, but also improve the classification performance and convergence performance. The method can better solve the problem of low recognition rate caused by pet similarity in pet breed recognition, and can also be extended to the? application? scenarios of other image similarity problems.
Keywords:
computer image processing; deep learning; convolutional neural network; deconvolution; pet cat classification
寵物是人們?yōu)榱讼录呕蛘叱鲇趭蕵范曫B(yǎng)的動物,有些工具型寵物還能夠幫助人們。但是每個寵物的品種又有許多種,不同品種寵物的毛色、性格等各不相同,人們在選擇某一個寵物時,品種會是考慮的首要因素,但寵物品種的識別并不像人們想象的那樣簡單。不同品種的寵物有的會很相似,而同種寵物看上去卻相差甚遠,這種情況對寵物專家來說也是一種考驗,雖然可以選擇DNA鑒定方法對寵物的品種進行識別,但是比較耗費時間和金錢。ZHANG等? [1] 提出利用紋理和形狀特征訓(xùn)練級聯(lián)分類器,可以對靜態(tài)類貓圖像進行識別; PRASONG在2012年提出利用犬類圖片的局部大小和位置進行粗分類和基于PCA的分類器進行精細分類;WANG等? [2] 在2014年提出了利用基于地標(biāo)形狀的犬種分類方法;SINNOTT等? [3] 在2018年使用傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)算法進行圖像分類等。雖然這些方法相較于傳統(tǒng)方法提高了識別效率,但都需要人工設(shè)計特征,而人工設(shè)計特征往往缺乏良好的泛化性能,且依賴于設(shè)計者的先驗知識和對分類任務(wù)的理解,導(dǎo)致訓(xùn)練好的模型具有局限性。
隨著物聯(lián)網(wǎng)? [4] 和人工智能? [5] 的快速發(fā)展,科學(xué)家們開始利用卷積神經(jīng)網(wǎng)絡(luò)來提取特征。它是直接對輸入的原始圖像進行處理,在神經(jīng)網(wǎng)絡(luò)的內(nèi)部就能得到有代表性的良好特征,解決了傳統(tǒng)方法中人工提取特征的繁瑣問題和主觀性問題。例如:AlexNet? [6] ,VGGNet? [7] ,GoogleNet? [8-12] 等,這些卷積神經(jīng)網(wǎng)絡(luò)都是在加深網(wǎng)絡(luò)的同時又提高了性能,利用批歸一化? [13] 和Dropout? [14] 避免過擬合和退化。采取卷積神經(jīng)網(wǎng)絡(luò)特征提取方法,不僅能夠提升分類器的效能,還能夠削減對圖像分類算法的依賴程度。
本文針對多個品種貓的圖像數(shù)據(jù)集進行了品種分類,且由于貓的數(shù)據(jù)集比較少,需在貓的數(shù)據(jù)集上進行數(shù)據(jù)增強,因此,通過數(shù)據(jù)增強方法將貓的數(shù)據(jù)集增強到了14 000張。對增強后的數(shù)據(jù)集采用一種反卷積的網(wǎng)絡(luò)結(jié)構(gòu)將特征圖進行大小轉(zhuǎn)換,得到多個尺度的特征圖,然后融合不同尺度卷積核的 Inception 模塊。采用這樣的結(jié)合方式不僅能夠增強后續(xù)卷積運算的特征信息,還能豐富網(wǎng)絡(luò)的表達能力,提高對圖像的分類準(zhǔn)確率。
1 相關(guān)理論研究
深度學(xué)習(xí)? [15] 起源于人工神經(jīng)網(wǎng)絡(luò),是有多個隱含層的網(wǎng)絡(luò)結(jié)構(gòu),與傳統(tǒng)機器學(xué)習(xí)相比,它不需要人工提取特征,而是將數(shù)據(jù)輸入網(wǎng)絡(luò)中自動生成學(xué)習(xí)特征。在解決圖像分類問題上通常利用深度學(xué)習(xí)中的卷積神經(jīng)網(wǎng)絡(luò)模型CNN對二維圖像進行卷積運算處理獲得特征,然后增加卷積神經(jīng)網(wǎng)絡(luò)的層數(shù),增多卷積神經(jīng)網(wǎng)絡(luò)每一層的節(jié)點數(shù)量,以此提高模型的性能? [16] 。為了解決時間消耗和計算資源的問題,又引入了遷移學(xué)習(xí)。遷移學(xué)習(xí)是一種能夠?qū)㈩A(yù)訓(xùn)練的模型進行重新訓(xùn)練后,再應(yīng)用到其他任務(wù)中進行學(xué)習(xí)的方式,常用的遷移學(xué)習(xí)有VGG16, Inception-V3 等。
1.1 VGGNet模型
VGGNet網(wǎng)絡(luò)結(jié)構(gòu)是將CNN中的卷積核由 5×5 尺寸改為用2個3×3的卷積進行替代,然后對3×3的卷積核和2×2的最大池化層反復(fù)疊成 16—19 層,這樣能大幅度地降低訓(xùn)練時的參數(shù)數(shù)量,同時也能將原有的卷積運算通過增加網(wǎng)絡(luò)的層數(shù)來提升網(wǎng)絡(luò)模型的性能。VGGNet-16分為5段,每段的組成都是2—3層卷積再加上池化層,每段的卷積核數(shù)量分別是64—128—256—512—512,但是每段中每層的卷積數(shù)量是一樣的。網(wǎng)絡(luò)模型最后的部分是由3個全連接層和1個softmax層組成。在對圖像進行分類時常用VGGNet提取圖像特征。VGGNet-16網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
1.2 Inception-V3
由于在VGGNet中增加網(wǎng)絡(luò)深度會增加參數(shù)的數(shù)量,進而增加計算的復(fù)雜度,Google公司為了解決這個問題提出了一個由11個Inception模塊(如圖2所示)串聯(lián)組成Inception-V3網(wǎng)絡(luò)模型,相比于VGGNet有更深的網(wǎng)絡(luò),深度可達到46層,但是網(wǎng)絡(luò)參數(shù)減少了,計算效率非常高。
1.3 改進模型理論
針對貓品種的數(shù)據(jù)集較少且特征不明顯,采用人工和普通卷積神經(jīng)網(wǎng)絡(luò)提取特征的方式在進行模型訓(xùn)練精準(zhǔn)度不高的問題,本文對貓品種分類的特征提取部分進行了改進。對貓的品種進行分類訓(xùn)練模型的網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示,其分為改進模塊、 Inception 模塊、全連接層和輸出層,改進模塊網(wǎng)絡(luò)結(jié)構(gòu)圖如圖4所示。
在進行卷積運算時,當(dāng)特征圖比較大時,所包含的圖像細節(jié)較多,但是高層次表現(xiàn)出來的特征信息比較少;當(dāng)特征圖比較小時,具有更好的高層次語義信息,但分辨率比較差? [17] 。因此,本文選擇將兩者結(jié)合起來,既能包含較多的圖像細節(jié),也能獲得盡可能強的圖像語義信息? [18] 。而且在使用多個層次的特征進行聯(lián)合檢測時,尺度較小的目標(biāo)也能被有效地檢測到? [19] ,利用反卷積的結(jié)構(gòu)就能將特征圖進行大小轉(zhuǎn)換,得到多個尺度的特征圖信息,再使用不同尺度的特征進行關(guān)鍵點檢測。前后的模塊會將特征信息充分利用,進而獲取更為豐富的特征圖。把尺度大小相同的特征圖傳入Inception模塊中,如圖2所示。Inception模塊由4個分支構(gòu)成,每個分支中 1×1 的卷積運算來源于Network In Network? [20] 中的思路。
第1個分支只對數(shù)據(jù)進行1×1的卷積運算;第2個分支是先 1×1 卷積之后再進行3×3卷積運算;第3個分支是先1×1卷積之后再進行5×5卷積運算;第4個分支是先3×3池化再進行1×1卷積運算。
為了加強網(wǎng)絡(luò)的非線性,在進行每次運算之后做1個Relu操作。每個分支都具有不同尺度的特征,通過并聯(lián)的方式結(jié)合在一起,然后經(jīng)過全連接層和Dropout層,最后利用Softmax層進行貓品種分類。
2 改進模型的算法
2.1 前向傳播過程
設(shè)訓(xùn)練數(shù)據(jù)集 Data= {(xl,yl)}? ?N l-1 ,yl∈{ 1,2,…,k },其中k為類別個數(shù);l為樣本個數(shù),1≤ l≤N ; W? ? ?i,j 和b? ? i,j 表示第i個隱含層的第j個卷積核和偏置; H? ? l m,j 中m表示第m個隱含層,j表示卷積核的大小或池化面積。 C 表示稀疏矩陣, T 表示轉(zhuǎn)置,w z,x 表示權(quán)值。
改進模塊的前向傳播如式(1)—式(6)所示:
H? ? l 1,j =f(x l W? ?1,j +b? 1,j ),?(1)
H? ? l 2,j = avgdown? λ,τ ( H? ? l 1,j ),?(2)
為了加快訓(xùn)練網(wǎng)絡(luò)的收斂性,使得圖像可以抵抗幾何變換的攻擊,本文采取了最大、最小值歸一化。在不改變圖像對比度的前提下,對原圖像進行縮放、平移、旋轉(zhuǎn)等仿射變化,只是將像素值壓縮在[0,1]區(qū)間內(nèi),如式(20)所示:
(20)
式中:xi表示每一點的像素值; min (x)表示像素最小值; max (x)表示像素最大值。
3.2 實驗環(huán)境
本實驗系統(tǒng)為Ubuntu16.04,GPU型號為NVIDIA GeForce GTX2070 Super;CPU型號為 i7-7900K 。深度學(xué)習(xí)框架為Pytorch,編程語言為 Python ,開發(fā)環(huán)境為Jupyter Notebook。
3.3 模型訓(xùn)練及數(shù)據(jù)分析
本實驗對貓的數(shù)據(jù)集增強后,進行了4組對比實驗。分別用3個遷移學(xué)習(xí)的模型將VGGNet-13,VGGNet-16,Inception-V3和改進后模型作對比實驗,在實驗中考慮到硬件性能和訓(xùn)練時間,批量處理大小為64,訓(xùn)練500輪,學(xué)習(xí)率的初始值設(shè)置為0.001,用于微調(diào),使用小批量梯度下降算法Adam進行模型的反向傳播。為了證明本方法的有效性,在基于寵物貓數(shù)據(jù)集上,做出4組神經(jīng)網(wǎng)絡(luò)模型的對比實驗,采用VGGNet-13和VGGNet-16神經(jīng)網(wǎng)絡(luò),寵物貓品種的識別率分別是78.69%和79.48%;采用相似的Inception-V3的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),寵物貓品種的識別率為80.42%;本方法是基于Inception-V3中的Inception模塊和基于堆疊卷積自動編碼器的域自適應(yīng)技術(shù),從而增加了多尺度的特征來豐富特征圖,在GPU測試速度為0.031張/s下,CPU測試速度為0.131張/s,寵物貓品種的識別率為84.56%。4組訓(xùn)練結(jié)果如表1所示。
由表1可知,隨著神經(jīng)網(wǎng)絡(luò)層數(shù)的增加,準(zhǔn)確率隨之提高,由此可見,增加網(wǎng)絡(luò)的深度可以豐富特征的表達,在模型實驗對比中加了Inception模塊的網(wǎng)絡(luò),準(zhǔn)確率有所提高。二者都是在卷積神經(jīng)網(wǎng)絡(luò)之后加上了Inception模塊來增加網(wǎng)絡(luò)的深度和寬度,對提高提取特征多樣性的準(zhǔn)確率很有效果。實驗進一步研究了Inception-V3和改進后模型的性能和收斂性,在實驗中epoch參數(shù)設(shè)置為500輪,貓品種分類的損失值變化曲線如圖7所示,改進后的損失值小于Inception-V3,分別為0.015 0和0.020 7,改進后模型的收斂程度和遷移學(xué)習(xí)的Inception-V3速度幾乎一致。損失值是通過真實值與預(yù)測值差的平方來表示,損失值越小,模型的效果和性能就越好。
4 結(jié) 論
針對寵物貓圖像的特點,在特征提取方面進行了相應(yīng)的改進,采用了豐富特征圖和多尺度特征的方法。其中主要是使圖像數(shù)據(jù)集先經(jīng)過卷積層和反卷積層突出有效的特征圖,達到豐富特征的效果,之后將被豐富的特征圖經(jīng)過Inception-V3網(wǎng)絡(luò)再次進行多尺度的特征提取,在此基礎(chǔ)之進行寵物貓品種的分類。實驗結(jié)果表明,改進后的卷積神經(jīng)網(wǎng)絡(luò)融合模型和遷移學(xué)習(xí)模型相比,在性能和收斂性上都有所提高。但由于改進后模型的網(wǎng)絡(luò)參數(shù)量較大,原始數(shù)據(jù)集量無法滿足,使得訓(xùn)練出的網(wǎng)絡(luò)模型不能達到飽和狀態(tài),也會影響模型的泛化能力。就此問題,本文又采用對原始數(shù)據(jù)進行旋轉(zhuǎn)、切割、色彩抖動、高斯噪聲、水平和豎直翻轉(zhuǎn)等方法實現(xiàn)了數(shù)據(jù)的擴增。
下一步研究是輸入任意尺度的圖像,并對網(wǎng)絡(luò)進行合理的優(yōu)化,增強分類的準(zhǔn)確率。并嘗試對其他物種圖片進行識別,以進一步測試、驗證本文方法的有效性。
參考文獻/References:
[1]? ZHANG Weiwei, SUN Jian, TANG Xiaoou. Cat head detection-how to effectively exploit shape and texture features[C]//European Conference on Computer Vision. Berlin:[s.n.], 2008: 802-816.
[2]? WANG? Xiaolong, LY V, SORENSEN S, et al. Dog breed classification via landmarks[C]//2014 IEEE International Conference on Image Processing (ICIP). Paris:IEEE, 2014: 5237-5241.
[3]? SINNOTT? R O, WU Fang, CHEN Wenbin. A mobile application for dog breed detection and recognition based on deep learning[C]//2018 IEEE/ACM 5th International Conference on Big Data Computing Applications and Technologies (BDCAT).[S.l.]:[s.n.], 2018: 87-96.
[4]? KHELIFI? H, LUO Senlin, NOUR B,et al. Bringing deep learning at the edge of information-centric internet of things[J]. IEEE Communications Letters, 2019,23(1):52-55.
[5]? GU? Jiuxinag, WANG Zhenhua, KUEN J, et al. Recent? advances? in convolutional neural networks[J]. Computer? Science, 2015.doi: 10.1016/j.patcog.2017.10.013.
[6]? PANTELEY E, LORIA A. On global uniform asymptotic stability of nonlinear time-varying systems in cascade[J]. Systems & Control Letters, 1998, 33(2): 131-138.
[7]? ?CAO? Kecai, YANG Hao, JIANG Bin. Formation tracking control of nonholonomic chained form systems[C]//2013 10th IEEE International Conference on Control and Automation (ICCA). Hangzhou:IEEE, 2013: 846-851.
[8]? ? SZEGEDY? C, LIU Wei, JIA Yangqing, et al. Going deeper with convolutions[C]//2015 IEEE Conference on Computer Vision and Pattern Recognition(CVPR). Boston:IEEE, 2015: 1-9.
[9]? ?IOFFE? S, SZEGEDY C. Batch normalization: Accelerating deep network training by reducing internal covariate shift[J]. Computer Science,2015. arXiv:1502.03167.
[10]? SINGLA? A, YUAN Lin, EBRAHIMI T. Food/non-food? image? classification and food categorization using pre-trained googlenet model[C]//Proceedings of the 2nd International Workshop on Multimedia Assisted Dietary Management. [S.l.] :[s.n.], 2016: 3-11.
[11]? SZEGEDY C, IOFFE S, VANHOUCKE V, et al. Inception-v4, inception-ResNet and the impact of residual connections on learning[C]//Thirty-first AAAI Conference on Artificial? Intelligence . [S.l.]:[s.n.],2017.arXiv:1602.07261.
[12]? MUHAMMAD? N A, Ab NASIR A, IBRAHIM Z, et al.? Evaluation? of CNN, Alexnet and GoogleNet for fruit recognition[J]. Indonesian Journal of Electrical Engineering and Computer Science, 2018, 12(2): 468-475.
[13]? LONG Min, ZENG Yan. Detecting iris liveness with batch normalized convolutional neural network[J]. Computers,? Materials? and Continua, 2019, 58(2): 493-504.
[14]? CHEN Long, ZHANG Hanwang, XIAO Jun, et al. SCA-CNN: Spatial and channel-wise attention in convolutional networks for image captioning[C]//2017 IEEE Conference on Computer Vision and Pattern Recognition(CVPR).[S.l.]: [s.n.] , 2017: 5659-5667.
[15]? KUPPALA K, BANDA S, BARIGE T R. An overview of deep learning methods for image registration with focus on feature-based approaches[J]. International Journal of Image and Data Fusion, 2020,11(2): 113-135.
[16]? 陳宏彩, 程煜, 張常有. 基于卷積神經(jīng)網(wǎng)絡(luò)的轎車車型精細識別方法[J]. 河北科技大學(xué)學(xué)報, 2017, 38(6): 564-569.
CHEN Hongcai, CHENG Yu, ZHANG Changyou. Fine-grained vehicle type recognition based on deep convolution neural networks[J]. Journal of Hebei University of Science and Technology, 2017, 38(6): 564-569.
[17]? SHELHAMER E, LONG J, DARRELL T. Fully convolutional networks for semantic segmentation[J]. IEEE Annals of the History of Computing, 2017,39(4): 640-651.
[18]? XIA? Fangting, WANG Peng, CHEN Xianjie, et al. Joint multi-person pose estimation and semantic part segmentation[C]//Proceedings of the IEEE Conference on Computer? Vision? and Pattern Recognition.[S.l.]:[s.n.], 2017: 6769-6778.
[19]? 鞠默然, 羅海波, 王仲博, 等. 改進的 YOLO V3 算法及其在小目標(biāo)檢測中的應(yīng)用[J]. 光學(xué)學(xué)報, 2019, 39(7): 0715004.
JU Moran, LUO Haibo, WANG Zhongbo,et al.Improved YOLO V3 algorithm and its application in small target detection[J]. Acta Optica Sinica, 2019, 39(7):0715004.
[20]? LIN Min, CHEN Qiang, YAN Shuicheng. Network in network[J]. ICLR,2013. arXiv:1312.4400.? [LM]