BEVDet4D: Exploit Temporal Cues in Multi-camera 3D Object Detection
BEVDet4D:在多相機三維目標檢測中利用時間線索
摘要
- 背景:單幀資料包含有限資訊,限制了基於視覺的多相機3D目標檢測效能。
- BEVDet4D提出:提出BEVDet4D正規化,將BEVDet從僅空間的3D擴充套件到時空4D工作空間。
- 改進:透過融合前後幀特徵,以極小的計算成本獲取時間線索,將速度預測任務簡化為位置偏移預測。
- 效能:在nuScenes基準測試中,BEVDet4D-Base配置以54.5%的NDS重新整理記錄,超越BEVDet-Base 7.3%。
引言
- 自動駕駛關注:自動駕駛中的視覺感知任務包括3D目標檢測等。
- 時間相關目標:當前基於單幀的視覺正規化在預測速度等時間相關目標時,表現不如Lidar和Radar等相關。
- BEVDet4D嘗試:BEVDet4D首次嘗試在4D空間中利用時間資訊,透過保留前一幀的BEV特徵並與當前幀融合。
相關工作
基於視覺的3D目標檢測
發展背景:KITTI基準測試推動了單目3D目標檢測技術的快速發展,但受限於資料量和單一視角,難以應對更復雜的任務。
大規模基準測試:新的大規模基準測試nuSscenes、Waymo提供了更多資料和多視角檢視,為3D目標檢測技術的發展提供了新的方向。
FCOS3D:FCOS3D借鑑了2D檢測中的FCOS,將3D目標檢測問題轉化為2D問題,僅在影像檢視中進行感知,擅長預測目標屬性,但在感知目標的平移、速度和方向上表現不佳。
PGD:PGD在FCOS3D的基礎上進一步發展,透過搜尋和解決目標深度預測的不足,提高了準確性,但增加了計算成本和推理延遲。
DETR3D:DETR3D遵循DETR的模式,在注意力模式下檢測3D目標,準確性與FCOS3D相似,計算成本減半,儘管如此,複雜的計算流程導致其推理速度與FCOS3D相同。Graph-DETR3D擴充套件了DETR3D,透過在3D空間中取樣多個點來生成物件查詢的特徵,並根據縮放因子動態調整深度目標,使多尺度訓練成為可能。
PETR:PETR透過引入3D座標生成和位置編碼提高了效能,並利用強大的資料增強策略。
BEVDet4D與BEVFormer:BEVDet4D使用2個相鄰幀實現了更高的速度精度,而BEVFormer與大多數基於LiDAR的方法相似,透過融合4個相鄰幀的特徵來實現可比的速度精度。
影片目標檢測
- 時間線索:與影像檢視空間的檢測任務相比,影片物件檢測可以利用時間線索提高檢測精度。
- 獲取時間線索方法:預測結果或中間特徵。
方法論
網路結構
- BEVDet4D框架:基於BEVDet,包含影像檢視編碼器image-view encoder、檢視變換器view transformer、BEV編碼器BEV encoder和特定任務頭task-specific head。
- 利用時間線索融合特徵:透過空間對齊(spatial alignment)操作和拼接操作將保留的特徵(generated by the view transformer)與當前幀中相應的特徵進行融合。
空間對齊簡化速度學習任務
-
符號定義:定義了全域性座標系、自車座標系和目標座標系。空間對齊實際上就是將前一幀的特徵與後一幀的特徵都放在同一個座標系下進行對齊(上圖中綠色為靜態目標,藍色為動態目標)。對齊後只是在channel維度簡單的Concat,因為真正的特徵融合其實在BEV Encoder中。
-
位置偏移預測:不是直接預測目標速度,而是預測相鄰兩幀中目標的位置偏移。如果沒有對齊兩幀而直接進行concat,目標在特徵圖上的偏移量其實是包含了自車運動的,如上圖的右上部分綠色靜態目標所示。
實驗
4.1 實驗設定
- 資料集:nuScenes資料集,包含1000個場景,6個相機影像,5個雷達和1個鐳射雷達點。
- 評估指標:包括mAP、ATE、ASE、AOE、AVE、AAE和NDS。
4.2 基準結果
- nuScenes val set
- BEVDet4D-Tiny在nuScenes驗證集上得分47.6% NDS,超過基線BEVDet-Tiny39.2% NDS。速度誤差從 BEVDet-Tiny 的 0.909 mAVE 降低到 BEVDet4D-Tiny 的 0.337 mAVE,降幅達 62.9%。方向預測誤差從 BEVDet-Tiny 的 0.523 mAOE 降低到了 BEVDet4D-Tiny 的 0.460 mAOE,降幅為 12.0%。 這是因為目標的方向和速度之間存在強耦合關係。
- BEVDet-Base 的 47.2% NDS 提升到 BEVDet4D-Base 的 54.5% NDS。超過了同期工作 BEVFormer的+2.8% NDS(即 54.5% NDS 對比 51.7% NDS)。同時在測試時間上執行得更快(即 1.9 FPS 對比 1.7 FPS)。
- nuScenes test set
- BEVDet4D在測試集上以56.9% NDS領先,超過BEVDet 8.7%。也比同期的 BEVFormer高出 3.4% NDS。
- BEVDet4D 從驗證集的 55.2% NDS 到測試集的 56.9% NDS,效能提升了 1.7% NDS。這表明在 BEVDet4D 中利用時間線索也有助於提高模型的泛化效能。
4.3 消融研究
- 構建BEVDet4D:展示瞭如何構建BEVDet4D的魯棒效能。
- 對比A和B,對於預測速度任務,如果增加平移對齊操作,相對的可以簡化速度預測任務,mATE平移誤差由0.711降低到0.672,速度誤差 1.544 mAVE 降低至1.186 mAVE。但依然高於基準BEVDet-Tiny,推測原因是對於速度預測任務,由於相鄰兩幀之間的時間間隔不一致,位置偏移的分佈與速度的分佈相差甚遠。
- C直接簡化任務為位置偏移的預測任務,速度誤差大幅度降低至 0.479 mAVE。
- D在時間融合之前增加extra BEV Encoder使計算量略微增加 2.8%,但對推理速度的影響可以忽略不計。這一修改相對於C進行了全面提升。E透過調整訓練過程的權重weight,相對於D又有一定提升。
- F透過增加考慮對齊過程中的自車姿態旋轉變化,進一步將mAVE速度誤差從 0.435降低了 13.6%至 0.376。這表明精確的對齊操作有助於提高速度預測的精度。
- 為了在當前幀與參考幀之間搜尋最佳測試時間間隔,選擇三個不同的時間間隔進行消融實驗,根據圖4所示最佳間隔約為 15T(使用12Hz 的未標記相機掃描,兩個相機掃描之間的時間間隔表示為T≈0.083s),預設將其設定為測試時間間隔。而在訓練過程中透過在[3T,27T]內隨機取樣時間間隔來實現資料增強。表3中的G將速度誤差從 0.376 進一步降低了 12.8%至 0.328。
- 插值操作的精度退化:以表3的C研究不同BEV解析度和插值操作對精度的影響。
- 根據表4,在檢視變換後進行插值操作,會引入系統誤差,效果些許下降。但是得益於保留了檢視變換操作的完整(含BEVDet的加速方法),FPS直接由7.8提升至15.6。
- 而在提高BEV解析度後,插值操作在前或在後對效能引起的差異可忽略不計。
- 高 BEV 解析度有助於減輕插值操作引起的精度退化。從推理加速的角度來看,不建議在檢視變換內進行對齊操作。
- 時間融合的位置:研究了在BEVDet4D框架中進行時間融合的不同位置。
- A表明檢視轉換器生成的BEV特徵過於粗糙無法直接使用,B表明如果新增一個額外的 BEV 編碼器可以幫助緩解這個問題。
- C表明BEV編碼器可以透過抵抗前一幀特徵帶來的位置誤導,並根據兩個候選特徵之間的差異來估計速度。
結論
- 貢獻:BEVDet4D透過利用時空4D空間中的時間線索,顯著提升了多相機3D目標檢測的效能,特別是在速度預測方面。
- 未來工作:將專注於設計框架和正規化,主動挖掘時間線索。