張潛 桑軍 吳偉群 吳中元 向宏 蔡斌
摘要:細粒度圖像分類是對傳統(tǒng)圖像分類的子類進行更加細致的劃分,實現(xiàn)對物體更為精細的識別,它是計算機視覺領域的一個極具挑戰(zhàn)的研究方向。通過對現(xiàn)有的細粒度圖像分類算法和Xception模型的分析,提出將Xception模型應用于細粒度圖像分類任務。用ImageNet分類的預訓練模型參數(shù)作為卷積層的初始化,然后對圖像進行縮放、數(shù)據(jù)類型轉換、數(shù)值歸一化處理,以及對分類器參數(shù)隨機初始化,最后對網(wǎng)絡進行微調。在公開的細粒度圖像庫CUB200-2011、Flower102和Stanford Dogs上進行實驗驗證,得到的平均分類正確率為71.0%、89.9%和91.4%。實驗結果表明Xception模型在細粒度圖像分類上有很好的泛化能力。由于不需要物體標注框和部位標注點等額外人工標注信息,Xception模型用在細粒度圖像分類上具有較好的通用性和魯棒性。
關鍵詞:細粒度圖像分類;Xception;卷積神經(jīng)網(wǎng)絡;深度學習
中圖分類號:TP311.1文獻標志碼:A文章編號:1000-582X(2018)05-085-07
Abstract: Fine-grained image classification is a more detailed division of the sub-categories of traditional image classification, which achieves a more sophisticated identification of objects. And it is a very challenging research in the field of computer vision. By analyzing the existing fine-grained image classification algorithm and Xception model, we propose to apply the Xception model to the fine-grained image classification task. Initialization of convolution layers uses pre-training model parameters of ImageNet classification. Then we resize images, transform data type, normalize value, and randomly initialize classifier. Finally, the network is fine-tuned. Our method obtains 71.0%, 89.9% and 91.4% per-image accuracy on the CUB200-2011, Flower102 and Stanford Dogs dataset respectively. The experimental results show that the Xception model has good generalization ability in fine-grained image classification. Because it does not need additional annotation information such as object bounding box and part annotation, the Xception model has good versatility and robustness in fine-grained image classification.
Keywords: fine-grained image classification; Xception; convolutional neural network; deep learning
隨著深度學習[1-2] 技術的發(fā)展,神經(jīng)網(wǎng)絡在各個領域取得的成功較為突出。由于深度神經(jīng)網(wǎng)絡具有強大的非線性擬合能力和特征學習能力,同時得益于計算能力的提升和數(shù)據(jù)量的增大,使得深度神經(jīng)網(wǎng)絡在圖像分類問題上取得了突破性的效果[3-6],也為細粒度圖像分類帶來了新的發(fā)展。細粒度圖像分類是計算機視覺領域的一個研究熱點,是對粗粒度的大類別進行更加細致的子類劃分[7]。例如,粗粒度圖像分類是區(qū)分圖像中貓、狗、汽車和飛機等,而細粒度圖像分類是區(qū)分大類下的子類,比如區(qū)分CUB200-2011 [8]數(shù)據(jù)庫中的200種鳥類和Flower102[9]數(shù)據(jù)庫中的102種花類等。由于子類間的差異更加細微,較之普通的圖像分類任務,細粒度圖像分類難度更大,但它能更有效地應用在生活和實踐中。
細粒度圖像分類可以分為強監(jiān)督的細粒度圖像和弱監(jiān)督的細粒度圖像。強監(jiān)督的細粒度圖像分類算法,在模型訓練時,除了圖像的類別標簽外,還使用了物體標注框、部位標注點等額外的人工標注信息。文獻[10]利用R-CNN算法對細粒度圖像進行物體級別和局部區(qū)域的檢測,在訓練時需要借助物體標注框和部位標注點,測試圖像還需要提供物體標注框。文獻[11]提出姿態(tài)歸一化算法完成對局部區(qū)域的定位檢測,根據(jù)檢測的標注框對圖像進行裁剪,提取不同層次的局部信息進行姿態(tài)對齊,最后得出不同層的卷積特征。文獻[12]模型分為局部定位和全局、局部圖像塊的特征學習2個模塊。由于標注信息的獲取代價十分昂貴,在很大程度上限制了這類算法的實用性。
弱監(jiān)督的細粒度圖像分類算法僅使用標簽,而不需要額外的標注信息。局部區(qū)域信息對于細粒度圖像分類至關重要,要實現(xiàn)更好的弱監(jiān)督的細粒度圖像分類,需要解決的是如何檢測并定位這些局部區(qū)域。文獻[13]算法利用對象級和局部級2個層次的特征,首次嘗試不依賴額外的標注信息,僅使用類別標簽來完成細粒度圖像分類。文獻[14]利用卷積網(wǎng)絡特征本身產生一些關鍵點,再利用這些關鍵點來提取局部區(qū)域信息。文獻[15]提出了雙線性CNN網(wǎng)絡模型,利用2個網(wǎng)絡完成局部區(qū)域檢測和特征提取。
卷積神經(jīng)網(wǎng)絡[16](CNNs, convolutional neural networks)已經(jīng)被廣泛應用于各個領域,比如目標檢測[17]、語音識別[18]等,在圖像分類應用上也取得了顯著的成績。在ILSVRC(imagenet large scale visual recognition challenge)比賽上研究者提出了很多優(yōu)秀的卷積神經(jīng)網(wǎng)絡模型,ILSVRC2014冠軍GoogLeNet[19]采用了在同一層中使用不同大小的卷積核,即Inception結構,來獲得不同大小的感受野以提高分類效果。繼Inception之后又提出了一些改進,Xception[20]是Inception的極限版本,在ImageNet[21]數(shù)據(jù)庫上分類的top-5正確率是94.5%。
目前,強監(jiān)督的和弱監(jiān)督的細粒度圖像分類過程大多都分為2個步驟,先提取圖像的局部區(qū)分性區(qū)域,再使用卷積神經(jīng)網(wǎng)絡對這些區(qū)域進行特征學習。不同于上述方法,研究采用的是Xception模型,不需要分2步進行,讓神經(jīng)網(wǎng)絡自動學習到局部區(qū)分性特征。同時,不需要物體標注框和部位標注點信息,僅使用類別標簽信息。使用Xception模型在公開的細粒度圖像庫CUB200-2011、Flower102和Stanford Dogs[22]3個數(shù)據(jù)庫上進行了實驗分析,實驗結果驗證了Xception模型可以很好地應用于細粒度圖像分類任務。
1 Xception模型概述
Inception的思想是將一個卷積核需要同時映射跨通道相關性和空間相關性的過程分解成一系列相互獨立的操作,即Inception模塊首先處理跨通道相關性,通過一組1×1卷積,將輸入數(shù)據(jù)映射到3或4個小于原始輸入的不同空間;然后處理空間相關性,通過3×3或者5×5卷積將所有相關性映射到更小的3D空間。實際上Inception背后的基本的假設是使跨通道相關性和空間相關性充分解耦。在Inception假設和思想基礎下,對Inception V3繼續(xù)改進,把Inception V3中標準的Inception模塊(如圖1所示)進行簡化,只使用一種規(guī)格的卷積(例如3×3),并且不含平均池化,結果如圖2。然后對圖2中的Inception模塊重新定義,用一個大的1×1的卷積,在不重疊的通道區(qū)塊上進行空間卷積(如圖3所示)。很自然地發(fā)現(xiàn)通道區(qū)塊的數(shù)量越多,以及跨通道相關性和空間相關性映射完全分開的假設更合理?;谏鲜龅陌l(fā)現(xiàn)與假設提出了“極致”Inception模塊(如圖4所示),為Xception網(wǎng)絡中的重要模塊,其首先使用1×1卷積映射跨通道相關性,然后在每個1×1卷積的輸出通道上都有一個獨立的空間卷積來映射空間相關性。普通卷積把所有輸入通道視為單區(qū)塊情況,深度可分卷積把每個通道當成為一個區(qū)塊,Inception模塊居于其間,將數(shù)百個通道劃分成3或4個區(qū)塊。而“極致”Inception是把所有的通道視為一個區(qū)塊,即是一個可分離的卷積。同時Xception加入的類似ResNet的殘差連接機制顯著加快了Xception的收斂,并獲得了更高的正確率。
Xception模型使用深度可分離卷積增加網(wǎng)絡寬度,不僅提升了分類的正確率,也增強了網(wǎng)絡對細微特征的學習能力,提供了Xception用在弱監(jiān)督的細粒度圖像分類的可行性?;谏鲜龇治觯瑖L試將Xception應用于細粒度圖像分類。
2 實驗與結果
2.1 實驗數(shù)據(jù)庫
選擇CUB200-2011、Flower102和Stanford Dogs3個公開的細粒度圖像庫進行分析研究。其中CUB200-2011數(shù)據(jù)庫是細粒度圖像分類領域一個經(jīng)典的數(shù)據(jù)庫,也是最常用的一個數(shù)據(jù)庫,共包含200種不同類別的鳥,每個類別包含41到60張圖像不等,共11 788張圖像。Flower102數(shù)據(jù)庫分為2種不同規(guī)模的版本,分別包含17種類別和102種類別的花。實驗用的是102種類別的數(shù)據(jù)庫,每個類別包含了40到258張圖像數(shù)據(jù),總共有8 189張圖像。Stanford Dogs數(shù)據(jù)包庫包含120類狗,每類包含148到252張圖像不等,總共有20 580張圖像。
圖5展示了3種數(shù)據(jù)庫的部分樣本,對于每個數(shù)據(jù)庫,隨機采集了4張來自不同類別的圖像。從這些圖片中可以發(fā)現(xiàn),3種數(shù)據(jù)庫的圖像背景復雜,同一類別內,目標的姿態(tài)多樣、光照變化大;不同類別之間的差異十分細微,目標的形狀、顏色非常相似。
2.2 實驗過程
第二步:模型參數(shù)初始化。微調是訓練神經(jīng)網(wǎng)絡的一種常用的方式,即用已訓練好的公開模型和參數(shù),加上自己的數(shù)據(jù),來訓練新的模型。微調相當于使用公開預訓練好的模型來提取特征,然后再用到自己的分類中。微調不用完全重新訓練模型,從而提高效率,能夠在比較少的迭代次數(shù)得到一個比較好的效果。在數(shù)據(jù)量不是很大的情況下,微調是一個比較好的選擇。本實驗選擇的數(shù)據(jù)庫中每類的數(shù)據(jù)不是很多,所以使用ImageNet分類[26]的預訓練模型參數(shù)作為網(wǎng)絡卷積層的初始化,并對softmax分類器隨機初始化;
第三步:模型訓練。采用有監(jiān)督學習方式,利用BP算法對卷積層參數(shù)進行細微的調整,以及對分類器參數(shù)進行訓練,即比較分類器的輸出值與期望輸出的差別,得到誤差信號并進行反向傳播來微調各層參數(shù),直到損失趨于不變。
大多數(shù)深度學習方法對于數(shù)據(jù)庫的處理是將數(shù)據(jù)庫以一定比例分配生成訓練集、驗證集和測試集。在實驗中,將CUB200-2011、Stanford Dogs和Flower102的3個數(shù)據(jù)庫按8∶2的比例隨機生成訓練驗證集和測試集;在訓練驗證集中,將其80%作為訓練數(shù)據(jù)集,剩余的20%作為驗證數(shù)據(jù)集。
經(jīng)實驗訓練、驗證以及測試均在NVIDIA Tesla K80 GPU上完成,基于深度學習框架Keras進行,通過數(shù)次實驗擇優(yōu)原則獲取結果。
2.3 實驗結果分析
在CUB200、Flower102和Stanford Dogs數(shù)據(jù)庫上的分類結果[27-28]如表1所示。
從表1可以看出,Xception模型在這些細粒度圖像分類數(shù)據(jù)庫上的分類效果整體較好。在CUB200-2011數(shù)據(jù)庫上,Xception模型的正確率略微低于Biliner-CNN模型,一方面由于去除驗證集和測試集每類能參與訓練的數(shù)據(jù)量比較少,另一方面是由于Biliner-CNN[15]采用了2個特征提取函數(shù),即2個網(wǎng)絡相互協(xié)作完成細粒度圖像分類過程中物體、局部區(qū)域的檢測和特征提取,而Xception單模型學習細粒度的區(qū)分性特征。在Flower102數(shù)據(jù)庫上Xception模型正確率比Murray方法正確率高出5.3%。在Stanford Dogs數(shù)據(jù)庫上Xception模型準確率比Xiao方法正確率高出2.5%。
Xception模型在CUB200-2011、Flower102和Stanford Dogs3個數(shù)據(jù)庫上的正確率都取得較優(yōu)的效果,說明Xception模型在細粒度圖像分類上具有很好細微特征學習能力。而在CUB200-2011數(shù)據(jù)庫上正確率偏低主要是因為該數(shù)據(jù)庫不僅種類很多、每類的數(shù)據(jù)量較少,而且有些圖像目標對象很小。在Stanford Dogs數(shù)據(jù)庫上正確率較高在于該數(shù)據(jù)庫的圖像來源于ImageNet數(shù)據(jù)庫,而在Flower102數(shù)據(jù)庫上進行實驗,取得88.9%的正確率,進一步驗證了Xception模型對細粒度圖像分類的實用性。
3 結 論
細粒度圖像分為基于強監(jiān)督信息和基于弱監(jiān)督信息2類,選擇僅使用標簽信息的弱監(jiān)督方式。使用Xception模型在3個公開的細粒度圖像分類數(shù)據(jù)庫上進行研究分析。通過實驗對比發(fā)現(xiàn),基于Xception方法分類準確率均較為優(yōu)異,具有很好的泛化能力,用于細粒度圖像分類有較好的魯棒性。由于細粒度圖像的類別精度更加細致,類間差異更加細微,往往只能借助于微小的局部差異才能區(qū)分出不同的類別,因此神經(jīng)網(wǎng)絡學習這些細微的特征需要更多的數(shù)據(jù)。在未來的工作里,將結合雙通道思想,一個通道學習局部有區(qū)分性信息檢測,一個通道學習物體對象級別檢測,來減少對數(shù)據(jù)量的需要,并進一步提升細粒度圖像分類的正確率。
參考文獻:
[1] Hinton G E, Salakhutdinov R R. Reducing the dimensionality of data with neural networks[J]. Science, 2006, 313(5786): 504.
[2] Lecun Y, Bengio Y, Hinton G. Deep learning[J]. Nature, 2015, 521(7553): 436-444.
[3] 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. Las Vegas, USA: IEEE, 2016: 770-778.
[4] Krizhevsky A, Sutskever I, Hinton G E, et al. Imagenet classiflcation with deep convolutional neural networks[C]∥Proceedings of the 25th International Conference on Neural Information Processing Systems. Nevada-December 03-06, 2012. Lake Tahoe, USA: ACM, 2012: 1097-1105.
[5] Huang G, Liu Z, Weinberger K Q, et al. Densely connected convolutional networks[C]∥Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2017.USA: IEEE, 2017: 1-4.
[6] Chen Y, Li J, Xiao H, et al. Dual path networks[C]∥Advances in Neural Information Processing Systems. Long Beach: IEEE, 2017: 4470-4478.
[7] 羅建豪,吳建鑫.基于深度卷積特征的細粒度圖像分類研究綜述[J].自動化學報,2017,43(8):1306-1318.
LUO Jianhao, WU Jianxin. A Survey on fine-grained image categorization using deep convolutional features[J]. Acta Automatica Sinica, 2017, 43(8): 1306-1318. (in Chinese)
[8] Wah C, Branson S, Welinder P, et al. The Caltech-UCSD Birds-200-2011 dataset[C]∥Technical Report CNS-TR-2011-001, USA: California Institute of Technology, 2011: 38-42.
[9] Nilsback M E, Zisserman A. Automated flower classification over a large number of classes[C]∥Proceedings of the 6th Indian Conference on Computer Vision, Graphics & Image Processing, 2008. Bhubaneswar, India: IEEE, 2008: 722-729.
[10] Zhang N, Donahue J, Girshick R, et al. Part-based r-CNNs for fine-grained category detection[C]∥European Conference on Computer Vision, 2014. Zurich, Switzerland: Springer, 2014: 834-849.
[11] Branson S, Van Horn G, Belongie S, et al. Bird species categorization using pose normalized deep convolutional nets[EB/OL].[2017-11-04].https:∥arxiv.org/abs/1406.2952.
[12] Wei X S, Xie C W, Wu J, et al. Mask-CNN: Localizing parts and selecting descriptors for fine-grained bird species categorization[J]. Pattern Recognition, 2018, 76(2): 704-714.
[13] Xiao T, Xu Y, Yang K, et al. The application of two-level attention models in deep convolutional neural network for fine-grained image classification[C]∥Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2015. Boston, Massachusetts: CVPR, 2015: 842-850.
[14] Simon M, Rodner E. Neural activation constellations: Unsupervised part model discovery with convolutional networks[C]∥Proceedings of the IEEE International Conference on Computer Vision, 2015. Santiago, Chile: CVPR, 2015: 1143-1151.
[15] Lin T Y, RoyChowdhury A, Maji S. Bilinear cnn models for fine-grained visual recognition[C]∥Proceedings of the IEEE International Conference on Computer Vision, 2015. Santiago, Chile: ICCV, 2015: 1449-1457.
[16] LeCun Y, Boser B E, Denker J S, et al. Handwritten digit recognition with a back-propagation network[C]∥Advancesin Neural Information Processing Systems, Denver 1989. Colorado, USA: NIPS Conference, 1989: 396-404.
[17] He K, Zhang X, Ren S, et al. Spatial pyramid pooling in deep convolutional networks for visual recognition[C]∥European Conference on Computer Vision, 2014. Zurich, Switzerland: Springer, Cham, 2014: 346-361.
[18] Hinton G, Deng L, Yu D, et al. Deep neural networks for acoustic modeling in speech recognition: The shared views of four resear chgroups[J]. IEEE Signal Processing Magazine, 2012, 29(6): 82-97.
[19] Szegedy C, Liu W, Jia Y, et al. Going deeper with convolutions[C]∥Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2015. Boston, Massachusetts: CVPR, 2015: 1-9.
[20] Chollet F. Xception: Deep learning with depthwise separable convolutions[C]∥Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. USA: IEEE, 2017: 1800-1807.
[21] Deng J, Dong W, Socher R, et al. ImageNet: a large-scale hierarchical image database[C]∥Proceedings of 2009 IEEE Conference on Computer Vision and Pattern Recognition, 2009. Miami, USA: IEEE, 2009: 248-255.
[22] Khosla A, Jayadevaprakash N,Yao B, et al. Novel dataset for fine-grained image categorization: Stanford dogs[C]∥Proc. CVPR Workshop on Fine-Grained Visual Categorization (FGVC).[S.l.]: IEEE, 2011, 3-8.
[23] Ioffe S, Szegedy C. Batch normalization: Accelerating deep network training by reducing internal covariate shift[C]∥International Conference on Machine Learning, 2015. Lille, France: ICML, 2015: 448-456.
[24] Szegedy C, Vanhoucke V, Ioffe S, et al. Rethinking the inception architecture for computer vision[C]∥Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2016. Las Vegas, NV, USA: CVPR, 2016: 2818-2826.
[25] Szegedy C, Ioffe S, Vanhoucke V, et al. Inception-v4, inception-resnet and the impact of residual connections on learning[C]∥Proceedings of the Thirty-First AAAI Conference on Artificial Intelligence, 2017. San Francisco, California, USA: AAAI, 2017: 4278-4284.
[26] Russakovsky O, Deng J, Su H, et al. Imagenet large scale visual recognition challenge[J]. International Journal of Computer Vision, 2015, 115(3) : 211-252.
[27] Murray N, Perronnin F. Generalized max pooling[C]∥Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2014, Columbus, USA: CVPR, 2014: 2473-2480.
[28] Liu X, Xia T, Wang J, et al. Fully convolutional attention localization networks: efficient attention localization for fine-grained recognition[EB/OL]. [2017-11-04]. https:∥arxiv.org/abs/1603.06765.
(編輯 侯 湘)