CVPR2020 | 深蘭科技夜間檢測挑戰(zhàn)賽兩冠一亞,為自動駕駛保駕護航
這次比賽的主要難點包含以下幾個方面:
運動模糊和圖像噪點
與常規(guī)檢測數(shù)據(jù)集不同,該競賽考慮到實際駕駛情況,所用數(shù)據(jù)是在車輛行進過程中采集的,所以當車速較快或者有相對運動的時候會產(chǎn)生持續(xù)的運動模糊圖像。并且由于攝像頭是普通的RGB相機,因此在光線較弱的環(huán)境下收集的圖片質(zhì)量大幅度下降,這也是影響模型效果的主要原因。
對比度差異大,色彩信息少
這是由于收集數(shù)據(jù)主要來自于夜間環(huán)境所導(dǎo)致的必然結(jié)果,所以在進行數(shù)據(jù)增強的時候需要謹慎,不同增強方式會造成較大的影響。
不同的數(shù)據(jù)分布
該比賽的數(shù)據(jù)集涵蓋了不同的城市和天氣,之前常用的行人檢測數(shù)據(jù)集一般未同時滿足這兩個條件。該數(shù)據(jù)具有多樣性,且與常用數(shù)據(jù)集的數(shù)據(jù)分布存在較大差異。該比賽數(shù)據(jù)集與常用于訓(xùn)練預(yù)訓(xùn)練模型的數(shù)據(jù)集(如 COCO 數(shù)據(jù)集、OBJ365)的數(shù)據(jù)分布存在很大的不同,因此對基于常用數(shù)據(jù)集預(yù)訓(xùn)練的模型進行 fine-tune 的效果不如預(yù)期。
DeepBlueAI 團隊解決方案
DeepBlueAI 團隊在單幀行人檢測和多幀行人檢測兩個賽道中取得了冠軍成績,在檢測單幀中所有物體賽道中獲得了亞軍。
就檢測器而言,該團隊首先通過常規(guī)檢測所累積的經(jīng)驗構(gòu)造出一個 baseline:
Baseline = Backbone + DCN + FPN + Cascade + anchor ratio (2.44)
這些模塊早已是各個比賽的「?汀,也被許多專業(yè)人士進行了比較透徹的分析,此處不再贅述。DeepBlueAI 團隊進行了簡單的實驗,發(fā)現(xiàn)這些模塊總是有用,進而將這套算法作為 baseline,加上一些行人檢測的小 trick,如將 anchor ratio 改為 2.44、針對標注為 ignore 的目標在訓(xùn)練過程中 loss 不進行回傳處理。
具體主要工作包含以下幾個方面:
1. Double Heads
通過觀察實驗發(fā)現(xiàn),baseline 將背景中的石柱、燈柱等物體檢測為行人,這種情況大多和 head 效果不好有關(guān)。該團隊基于此進行了實驗,如 TSD [7]、CLS [8]、double head [9],并最終選擇了效果好且性價比高的 double head 結(jié)構(gòu)(如下圖所示):
Double Heads 結(jié)構(gòu)
通過對比實驗可以發(fā)現(xiàn):使用 FC-h(huán)ead 做分類、Conv-h(huán)ead 做回歸,可以得到最好的效果。
分類更多地需要語義信息,而坐標框回歸則更多地需要空間信息,double head 方法采用分而治之的思想,針對不同的需求設(shè)計 head 結(jié)構(gòu),因此更加有效。當然這種方法也會導(dǎo)致計算量的增加。在平衡速度和準確率的情況下,該團隊最終選擇了 3 個殘差 2 個 Non-local 共 5 個模塊。
2. CBNet [10]
合并功能更強大的 backbone 可提高目標檢測器的性能。CBNet 作者提出了一種新穎的策略,通過相鄰 backbone 之間的復(fù)合連接 (Composite Connection) 來組合多個相同的 backbone。用這種方式他們構(gòu)建出了一個更強大的 backbone,稱為「復(fù)合骨干網(wǎng)絡(luò)」(Composite Backbone Network)。
當然這也帶來了模型參數(shù)大小和訓(xùn)練時間的增加,屬于 speed–accuracy trade-off。該團隊也嘗試過其他的改進方式,但最終還是選擇了實用性更強的 CBNet,該方法不用再額外擔(dān)心預(yù)訓(xùn)練權(quán)重的問題。
該團隊選擇了性價比較高的雙 backbone 模型結(jié)構(gòu)。
請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個字
圖片新聞
技術(shù)文庫