細粒度分類演算法在汽車之家車系識別業務中的應用

語言: CN / TW / HK

關注“之家技術”,獲取更多技術乾貨

總篇168篇 2022年第43篇

內容簡介

本文主要介紹深度學習影象分類的經典網路結構及發展歷程,就細粒度影象分類中的注意力機制進行綜述,最後給出汽車之家團隊參加CVPR2022細粒度分類競賽所使用的模型及相關演算法、參賽經驗及該模型在汽車之家車系識別業務中的應用。對於想了解影象分類任務、相關比賽技巧及業務應用的讀者有一定借鑑意義。

1. 基於深度學習的影象分類神經網路

自AlexNet [1] 橫空出世,在ImageNet [2] 競賽中取得62.5%的top-1準確率,超越SIFT+FVs [3] 類傳統演算法8.2%之後,深度神經網路就成為了影象分類領域的主要演算法,先後出現了VGG [4] 、ResNet [5] 、Inception [6] 、DenseNet [7] 等。 2019年,谷歌提出的EfficientNet [8] 更是將網路結構設計由人工推向了自動搜尋時代。 2020年,谷歌提出的Vision Transformer(ViT) [9] ,將自然語言處理領域的Transformer結構引入影象分類,將影象分類帶入了Transformer時代。

VGG [4] 由谷歌Deepmind和英國牛津大學的研究人員聯合開發,使用多個級聯的3x3小卷積核代替了7x7的大卷積核,在保證感受野的基礎上大大降低了網路的引數量。VGG [4] 的另外一個貢獻是通過加深網路結構提升了分類精度,在ImageNet [2] 資料集上使用19層網路,top-1分類準確率達到了74.5%。

2015年,當時還在微軟從事研究的何凱明、孫劍等人提出了ResNet [5] ,通過引入圖1的殘差結構,有效解決了深層神經網路訓練過程中的梯度消失和梯度爆炸問題,同時解決了隨著網路加深,分類精度越來越差的“退化”問題。首次在ImageNet [2] 資料集上使用152層的超深網路獲得了較好的分類精度,top-1準確率達到了78.57%,獲得了2015年ImageNet [2] 競賽分類賽道的第一名。

圖1 殘差模組

在以何凱明為代表的一些研究人員通過加深網路深度提升分類效果的同時,谷歌的一些研究人員在網路寬度上也取得了較大進展,先後在2014~2016年提出了InceptionV1~V4網路結構。InceptionV1 [5] 網路的設計思路主要是使用稠密元件(dense components)近似網路中的稀疏結構,為此,谷歌的研究人員剔除了圖2所示的Inception基本結構。這種結構使用了多個並行的卷積和最大池化,在近似稀疏結構的同時,還引入了多尺度特性。InceptionV2 [6] 在借鑑VGG [4] 等論文,使用多個級聯3x3卷積代替5x5卷積的基礎上,還加入了Batch Normalization(BN)對資料進行歸一化,top-1準確率達到了74.8%。InceptionV3 [6] 提出了一種可有效降低網路引數量的方法,即非對稱分解(Asymmetric Factorization),非對稱分解就是將nxn卷積分解為1xn和nx1的級聯形式,top-1準確率達到了78.8%。InceptionV4則將ResNet [5] 中使用的殘差結構融入Inception模組,極大加快了訓練速度,,top-1準確率達到了80.10%。

圖2 Inception 模組

在網路深度和寬度的研究取得長足進步之後,一些研究人員開始考慮通過網路特徵的重用,提升網路的分類效果,比較典型的就是2017年CVPR的最佳論文DenseNet [9] 。ResNet [5] 證明了殘差短連線能有效解決梯度消失和網路退化問題,如圖3所示DenseNet借鑑了這一思想,將短連線使用在了所有層之間,對於一個L層的網路的第N層,前N-1層的特徵在第N層實現了特徵融合,同時,第N層的特徵也提供給後邊L-N層進行特徵融合。特徵重用避免了無效特徵的重複提取,在提升網路的分類精度的同時,也有效降低了網路的引數量。DenseNet [9] 在ImageNet [2] 資料集上的top-1準確率達到了79.2%

至此,人工設計網路結構的相關工作開始進入了百花齊放的時代,與此同時,谷歌大腦(Google Brain)的研究人員於2018年提出了神經網路結構搜尋(Neural Architecture Search)。此後,神經網路設計進入了自動化時代。由於NAS需要的計算資源較大,因此早期NAS都是在一個小資料集上,如CIFAR-10,搜尋出一個基礎卷積結構單元(Cell),之後再通過複製這些基礎卷積結構單元,“遷移”到如ImageNet [2] 這樣的大資料集上。如圖4所示,網路搜尋過程由一個RNN網路控制,基礎卷積結構單元接收”hidden state”列表裡前兩個狀態hi和hi-1或列表裡的兩個狀態的輸出(圖4中的灰色方框),之後從圖5所示的操作中選擇2個(圖4中的黃色方框),作用在選出的兩個狀態上,最後再使用加法(add)或疊加(concat)(圖4中的綠色方框)的融合方法進行融合,不斷迭代增加新的基礎卷積結構單元,直到基礎卷積結構單元的數量達到預設的N。使用這種網路搜尋演算法,搜出的NASNet [10] 在ImageNet [2] 資料集上的top-1準確率達到了82.7%,達到和超越了人工設計的網路結構。

NASNet [10] 開啟了神經網路搜尋時代,實現了網路結構的設計的自動化,但其缺陷也比較明顯。NASNet [10] 的搜尋空間仍然是人為設定的,是一種基於給定搜尋空間的網路結構搜尋演算法。針對這一問題,FAIR何凱明團隊2020年提出了用於設計搜尋空間的方法,RegNet [12] 論文中將網路結構搜尋空間也作為網路結構設計的一部分。如圖6所示,通過不斷優化網路搜尋空間,同時獲得了最佳的搜尋空間和該搜尋空間中的最佳網路結構。

2020年,谷歌提出ViT(Vision Transformer) [13] ,將NLP(Natural Language Processing)領域使用的Transformer引入視覺領域,將影象分為解析度相同的若干子塊,每一個子塊作為NLP領域的一個字元(token)進行處理。Transformer自注意力機制的引入,極大提高了網路的分類效果,在ImageNet [2] 資料集上的top-1準確率達到了88.55%。

圖3 DenseNet

圖4 RNN控制器

圖5 NASNet基礎卷積結構單元

圖6 搜尋空間

2. 基於深度學習的影象細粒度分類

在過去的十年,深度學習推動影象分類取得了長足進步,但常見的影象分類資料集,如ImageNet [2] ,中的類別的粒度仍然較粗。比如,狗這個類別下,還可以細分為拉布拉多、金毛尋回犬、邊境牧羊犬等細分類別。粗粒度的分類已經越來越無法滿足實際生產生活的需要,學術界及工業界迫切希望深度學習能在細粒度分類任務中發揮重要作用。與粗粒度分類不同,細粒度分類更加關注物體細節之間的差異,需要模型更加註意一些細節,因此,學術界提出了“注意力”機制。

近年來,注意力機制被廣泛引入細粒度分類領域,出現瞭如SE [14] 、GE [15] 、CBAM [16] 、SK [ 17] 等注意力模組,這些模組被融入各種網路結構中,有效地提升了分類效果。

SE模組提出相對較早,2017年由Momenta提出,由SE模組構建的SENet也成為了2017年末代ImageNet [2] 分類競賽的冠軍網路。卷積神經網路(CNN)同時融合空間和通道資訊,SE模組則更加關注通道資訊的融合。如圖7所示,對Feature Map U首先進行Squeeze操作,得到一個通道描述子,該描述子主要用來描述各通道的響應分佈。緊接著對該描述子進行excitation操作,得到各通道權值向量,並使用該權值向量對Feature Map的各通道進行加權,加強權值較大的通道,抑制權值較低的通道,通過這種方式實現了通道注意力機制。

使用SE [14] 模組實現通道注意力機制之後,Momenta又在2018年提出了空間注意力模組GE [15] 。如圖8所示,GE [15] 使用自定義的Gather和Excite模組實現了空間感受野區域的注意力機制。

2018年,還出現了另一個同時融合通道、空間注意力的注意力模組,即CBAM [16] 。如圖9所示,對於任意一個Feature Map,CBAM模組先後提取通道和空間注意力資訊,並分別跟相應的Feature Map進行加權,同時實現了通道和空間注意力。

通道、空間注意力被相繼引入之後,SK [17] 模組又將多尺度特徵這一計算機視覺領域常用的方法引入了注意力機制。如圖10所示,SK模組首先使用兩個不同大小的卷積核處理Feature Map,再將結果相加,再經過一系列操作,得到了每一路的權值a和b,使用a和b對每一路Feature Map加權後,得到最終的Feature Map。

圖7 SE(Squeeze & Excitation)模組

圖8 GE(Gather & Excite)模組

圖9 CBAM模組

圖10 SK模組

3. 基於深度學習的影象細粒度分類演算法

在CVPR比賽中的應用

6月19日,CVPR 2022在美國舉行,CVPR作為全球計算機視覺三大頂級會議之一,被譽為計算機視覺領域的“奧斯卡”。汽車之家團隊在作為大會研討會內容之一的,在Kaggle上舉辦的CVPR 2022 Sorghum-100 Cultivar Identification-FGVC 9(高粱品種鑑定細粒度影象分類)挑戰賽中取得了第二名的成績,實現了公司歷史上的突破。

細粒度影象分類一直是計算機視覺領域的研究熱點,主要難點在於細粒度標註影象的類間距離小,類內距離大導致部分影象的類別靠人眼都很難分辨,比如,此次FGVC9的比賽中,高粱品種鑑定和植物標本識別競賽的資料需要很強的專業知識才能判定影象所屬類別。如圖11所示,兩個圈內的同樣顏色的樣本之間的距離稱為類內距,不同顏色的樣本之間的距離稱為類間距。

圖11 類內距和類間距

本次比賽中,主要使用了RegNetY-16.0GF作為主幹網,大解析度影象對精度的提升起到了很大作用,當將影象解析度由512增大到960之後,精度在私榜上由84.1提升到了91.9。因此,我們相信,大解析度影象對於細粒度分類效果提升有較大幫助。

如前文所述,注意力機制的引入能極大提升細粒度影象分類模型的精度,除了作為主幹網的RegNetY-16.0GF中的SE [14] 模組之外,本次比賽中還提出了一種新型的注意力區域裁剪策略。注意力區域裁剪是細粒度影象分類領域常用的方法,如圖12所示,SCDA [18] 使用最大聯通域的方法,將注意力區域裁剪出來,避免了不相關區域對模型訓練的影響,使模型更加關注注意力區域。最大連通域法對於注意力區域比較明顯的情況,如圖12所示的鳥,處理效果較好,對於Sorghum-100資料集則很難適用。如圖13所示,Sorghum-100資料集的注意力區域比較分散,使用最大連通域的方法裁剪注意力區域的話,在得到較好的注意力區域的同時,會丟失一部分注意力區域,降低模型的分類精度。因此,我們提出了一種注意力區域隨機裁剪法。該方法的流程圖如圖14所示,輸入影象經過一個Epoch訓練之後,可以得到一個模型,使用該模型預測所有訓練影象,對訓練原圖進行裁剪,將裁剪後的結果作為下一個Epoch的訓練資料,如此迴圈,直到訓練結束。隨機裁剪流程如圖15所示,使用第n個Epoch訓練出的模型對訓練影象進行預測,得到全連線層之前輸出的注意力影象,如圖13所示。使用閾值T對注意力影象進行二值化,得到黑白圖G。假設隨機crop的影象的寬高分別為w和h,可以對圖G進行N此裁剪,包含白色區域最多的區域(x,y,w,h)即為第n+1個Epoch該圖用於訓練的區域。

使用這種注意力區域隨機裁剪法,一方面保證了模型更關注注意力區域,另一方面又避免了由於注意力區域較分散造成的資訊丟失。

圖12 SCDA

圖13 注意力區域隨機裁剪

圖14 注意力區域隨機裁剪

圖15 隨機裁剪流程圖

資料增強方面,除了常見的左右翻轉、隨機裁剪之外,還使用了谷歌在CVPR2019論文中提出的AutoAugment [19] ,該方法通過引數搜尋,獲得了在常見資料集,如CIFAR、ImageNet等,上的最佳增強策略。

Pseudo Label作為一種常用的自監督學習方法,也被廣泛用於影象分類領域。每次訓練結束之後,都使用訓練出的最佳模型,對測試集進行預測,將預測結果作為標註資訊,加入訓練集,不斷迴圈,直到測試集準確率沒有明顯提升。本次比賽中,加入Pseudo Label之後,私榜上精度由91.9提升到了95.1。

Test Time Augmentation(TTA)作為一種常見的測試技巧,也被應用到了本次比賽中。資料增強除了在訓練階段可以用來避免過擬合,提升模型泛化性之外,在測試階段也可以有效提升模型精度。

Dropout作為一種有效防止過擬合的方法,在比賽的最後階段,dropout的加入使模型精度在私榜上由95.1提升到95.3。

Ensemble也是一種競賽常見技巧,將不同模型預測的embedding進行加權,再使用加權後的embedding進行預測,也可以有效提升模型精度。本次比賽的最後階段,Ensemble的加入使模型精度在私榜上由95.3提升到95.9。

4. 基於深度學習的影象細粒度分類演算法

在汽車之家車系識別業務中的應用

汽車之家作為汽車網際網路垂直領域的領軍企業,一直深耕如車系識別等汽車領域的人工智慧演算法。車系識別目前支援識別4000多個車系,涵蓋賓士、寶馬、奧迪等絕大部分常見車系,應用於主APP的拍照識車、二手車/論壇資訊校驗等多個內部應用。

本次比賽結束之後,車系識別模型也使用了比賽中使用的RegNetY-16.0GF,準確率提升了3.25%。如圖17所示,模型的注意力區域主要集中在車頭位置,因此對於同一車系內部,車頭外觀相差較大的車系,識別準確率較差;同樣,對於不同車系,車頭外觀較相似的車系,也容易混淆。即圖11中提到的,細粒度分類問題中常見的,類間距離小,類內距離大問題。

圖16 汽車之家主app拍照識車

圖17 車系識別模型注意力圖

5. 總結及展望

近年來,深度學習的發展極大推動了細粒度分類在交通、醫療、工業、農業、電商等領域的落地。各種反應工業界需求的相關比賽也吸引了大量從業者參加,如專注自然物種分類的iNat Challenge 2021[20]、關於漁業資源保護的Fisheries Monitoring[21]、阿里巴巴主辦的AliProducts Challenge等。與一般影象分類問題相似,細粒度分類的發展也面臨著諸多挑戰:

  1. 資料標註:細粒度影象的標註往往需要相關專業知識(如醫學等),這給標註帶來了極大困難。因此,自監督學習是未來的一大趨勢。FAIR的何凱明團隊最近提出的自監督學習框架MAE[23]在Imagenet[2]分類任務上取得了SOTA(State of Art)的結果,相信在不久的將來,自監督學習也會在細粒度分類任務上取的驕人的成績。

  2. 識別魯棒性:眾所周知,影象分類問題受影象質量影響較大,暗光、過曝、模糊等影象質量問題都會影響到影象分類的精度,這一影響對細粒度分類尤其嚴重,如何提高細粒度分類模型的魯棒性也是這一領域從業者面臨的較大挑戰。

  3. 訓練集不包含的類別:在一個影象分類資料集上訓練的模型往往難以分辨該資料集之外的影象,有時會把這部分影象誤識為訓練集中的某一類別,也就是學術界常常提到的OOD(Out of Distribution)問題。這類問題往往需要前置一個檢測或分割模型,將模型不能識別的類別的影象篩選出來。如果在訓練集中增加“其他”這一類別,由於其他類包含太廣,識別效果往往不好。因此,這一問題的解決也將是細粒度分類領域的一大挑戰。

  4. 小樣本識別(長尾):細粒度分類的很多類別資料收集較困難,因此會出現訓練/測試樣本不均衡問題,也就是業界常常提到的“長尾”問題。這就導致模型對資料量較大的類別識別效果較好,對資料量較小的類別識別效果較差。

參考文獻

[1]. Krizhevsky, A., Sutskever, I., and Hinton, G. E. ImageNet classification with deep convolutional neural networks. In NIPS, pp. 1106–1114, 2012

[2].Deng, J., Dong, W., Socher, R., Li, L.-J., Li, K., and Fei-Fei, L. Imagenet: A large-scale hierarchical image database. In Proc. CVPR, 2009

[3]. J. Sánchez and F. Perronnin. High-dimensional signature compression for large-scale image classification. In Computer Vision and Pattern Recognition (CVPR), 2011 IEEE Conference on, pages 1665–1672. IEEE, 2011

[4].K. Simonyan, A. Zisserman, Very Deep Convolutional Networks for Large-Scale Image Recognition. In International Conference on Learning Representations, 2015

[5].K. He, X. Zhang, S. Ren and J. Sun, "Deep Residual Learning for Image Recognition," 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2016, pp. 770-778, doi: 10.1109/CVPR.2016.90.

[6].C. Szegedy et al., "Going deeper with convolutions," 2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2015, pp. 1-9, doi: 10.1109/CVPR.2015.7298594.

[7].C. Szegedy, V. Vanhoucke, S. Ioffe, J. Shlens and Z. Wojna, "Rethinking the Inception Architecture for Computer Vision," 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2016, pp. 2818-2826, doi: 10.1109/CVPR.2016.308.

[8].Szegedy, C., Ioffe, S., Vanhoucke, V., et al. Inception-v4, Inception-Resnet and the Impact of Residual Connections on Learning. Thirty-First AAAI Conference on Artificial Intelligence, San Francisco, 4-9 February 2017, 4278-4284.2017

[9].G. Huang, Z. Liu, L. Van Der Maaten and K. Q. Weinberger, "Densely Connected Convolutional Networks," 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2017, pp. 2261-2269, doi: 10.1109/CVPR.2017.243.

[10].B. Zoph, V. Vasudevan, J. Shlens and Q. V. Le, "Learning Transferable Architectures for Scalable Image Recognition," 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition, 2018, pp. 8697-8710, doi: 10.1109/CVPR.2018.00907.

[11].R. Doon, T. Kumar Rawat and S. Gautam, "Cifar-10 Classification using Deep Convolutional Neural Network," 2018 IEEE Punecon, 2018, pp. 1-5, doi: 10.1109/PUNECON.2018.8745428.

[12].N. Schneider, F. Piewak, C. Stiller and U. Franke, "RegNet: Multimodal sensor registration using deep neural networks," 2017 IEEE Intelligent Vehicles Symposium (IV), 2017, pp. 1803-1810, doi: 10.1109/IVS.2017.7995968.

[13].Alexey Dosovitskiy, Lucas Beyer, Alexander Kolesnikov, Dirk Weissenborn, Xiaohua Zhai, Thomas Unterthiner, Mostafa Dehghani, Matthias Minderer, Georg Heigold, Sylvain Gelly, Jakob Uszkoreit, Neil Houlsby, An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale. ICLR 2021

[14].J. Hu, L. Shen and G. Sun, "Squeeze-and-Excitation Networks," 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition, 2018, pp. 7132-7141, doi: 10.1109/CVPR.2018.00745.

[15].Jie Hu and Li Shen and Samuel Albanie and Gang Sun and Andrea Vedaldi, Gather-Excite: Exploiting

Feature Context in Convolutional Neural Networks,NIPS 2018

[16].Woo, S., Park, J., Lee, JY., Kweon, I.S. (2018). CBAM: Convolutional Block Attention Module. In: Ferrari, V., Hebert, M., Sminchisescu, C., Weiss, Y. (eds) Computer Vision – ECCV 2018.

[17].X. Li, W. Wang, X. Hu and J. Yang, "Selective Kernel Networks," 2019 IEEE/CVF Conference on

Computer Vision and Pattern Recognition (CVPR), 2019, pp. 510-519, doi: 10.1109/CVPR.2019.00060.

[18].X. Wei, J. Luo, J. Wu and Z. Zhou, "Selective Convolutional Descriptor Aggregation for Fine-Grained

Image Retrieval," in IEEE Transactions on Image Processing, vol. 26, no. 6, pp. 2868-2881, June 2017,

doi: 10.1109/TIP.2017.2688133.

[19].E. D. Cubuk, B. Zoph, D. Mané, V. Vasudevan and Q. V. Le, "AutoAugment: Learning Augmentation

Strategies From Data," 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition

(CVPR), 2019, pp. 113-123, doi: 10.1109/CVPR.2019.00020.

[20].iNat Challenge 2021 http://www.kaggle.com/c/inaturalist-2021

[ 21]. Fisheries Monitoring http://www.kaggle.com/competitions/the-nature-conservancy-fisheries-monitoring/

[22]. http://tianchi.aliyun.com/competition/entrance/531884/introduction

[23].Kaiming He and Xinlei Chen and Saining Xie and Yanghao Li and Piotr Dollar and Ross Girshick,

Masked Autoencoders Are Scalable Vision Learners, IEEE/CVF Conference on Computer Vision and

Pattern Recognition, 2022

作者簡介

本文作者陳心、韓沛奇、張磊,來自智慧資料中心-影象組,主要從事影象相關演算法研發、落地,包括車系識別、車輛檢測、人臉檢測、影象去重、人臉識別、圖文多模態等。