字節(jié)跳動獲CVPR2021 細粒度圖像競賽雙料冠軍
用更少的數(shù)據(jù),更低的成本完成模型的訓(xùn)練
當(dāng)我們還對玫瑰、月季和薔薇傻傻分不清楚的時候,計算機視覺已經(jīng)可以在一萬種極其相似的自然界物種里精確地分門別類了。
圖像分類是計算機視覺領(lǐng)域一個由來已久,經(jīng)過了深入挖掘的問題。但在訓(xùn)練數(shù)據(jù)有限且類別高度相似的領(lǐng)域中,現(xiàn)有技術(shù)的表現(xiàn)并不盡如人意。特別是細粒度分類(Fine-Grained Visual Categorization),如視覺上相似的植物或動物物種、視網(wǎng)膜疾病、建筑風(fēng)格等的精確區(qū)分,仍然極具挑戰(zhàn)性。當(dāng)前,細粒度圖像分類也被認為是計算機視覺領(lǐng)域正在解決的最有趣和最有用的開放問題之一。
FGVC是全球頂級計算機視覺盛會CVPR主辦的workshop競賽。在剛剛落幕的CVPR2021中,字節(jié)跳動以出色的表現(xiàn) ,榮獲了iNat Challenge 2021大規(guī)模細粒度分類和Semi-Supervised iNat 2021:半監(jiān)督細粒度分類兩項競賽的冠軍。
一起看看技術(shù)大神們是怎么做到的吧。

△BrownBlueGreendd團隊在iNat Challenge2021競賽中奪冠
△Amadeus團隊在Semi-Supervised iNat2021競賽中奪冠
△BrwonBlueGreendd和Amadeus成員均來自字節(jié)跳動智能創(chuàng)作團隊
背景介紹
據(jù)估計,自然界包含數(shù)百萬種極其相似的植物和動物。在細粒度分類上,如果沒有專業(yè)知識,許多物種極難分類。而且,數(shù)據(jù)收集和標注也面臨較大的困難,常常伴隨著類別大,數(shù)據(jù)量少,無標注樣本多的問題。
本屆FGVC在細粒度分類的方向上舉辦了兩個不同設(shè)定的比賽。
1)iNat Challenge 2021:大規(guī)模的細粒度分類,任務(wù)要求在10000類數(shù)據(jù)上對自然界中的物種進行分類;
2)Semi-Supervised iNat 2021:半監(jiān)督的細粒度分類,任務(wù)旨在揭示現(xiàn)實環(huán)境中遇到的一些挑戰(zhàn),從部分標注的數(shù)據(jù)中學(xué)習(xí)。
比賽難點
兩項賽事在側(cè)重點和設(shè)定上各有不同,從不同角度指向了細粒度分類中常遇到的難點:
1)細粒度分類類別多;
2)大量標簽的類間差異小;
3)圖像數(shù)據(jù)中背景干擾較大,實際區(qū)分區(qū)域占比差異大;
4)數(shù)據(jù)標注難度大導(dǎo)致有標注數(shù)據(jù)量少;
5)無標注數(shù)據(jù)中同時包含類內(nèi)和類外未標記數(shù)據(jù),且類外數(shù)據(jù)占比不明,比例較大;
6)類間數(shù)據(jù)不平衡,標注/無標注數(shù)據(jù)均有明顯的長尾現(xiàn)象等等。
算法技術(shù)方案
全監(jiān)督賽道
△全監(jiān)督賽道的物種數(shù)量分布
全監(jiān)督賽道面對的主要問題是物種類別數(shù)目多,分類的粒度細,不同物種之間數(shù)量差異比較大,因此,BrownBlueGreendd團隊從針對該任務(wù)在以下幾個方面進行了改進。
網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計
不同于普通的圖像分類任務(wù),在細粒度任務(wù)中使用簡單的Softmax 加交叉熵的損失函數(shù)往往訓(xùn)練起來收斂較慢且效果欠佳。在細粒度場景下,團隊選擇度量學(xué)習(xí)中常用的ArcFace[1]作為損失函數(shù),Arcface通過增加邊界懲罰,增強了類內(nèi)的緊湊度以及類間的差異,有效的提升了模型的分類準確率。
△Arcface計算公式
在Backbone網(wǎng)絡(luò)的選擇中,團隊選擇了基于Transformer結(jié)構(gòu)的Swin-Transformer[2]以及基于CNN結(jié)構(gòu)的EfficientNet[3]?作為基礎(chǔ)網(wǎng)絡(luò),這兩個Backbone的優(yōu)點是模型的Imagenet 準確率較高且性能較好。
多模態(tài)信息融合
與往年的比賽設(shè)置不同,今年的比賽中主辦方提供了圖像的經(jīng)緯度以及日期等信息,這對自然界生物的細粒度識別有很大的幫助,比如南美洲和亞洲的某種植物,在采集的圖像上可能差異并不大,但通過圖像的經(jīng)緯度等信息,就可以很容易的對兩個物種進行區(qū)分。團隊設(shè)計了如圖所示的多模態(tài)信息融合網(wǎng)絡(luò),其中,圖像信息通過Backbone網(wǎng)絡(luò)得到相應(yīng)的圖像特征。對于地理信息,首先對地理信息進行編碼,然后通過Embedding網(wǎng)絡(luò)映射成為特征向量,與圖像特征進行疊加后,送入最后的分類器中。實驗結(jié)果顯示加入地理特征后,在不同的網(wǎng)絡(luò)結(jié)構(gòu)中均有3-4個點的提升。
△多模態(tài)信息融合網(wǎng)絡(luò)
此外,賽后團隊還探索了基于檢測的方案。首先基于歷年具有檢測框的數(shù)據(jù)訓(xùn)練一個目標檢測器。對于輸入的原始圖像,首先用檢測器提取圖像的關(guān)鍵區(qū)域,隨后將原始圖像與提取的關(guān)鍵區(qū)域圖像分別經(jīng)過特征提取網(wǎng)絡(luò),并進行特征融合。實驗表明,在模型參數(shù)量幾乎不變的情況下,采用基于檢測的方案會給同樣的基礎(chǔ)模型準確率帶來明顯的提升。
△基于檢測的方案
數(shù)據(jù)增強
在訓(xùn)練階段,團隊采用隨機翻轉(zhuǎn),隨機旋轉(zhuǎn),以及亮度、對比度、飽和度上的變化進行數(shù)據(jù)增強。同時團隊還采用了隨機擦除的增強方式,即在輸入圖中隨機選擇一塊區(qū)域以概率P擦除該區(qū)域,并使用圖像的均值進行填充,有效的緩解了過擬合現(xiàn)象。
在測試階段,團隊使用FiveCrop、水平翻轉(zhuǎn)與多尺度測試來提高模型的表現(xiàn)。此外,對于多個基礎(chǔ)模型的預(yù)測結(jié)果,拋棄了現(xiàn)有的模型融合策略,創(chuàng)新性地采用了進化算法實現(xiàn)多模型預(yù)測的融合,對每個基礎(chǔ)模型的投票權(quán)重進行迭代優(yōu)化,避免了手動調(diào)節(jié)超參數(shù)的同時,進一步提升了預(yù)測準確率。最后,團隊得到了95.56%(Public)/95.58%(Private)的Top1 準確率。
半監(jiān)督賽道
半監(jiān)督學(xué)習(xí)旨在使用更有效的方式利用無標注數(shù)據(jù)去提升模型的效果。其中一部分方法是通過在無標注數(shù)據(jù)上進行無監(jiān)督學(xué)習(xí)(對比學(xué)習(xí))等,得到預(yù)訓(xùn)練模型后在有標注數(shù)據(jù)上進行fine-tuning,如MoCo[4]?系列,SimCLR[5]?系列,SwAV[6]?等。另外一些方法是在共同使用這些有標注及無標注數(shù)據(jù)進行訓(xùn)練,如FixMatch[7],MixMatch[8]等。
無監(jiān)督訓(xùn)練方案
無標注數(shù)據(jù)的使用可以在few-shot場景下帶來較大的收益,如何利用這部分數(shù)據(jù)顯得非常重要。該場景的設(shè)定困難且較為貼近實際場景,即同時包含類內(nèi)及類外的數(shù)據(jù),類外數(shù)據(jù)占比可能在70%-90%。同時由于細粒度的特性,數(shù)據(jù)的類間差異較小。這些特點使得無監(jiān)督對比學(xué)習(xí)及半監(jiān)督學(xué)習(xí)在該設(shè)定下的收益較小。
團隊設(shè)計并優(yōu)化了聚類方案將無監(jiān)督轉(zhuǎn)化為大規(guī)模小量數(shù)據(jù)的有監(jiān)督學(xué)習(xí),通過特征和類別信息將無標注圖像劃分成cluster,通過cluster分布和數(shù)量等信息選取相應(yīng)的有效類別,將cluster信息當(dāng)作弱監(jiān)督的標注進行有監(jiān)督訓(xùn)練。
△無監(jiān)督訓(xùn)練流程
隨后通過使用有監(jiān)督數(shù)據(jù)進行引導(dǎo)和pseudo-label的方式篩選與目標標簽更緊密更相關(guān)的數(shù)據(jù),進行二輪Fine-Grained Recluster。并將前一階段的模型在該精細數(shù)據(jù)上進行微調(diào),得到新的預(yù)訓(xùn)練模型。
同時,訓(xùn)練期間可以采用Prototypical的方式,減少長尾及數(shù)據(jù)量少帶來的影響。
有監(jiān)督訓(xùn)練方案
有標注的數(shù)據(jù)在數(shù)量較少,在進行微調(diào)的過程中,很容易出現(xiàn)過擬合的情況,而且由于過擬合的情況,導(dǎo)致數(shù)據(jù)平衡策略都不是很奏效。同時由于模型參數(shù)量的不同,微調(diào)對于過擬合/擬合的程度也不同,在參數(shù)量大的模型,如ResNeSt269e及NFNet,單一學(xué)習(xí)率及雙階段微調(diào)會產(chǎn)生嚴重的過擬合。
于是團隊針對解決過擬合問題采用了兩種不同的微調(diào)方法。
1) 針對參數(shù)量較大的模型,使用分層學(xué)習(xí)率微調(diào),凍住BN/LN層,對于淺層網(wǎng)絡(luò)開小學(xué)習(xí)率,采用數(shù)據(jù)平衡策略進行訓(xùn)練。
2)針對參數(shù)量較小的模型,使用雙階段微調(diào),第一階段凍住BN/LN層,端到端微調(diào)整個網(wǎng)絡(luò),第二階段凍住骨干網(wǎng)絡(luò),采用數(shù)據(jù)平衡策略微調(diào)最后的refactor及fc線性層。
雙階段相較單階段有更大的收益,分層學(xué)習(xí)率對于大參數(shù)量模型在單階段也有更好的效果。
△微調(diào)流程
迭代訓(xùn)練
該訓(xùn)練流程是可以迭代起來以增強網(wǎng)絡(luò)的最終效果,通過更好的模型可以獲得更好的cluster及pseudo-label,可以產(chǎn)出更強的預(yù)訓(xùn)練模型,以及準確的預(yù)測結(jié)果。
測試階段
測試階段采用多尺度測試及Five Crop等增強方式。同時使用不同結(jié)構(gòu)不同訓(xùn)練方式的網(wǎng)絡(luò)進行ensemble,最終在官方驗證集上達到了82.1%的Top-1準確率。
結(jié)果與總結(jié)
采用上述的技術(shù)方案,團隊在全監(jiān)督和半監(jiān)督賽道均取得了冠軍的成績。
△全監(jiān)督賽道
△半監(jiān)督賽道
成果落地應(yīng)用
細粒度識別在多種場景下都有著應(yīng)用,比如識別身邊的植物,動物,商品等。半監(jiān)督的技術(shù)貼合細粒度問題的實際運用場景,使得團隊在構(gòu)建深度學(xué)習(xí)模型時,降低標注成本,使用更少的數(shù)據(jù),以更低的成本來完成模型的訓(xùn)練。目前,上述技術(shù)正在字節(jié)跳動的部分產(chǎn)品里開發(fā)落地。
字節(jié)跳動智能創(chuàng)作團隊
智能創(chuàng)作團隊是字節(jié)跳動的多媒體創(chuàng)新科技研究所和綜合型服務(wù)商。覆蓋音視頻、計算機視覺、語音、圖形圖像、工程軟件開發(fā)等多技術(shù)方向,在部門內(nèi)部實現(xiàn)了內(nèi)容創(chuàng)作和消費的閉環(huán)。旨在以多種形式向公司內(nèi)部各類業(yè)務(wù)線和外部 toB 合作伙伴提供業(yè)界最前沿的多媒體和智能創(chuàng)作能力與行業(yè)解決方案。
目前,智能創(chuàng)作團隊已通過字節(jié)跳動旗下的智能科技品牌火山引擎向企業(yè)開放技術(shù)能力和服務(wù)。
- 超詳細!2025科技創(chuàng)變者大會最新議程公布!2025-08-21
- 中科慧遠發(fā)布CASIVIBOT,以九年積累開啟AOI與機器人協(xié)同的品質(zhì)檢測新時代2025-08-20
- 嚯!剛剛,張麻子陪我玩黑猴了2025-08-19
- 機器人全產(chǎn)業(yè)鏈接會 FAIR plus 2026媒體見面會在京召開2025-08-16