王建霞 張成 閆雙雙
摘 要: 為了提高寵物貓品種分類的準(zhǔn)確率,提出了一種卷積神經(jīng)網(wǎng)絡(luò)融合的方法進(jìn)行特征提取。首先,基于堆疊卷積自動(dòng)編碼器的域自適應(yīng)技術(shù),采用反卷積操作豐富特征圖;其次,利用Inception結(jié)構(gòu)增加網(wǎng)絡(luò)的寬度來提取多尺度信息的特征圖;最后,使用Softmox函數(shù)對(duì)圖像進(jìn)行分類,在Oxford-ⅢT數(shù)據(jù)集中進(jìn)行實(shí)驗(yàn)分析。實(shí)驗(yàn)結(jié)果表明,利用改進(jìn)后的模型對(duì)寵物貓進(jìn)行分類,準(zhǔn)確率高于對(duì)比模型,達(dá)到了84.56%,損失值為0.015 0。所提出的卷積神經(jīng)網(wǎng)絡(luò)融合方法不僅能通過豐富特征圖、加深網(wǎng)絡(luò)深度更好地表達(dá)特征,還能提高分類性能和收斂性能,較好地解決了寵物品種識(shí)別中由寵物相似所帶來的識(shí)別率低的問題,還可以推廣應(yīng)用到其他圖像相似問題的應(yīng)用場景中。
關(guān)鍵詞: 計(jì)算機(jī)圖像處理;深度學(xué)習(xí);卷積神經(jīng)網(wǎng)絡(luò);反卷積;寵物貓分類
中圖分類號(hào): TP319? ?文獻(xiàn)標(biāo)識(shí)碼:? 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)的動(dòng)物,有些工具型寵物還能夠幫助人們。但是每個(gè)寵物的品種又有許多種,不同品種寵物的毛色、性格等各不相同,人們?cè)谶x擇某一個(gè)寵物時(shí),品種會(huì)是考慮的首要因素,但寵物品種的識(shí)別并不像人們想象的那樣簡單。不同品種的寵物有的會(huì)很相似,而同種寵物看上去卻相差甚遠(yuǎn),這種情況對(duì)寵物專家來說也是一種考驗(yàn),雖然可以選擇DNA鑒定方法對(duì)寵物的品種進(jìn)行識(shí)別,但是比較耗費(fèi)時(shí)間和金錢。ZHANG等? [1] 提出利用紋理和形狀特征訓(xùn)練級(jí)聯(lián)分類器,可以對(duì)靜態(tài)類貓圖像進(jìn)行識(shí)別; PRASONG在2012年提出利用犬類圖片的局部大小和位置進(jìn)行粗分類和基于PCA的分類器進(jìn)行精細(xì)分類;WANG等? [2] 在2014年提出了利用基于地標(biāo)形狀的犬種分類方法;SINNOTT等? [3] 在2018年使用傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)算法進(jìn)行圖像分類等。雖然這些方法相較于傳統(tǒng)方法提高了識(shí)別效率,但都需要人工設(shè)計(jì)特征,而人工設(shè)計(jì)特征往往缺乏良好的泛化性能,且依賴于設(shè)計(jì)者的先驗(yàn)知識(shí)和對(duì)分類任務(wù)的理解,導(dǎo)致訓(xùn)練好的模型具有局限性。
隨著物聯(lián)網(wǎng)? [4] 和人工智能? [5] 的快速發(fā)展,科學(xué)家們開始利用卷積神經(jīng)網(wǎng)絡(luò)來提取特征。它是直接對(duì)輸入的原始圖像進(jìn)行處理,在神經(jīng)網(wǎng)絡(luò)的內(nèi)部就能得到有代表性的良好特征,解決了傳統(tǒng)方法中人工提取特征的繁瑣問題和主觀性問題。例如:AlexNet? [6] ,VGGNet? [7] ,GoogleNet? [8-12] 等,這些卷積神經(jīng)網(wǎng)絡(luò)都是在加深網(wǎng)絡(luò)的同時(shí)又提高了性能,利用批歸一化? [13] 和Dropout? [14] 避免過擬合和退化。采取卷積神經(jīng)網(wǎng)絡(luò)特征提取方法,不僅能夠提升分類器的效能,還能夠削減對(duì)圖像分類算法的依賴程度。
本文針對(duì)多個(gè)品種貓的圖像數(shù)據(jù)集進(jìn)行了品種分類,且由于貓的數(shù)據(jù)集比較少,需在貓的數(shù)據(jù)集上進(jìn)行數(shù)據(jù)增強(qiáng),因此,通過數(shù)據(jù)增強(qiáng)方法將貓的數(shù)據(jù)集增強(qiáng)到了14 000張。對(duì)增強(qiáng)后的數(shù)據(jù)集采用一種反卷積的網(wǎng)絡(luò)結(jié)構(gòu)將特征圖進(jìn)行大小轉(zhuǎn)換,得到多個(gè)尺度的特征圖,然后融合不同尺度卷積核的 Inception 模塊。采用這樣的結(jié)合方式不僅能夠增強(qiáng)后續(xù)卷積運(yùn)算的特征信息,還能豐富網(wǎng)絡(luò)的表達(dá)能力,提高對(duì)圖像的分類準(zhǔn)確率。
1 相關(guān)理論研究
深度學(xué)習(xí)? [15] 起源于人工神經(jīng)網(wǎng)絡(luò),是有多個(gè)隱含層的網(wǎng)絡(luò)結(jié)構(gòu),與傳統(tǒng)機(jī)器學(xué)習(xí)相比,它不需要人工提取特征,而是將數(shù)據(jù)輸入網(wǎng)絡(luò)中自動(dòng)生成學(xué)習(xí)特征。在解決圖像分類問題上通常利用深度學(xué)習(xí)中的卷積神經(jīng)網(wǎng)絡(luò)模型CNN對(duì)二維圖像進(jìn)行卷積運(yùn)算處理獲得特征,然后增加卷積神經(jīng)網(wǎng)絡(luò)的層數(shù),增多卷積神經(jīng)網(wǎng)絡(luò)每一層的節(jié)點(diǎn)數(shù)量,以此提高模型的性能? [16] 。為了解決時(shí)間消耗和計(jì)算資源的問題,又引入了遷移學(xué)習(xí)。遷移學(xué)習(xí)是一種能夠?qū)㈩A(yù)訓(xùn)練的模型進(jìn)行重新訓(xùn)練后,再應(yīng)用到其他任務(wù)中進(jìn)行學(xué)習(xí)的方式,常用的遷移學(xué)習(xí)有VGG16, Inception-V3 等。
1.1 VGGNet模型
VGGNet網(wǎng)絡(luò)結(jié)構(gòu)是將CNN中的卷積核由 5×5 尺寸改為用2個(gè)3×3的卷積進(jìn)行替代,然后對(duì)3×3的卷積核和2×2的最大池化層反復(fù)疊成 16—19 層,這樣能大幅度地降低訓(xùn)練時(shí)的參數(shù)數(shù)量,同時(shí)也能將原有的卷積運(yùn)算通過增加網(wǎng)絡(luò)的層數(shù)來提升網(wǎng)絡(luò)模型的性能。VGGNet-16分為5段,每段的組成都是2—3層卷積再加上池化層,每段的卷積核數(shù)量分別是64—128—256—512—512,但是每段中每層的卷積數(shù)量是一樣的。網(wǎng)絡(luò)模型最后的部分是由3個(gè)全連接層和1個(gè)softmax層組成。在對(duì)圖像進(jìn)行分類時(shí)常用VGGNet提取圖像特征。VGGNet-16網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
1.2 Inception-V3
由于在VGGNet中增加網(wǎng)絡(luò)深度會(huì)增加參數(shù)的數(shù)量,進(jìn)而增加計(jì)算的復(fù)雜度,Google公司為了解決這個(gè)問題提出了一個(gè)由11個(gè)Inception模塊(如圖2所示)串聯(lián)組成Inception-V3網(wǎng)絡(luò)模型,相比于VGGNet有更深的網(wǎng)絡(luò),深度可達(dá)到46層,但是網(wǎng)絡(luò)參數(shù)減少了,計(jì)算效率非常高。
1.3 改進(jìn)模型理論
針對(duì)貓品種的數(shù)據(jù)集較少且特征不明顯,采用人工和普通卷積神經(jīng)網(wǎng)絡(luò)提取特征的方式在進(jìn)行模型訓(xùn)練精準(zhǔn)度不高的問題,本文對(duì)貓品種分類的特征提取部分進(jìn)行了改進(jìn)。對(duì)貓的品種進(jìn)行分類訓(xùn)練模型的網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示,其分為改進(jìn)模塊、 Inception 模塊、全連接層和輸出層,改進(jìn)模塊網(wǎng)絡(luò)結(jié)構(gòu)圖如圖4所示。
在進(jìn)行卷積運(yùn)算時(shí),當(dāng)特征圖比較大時(shí),所包含的圖像細(xì)節(jié)較多,但是高層次表現(xiàn)出來的特征信息比較少;當(dāng)特征圖比較小時(shí),具有更好的高層次語義信息,但分辨率比較差? [17] 。因此,本文選擇將兩者結(jié)合起來,既能包含較多的圖像細(xì)節(jié),也能獲得盡可能強(qiáng)的圖像語義信息? [18] 。而且在使用多個(gè)層次的特征進(jìn)行聯(lián)合檢測時(shí),尺度較小的目標(biāo)也能被有效地檢測到? [19] ,利用反卷積的結(jié)構(gòu)就能將特征圖進(jìn)行大小轉(zhuǎn)換,得到多個(gè)尺度的特征圖信息,再使用不同尺度的特征進(jìn)行關(guān)鍵點(diǎn)檢測。前后的模塊會(huì)將特征信息充分利用,進(jìn)而獲取更為豐富的特征圖。把尺度大小相同的特征圖傳入Inception模塊中,如圖2所示。Inception模塊由4個(gè)分支構(gòu)成,每個(gè)分支中 1×1 的卷積運(yùn)算來源于Network In Network? [20] 中的思路。
第1個(gè)分支只對(duì)數(shù)據(jù)進(jìn)行1×1的卷積運(yùn)算;第2個(gè)分支是先 1×1 卷積之后再進(jìn)行3×3卷積運(yùn)算;第3個(gè)分支是先1×1卷積之后再進(jìn)行5×5卷積運(yùn)算;第4個(gè)分支是先3×3池化再進(jìn)行1×1卷積運(yùn)算。
為了加強(qiáng)網(wǎng)絡(luò)的非線性,在進(jìn)行每次運(yùn)算之后做1個(gè)Relu操作。每個(gè)分支都具有不同尺度的特征,通過并聯(lián)的方式結(jié)合在一起,然后經(jīng)過全連接層和Dropout層,最后利用Softmax層進(jìn)行貓品種分類。
2 改進(jìn)模型的算法
2.1 前向傳播過程
設(shè)訓(xùn)練數(shù)據(jù)集 Data= {(xl,yl)}? ?N l-1 ,yl∈{ 1,2,…,k },其中k為類別個(gè)數(shù);l為樣本個(gè)數(shù),1≤ l≤N ; W? ? ?i,j 和b? ? i,j 表示第i個(gè)隱含層的第j個(gè)卷積核和偏置; H? ? l m,j 中m表示第m個(gè)隱含層,j表示卷積核的大小或池化面積。 C 表示稀疏矩陣, T 表示轉(zhuǎn)置,w z,x 表示權(quán)值。
改進(jì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ò)的收斂性,使得圖像可以抵抗幾何變換的攻擊,本文采取了最大、最小值歸一化。在不改變圖像對(duì)比度的前提下,對(duì)原圖像進(jìn)行縮放、平移、旋轉(zhuǎn)等仿射變化,只是將像素值壓縮在[0,1]區(qū)間內(nèi),如式(20)所示:
(20)
式中:xi表示每一點(diǎn)的像素值; min (x)表示像素最小值; max (x)表示像素最大值。
3.2 實(shí)驗(yàn)環(huán)境
本實(shí)驗(yàn)系統(tǒng)為Ubuntu16.04,GPU型號(hào)為NVIDIA GeForce GTX2070 Super;CPU型號(hào)為 i7-7900K 。深度學(xué)習(xí)框架為Pytorch,編程語言為 Python ,開發(fā)環(huán)境為Jupyter Notebook。
3.3 模型訓(xùn)練及數(shù)據(jù)分析
本實(shí)驗(yàn)對(duì)貓的數(shù)據(jù)集增強(qiáng)后,進(jìn)行了4組對(duì)比實(shí)驗(yàn)。分別用3個(gè)遷移學(xué)習(xí)的模型將VGGNet-13,VGGNet-16,Inception-V3和改進(jìn)后模型作對(duì)比實(shí)驗(yàn),在實(shí)驗(yàn)中考慮到硬件性能和訓(xùn)練時(shí)間,批量處理大小為64,訓(xùn)練500輪,學(xué)習(xí)率的初始值設(shè)置為0.001,用于微調(diào),使用小批量梯度下降算法Adam進(jìn)行模型的反向傳播。為了證明本方法的有效性,在基于寵物貓數(shù)據(jù)集上,做出4組神經(jīng)網(wǎng)絡(luò)模型的對(duì)比實(shí)驗(yàn),采用VGGNet-13和VGGNet-16神經(jīng)網(wǎng)絡(luò),寵物貓品種的識(shí)別率分別是78.69%和79.48%;采用相似的Inception-V3的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),寵物貓品種的識(shí)別率為80.42%;本方法是基于Inception-V3中的Inception模塊和基于堆疊卷積自動(dòng)編碼器的域自適應(yīng)技術(shù),從而增加了多尺度的特征來豐富特征圖,在GPU測試速度為0.031張/s下,CPU測試速度為0.131張/s,寵物貓品種的識(shí)別率為84.56%。4組訓(xùn)練結(jié)果如表1所示。
由表1可知,隨著神經(jīng)網(wǎng)絡(luò)層數(shù)的增加,準(zhǔn)確率隨之提高,由此可見,增加網(wǎng)絡(luò)的深度可以豐富特征的表達(dá),在模型實(shí)驗(yàn)對(duì)比中加了Inception模塊的網(wǎng)絡(luò),準(zhǔn)確率有所提高。二者都是在卷積神經(jīng)網(wǎng)絡(luò)之后加上了Inception模塊來增加網(wǎng)絡(luò)的深度和寬度,對(duì)提高提取特征多樣性的準(zhǔn)確率很有效果。實(shí)驗(yàn)進(jìn)一步研究了Inception-V3和改進(jìn)后模型的性能和收斂性,在實(shí)驗(yàn)中epoch參數(shù)設(shè)置為500輪,貓品種分類的損失值變化曲線如圖7所示,改進(jìn)后的損失值小于Inception-V3,分別為0.015 0和0.020 7,改進(jìn)后模型的收斂程度和遷移學(xué)習(xí)的Inception-V3速度幾乎一致。損失值是通過真實(shí)值與預(yù)測值差的平方來表示,損失值越小,模型的效果和性能就越好。
4 結(jié) 論
針對(duì)寵物貓圖像的特點(diǎn),在特征提取方面進(jìn)行了相應(yīng)的改進(jìn),采用了豐富特征圖和多尺度特征的方法。其中主要是使圖像數(shù)據(jù)集先經(jīng)過卷積層和反卷積層突出有效的特征圖,達(dá)到豐富特征的效果,之后將被豐富的特征圖經(jīng)過Inception-V3網(wǎng)絡(luò)再次進(jìn)行多尺度的特征提取,在此基礎(chǔ)之進(jìn)行寵物貓品種的分類。實(shí)驗(yàn)結(jié)果表明,改進(jìn)后的卷積神經(jīng)網(wǎng)絡(luò)融合模型和遷移學(xué)習(xí)模型相比,在性能和收斂性上都有所提高。但由于改進(jìn)后模型的網(wǎng)絡(luò)參數(shù)量較大,原始數(shù)據(jù)集量無法滿足,使得訓(xùn)練出的網(wǎng)絡(luò)模型不能達(dá)到飽和狀態(tài),也會(huì)影響模型的泛化能力。就此問題,本文又采用對(duì)原始數(shù)據(jù)進(jìn)行旋轉(zhuǎn)、切割、色彩抖動(dòng)、高斯噪聲、水平和豎直翻轉(zhuǎn)等方法實(shí)現(xiàn)了數(shù)據(jù)的擴(kuò)增。
下一步研究是輸入任意尺度的圖像,并對(duì)網(wǎng)絡(luò)進(jìn)行合理的優(yōu)化,增強(qiáng)分類的準(zhǔn)確率。并嘗試對(duì)其他物種圖片進(jìn)行識(shí)別,以進(jìn)一步測試、驗(yàn)證本文方法的有效性。
參考文獻(xià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ò)的轎車車型精細(xì)識(shí)別方法[J]. 河北科技大學(xué)學(xué)報(bào), 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]? 鞠默然, 羅海波, 王仲博, 等. 改進(jìn)的 YOLO V3 算法及其在小目標(biāo)檢測中的應(yīng)用[J]. 光學(xué)學(xué)報(bào), 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]