(附論文&代碼)CenterFusion:雷達和攝像頭融合的3D目標檢測方法
點擊左上方藍字關注我們

作者 | 黃浴@知乎
鏈接 | https://zhuanlan.zhihu.com/p/345845006
以前提到過此文(在想法中),WACV‘2021錄?。?/span>“CenterFusion: Center-based Radar and Camera Fusion for 3D Object Detection“,作者來自田納西大學。
論文:https://arxiv.org/abs/2011.04841

作者提供了代碼:
https://github.com/mrnabati/CenterFusion
網絡架構如圖所示:跟摘要說的那樣,細節(jié)見下面模塊分析。

首先,需要搞清楚雷達信號檢測的是徑向深度和目標實際速度的不同,如圖:

作者采用CenterNet方法,無錨單目的目標檢測方法。其中keypoint的heatmap定義為:


采用一個卷積encoder-decoder網絡預測Y?;诖耍貧w3D目標的深度、尺寸和朝向。其訓練分類損失,即focal loss:

CenterFusion利用CenterNet先得到一個初步檢測,然后修正的DLA(deep layer aggregation)網絡作為主干,在primary regression head中預測初步的3D目標信息,其中構成包括一個3X3的卷積層和一個1X1的卷積層。
Frustum association是關鍵融合雷達和圖像的機制。用圖像2D框和其深度+大小的估計構建一個3D RoI frustum,如圖所示:

如果有多個雷達檢測點在這個RoI,直接取距離最近的一個。注意這里提到一個scaling factor可增大frustum尺寸,以便包容深度估計的誤差。
另外,目標高度的不準確,作者采用Pillar expansion對雷達點云做預處理。如圖所示:第一行是雷達點云擴大成3D pillar的顯示,第二行是直接把pillars和圖像匹配的結果,相關較弱。第三行是frustum相關,減少了上面的深度值重疊,也防止背景目標(如大樓)錯分類成前景。

圖像和雷達的數據相關之后,可以提取雷達目標特征,深度和速度等。


如果兩個目標有重疊的heatmap區(qū)域,按距離取最近的。
之后,這些特征進入secondary regression head,其結構包括3個3X3卷積層和一個1X1卷積層。最后結果需要經過一個box decoder得到。
訓練中regression head的損失采用SmoothL1 loss,center point heatmap采用focal loss,而attributes regression head基于Binary Cross Entropy (BCE) loss。
看一下結果:
性能比較表


直觀結果比較如下:1-2行CenterFusion,3-4行CenterNet。

雷達點云綠色,目標框GT紅色,目標預測速度藍色箭頭。
END
整理不易,點贊三連↓
