CVPR 2019細粒度圖像分類workshop的挑戰賽公布了最終結果:中國團隊DeepBlueAI獲得冠軍。本文帶來冠軍團隊解決方案的技術分享。
近日,在Kaggle上舉辦的CVPR 2019 Cassava Disease Classification挑戰賽公布了最終結果,國內團隊 DeepBlueAI 獲得冠軍。
國際計算機視覺與模式識別會議(CVPR)是IEEE一年一度的學術性會議,CVPR是世界頂級的計算機視覺會議之一,會議的主要內容是計算機視覺與模式識別技術。CVPR 2019 在洛杉磯長灘舉行,FGVC6 Workshop也將作為 CVPR 2019 的一部分如期召開。FGVC6 Workshop 共有十個挑戰賽,每個都代表了細粒度視覺分類在某個細分領域的挑戰。
FGVC全稱為Fine-Grained Visual Categorization,細粒度圖像分類,即區分不同的動物和植物、汽車和摩托車模型、建筑風格等,是機器視覺社區剛剛開始解決的最有趣和最有用的開放問題之一。細粒度圖像分類在于基本的分類識別(對象識別)和個體識別(人臉識別,生物識別)之間的連續性。相似的類別之間的視覺區別通常非常小,因此很難用當今的通用識別算法來解決。
今年是FGVC舉辦的第六屆比賽,往屆比較著名的比賽諸如iNaturalist和iMaterialist,前者側重于區分自然界不同的生物,后者則是側重于區分不同的人造物體。
不同于傳統的廣義上的分類任務,FGVC的挑戰致力于子類別的劃分,需要分類的對象之間更加相似,例如區分不同的鳥類、不同的植物、不同的日用品等。
賽題介紹
Cassava Disease Classification挑戰賽是一個根據木薯的葉子區分不同種類的木薯疾病的任務。Cassava 譯為木薯,是非洲第二大碳水化合物供應者,因為其能夠承受惡劣的環境。因此木薯是小農種植的一種關鍵的糧食安全作物,在撒哈拉以南非洲,至少80%的小農家庭種植木薯,而病毒性疾病是低產量的主要來源。
在這次比賽中,主辦方引入一個包含5種類別的木薯葉疾病的數據集,該數據集源于在烏干達定期調查中收集到的9436標記圖像,主要從農民在自家田地里拍攝的圖片,然后由國家作物資源研究所(NaCRRI)與Makarere大學的人工智能實驗室共同對圖像進行標注。
數據集包括木薯植株的葉子圖像,9,436張帶注釋的圖像和12,595張未標記的圖像。參與者可以選擇使用未標記的圖像作為額外的訓練數據。目標是學習一個模型,使用訓練數據中的圖像將給定的圖像分類為這4個疾病類別或健康葉子的類別。
團隊成績
題目特點以及常用方法
細粒度圖像分類 (Fine-grained imagecategorization), 又被稱作子類別圖像分類 (Sub-category recognition)。其目的是對屬于同一基礎類別的圖像進行更加細致的子類劃分, 但由于子類別間細微的類間差異以及較大的類內差異, 更傳統的圖像分類任務相比, 細粒度圖像分類難度明顯要大很多。從下圖中的木薯的葉子可以看出,不同的葉子病變情況長相非常相似,此外同一類別由于姿態,背景以及拍攝角度的不同,存在較大的類內差異。
細粒度圖像分類的常用方法可以分為兩種,分別是基于強監督信息的方法和僅使用弱監督信息的方法。前者需要使用對象的邊界框和局部標注信息,后者僅使用類別標簽,Cassava Disease Classification是一種弱監督信息的細粒度識別,一般采用預訓練模型finetune,并結合訓練技巧對模型精調。
實驗模型:SENet、ResNet、DenseNet
ResNet是CNN歷史上一個里程碑事件,模型深度達到了152層,這和之前CNN的層數完全不在一個量級上。ResNet中的identity的這條線類似一條電路上的短路(shortcuts,skip connection),使得模型學習更加容易,深層可以直接得到淺層的網絡特征。
DenseNet的原理不同于ResNet通過加深網絡層數以及Inception通過加寬網絡寬度來提高模型識別能力,而是利用特征重用和類似ResNet的Bypass的方式,減少了網絡參數和緩解了梯度消失的問題。
SENet提出了Sequeeze and Excitation block,該模塊于傳統網絡的最大區別在于其側重于構建通道之間的依賴關系,利用global average pooling來Sequeeze特征圖,并用Excitation對前者進行非線性變換,最后再疊加到輸入特征上。可以自適應的校準通道的相應特征,并且該模塊可以嵌入到現有的網絡結構中,實現精度的提升。
模型訓練與評測
原圖 VerticalFlip HorizontalFlip RandomRotateRandomCrop
RandomErasing
CutOut
由于訓練集樣本過少,對比分析后對輸入數據采取 VerticalFlip,HorizontalFilp 、RandomRotate和RandomCrop的增強操作。此外,還使用了RandomErasing和Cutout,方法會在原圖隨機選擇一些矩形區域,改變該區域的像素值,通過這些數據增強的方式,訓練集的圖片會被不同程度的遮擋,這樣可以進一步降低過擬合的風險并提高模型的魯棒性。
同樣的,為了增強模型的魯棒性減少過擬合,本次比賽我們利用5-fold crossvalidation,交叉驗證有效利用了有限的數據,并且評估結果能夠盡可能接近模型在測試集上的表現。用crossvalidation之后,SE_ResNeXt50測試集準確率提升0.01016,ResNet34測試集準確率提升0.01142。
這次比賽中,我們還使用了Mixup和label smoothing的訓練策略。Mixup顧名思義就是將兩張圖片按一定比例融合起來作為輸入,計算loss時,針對兩張圖片的標簽分別計算,然后按比例加權求和。Mixup是一種抑制過擬合的策略,通過增加了一些數據上的擾動,從而提升了模型的泛化能力。
實驗證明,該方式能將Top1準確率提高近一個百分點。對于分類問題,常規做法時將類別換成one-hot vector。由于標簽是類別的one-hot vector,這樣做易導致過擬合使得模型泛化能力下降;同時這種做法會將所屬類別和非所屬類別之間的差距盡可能大,因此很難調優模型。
為此,可以用label smoothing對標簽進行平滑處理,軟化one-hot類型標簽,使得計算損失函數時能有效抑制過擬合現象。
訓練以Adam為optimiser,學習率的設置為階梯狀,共四個取值,[3e-4, 1e-4,1e-5, 1e-6],設置patience為4來衰減學習率,即模型連續4個epoch在驗證集上效果沒有提升則衰減學習率,訓練總的epcoh在20次左右。本實驗使用的GPU為4卡2080Ti,并行訓練一個模型,batchsize通常設為32,較大的模型根據實際情況適當減小。
模型在預測時采用了數據增強的方式Test time augmentation(TTA),即將樣本圖像進行多個不同的變換獲得多個不同的預測結果,再將預測結果進行平均,提高精度。本次任務利用3*TTA,包括 RandomCrop, RandomCrop+HorizontalFlip 和RandomCrop+VerticalFlip 。
模型集成是算法比賽中常用的提高模型精度方法,本次比賽我們訓練了大量在ImageNet上表現優良的模型,其中表現較好的模型如下表所示、在采取多種融合方式之后,最終發現SE_ResNeXt50、SE_ResNeXt101、SENet154以及DenseNet201按照歸一化后權重的融合效果最好,在測試集上的準確率達到了0.92516。
模型 | 測試集準確率 |
SE_ResNeXt50 | 0.92251 |
SE_ResNeXt101 | 0.92384 |
SENet154 | 0.92384 |
DenseNet201 | 0.91721 |
MobileNetV2 | 0.91601 |
ResNet152 | 0.91710 |
SE_ResNeXt50+SE_ResNeXt101+SENet154+DenseNet201 | 0.92516 |
本次比賽主辦方提供了12595張未帶label的額外數據集,為了充分利用該數據集,利用在測試集表現最好的融合模型給這些數據集貼上偽標簽。然后利用訓練集和偽標簽數據集訓練模型,為了防止模型在偽標簽上過擬合,我們對偽標簽采取了一定的篩選操作。
采取的思路是:用多個不同概率閾值的過濾所得到的偽標簽進行線下實驗,看哪個閾值下的數據在線下的表現最好,就用通過該閾值篩選過濾出的數據,最終以0.95的閾值篩選出一半的數據作為添加到訓練集的偽標簽數據。
實驗證明這種半監督的學習方法具有更強的泛化能力。
模型 |
測試集準確率 (public leaderboard) |
Private leaderboard |
SE_ResNeXt50 | 0.92251 | 0.93012 |
SE_ResNeXt50 with pseudo data | 0.92195 | 0.93512 |
SE_ResNeXt101 | 0.92384 | 0.93134 |
SE_ResNeXt101 with pseudo data | 0.92202 | 0.93409 |
SENet154 | 0.92384 | 0.93054 |
SE_ResNeXt154 with pseudo data | 0.92283 | 0.93428 |
SE_ResNeXt50+SE_ResNeXt101+ SENet154+DenseNet201 |
0.92516 | 0.93727 |
SE_ResNeXt50+SE_ResNeXt101+ SENet154+DenseNet201 with pseudo data |
0.92516 | 0.93860 |
進一步工作
針對細粒度圖像分類,MSRA有一個結論:分析該問題時圖像的形態、輪廓特征原沒細節紋理特征重要,而傳統的CNN模型都是在構建輪廓特征,因此在構建神經網絡時,應該更加精確地找到圖像中最有區分度的子區域,然后再對這些區域采用高分辨率、精細化特征的方法,這樣可以進一步提高細粒度圖像分類的準確率。
另外對數據本身我們可能需要做更多的工作,在任務初期沒有做足夠的探索性數據分析,例如數據的分布、類型、輸入圖像的尺寸等都是影響結果的因素,因此數據分析也是后面的一個嘗試點。
-
圖像
+關注
關注
2文章
1089瀏覽量
40592 -
人工智能
+關注
關注
1796文章
47791瀏覽量
240573 -
計算機視覺
+關注
關注
8文章
1701瀏覽量
46146
原文標題:CVPR 2019細粒度圖像分類競賽中國團隊DeepBlueAI獲冠軍 | 技術干貨分享
文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
【藍橋杯物聯網STM32WLE5】第一章 競賽規則及說明
![【藍橋杯物聯網STM32WLE5】<b class='flag-5'>第一</b>章 <b class='flag-5'>競賽</b>規則及說明](https://file.elecfans.com/web2/M00/09/16/pYYBAGD0FvWAeWpFAAAb1Fux1oA753.jpg)
解決方案 | 基于TSMaster的平板電腦解決方案
![<b class='flag-5'>解決方案</b> | 基于TSMaster的平板電腦<b class='flag-5'>解決方案</b>](https://file.elecfans.com/web2/M00/40/07/pYYBAGJrUk2AaMaTAAAQONQtdzo461.jpg)
中國科大-云知聲聯合團隊斬獲CVPR2024開放環境情感行為分析競賽三項季軍
炬芯科技第一代K歌音箱單芯片解決方案量產
潤和軟件連續四年蟬聯數字業務類解決方案市場第一名
潤和軟件連續三年蟬聯互聯網金融服務類解決方案市場占有率第一
![潤和軟件連續三年蟬聯互聯網金融服務類<b class='flag-5'>解決方案</b>市場占有率<b class='flag-5'>第一</b>](https://file1.elecfans.com/web2/M00/FD/69/wKgZomaaDZmALWSnAAAdE1CDoMY347.png)
評論