BEVFormer 很榮幸參與到最近這波 BEV 感知的研究浪潮中,我們從開源社區中受益良多,也希望盡我們所能為社區做出我們自己的貢獻,希望未來與社區一道共同構建更加安全可靠的自動駕駛感知系統。

引言
TL; DR:本文提出了一套基於 Transformer 和時序模型在鳥瞰圖視角下優化特徵的環視物體檢測方案,即 BEVFormer。nuScenes 數據集上以 NDS 指標(類似mAP),在 camera only 賽道中大幅領先之前方法。本文旨在介紹我們在設計 BEVFormer 過程中考慮的思路、比較的多種方法、以及下一步可能的研究方向。
論文標題:
BEVFormer: Learning Bird’s-Eye-View Representation from Multi-Camera Images via Spatiotemporal Transformers
https://arxiv.org/pdf/2203.17270.pdf
https://github.com/zhiqi-li/BEVFormer

介紹
最近,基於多視角攝像頭的 3D 目標檢測在鳥瞰圖下的感知(Bird's-eye-view Perception, BEV Perception)吸引了越來越多的注意力。一方面,將不同視角在 BEV 下統一與表徵是很自然的描述,方便後續規劃控制模塊任務;另一方面,BEV 下的物體沒有圖像視角下的尺度(scale)和遮擋(occlusion)問題。如何優雅的得到一組 BEV 下的特徵描述,是提高檢測性能的關鍵。
nuScenes自動駕駛數據集因其數據的質量、規模與難度都比之前數據集有大幅提升,而獲得了很多研究者的關注。在 nuScenes 3D object detection task 上,目前前 6 名方案都是 2022 年 3 月進行的提交。我們提出的 BEVFormer 取得了 48.1 mAP 和 56.9 NDS,兩個指標均超越現有方法 3 個點以上,暫列第一。「低碳版」 BEVFormer-pure 僅使用 ResNet-101 與單尺度測試,取得了優於第二名(Swin-B、test-time aug)的 mAP 以及相同的 NDS。具體榜單和 Demo 視頻如下。
▲Demo: BEVFormer,一種全新的環視目標檢測方案
本項目最早啟發於 2021 年 7 月特斯拉的技術分享會,為此我們還做了幾期細緻的分享(鏈接 TODO)。特斯拉展示了基於 Transformer 使用純視覺輸入進行自動駕駛感知任務的驚艷效果,但是它並沒有展示其方法的具體實現和量化指標。與此同時,學術界也有許多相關工作旨在利用純視覺輸入來完成自動駕駛感知任務,例如 3D 目標檢測或者構建語義地圖。我們提出的 BEVFormer 的主要貢獻在於使用 Transformer 在 BEV 空間下進行時空信息融合。

BEVFormer方案
3.1 動機
在介紹 BEVFormer 的具體方案之前,先要回答兩個問題。
1:為什麼要用 BEV?
事實上對於基於純視覺的 3D 檢測方法,基於 BEV 去做檢測並不是主流做法。在nuScenes 榜單上很多效果很好的方法(例如 DETR3D, PETR)並沒有顯式地引入 BEV 特徵。從圖像生成 BEV 實際上是一個 ill-posed 問題,如果先生成 BEV,再利用 BEV 進行檢測容易產生複合錯誤。但是我們仍然堅持生成一個顯式的 BEV 特徵,原因是因為一個顯式的 BEV 特徵非常適合用來融合時序信息或者來自其他模態的特徵,並且能夠同時支撐更多的感知任務。
2:為什麼要用時空融合?
時序信息對於自動駕駛感知任務十分重要,但是現階段的基於視覺的 3D 目標檢測方法並沒有很好的利用上這一非常重要的信息。時序信息一方面可以作為空間信息的補充,來更好的檢測當前時刻被遮擋的物體或者為定位物體的位置提供更多參考信息。除此之外時序信息對於判斷物體的運動狀態十分關鍵,先前基於純視覺的方法在缺少時序信息的條件下幾乎無法有效判斷物體的運動速度。
3.2 BEVFormer Pipeline
▲BEVFormer整體框圖
3.2.1定義BEV queries
我們定義了一組維度為H*W*C的可學習參數作為 BEV queries, 用來捕獲 BEV 特徵。在nuScenes 數據集上,BEV queries 的空間分辨率為 200*200,對應自車周圍 100m*100m 的範圍。BEV queries 每個位於(x, y)位置的 query 都僅負責表徵其對應的小範圍區域。
BEV queries 通過對 spatial space 和 tempoal space 輪番查詢從而能夠將時空信息聚合在 BEV query 特徵中。最終我們將 BEV queries 提取的到的特徵視為 BEV 特徵,該 BEV 特徵能夠支持包括 3D 目標檢測和地圖語義分割在內的多種自動駕駛感知任務。
3.2.2Spatial Cross-Attention
如上圖(b)所示,我們設計了一中空間交叉注意力機制,使 BEV queries 從多相機特徵中通過注意力機制提取所需的空間特徵。由於本方法使用多尺度的圖像特徵和高分辨率的 BEV 特徵,直接使用最樸素的 global attention 會帶來無法負擔的計算代價。因此我們使用了一種基於 deformable attention 的稀疏注意力機制時每個 BEV query 之和部分圖像區域進行交互。
具體而言,對於每一個位於(x, y)位置的 BEV 特徵,我們可以計算其對應現實世界的坐標 x',y'。然後我們將 BEV query 進行 lift 操作,獲取在 z 軸上的多個 3D points。有了 3D points,就能夠通過相機內外參獲取 3D points 在 view 平面上的投影點。受到相機參數的限制,每個 BEV query 一般只會在 1-2 個 view 上有有效的投影點。基於 Deformable Attention,我們以這些投影點作為參考點,在周圍進行特徵採樣,BEV query 使用加權的採樣特徵進行更新,從而完成了 spatial 空間的特徵聚合。
3.2.3 Temporal Self-Attention
從經典的 RNN 網絡獲得啟發,我們將 BEV 特徵視為類似能夠傳遞序列信息的 memory。每一時刻生成的 BEV 特徵都從上一時刻的 BEV 特徵獲取了所需的時序信息,這樣保證能夠動態獲取所需的時序特徵,而非像堆疊不同時刻 BEV 特徵那樣只能獲取定長的時序信息。具體而言,給定上一時刻的 BEV 特徵,我們首先根據 ego motion 來將上一時刻的 BEV 特徵和當前時刻進行對齊,來確保同一位置的特徵均對應於現實世界的同一位置。
對於當前時刻位於(x, y)出的 BEV query, 它表徵的物體可能靜態或者動態,但是我們知道它表徵的物體在上一時刻會出現在(x, y)周圍一定範圍內,因此我們再次利用 deformable attention 來以(x, y)作為參考點進行特徵採樣。
我們並沒有顯式地設計遺忘門,而是通過 attention 機制中的 attention wights 來平衡歷史時序特徵和當前 BEV 特徵的融合過程。每個 BEV query 既通過 spatial cross-attention 在 spatial space 下聚合空間特徵,還能夠通過 temporal self-attention 聚合時序特徵,這個過程會重複多次確保時空特徵能夠相互促進,進行更精準的特徵融合。
3.2.4 使用BEV特徵支撐多種感知任務
一個顯式的 BEV 特徵能夠被用於 3D 目標檢測和地圖語義分割任務上。常用的 2D 檢測網絡,都可以通過很小的修改遷移到 3D 檢測上。我們也驗證了使用相同的 BEV 特徵同時支持 3D 目標檢測和地圖語義分割,實驗表明多任務學習能夠提升在 3D 檢測上的效果。
3.3 實驗效果
我們在 nuScenes 上的實驗結果表明了 BEVFormer 的有效性。在其他條件完全一致下,使用時序特徵的 BEVFormer 比不使用時序特徵的 BEVFormer-S 在 NDS 指標上高 7 個點以上。尤其是引入時序信息之後,基於純視覺的模型真正能夠預測物體的移動速度,這對於自動駕駛任務來說意義重大。
我們還證明了模型同時做檢測和分割任務能夠提升在 3D 檢測任務上的性能,基於同一個 BEV 特徵進行多任務學習,意義不僅僅在於提升訓練和推理是的效率,更在於基於同一個 BEV 特徵,多種任務的感知結果一致性更強,不易出現分歧。
在下面這個場景下,BEVFormer 基於純視覺輸入得到的檢測結果跟真實結果十分接近,再 BEV 視角下的分割結果和檢測結果也有着非常好的一致性。

相關工作
自動駕駛場景中,基於 BEV 空間的感知系統能夠給系統帶來巨大的提升。在經典的自動駕駛感知系統中,camera 感知算法工作在 2D 空間,LiDAR/RaDAR 感知算法工作在 3D 空間。下游的融合算法通過 2D 與 3D 之間的幾何關係對感知結果進行融合。由於融合算法僅對感知結果進行融合,會丟失大量的原始信息,同時手工設計的對應關係難以應對複雜的場景。
在基於 BEV 空間的感知系統中,Camera,LiDAR,RaDAR 的感知均在 BEV 空間中進行,有利於多模態感知融合。而且,融合過程較傳統方法提前,能充分利用各個傳感器的信息,提升感知性能。將 camera feature 從仿射視角 perspective 轉換到鳥瞰圖 BEV 視角,一般使用 IPM(inverse perspective mapping)和 MLP(multi-layer perception),近來也有工作使用 Transformer 結構。
工業界方案:特斯拉
工業界方案:地平線/毫末智行
以 BEV 為中心的感知方案同樣受到了國產廠商的關注。國產廠商中,地平線和毫末智行均公開展示過其感知方案使用 BEV 範式。

▲ 毫末感知架構圖
▲地平線架構圖
學術界論文:Projecting Your View Attentively: Monocular Road Scene Layout Estimation via Cross-view Transformation(PYVA, CVPR 2021)
PYVA 使用 MLP 進行 perspective 到 BEV 的轉換,在完成轉換後,再使用一個 MLP 將 BEV feature X' 轉換回 perspective view,並通過 X 與 X'' 進行約束。然後使用 tranformer 融合 BEV feature X' 和 perspective feature X'',再通過數據約束獲得 BEV 表徵。
PYVA 由兩個 MLP 構成,一個將原始特徵 X 從 perspective 轉換到 BEV X',另一個將 BEV X' 轉換回 perspective X",兩個 MLP 通過 X 與 X'' 進行約束。然後使用 tranformer 融合 BEV feature X' 和 perspective feature X'',再通過數據約束獲得 BEV 表徵。
學術界論文:Translating Images into Maps https://arxiv.org/abs/2110.00966
Translateing images into maps 發現,無論深度如何,在圖像上同一列的像素在 BEV 下均沿着同一條射線,因此,可以將每一列轉換到 BEV 構建 BEV feature map。作者將圖像中每一列 encode 為 memory,利用 BEV 下射線的半徑 query memory,從而獲得 BEV feature,最後通過數據監督使模型擁有較好的視角轉換能力。
學術界論文:DETR3D: 3D Object Detection from Multi-view Images via 3D-to-2D Queries(DETR3D, CoRL 2021)
DETR3D 雖然沒有直接使用 BEV feature,但 DETR3D 直接在 BEV 視角下進行物體檢測。通過解碼的物體三維位置及相機參數,利用 2D 圖片對應位置的 feature 不斷 refine 物體 3D 位置,從而達到了更好的 3D 物體檢測性能。
學術界論文:PETR: Position Embedding Transformation for Multi-View 3D Object Detection
PETR 在 DETR3D 的基礎上更進一步,為每個 2D 視角添加了 3D 位置特徵,與之前的 Lift-Spalt-Shot 類似,PETR 使用深度分布來表徵每個 2D 像素潛在的深度信息。將相機空間下的坐標系轉換成世界坐標系之後,能為所有視角提供一個統一的 3D 位置特徵。不同於 DETR3D,PETR 無需讓 query 回歸 3D 框的中心點然後投影到 2D 視角下聚合特徵,PETR 直接使用類似 DETR 那樣的全局 cross-attention 自適應的學習所需特徵。

下一步工作
相信讀到這裡的小夥伴都是我們的鐵粉,且堅定相信 BEV Perception 會是下一代自動駕駛感知算法框架的主流趨勢。這裡我們也給大家分享下基於 BEVFormer 的最新思考,希望和業界同仁一起探索這個方向。歡迎各種 challenge 與 comment。
一方面,把 BEVFormer 擴展成多模態、與激光雷達融合是一個很自然的想法。我們注意到最新的 DeepFusion 工作也已經揭開其神秘的面紗。這裡面一個關鍵的點是如何正確 align Lidar query feature 和相機下的特徵;在 deepFusion 實現中,InverseAug 是保證特徵一致的重要操作。該方法在目前 Waymo 3D Detection 榜單中也獨占鰲頭。
另一方面,如何以純視覺的設定,優化當前 pipeline,把性能提升至和 Lidar 差不多的結果也是一件非常有挑戰的事情。這裡面一個關鍵因素是如何以相機 2D 的信息輸入,得到一個準確的 3D 空間位置估計,即基於圖像的(稠密)深度估計。在這方面發力的影響力要遠遠大於單純的 Sensor Fusion。
更多閱讀


#投 稿通 道#
讓你的文字被更多人看到
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋樑,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。
PaperWeekly 鼓勵高校實驗室或個人,在我們的平台上分享各類優質內容,可以是最新論文解讀,也可以是學術熱點剖析、科研心得或競賽經驗講解等。我們的目的只有一個,讓知識真正流動起來。
📝稿件基本要求:
• 文章確係個人原創作品,未曾在公開渠道發表,如為其他平台已發表或待發表的文章,請明確標註
• 稿件建議以markdown格式撰寫,文中配圖以附件形式發送,要求圖片清晰,無版權問題
• PaperWeekly 尊重原作者署名權,並將為每篇被採納的原創首發稿件,提供業內具有競爭力稿酬,具體依據文章閱讀量和文章質量階梯制結算
📬投稿通道:
• 投稿郵箱:hr@paperweekly.site
• 來稿請備註即時聯繫方式(微信),以便我們在稿件選用的第一時間聯繫作者
• 您也可以直接添加小編微信(pwbot02)快速投稿,備註:姓名-投稿
△長按添加PaperWeekly小編
🔍
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧