CVPR2020夜間行人檢測挑戰賽兩冠一亞:DeepBlueAI獲勝方案解讀

2020-06-22 11:24:27

機器之心專欄

作者:羅志鵬(深蘭北京AI研發中心)

來自深蘭科技北京 AI 研發中心的 DeepBlueAI 團隊在 CVPR 2020 夜間行人檢測挑戰賽中斬落了兩個冠軍、一個亞軍。本文將介紹該團隊的解決方案。

近日,由 CVPR 2020 Workshop 舉辦的 NightOwls Detection Challenge 公佈了最終結果。來自深蘭科技北京 AI 研發中心的 DeepBlueAI 團隊斬獲了「單幀行人檢測」和「多幀行人檢測」兩個賽道的冠軍,以及「檢測單幀中所有物體」賽道的亞軍。

CVPR2020夜間行人檢測挑戰賽兩冠一亞:DeepBlueAI獲勝方案解讀

 

CVPR2020夜間行人檢測挑戰賽兩冠一亞:DeepBlueAI獲勝方案解讀

 

本文將爲大家介紹 DeepBlueAI 團隊的解決方案。

NightOwls 檢測挑戰賽簡介

檢測 RGB 攝像機拍攝的夜間場景圖片中的行人,是一個非常重要但是未被充分重視的問題,當前最新的視覺檢測算法並不能很好地預測出結果。官方 baseline 在 Caltech(著名行人檢測數據集)上的 Miss Rate(越小越好)可以達到 7.36%,但在夜間行人數據集上卻只能達到 63.99%。

夜間行人檢測是許多系統(如安全可靠的自動駕駛汽車)的關鍵組成部分,但使用計算機視覺方法解決夜間場景的檢測問題並未受到太多關注,因此 CVPR 2020 Scalability in Autonomous Driving Workshop 開展了相應的比賽。

NightOwls Detetection Challenge 2020 共有三個賽題:單幀行人檢測(該賽題與 2019 年相同)、多幀行人檢測,以及檢測單幀中所有物體(包括行人、自行車、摩托車三個類別):

Pedestrian Detection from a Single Frame (same as 2019 competition)

Pedestrian Detection from a Multiple Frames

All Objects Detection (pedestrian, cyclist, motorbike) from a Single Frame

賽題介紹

CVPR2020夜間行人檢測挑戰賽兩冠一亞:DeepBlueAI獲勝方案解讀

 

夜間行人數據集示例

Track 1: Pedestrian detection from a single frame

該任務只要求檢測行人(對應 Ground truth 中 category_id = 1 的行人類別),且所用算法只能將當前幀用作檢測的輸入,該題目與 ICCV 2019 NightOwls 挑戰賽相同。

Track 2: Pedestrian detection from multiple frames

該任務的要求與任務 1 相同,都是隻檢測行人,但是該任務允許使用當前幀以及所有先前幀 (N, N-1, N-2, …) 來預測當前幀的行人。

這兩個任務的數據集由 279000 張全註釋的圖片組成,這些圖片來源於歐洲多個城市黎明和夜間的 40 個視頻,並涵蓋了不同的天氣條件。

模型效果評估使用的是行人檢測中常用的指標Average Miss Rate metric,但是僅考慮高度 > = 50px 的非遮擋目標。

Track 3: All Objects Detection (pedestrian, cyclist, motorbike) from a Single Frame

該任務要求檢測出幀裏所有在訓練集中出現過的類別,包括自行車、摩托車,並且不允許使用視頻序列信息。

賽題難點

CVPR2020夜間行人檢測挑戰賽兩冠一亞:DeepBlueAI獲勝方案解讀

 

這次比賽的主要難點包含以下幾個方面:

運動模糊和圖像噪點

與常規檢測數據集不同,該競賽考慮到實際駕駛情況,所用數據是在車輛行進過程中採集的,所以當車速較快或者有相對運動的時候會產生持續的運動模糊圖像。並且由於攝像頭是普通的RGB相機,因此在光線較弱的環境下收集的圖片質量大幅度下降,這也是影響模型效果的主要原因。

對比度差異大,色彩信息少

這是由於收集數據主要來自於夜間環境所導致的必然結果,所以在進行數據增強的時候需要謹慎,不同增強方式會造成較大的影響。

不同的數據分佈

該比賽的數據集涵蓋了不同的城市和天氣,之前常用的行人檢測數據集一般未同時滿足這兩個條件。該數據具有多樣性,且與常用數據集的數據分佈存在較大差異。該比賽數據集與常用於訓練預訓練模型的數據集(如 COCO 數據集、OBJ365)的數據分佈存在很大的不同,因此對基於常用數據集預訓練的模型進行 fine-tune 的效果不如預期。

DeepBlueAI 團隊解決方案

DeepBlueAI 團隊在單幀行人檢測和多幀行人檢測兩個賽道中取得了冠軍成績,在檢測單幀中所有物體賽道中獲得了亞軍。

CVPR2020夜間行人檢測挑戰賽兩冠一亞:DeepBlueAI獲勝方案解讀

 

CVPR2020夜間行人檢測挑戰賽兩冠一亞:DeepBlueAI獲勝方案解讀

 

就檢測器而言,該團隊首先通過常規檢測所累積的經驗構造出一個 baseline:

Baseline = Backbone + DCN + FPN + Cascade + anchor ratio (2.44)

這些模塊早已是各個比賽的「常客」,也被許多專業人士進行了比較透徹的分析,此處不再贅述。DeepBlueAI 團隊進行了簡單的實驗,發現這些模塊總是有用,進而將這套算法作爲 baseline,加上一些行人檢測的小 trick,如將 anchor ratio 改爲 2.44、針對標註爲 ignore 的目標在訓練過程中 loss 不進行回傳處理。

具體主要工作包含以下幾個方面:

1. Double Heads

CVPR2020夜間行人檢測挑戰賽兩冠一亞:DeepBlueAI獲勝方案解讀

 

通過觀察實驗發現,baseline 將背景中的石柱、燈柱等物體檢測爲行人,這種情況大多和 head 效果不好有關。該團隊基於此進行了實驗,如 TSD [7]、CLS [8]、double head [9],並最終選擇了效果好且性價比高的 double head 結構(如下圖所示):

CVPR2020夜間行人檢測挑戰賽兩冠一亞:DeepBlueAI獲勝方案解讀

 

Double Heads 結構

CVPR2020夜間行人檢測挑戰賽兩冠一亞:DeepBlueAI獲勝方案解讀

 

通過對比實驗可以發現:使用 FC-head 做分類、Conv-head 做迴歸,可以得到最好的效果。

分類更多地需要語義信息,而座標框迴歸則更多地需要空間信息,double head 方法採用分而治之的思想,針對不同的需求設計 head 結構,因此更加有效。當然這種方法也會導致計算量的增加。在平衡速度和準確率的情況下,該團隊最終選擇了 3 個殘差 2 個 Non-local 共 5 個模塊。

2. CBNet [10]

CVPR2020夜間行人檢測挑戰賽兩冠一亞:DeepBlueAI獲勝方案解讀

 

合併功能更強大的 backbone 可提高目標檢測器的性能。CBNet 作者提出了一種新穎的策略,通過相鄰 backbone 之間的複合連接 (Composite Connection) 來組合多個相同的 backbone。用這種方式他們構建出了一個更強大的 backbone,稱爲「複合骨幹網絡」(Composite Backbone Network)。

當然這也帶來了模型參數大小和訓練時間的增加,屬於 speed–accuracy trade-off。該團隊也嘗試過其他的改進方式,但最終還是選擇了實用性更強的 CBNet,該方法不用再額外擔心預訓練權重的問題。

CVPR2020夜間行人檢測挑戰賽兩冠一亞:DeepBlueAI獲勝方案解讀

 

該團隊選擇了性價比較高的雙 backbone 模型結構。

3. 數據增強

CVPR2020夜間行人檢測挑戰賽兩冠一亞:DeepBlueAI獲勝方案解讀

 

該團隊發現 Pixel-level 的增強方式導致了性能結果大幅下降,因此沒有在這個方向繼續嘗試。

而圖像增強方式 Retinex,從視覺上看帶來了圖像增強,但是該方法可能破壞了原有圖片的結構信息,導致最終結果沒有提升。

於是,該團隊最終選擇了 Spatial-level 的增強方式,使得結果有一定的提升。

實驗細節

1. 將 Cascade rcnn + DCN + FPN 作爲 baseline;

2. 將原有 head 改爲 Double head;

3. 將 CBNet 作爲 backbone;

4. 使用 cascade rcnn COCO-Pretrained weight;

5. 數據增強;

6. 多尺度訓練 + Testing tricks。

實驗結果

下圖展示了該團隊使用的方法在本地驗證集上的結果:

CVPR2020夜間行人檢測挑戰賽兩冠一亞:DeepBlueAI獲勝方案解讀

 

該團隊將今年的成績與去年 ICCV 2019 同賽道冠軍算法進行對比,發現在不使用額外數據集的情況下,去年單模型在 9 個尺度的融合下達到 11.06,而該團隊的算法在只用 2 個尺度的情況下就可以達到 10.49。

未來工作

該團隊雖然獲得了不錯的成績,但也基於已有的經驗提出了一些未來工作方向:

1. 由於數據的特殊性,該團隊嘗試使用一些增強方式來提高圖片質量、亮度等屬性,使圖片中的行人更易於檢測。但結果證明這些增強方式可能破壞原有圖片結構,效果反而降低。該團隊相信會有更好的夜間圖像處理辦法,只是還需要更多研究和探索。

2. 在允許使用之前幀信息的賽道二中,該團隊僅使用了一些簡單的 IoU 信息。由於收集這個數據集的攝像頭一直在移動,該團隊之前在類似的數據集上使用過一些 SOTA 的方法,卻沒有取得好的效果。他們認爲之後可以在如何利用時序幀信息方面進行深入的探索。

3. 該領域存在大量白天行人檢測的數據集,因此該團隊認爲之後可以嘗試 Domain Adaption 方向的方法,以充分利用行人數據集。

參考文獻:

[1] Lin T Y , Dollár, Piotr, Girshick R , et al. Feature Pyramid Networks for Object Detection[J]. 2016.

[2] Dai J, Qi H, Xiong Y, et al. Deformable Convolutional Networks[J]. 2017.

[3] Cai Z , Vasconcelos N . Cascade R-CNN: Delving into High Quality Object Detection[J]. 2017.

[4] Xie S , Girshick R , Dollar P , et al. Aggregated Residual Transformations for Deep Neural Networks[C]// 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). IEEE Computer Society, 2017.

[5] Bochinski E , Eiselein V , Sikora T . High-Speed tracking-by-detection without using image information[C]// 2017 14th IEEE International Conference on Advanced Video and Signal Based Surveillance (AVSS). IEEE, 2017.

[6] Henriques J F , Caseiro R , Martins P , et al. High-Speed Tracking with Kernelized Correlation Filters[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015, 37(3):583-596.

[7] Song G , Liu Y , Wang X . Revisiting the Sibling Head in Object Detector[J]. 2020.

[8] Li A , Yang X , Zhang C . Rethinking Classification and Localization for Cascade R-CNN[J]. 2019.

[9] Wu, Y., Chen, Y., Yuan, L., Liu, Z., Wang, L., Li, H., & Fu, Y. (2019). Rethinking Classification and Localization in R-CNN. ArXiv, abs/1904.06493.

[10] Liu, Y., Wang, Y., Wang, S., Liang, T., Zhao, Q., Tang, Z., & Ling, H. (2020). CBNet: A Novel Composite Backbone Network Architecture for Object Detection. ArXiv, abs/1909.03625.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章