從論文到代碼、從前沿研究到工業落地,全面了解BEV感知
BEV 感知到底是什么?自動駕駛的學術界和工業界又都在關注 BEV 感知的什么內容?本文將會為你揭曉答案。
在自動駕駛領域中,讓感知模型學習強大的鳥瞰圖(BEV)表征是一種趨勢,并且已經引起了工業界和學術界的廣泛關注。相比于之前自動駕駛領域中的大多數基于在前視圖或透視圖中執行檢測、分割、跟蹤等任務的模型,鳥瞰圖(BEV)表征能夠讓模型更好地識別被遮擋的車輛,并且有利于后續模塊(例如規劃、控制)的開發和部署。
可以看出,BEV 感知研究對自動駕駛領域具有巨大的潛在影響,值得學術界和產業界長期關注并投入大量精力,那么 BEV 感知到底是什么?自動駕駛的學術界和工業界大佬又都在關注 BEV 感知的什么內容?本文將會通過 BEVPerception Survey 為你揭曉答案。
BEVPerception Survey 是上海人工智能實驗室自動駕駛OpenDriveLab 團隊與商湯研究院合作論文 《Delving into the Devils of Bird's-eye-view Perception: A Review, Evaluation and Recipe》 的實用化工具呈現方式,分為基于 BEVPercption 的最新文獻研究和基于 PyTorch 的開源 BEV 感知工具箱兩大板塊。
- 論文地址:https://arxiv.org/abs/2209.05324
- 項目地址:https://github.com/OpenPerceptionX/BEVPerception-Survey-Recipe
概要解讀、技術解讀
BEVPerception Survey 最新文獻綜述研究主要包含三個部分 ——BEV 相機、BEV 激光雷達和 BEV 融合。BEV 相機表示僅有視覺或以視覺為中心的算法,用于從多個周圍攝像機進行三維目標檢測或分割;BEV 激光雷達描述了點云輸入的檢測或分割任務;BEV 融合描述了來自多個傳感器輸入的融合機制,例如攝像頭、激光雷達、全球導航系統、里程計、高清地圖、CAN 總線等。
BEV 感知工具箱是為基于 BEV 相機的 3D 對象檢測提供平臺,并在 Waymo 數據集上提供實驗平臺,可以進行手動教程和小規模數據集的實驗。
圖 1:BEVPerception Survey 框架
具體來說,BEV 相機表示用于從多個周圍相機進行 3D 對象檢測或分割的算法;BEV 激光雷達表示用點云作為輸入來完成檢測或分割任務;BEV 融合則是用多個傳感器的輸出作為輸入,例如攝像頭、LiDAR、GNSS、里程計、HD-Map、CAN-bus 等。
BEVPercption 文獻綜述研究
BEV 相機?
BEV 相機感知包括 2D 特征提取器、視圖變換和 3D 解碼器三部分。下圖展示了 BEV 相機感知流程圖,在視圖變換中,有兩種方式對 3D 信息進行編碼 —— 一種是從 2D 特征預測深度信息;另一種是從 3D 空間中采樣 2D 特征。
圖 2:BEV 相機感知流程圖
對于 2D 特征提取器,2D 感知任務中存在大量可以在 3D 感知任務中借鑒的經驗,比如主干預訓練的形式。
視圖轉換模塊是與 2D 感知系統非常不同的一方面。如上圖所示,一般有兩種方式進行視圖變換:一種是從 3D 空間到 2D 空間的變換,另一種是從 2D 空間到 3D 空間的變換,這兩種轉換方法要么是利用在 3D 空間中的物理先驗知識或利用額外的 3D 信息監督。值得注意的是并非所有 3D 感知方法都有視圖變換模塊,比如有些方法直接從 2D 空間中的特征檢測 3D 空間中的對象。
3D 解碼器接收 2D/3D 空間中的特征并輸出 3D 感知結果。大多數 3D 解碼器的設計來自基于 LiDAR 的感知模型。這些方法在 BEV 空間中執行檢測,但仍然有一些 3D 解碼器利用 2D 空間中的特征并直接回歸 3D 對象的定位。
BEV 激光雷達
BEV 激光雷達感知的普通流程主要是將兩個分支將點云數據轉換為 BEV 表示。下圖為 BEV 激光雷達感知流程圖,上分支提取 3D 空間中的點云特征,提供更準確的檢測結果。下分支提取 2D 空間中的 BEV 特征,提供更高效的網絡。除了基于點的方法能在原始點云上進行處理外,基于體素的方法還將點體素化為離散網格,通過離散化連續的 3D 坐標提供更高效的表示。基于離散體素表示,3D 卷積或 3D 稀疏卷積可用于提取點云特征。
圖 3:BEV 激光雷達感知流程圖
BEV 融合
BEV 感知融合算法有 PV 感知和 BEV 感知兩種方式,適用于學術界和工業界。下圖展示了 PV 感知與 BEV 感知流程圖的對比,兩者的主要區別在于 2D 到 3D 的轉換和融合模塊。在 PV 感知流程圖中,不同算法的結果首先被轉換到 3D 空間中,然后使用一些先驗知識或者手工設計的規則進行融合。而在 BEV 感知流程圖中,PV 特征圖會被轉換到 BEV 視角下,然后進行 BEV 空間下的融合從而得到最終的結果,因而能夠最大化保留原始特征信息,避免過多的手工設計。
圖 4:PV 感知(左)與 BEV 感知(右)流程圖
適用于 BEV 感知模型的數據集
針對 BEV 感知任務存在很多的數據集。通常數據集由各種場景組成,并且每個場景在不同數據集中的長度不同。下表總結了目前學界常用的數據集。我們可以從中看到 Waymo 數據集相比其他數據集有著更多樣的場景以及更豐富的 3D 檢測框的標注。
表 1:BEV 感知數據集一覽
然而目前學界并沒有針對 Waymo 開發的 BEV 感知任務的軟件公開。因此我們選擇基于 Waymo 數據集進行開發,希望可以推動 BEV 感知任務在 Waymo 數據集上的發展。
Toolbox - BEV 感知工具箱
BEVFormer 是一種常用的 BEV 感知方法,它采用時空變換器將主干網絡從多視圖輸入提取的特征轉換為 BEV 特征,然后將 BEV 特征輸入檢測頭中得到最后的檢測結果。BEVFormer 有兩個特點,它具有從 2D 圖像特征到 3D 特征的精確轉換,并可以把它提取的 BEV 特征適用于不同的檢測頭。我們通過一系列的方式進一步提升了 BEVFormer 的視圖轉換質量以及最終的檢測性能。
在憑借 BEVFormer++ 取得 CVPR 2022 Waymo Challenge 第一名后,我們推出了 Toolbox - BEV 感知工具箱,通過提供一整套易于上手的 Waymo Open Dataset 的數據處理工具,從而集成一系列能夠顯著提高模型性能的方法(包括但不限于數據增強,檢測頭,損失函數,模型集成等),并且能夠與領域內廣泛使用的開源框架,如 mmdetection3d 以及 detectron2 兼容。與基礎的 Waymo 數據集相比,BEV 感知工具箱將使用技巧加以優化改進以便不同類型研發人員使用。下圖展示的是基于 Waymo 數據集的 BEV 感知工具箱使用示例。
圖 5:基于 Waymo 數據集的 Toolbox 使用示例
總結
- BEVPerception Survey 總結了近年來 BEV 感知技術研究的總體情況,包括高層次的理念闡述和更為深入的詳細討論。對 BEV 感知相關文獻的綜合分析,涵蓋了深度估計、視圖變換、傳感器融合、域自適應等核心問題,并對 BEV 感知在工業系統中的應用進行了較為深入的闡述。
- 除理論貢獻外,BEVPerception Survey 還提供了一套對于提高基于相機的 3D 鳥瞰圖(BEV)物體檢測性能十分實用的工具箱,包括一系列的訓練數據增強策略、高效的編碼器設計、損失函數設計、測試數據增強和模型集成策略等,以及這些技巧在 Waymo 數據集上的實現。希望可以幫助更多的研究人員實現 “隨用隨取”,為自動駕駛行業研發人員提供更多的便利。
我們希望 BEVPerception Survey 不僅能幫助使用者方便地使用高性能的 BEV 感知模型,同時也能成為新手入門 BEV 感知模型的良好起點。我們著力于突破自動駕駛領域的研發界限,期待與學界分享觀點并交流討論進而不斷發掘自動駕駛相關研究在現實世界中的應用潛力。