獲得Open Images冠軍,商湯TSD目標檢測算法入選CVPR 2020 ?
隨著深度學習的不斷發展,目標檢測精度的提升愈加困難,一般而言能提升1~2%的mAP(平均準確率)便算是很大的突破了。
但是,商湯研究團隊發表的TSD算法提升了難以置信的3~5% mAP!而且是在行業難度最高的數據集Open Images和COCO。以該算法作為核心的解決方案(鏈接:
https://arxiv.org/pdf/2003.07557.pdf)榮獲Open Images Object Detection Challenge 2019 冠軍。
首次提出分類和回歸任務分別學習
機器認識一個物體需要從兩個維度:分類和回歸。分類是指識別物體的屬性,例如判斷一幅圖片上的動物是一只貓還是一只狗;回歸是指識別物體的區域和位置。
傳統目標檢測方法(比如Faster RCNN)通常是分類和回歸一起學習,共享Proposal(物體潛在存在的區域框)和Sibling head(特征提取器)。
它是怎樣的過程呢?如圖2的下半部分,分類和回歸共享一個輸入Proposal P(即紅色框),以及同一個特征提取器f(·),輸出結果W/o TSD。
但是我們發現,最終輸出的圖片框其分類置信度和檢測框的準確度是不一致的,如下圖檢測框的置信度很高,但是沒有框住飛機機翼,即區域框是不準確的。
圖2:傳統目標檢測方法和商湯TSD方法比較
那么為什么會造成這樣的問題?商湯研究團隊通過一個實驗來探尋,發現分類和回歸過程的特點,如下圖:
在實驗中發現,分類任務(圖中Classification)更關注語義信息豐富的地方,而回歸任務(圖中Localization)比較關注物體的邊界處。所以傳統的Faster RCNN對于分類任務和回歸任務共享同一個Proposal和特征提取器就會出現一些內在的矛盾影響檢測器的訓練。
本文提出的基于任務間空間自適應解耦(task-aware spatial disentanglement,TSD)的檢測算法,對于分類任務和回歸任務,分別讓其學習各自適應的Proposal和特征提取器。
如圖2上半部分,將輸入Proposal P的分類任務變換成P_c,回歸任務變換成P_r。再分別通過不同的特征提取器f_c(·)和f_r(·)做分類和回歸。
這種方法的輸入和特征提取器都是不共享的,從而最大程度地減少由于優化目標不一樣帶來的沖突,進而顯著提升性能。
引入損失函數PC,大幅度提升檢測器性能
本文還引入了漸進約束損失函數PC(Progressive Constraint),幫助TSD檢測器性能穩定超越傳統的檢測器頭部,讓分類任務和回歸任務的準確度比原始方法更高。
對于分類任務,通過以下公式保證分類任務準確度比傳統方法更高:
其中表示對于第y類的預測置信度,
是預定的Margin。
對于回歸任務,通過以下公式保證回歸任務準確度比傳統方法更高:
是原始檢測器頭部得到的檢測框,
是TSD算法得到的檢測框。如果當前的Proposal是一個負樣本,那么該Loss會被Ignore。
在推理階段,原始的檢測器頭部不再使用。Classical Loss是原始損失函數,TSD Loss是本文提出的損失函數。
實驗結果
1、與不同網絡解耦方式比較,TSD效果最好
首先將TSD與在不同的網絡層進行任務間解耦的結構進行比較,如上圖所示。
表1:各類解耦方式與TSD解耦方式比較
綜合參數量和性能提升,TSD相比于其他解耦方式,具備明顯的優勢。
2、TSD與Sibling head聯合訓練效果更好
在TSD整體的訓練中,傳統的Sibling head仍然可以進行聯合訓練來優化Backbone,同時漸進約束損失(PC)可以進一步提升TSD的性能。
表2:傳統Sibling head與TSD聯合訓練可提升性能
表3:加入PC損失函數對于分類和回歸準確率影響
從表2可以看出兩個Head聯合訓練可以進一步帶來性能的提升。從表3可以看出,加入損失函數PC之后,無論對于分類還是對于回歸,PC都可以進一步帶來準確率提升,兩者都用PC帶來的效果是最好的。
3、TSD在COCO、Open Images和網絡結構上均能大幅提升準確率
從表4可以看出,在不同網絡結構上(包括ResNet-50、ResNet-101、ResNet-152等),本文提出的TSD方法在準確度上均有明顯提升。且推理時間增長不超過10%。
表4:在不同網絡結構上,傳統方法與TSD方法準確度對比
表5可以看出,在谷歌提出的Open Images大規模數據集上,TSD方法均有性能上的顯著提升。
表5:在Open Images數據集上,
傳統方法與TSD方法對比
表6:在COCO分割任務上,傳統方法與TSD方法對比
在表6的COCO分割任務上,TSD方法也能帶來明顯性能提升,而且提升幅度較大。
4、與當前行業領先算法比較
基于ResNet-101的Backbone,TSD算法達到了新的state-of-the-art的性能,并且在SENet154-DCN的基礎結構下,COCO的性能達到了51.2 map。
結論
本文針對通用物體檢測算法中分類任務和回歸任務之間因為優化目標不一致帶來的潛在沖突,提出了基于任務間空間自適應解耦的檢測算法TSD。
在檢測器頭部通過特定設計的偏移量生成策略以及聯合訓練優化漸進損失來有效的提升檢測器性能,在額外的推理時間損耗不超過10%的情況下,能夠穩定提升3%~5%的檢測性能,并且成為Open Images 2019 Object detection challenge奪冠的核心算法。
大量實驗證明,TSD可以比較容易的搭配各種不同的網絡結構以及Anchor-based的檢測框架來進行使用。
更多精彩內容可查看原文,鏈接:https://arxiv.org/pdf/2003.07540.pdf
招聘
商湯研究院-基礎技術團隊招聘研究員\見習研究員:
1.強化學習方向:探索在復雜環境(如游戲AI、系統優化)中的強化學習方法,研究包括但不限于multi agent RL、imitation learning、model-free場景下sampling efficiency等基礎問題;參與實際項目中的RL方法設計與探索。
2.巨型網絡優化方向:研究在billion level數據下的超大型網絡結構設計與搜索,包括但不限于人臉識別模型優化、sampling based NAS,optimizer設計與搜索等。
有興趣的小伙伴請投遞簡歷至liuyu@sensetime.com。