在線地圖還能這樣?MapTracker:用跟蹤實現(xiàn)在線地圖新SOTA!
本文經自動駕駛之心公眾號授權轉載,轉載請聯(lián)系出處。
寫在前面&筆者的個人理解
太強了,在線高精地圖還能用跟蹤的方式來做?。?!本文提出了一種矢量HD建圖算法,該算法將在線高精建圖公式化為跟蹤任務,并使用memory latents的歷史來確保隨著時間的推移重建的一致性。我們的方法MapTracker將傳感器流累積到兩種潛在表示的memory buffers中:1)鳥瞰圖(BEV)空間中的Raster latents和 2)道路元素(即人行橫道、車道線和道路邊界)上的Vector latents。該方法借鑒了目標跟蹤中的查詢傳播范式,該范式明確地將前一幀的跟蹤道路元素與當前幀相關聯(lián),同時融合了與距離distance strides的memory latents子集,以進一步增強時間一致性。對Vector latents進行解碼以重建道路元素的幾何形狀。該論文通過以下方面進一步做出了基準貢獻:1)改進現(xiàn)有數(shù)據(jù)集的處理代碼,以通過時間比對產生一致的基本事實;2)通過一致性檢查增強現(xiàn)有的mAP性能。MapTracker在nuScenes和Agroverse2數(shù)據(jù)集上的傳統(tǒng)和新的一致性感知指標上分別顯著優(yōu)于現(xiàn)有方法8%和19%以上!性能拉滿了~
開源鏈接:https://map-tracker.github.io/
總結來說,本文的主要貢獻如下:
- 一種新的矢量HD建圖算法,將HD建圖公式化為跟蹤任務,并利用兩種表示中的memory latents歷史來實現(xiàn)時間一致性;
- 一種改進的矢量HD建圖基準,具有時間一致的GT和一致性感知的mAP metric;
- SOTA性能!在傳統(tǒng)和新的度量上比當前的最佳方法有顯著改進。
相關工作回顧
本文通過 1)借鑒視覺目標跟蹤文獻的思想和 2)設計一種新的記憶機制來解決一致向量HD建圖問題。我們首先回顧了基于視覺的自動駕駛中使用Transformer和記憶設計的視覺目標跟蹤的最新趨勢。最后,我們討論了競爭矢量HD建圖方法。
使用transformers進行視覺目標跟蹤。視覺目標跟蹤有著悠久的歷史,其中端到端transformer方法由于其簡單性而成為最近的趨勢。TrackFormer、TransTrack和MOTR利用注意力機制和跟蹤查詢來顯式關聯(lián)跨幀的實例。MeMOT和MeMOTR進一步擴展了具有記憶機制的跟蹤transformer,以獲得更好的長期一致性。本文通過將跟蹤查詢與更穩(wěn)健的內存機制結合起來,將矢量HD建圖公式化為跟蹤任務。
自動駕駛中的Memory設計。單幀自動駕駛系統(tǒng)在處理遮擋、傳感器故障或復雜環(huán)境方面存在困難。具有Memory的時間建模提供了有希望的補充。存在許多用于光柵BEV功能的Memory設計,這些功能構成了大多數(shù)自動駕駛任務的基礎。BEVDet4D和BEVFormerv2將多個過去幀的特征疊加為Memory,但計算隨著歷史長度線性擴展,難以捕獲長期信息。VideoBEV跨幀傳播BEV光柵查詢,以循環(huán)積累信息。在向量域中,Sparse4Dv2使用類似的RNN風格的內存進行目標查詢,而Sparse4Dv3進一步使用時間去噪進行穩(wěn)健的時間學習。這些思想已被矢量HD建圖方法部分納入。本文針對道路元素的光柵BEV潛伏時間和矢量潛伏時間提出了一種新的存儲器設計。
矢量HD建圖。傳統(tǒng)上,高精地圖是用基于SLAM的方法離線重建的,然后是人工管理,需要高昂的維護成本。隨著精度和效率的提高,在線矢量高精地圖算法比離線地圖算法更受關注,這將簡化生產流程并處理地圖更改。HDMapNet通過后處理將光柵圖分割轉化為矢量圖實例,并建立了第一個矢量HD建圖基準。VectorMapNet和MapTR都利用基于DETR的transformer進行端到端預測。前者自回歸地預測每個檢測到的曲線的頂點,而后者使用分層查詢和匹配損失來同時預測所有頂點。MapTRv2通過輔助任務和網(wǎng)絡修改進一步補充了MapTR。曲線表示、網(wǎng)絡設計和訓練范式是其他工作的重點。StreamMapNet通過借鑒BEV感知中的流思想,朝著一致建圖邁出了一步。該想法將過去的信息累積為memory latents,并作為條件(即條件檢測框架)通過。SQD MapNet模仿DN-DETR,提出了時間曲線去噪以促進時間學習。
MapTracker
魯棒記憶機制是MapTracker的核心,它將傳感器流累積為兩種表示的latent memories:1)自上而下的BEV坐標系中車輛周圍區(qū)域的鳥瞰(BEV)記憶作為潛在圖像;和2)道路元素(即,行人專用區(qū)交叉口、車道線和道路邊界)的矢量(VEC)記憶作為一組潛在矢量。
兩個簡單的想法與memory機制實現(xiàn)了一致的建圖。第一個想法是使用歷史的memory buffer,而不是當前幀的單個memory。單個memory應該保存整個歷史的信息,但很容易丟失memory,尤其是在有大量車輛遮擋道路結構的雜亂環(huán)境中。具體地說,為了效率和覆蓋率,我們基于車輛運動在每一幀選擇過去latent memories的子集進行融合。第二個想法是將在線高精地圖制定為跟蹤任務。VEC memory機制保持每個道路元素的memory latents期序列,并通過借用跟蹤文獻中的查詢傳播范式使該公式變得簡單。本節(jié)的其余部分解釋了我們的神經架構(見圖2和圖3),包括BEV和VEC memory buffers及其相應的網(wǎng)絡模塊,然后介紹了訓練細節(jié)。
Memory Buffers
BEV memory是BEV坐標系中的2D latent,以車輛為中心并在第t幀處定向??臻g維度(即50×100)覆蓋矩形區(qū)域,左/右15m,前/后30m。每個存儲器潛伏時間累積整個過去的信息,而buffer在最后20幀中保持這樣的memory latents時間,使得memory機制冗余但穩(wěn)健。
VECmemory是一組向量潛伏時間,每個向量latents時間累積直到幀t的活動道路元素的信息?;顒釉氐臄?shù)量隨幀而變化。buffer保存過去20幀的latent vectors及其在幀之間的對應關系(即,對應于相同道路元素的矢量潛伏序列)。
BEV Module
輸入是 1)由圖像主干處理的機載環(huán)視圖像的CNN特征及其相機參數(shù);2) BEV memory buffer和3)車輛運動。以下內容解釋了BEV模塊體系結構的四個組成部分及其輸出。
- BEV Query Propagation:BEV memory是車輛坐標系中的2D latent image。仿射變換和雙線性插值將當前BEV memory初始化為先前的BEV memory。對于變換后位于latent image之外的像素,每像素可學習的嵌入向量是初始化,其操作在圖3中表示為“MaskBlend”。
- Deformable Self-Attention:可變形的自注意力層豐富了BEV memory。
- Perspective-to-BEV Cross-Attention:與StreamMapNet類似,BEVFormer的空間可變形交叉注意力層將透視圖信息注入MBEV(t)。
- BEV Memory Fusion:buffer中的memory latents被融合以豐富MBEV(t)。使用所有的memories在計算上是昂貴且冗余的。
輸出是1)保存到buffer并傳遞到VEC模塊的最終memory MBEV(t);以及2)由分割頭推理并用于損失計算的光柵化道路元素幾何圖形S(t)。分割頭是一個線性投影模塊,將memory latent中的每個像素投影到2×2的分割掩模,從而產生100×200的掩模。
VEC Module
輸入是BEV memory MBEV(t)和vector memory buffer以及車輛運動;
- Vector Query Propagation:vector memory是活動道路元素的一組潛在矢量。
- Vector Instance Self Attention:標準的自注意力層;
- BEV-to-Vector Cross Attention:Multi-Point Attention;
- Vector Memory Fusion:對于當前存儲器MVEC(t)中的每個潛在矢量,將緩沖器中與相同道路元素相關聯(lián)的潛在矢量進行融合以豐富其表示。相同的跨步幀選擇選擇四個潛在向量,其中對于一些具有短跟蹤歷史的道路元素,所選擇的幀π(t)將不同且更少。例如,跟蹤了兩幀的元素在buffer中只有兩個latents。
輸出是1)通過來自MVEC(t)的單個完全連接層的分類測試的“positive”道路元素的最終存儲器MVEC(t);以及2)由來自MVEC(t)的3層MLP回歸的正道路元素的矢量道路幾何形狀。
Training
BEV loss:
VEC損失。受MOTR(一種用于多目標跟蹤的端到端轉換器)的啟發(fā),我們將基于匹配的損失擴展到明確考慮GT跟蹤。新元素的最佳實例級標簽分配定義為:
然后歸納定義所有輸出和GT之間的標簽分配ω(t):
矢量輸出的跟蹤樣式損失為:
轉換損失。我們借用StreamMapNet中的轉換損失Ltrans來訓練PropMLP,這強制潛在空間中的查詢轉換保持向量幾何和類類型。最后的訓練損失是:
Consistent Vector HD Mapping Benchmarks
Consistent ground truth
MapTR從nuScenes和Agroverse2數(shù)據(jù)集創(chuàng)建了矢量HD建圖基準,被許多后續(xù)研究采用。然而,人行橫道是天真地合并在一起的,而且跨框架不一致。分割線也與其圖形跟蹤過程的失敗不一致(對于Argoverse2)。
StreamMapNet繼承了VectorMapNet的代碼,并創(chuàng)建了一個具有更好真實性的基準,該基準已在研討會挑戰(zhàn)中使用。然而,仍然存在一些問題。對于Argoverse2,分隔線有時會拆分為較短的線段。對于nuScenes,大型人行橫道有時會分割出小環(huán)路,其不一致性在每幀中隨機出現(xiàn),導致暫時不一致的表示。我們在附錄中提供了現(xiàn)有基準問題的可視化。
我們改進了現(xiàn)有基準的處理代碼,以(1)增強每幀的GT幾何結構,然后(2)計算它們在幀之間的對應關系,形成GT“軌跡”。
(1) 增強每幀幾何圖形。我們繼承和改進了在社區(qū)中流行的MapTR代碼庫,同時進行了兩個更改:用StreamMapNet中的處理取代步行區(qū)處理,并通過更多的幾何約束來提高質量;以及通過增強圖跟蹤算法來處理原始注釋的噪聲來增強除法器處理中的時間一致性(僅適用于Argoverse2)。
(2) Forming tracks。給定每幀道路元素的幾何結構,我們求解每對相鄰幀之間的最優(yōu)二分匹配問題,以建立道路元素的對應關系。成對的對應關系被鏈接以形成道路元素的軌跡。一對道路元素之間的匹配分數(shù)定義如下。道路元素幾何圖形是多邊形曲線或環(huán)形。我們根據(jù)車輛運動將舊幀中的元素幾何體轉換為新幀,然后將具有一定厚度的兩條曲線/循環(huán)光柵化為實例遮罩。他們在并集上的交集是匹配的分數(shù)。
Consistency-aware mAP metric
mAP度量不會懲罰暫時不一致的重建。我們將重建的道路元素和每個幀中的地面實況與倒角距離獨立匹配,如在標準mAP過程中一樣,然后通過以下檢查消除暫時不一致的匹配。首先,對于不預測跟蹤信息的基線方法,我們使用與獲得GT時間對應關系相同的算法來形成重建道路元素的軌跡(我們還擴展了算法,通過權衡速度來重新識別丟失的元素;詳細信息請參閱附錄)。接下來,讓“祖先”是屬于前一幀中相同軌跡的道路元素。從序列的一開始,如果它們的祖先中有任何一個不匹配,我們就會將每幀匹配(重建元素和地面實況元素)刪除為暫時不一致。然后利用剩余的暫時一致的匹配來計算標準mAP。
實驗
我們基于StreamMapNet代碼庫構建我們的系統(tǒng),同時使用8個NVIDIA RTX A5000 GPU在nuScenes上為72個epoch和Argoverse2上為35個epoch訓練我們的模型。三個訓練階段的批量大小分別為16、48和16。訓練大約需要三天時間,而推理速度大約為10 FPS。在解釋了數(shù)據(jù)集、指標和基線方法之后,本節(jié)提供了實驗結果。
我們的貢獻之一是在兩個現(xiàn)有的對應物(即MapTR和StreamMapNet)上實現(xiàn)了暫時一致的地面實況(GT)。表1和表2顯示了在三個GT中的一個上訓練和測試系統(tǒng)的結果(如第一列所示)。由于我們的代碼庫是基于StreamMapNet的,我們在StreamMapNet GT和我們的臨時一致GT上評估我們的系統(tǒng)。
nuScenes結果。表1顯示,MapTRv2和StreamMapNet都使用我們的GT實現(xiàn)了更好的mAP,這是我們在修復其原始GT中的不一致性時所期望的。StreamMapNet的改進略高,因為它具有時間建模(而MapTR沒有),并利用了數(shù)據(jù)中的時間一致性。MapTracker顯著優(yōu)于競爭方法,尤其是在我們的一致性GT在原始和一致性意識mAP得分中分別提高了8%和22%以上的情況下。注意,MapTracker是唯一產生明確跟蹤信息(即,重構元素在幀之間的對應關系)的系統(tǒng),這是一致性區(qū)域mAP所需要的。一個簡單的匹配算法為基線方法創(chuàng)建軌跡。
Argoverse2結果。表2顯示,MapTRv2和StreamMapNet都通過我們一致的GT獲得了更好的mAP分數(shù),它除了暫時一致之外,還具有更高質量的GT(用于人行橫道和分隔物),使所有方法都受益。MapTracker在所有設置中都以顯著的優(yōu)勢(即分別為11%或8%)優(yōu)于所有其他基線。一致性意識評分(C-mAP)進一步證明了我們卓越的一致性,比StreamMapNet提高了18%以上。
Results with geographically non-overlapping data
nuScenes和Agroverse2數(shù)據(jù)集的官方訓練/測試劃分具有地理重疊(即,訓練/測試中出現(xiàn)相同的道路),這允許過度擬合。表3比較了StreamMapNet和MapTracker提出的基于地理上不重疊分割的最佳基線方法。MapTracker始終以顯著的優(yōu)勢表現(xiàn)出色,表現(xiàn)出強大的跨場景泛化能力。請注意,對于這兩種方法,nuScenes數(shù)據(jù)集的性能都會降低。經過仔細檢查,道路要素的檢測是成功的,但回歸的坐標誤差很大,導致性能低下。附錄提供了更多分析。
Ablation studies
表4中的消融研究證明了MapTracker中關鍵設計元素的貢獻。第一個“基線”條目是StreamMapNet,它沒有時間推理能力(即沒有BEV和矢量流存儲器和模塊)。第二個條目是StreamMapNet。兩種方法都訓練了110個時期,直到完全收斂。最后三個條目是MapTracker的變體,包含或不包含關鍵設計元素。第一種變體丟棄BEV/VEC模塊中的存儲器融合組件。該變體利用跟蹤公式,但依賴于單個BEV/VEC存儲器來保存過去的信息。第二種變體添加了內存緩沖區(qū)和內存融合組件,但沒有跨步,即使用最新的4幀進行融合。這種變體提高了性能,證明了我們記憶機制的有效性。最后一種變體添加了內存跨步,從而更有效地利用了內存機制并提高了性能。
Qualitative evaluations
圖4顯示了MapTracker和基線方法在nuScenes和Argoverse2數(shù)據(jù)集上的定性比較。為了更好地可視化,我們使用一種簡單的算法將每幀矢量HD地圖合并為全局矢量HD地圖。有關合并算法和每幀重建的可視化的詳細信息,請參閱附錄。MapTracker產生了更精確、更干凈的結果,顯示出卓越的整體質量和時間一致性。對于車輛正在轉彎或沒有輕微向前移動的場景(包括圖1中的兩個示例),StreamMapNet和MapTRv2可能會產生不穩(wěn)定的結果,從而導致破碎和嘈雜的合并結果。這主要是因為基于檢測的公式難以在復雜的車輛運動下維持時間相干重建。
結論
本文介紹了MapTracker,它將在線HD映射公式化為跟蹤任務,并利用raster and vector latents的歷史來保持時序一致性。我們使用查詢傳播機制來跨幀關聯(lián)被跟蹤的道路元素,并將所選擇的memory entries的子集與距離步幅融合以增強一致性。我們還通過使用跟蹤標簽生成一致的GT,并通過時序一致性檢查增強原始mAP指標,來改進現(xiàn)有的基準。當使用傳統(tǒng)度量進行評估時,MapTracker在nuScenes和Agroverse2數(shù)據(jù)集上顯著優(yōu)于現(xiàn)有方法,并且當使用我們的一致性感知度量進行評估后,它表現(xiàn)出了卓越的時序一致性。
局限性:我們確定了MapTracker的兩個局限性。首先,當前的跟蹤公式不處理道路元素的合并和分割(例如,U形邊界在未來的幀中分割成兩條直線,反之亦然)。基本事實也不能恰當?shù)卮硭麄?。其次,我們的系統(tǒng)仍處于10 FPS,實時性能有點不足,尤其是在關鍵的崩潰事件中。優(yōu)化效率和處理更復雜的現(xiàn)實世界道路結構是我們未來的工作。