歷史地圖發大力!HRMapNet:日日新的在線地圖新方案
本文經自動駕駛之心公眾號授權轉載,轉載請聯系出處。
寫在前面 & 筆者的個人理解
無圖NOA以來,研究人員focus在端到端的在線矢量地圖構建上,該技術在鳥瞰圖(BEV)空間中實現,希望能夠替代傳統成本較高的離線高精(HD)地圖。但是當前方法在惡劣環境下的準確性和魯棒性很容易受限。為此本文提出了HRMapNet,其利用低成本的歷史光柵化地圖來增強在線矢量化地圖的感知能力。歷史光柵化地圖來源于先前預測的結果,因此可以提供當前幀一定的先驗信息。為了充分利用歷史地圖,作者設計了兩個模塊來增強BEV特征和地圖元素的查詢。對于BEV特征,本文設計了特征聚合模塊,以編碼圖像和歷史地圖的特征。對于地圖元素的查詢,則設計了一個查詢初始化模塊,以賦予查詢從歷史地圖中得到的先驗信息。這兩個模塊對于在在線感知中利用地圖信息至關重要。HRMapNet能夠與大多數現有的在線矢量化地圖感知方法集成。問鼎nuScenes和Argoverse 2 SOTA。
開源鏈接:https://github.com/HXMap/HRMapNet
相關工作總結
自動駕駛技術中,高精HD地圖對于車輛導航至關重要,它們可以詳細表述如車道線、人行橫道和道路邊界等矢量化地圖元素的位置與結構。這些地圖以往通過離線方式并結合SLAM等技術構建的。
單幀地圖感知
早期的地圖感知研究主要集中在車道線檢測、道路拓撲推理或地圖分割上,這些研究通常產生光柵地圖,并需要額外的后處理步驟來生成用于后續任務的矢量化地圖元素。例如,HDMapNet通過聚類分析預測的光柵地圖來構建最終的矢量化地圖。
VectorMapNet和MapTR等工作直接預測矢量化地圖。VectorMapNet設計了一個地圖元素檢測器和一個多邊形生成器來構建最終的矢量化地圖。MapTR提出了一種統一的排列等價模型,并采用DETR框架直接預測矢量化地圖元素。這些突破性的研究推動了在線矢量化地圖感知技術的發展,并激發了一系列旨在提升性能的新方法。MapTR的改進版MapTRv2在解碼器中引入了解耦的自注意力機制和輔助損失,顯著提高了預測精度。ScalableMap利用地圖元素的結構特性,設計了一種漸進式解碼器以支持長距離感知。MapVR引入了可微分的光柵化和基于渲染的損失函數,以增強對細節的敏感度。此外,BeMapNet和PivotNet等方法通過預測貝塞爾控制點和支點,而非固定數量的點,來提高預測的準確性。
利用額外信息的地圖感知
上述方法僅利用單幀圖像進行地圖元素的預測,這限制了性能的進一步提升。最新的研究進展已經開始突破單幀感知的局限,通過整合額外的信息來提升性能。例如一些研究探索了如何利用額外的標準清晰度(SD)地圖來輔助HD地圖感知和車道拓撲理解。還有研究利用衛星地圖來增強車載圖像數據,以改善地圖感知。這些方法雖然提高了性能,但需要額外的數據源,從而增加了在線建圖的成本。
時間信息作為在線感知中更容易獲得的補充信息,在BEV特征學習和目標檢測中已被廣泛利用。在矢量化地圖感知方面,StreamMapNet通過查詢傳播和BEV特征融合來利用時間信息。SQD-MapNet引入了流查詢去噪技術,以增強時間一致性。這些方法通常利用時間上短期的先前幀來輔助感知。
如果能夠收集并利用所有時間信息,就可以構建一個地圖。一些工作利用過去的LiDAR掃描構建的地圖被用于自動駕駛中的目標檢測。NMP構建了一個用于地圖分割的由歷史BEV特征組成的地圖。然而,BEV特征占用大量的內存,這限制了它的實際應用。以nuScenes數據集中的波士頓地圖為例,BEV特征需要超過11GB的內存在NMP中。相比之下,本文提出維護一個低成本的歷史光柵化地圖進行矢量化地圖感知,大幅減少了內存開銷。
HRMapNet方法詳解
概述
HRMapNet框架旨在作為現有在線矢量化地圖感知技術的補充。如圖2所示,該框架通過維護一個全局歷史光柵化地圖來輔助在線感知過程。輸入環視圖像后,從共享的主干網絡中提取2D特征,并將其轉換到鳥瞰圖(BEV)空間。作者引入了地圖編碼器和特征聚合模塊,以及一個新穎的查詢初始化模塊,這些模塊在原始地圖解碼器之前工作,旨在賦予基礎查詢來自本地地圖的先驗信息,使搜索所需地圖元素的過程更加高效。最終矢量化地圖元素直接從預測頭輸出,并可以光柵化以合并到全局地圖中。
圖 2: 所提出的 HRMapNet 架構圖。圖中的灰色塊表示與現有最先進在線矢量化地圖感知方法保持一致的部分
全局光柵化地圖
BEV特征聚合
查詢初始化
實驗結果和分析
數據集
nuScenes數據集包含1000個場景,這些場景分布在4個不同的地理位置,并且每個場景都提供了由6個環視圖像。Argoverse 2數據集則涵蓋了6個不同城市的1000個場景,每個場景都包含了7個環視圖像。
評估指標
評測主要關注三個地圖元素:車道線、人行橫道和道路邊界。本文使用Chamfer距離來衡量預測結果與真實標注之間的匹配程度,該距離在三個不同的閾值(0.5米、1.0米和1.5米)下進行計算。最終計算這三個類別的平均精度均值(mAP)作為評估指標。
實驗細節
與SOTA比較
在 nuScenes 數據集上的比較:如表 1 所示,作者將 HRMapNet 與僅使用單幀圖像的當前最先進技術進行了比較。HRMapNet 在這些方法中表現出顯著的優勢,包括 VectorMapNet、PivotNet、BeMapNet、MapTR、StreamMapNet 和 MapTRv2。具體而言,經過 24 個周期的訓練,HRMapNet 將 StreamMapNet 和 MapTRv2 的性能分別提升了 5.9 mAP 和 5.7 mAP。即使在 110 個周期的訓練后,HRMapNet 依然在同一設置下比 MapTRv2 高出 4.9 mAP。與引入額外信息的方法相比,HRMapNet 通過全面利用所有歷史信息而脫穎而出。例如,P-MapNet 引入了 OpenStreetMap的額外標準清晰度地圖,但其改進幅度不如作者的方法。SQD-MapNet 利用流查詢去噪策略從先前幀的結果中受益,而 HRMapNet 利用全局柵格化地圖不僅整合了時間信息,還整合了所有過去的結果進行在線感知,因此取得了更優越的性能。此外,HRMapNet 在與 StreamMapNet 和 MapTRv2 集成時,推理速度分別達到了 21.1 FPS 和 17.0 FPS,確保了其在自動駕駛實時應用中的實用性。
表 1: 在 nuScenes數據集上的比較結果。每個塊中的第一行是基線方法,標記為 “#” 的是改進方法。“Modality” 列中,“means using only a single frame” 表示僅使用單幀圖像;“SDMap” 表示添加額外的標準清晰度地圖作為輸入;“Temporal” 表示使用時間信息;“HRMap” 表示使用歷史柵格化地圖。MapTR 和 P-MapNet 的結果取自 P-MapNet;StreamMapNet 和 SQD-MapNet 的結果取自 SQD-MapNet,也與作者自己復現的結果一致。其他結果取自各自論文。FPS 是在單塊 NVIDIA A100 GPU 上,批量大小為 1 時測量的。作者方法引入的改進用紅色標記。
在 Argoverse 2 數據集上的比較:如表 2 所示,Argoverse 2 數據集上的結果進一步證明了 HRMapNet 的有效性。HRMapNet 在 StreamMapNet 和 MapTRv2 上都取得了顯著的提升,分別提高了 2.8 mAP 和 4.0 mAP。這些結果強調了作者方法在不同方法論和數據集上的有效性和通用性。
表2:在 Argoverse 2數據集上的比較結果
在新分割數據集上的比較:上述實驗是在常用的原始數據集分割上進行的,其中訓練和驗證數據集之間存在位置重疊。StreamMapNet 提出了 nuScenes 和 Argoverse 2 的新分割方法,其中訓練和驗證數據在位置上是分開的。作者在表 3 中也提供了這些新分割數據集上的結果。在這些新分割數據上,StreamMapNet 利用查詢傳播和 BEV 特征融合來整合時間信息。作者沒有使用這兩種時間融合模塊,僅集成了利用全局柵格化地圖的策略。HRMapNet 仍然在這兩個數據集上提高了 StreamMapNet 的性能,分別提高了超過 3.0 mAP,這加強了集成全局柵格化地圖的價值。
表3
消融實驗
在本節中,作者對方法進行了消融研究,這些研究在 nuScenes 數據集上進行,使用 24 個訓練周期,并將 MapTRv2作為基準模型。
特征聚合與查詢初始化:在線感知中,作者的方法利用全局地圖信息增強了鳥瞰視圖(BEV)特征和查詢。表 4 展示了這兩個模塊的消融研究。基于 MapTRv2,將全局地圖信息集成到 BEV 特征中,性能提升了 3.1 mAP。進一步引入查詢初始化模塊,性能又提升了 2.6 mAP。這兩個組件在將全局地圖信息集成到在線感知中都起到了顯著的正面作用。為了進一步證明提出的查詢初始化模塊有助于更高效地搜索地圖元素,作者在補充材料中提供了減少解碼器層數的消融研究。
表4:消融實驗
查詢初始化中的地圖分辨率:在查詢初始化過程中,所有地圖元素存在的位置都被視為地圖先驗,并嵌入到基礎查詢中。然而,有時會產生過多的先驗嵌入,占用大量內存。為此,在提取地圖先驗嵌入之前,作者對檢索到的本地柵格地圖進行了下采樣,以達到更粗糙的分辨率。表 5 展示了不同分辨率下編碼地圖先驗嵌入的消融研究。在 0.3 m 分辨率下,未采用下采樣,導致訓練過程中產生大量嵌入和顯著的 GPU 內存消耗。隨著分辨率的降低,內存使用量迅速減少,對推理速度的影響很小。作者將分辨率設置為 0.6 m 作為默認配置,因為此時內存消耗是可以接受的,并且能夠獲得最佳性能。結果還表明,與 MapTRv2 相比,HRMapNet 在訓練中額外消耗了約 9 GB 的 GPU 內存。
表5:消融實驗
實際使用中的額外結果
定位誤差的魯棒性:如第 3.2 節所述,全局地圖是基于自車定位從本地預測的柵格地圖中更新的。在自動駕駛中,自車定位通常使用 GNSS 模塊或基于 SLAM 的方法進行高精度定位。為了評估 HRMapNet 對定位誤差的魯棒性,作者在 nuScenes 數據集上進行了額外的實驗,結果如表 6 所示。基于 MapTRv2 訓練了 24 個周期的模型在不同級別的定位誤差下進行了測試;所有結果均來自同一模型,只是定位誤差水平不同。作者為自車定位的平移和旋轉添加了隨機噪聲,從而影響了地圖的更新和檢索。
表 6: 在不同定位誤差下測試的 mAP
結果清楚地展示了 HRMapNet 對定位誤差的魯棒性,尤其是在平移方面。一個促成因素是作者方法中使用的相對較小的地圖分辨率(0.3m)。盡管存在不同程度的定位誤差,HRMapNet 仍然能夠一致地提供可比的結果,大多數情況下性能僅下降了 1 mAP。即使在最壞情況下,即噪聲最大的情況下,歷史地圖仍然帶來了好處(63.8 mAP),與基線模型 MapTRv2(61.5 mAP)相比有所提升。考慮到自動駕駛中對平移的 0.1 m 誤差和對旋轉的 0.01 rad 誤差是常見的要求,這些額外的結果表明 HRMapNet 在實際使用中的有效性。
不同初始地圖:在上述實驗中,為了進行更公平的比較,HRMapNet 被測試為使用一個空的初始全局地圖。全局地圖是逐漸從感知結果中更新的,并有利于后續預測。對于許多幀來說,在線感知實際上只從時間上的前幾幀中受益,這削弱了使用全局歷史地圖的力量。在這里,作者提供了使用預構建初始地圖的額外結果,如表 7 所示。這里使用的模型與表 1 中的模型相同,與 MapTRv2 集成并訓練了 24 個周期。注意,模型沒有重新訓練或微調,作者只是用不同的初始地圖進行了測試。這里有兩種地圖可以提供。
表 7: 使用不同初始地圖進行測試的 mAP
對于“驗證地圖”,相同的模型用驗證數據運行兩次。第一次是使用空的初始地圖運行。地圖隨著驗證數據的進入而逐漸更新,最終的全局地圖被保存。這個全局地圖被加載用于第二次驗證。實際上沒有額外的數據輸入,模型自己構建了一個全局地圖并再次用于驗證。有了這個更完整的地圖的幫助,相同模型的性能進一步提高了 +5.4 mAP。此外,訓練期間構建的全局地圖被保存并再次加載用于驗證。如第 4.2 節所述,訓練和驗證數據之間存在位置重疊。因此這個訓練地圖也可以在線感知中受益于驗證。因為這個訓練地圖更準確,性能大大提高了 +16.5 mAP。作者提供這些額外的結果,以顯示 HRMapNet 在自動駕駛實際使用中的潛力,包括眾包在線地圖感知。提供了一個易于維護的全局地圖,甚至可以由其他車輛構建,在線矢量化地圖感知的性能可以大大提高。
定性結果分析
如圖 3 所示,作者對比了在嚴重遮擋、雨天以及夜間照明條件不佳的情況下的地圖感知結果。所有參與比較的方法均基于 24 周期的訓練。本研究提出的方法以 MapTRv2 為基礎模型。圖中,車道線、人行橫道和道路邊界分別用紅色、綠色和藍色標識。
圖 3: 在三個挑戰性場景(嚴重遮擋、雨天和夜間照明不足)下的可視化結果對比
結論
作者提出了一種新穎的框架,即通過維護一個全局的歷史柵格化地圖來增強在線矢量化地圖的感知。這種全局柵格化地圖能夠利用過往的預測成果被簡易地構建和更新。作者通過將歷史柵格化地圖的信息融合進鳥瞰視圖(BEV)特征增強和查詢初始化過程中,使其成為在線感知任務中的有益補充。本框架與當前大多數在線矢量化地圖感知技術相兼容。實驗結果證明,作者所提出的 HRMapNet 顯著提升了兩種業界領先的在線矢量化地圖感知方法的性能。作者期望 HRMapNet 能夠成為眾包地圖感知的基石:由眾多自動駕駛車輛共同維護一個精確的全局柵格化地圖,并以此為每輛車提供準確的在線矢量化地圖感知的先驗知識。
局限性:盡管 HRMapNet 專注于如何利用歷史柵格化地圖來增強在線矢量化地圖的感知,作者并未設計過于復雜的地圖維護機制,而是采用了一種源自機器人領域的占用網格建圖技術的簡化版本,用以將局部預測結果整合入全局地圖。