ADMap:抗干擾在線高精地圖新思路
本文經自動駕駛之心公眾號授權轉載,轉載請聯系出處。
寫在前面&筆者的個人理解
大家好,很開心能夠受邀來到自動駕駛之心分享我們的在線重建矢量化高精度地圖的抗擾動方法ADMap。我們的代碼已經發布在https://github.com/hht1996ok/ADMap
在自動駕駛領域,在線高清地圖重建對于規劃和預測任務具有重要意義,近期的工作構建了許多高性能的高清地圖重建模型來滿足這一需求。然而矢量化實例內部的點序由于預測偏差可能會出現抖動或鋸齒現象,從而影響后續任務。因此,我們提出了Anti-Disturbance Map reconstruction framework(ADMap)。本文希望兼顧模型速度和整體的精度,并且在部署時不會讓工程師們感到困擾。因此,提出了三個高效且有效的模塊:Multi-Scale Perception Neck(MPN)、Instance Interactive Attention(IIA)和Vector Direction Difference Loss(VDDL)。通過級聯的探索實例間和實例內部的點序關系,我們的模型更好地監督了點序的預測過程。
我們在nuScenes和Argoverse2中驗證了ADMap的有效性。實現結果表明,其在各基準中均取得最佳性能。nuScenes基準中,ADMap在camera-only框架下和多模態框架下的mAP相較基準分別提高4.2%和5.5%。ADMapv2不僅減少了推理延遲,還有效提高了基線性能,其最高mAP達到了82.8%。在Argoverse中ADMapv2的mAP提高為62.9%,同時還保持了14.8FPS。
總結來說,我們提出的ADMap主要有以下幾點貢獻:
- 提出了端到端的ADMap,重建了更穩定的矢量化高精地圖。
- MPN在不增加推理資源的情況下更好的捕捉了多尺度信息,IIA完成了實例間和實例內部的有效交互,使點級特征更準確,VDDL更細致的約束了點序重建過程,在點序的幾何關系上進行監督。
- ADMap實現了矢量化高精地圖的實時重建,并且在nuScenes基準和Argoverse2中達到了最高精度。
方法提出
如圖1所示,實例中的預測點往往會不可避免的出現抖動或偏移現象,這種抖動會導致重建后的實例矢量變得不平滑或鋸齒狀,嚴重影響了在線高精地圖的質量和實用性。我們認為,其原因在于現有模型并未充分考慮實例間和實例內部的交互方式,實例點與地圖拓撲信息不完全的交互會導致其預測位置的不準。此外僅通過L1 loss和cosine embedding loss等監督無法有效的利用幾何關系來約束實例點的預測過程,網絡需要利用各點間的矢量線段來精細捕捉點序的方向信息以更準確的約束每個點的預測過程。
為了緩解以上問題,我們創新的提出了Anti-Disturbance Map reconstruction framework(ADMap),實現了矢量化高精地圖的實時穩定重建。
方法設計
如圖2所示,ADMap通過多尺度感知頸(Multi-Scale Perception Neck,MPN)、實例交互注意力(Instance Interactive Attention,IIA)和矢量方向差損失(Vector Direction Difference Loss,VDDL)來更精細地預測點序拓撲結構。下面將分別介紹MPN、IIA以及VDDL。
Multi-Scale Perception Neck
為了使網絡可以獲取更為細致的BEV特征,我們提出了Multi-Scale Perception Neck(MPN),其輸入為融合后的BEV特征,。經過下采樣后的各層級BEV特征會各自連接一個上采樣層使特征圖恢復原來的尺寸,最終各層級特征圖合并為多尺度BEV特征。
如圖2中的虛線代表該步驟僅在訓練時實施,實線代表訓練和推理過程都會實施該步驟。在訓練過程中,多尺度BEV特征圖和每一層級的BEV特征圖都會被送入Transformer Decoder,這使網絡可以在不同尺度預測場景的實例信息以捕捉更精細的多尺寸特征。而在推理過程中,MPN僅保留多尺度BEV特征,不會輸出各層級特征圖,這保證了該neck在推理時的資源占用不變。
Transformer Decoder
Transformer Decoder中定義了一組實例級別的查詢和一組點級別的查詢,隨后將點級別查詢共享到所有實例中,這些分層查詢被定義為:
解碼器包含幾個級聯的解碼層,這些層迭代地更新分層查詢。在各解碼層中,分層查詢被輸入到自注意力機制中,這使得分層查詢間可以相互交換信息,Deformable Attention被用來交互分層查詢和多尺度BEV特征。
Instance Interactive Attention
為了在解碼階段更好的獲取各實例特征,我們提出了Instance Interactive Attention(IIA),其由Instances self-attention和Points self-attention組成。不同于MapTRv2并行提取實例級和點級別的嵌入,IIA級聯地提取了查詢嵌入。實例嵌入間的特征交互進一步幫助了網絡學習點級嵌入間的關系。
如圖3所示,Deformable cross-attention輸出的分層嵌入被輸入到Instances self-attention。將點維度與通道維度合并后維度變換為。隨后,分層嵌入接入由多個MLP組成的Embed Layer中獲得實例查詢,該查詢被放入Multi-head self-attention中來捕捉實例間的拓撲關系,得到實例嵌入。為了在點級嵌入中融入實例級別信息,我們將實例嵌入和分層嵌入相加。相加后的特征被輸入至Point self-attention中,對各實例內的點特征進行交互,進一步精細關聯了點序間的拓撲關系。
Vector Direction Difference Loss
高精地圖中包含了矢量化的靜態地圖元素,包括車道線、路沿和人行橫道等。ADMap針對這些開放形狀(車道線、路沿)和封閉形狀(人行橫道)提出了Vector Direction Difference Loss。我們建模了實例內部的點序矢量方向,通過預測矢量方向和真實矢量方向的差值可以更細致的監督點的方向。此外,真實矢量方向差較大的點被認為代表了部分場景拓撲的劇烈變化(更不容易預測),更加需要被模型關注。因此,真實矢量方向差較大的點被賦予了更大的權重,以保證網絡可以準確預測到這個劇烈變化的點。
圖4展示了預測點序{ 和真實點序{ 中對預測矢量線{ 和真實矢量線{ 的初始建模。為了保證相反的角度不會得到相同的損失,我們計算矢量線角度差余弦值θ':
其中函數累加了矢量線的坐標位置,代表歸一化操作。我們利用真實實例中各點的矢量角度差來為它們賦予不同大小的權重。權重定義如下:
其中代表實例中點的數量,函數代表底數為e的指數函數。由于首尾兩點無法計算矢量角度差,因此我們將首尾點的權重設置為1。當真實值中的矢量角度差變大時,我們賦予該點更大的權重,這使得網絡更為關注顯著變化的地圖拓撲結構。點序中各點的角度差損失定義為:
我們使用θ將損失值的區間調整為[0.0, 2.0]。通過將各點的相鄰矢量線角度差余弦相加,該損失更全面的涵蓋了各點的幾何拓撲信息。由于首尾兩點僅有一根相鄰矢量線,因此首尾兩點的損失為單個矢量角度差的余弦值。
實驗
為了公平的評估,我們將地圖元素分為車道線、道路邊界和人行橫道三種。采用平均精度(AP)來評估地圖構建的質量,使用預測點序和真實點序的chamfer距離之和來判斷兩者是否匹配。Chamfer距離閾值設置為[0.5, 1.0, 1.5],我們分別在這三種閾值下計算AP,并將平均值作為最終指標。
對比實驗
表1報告了ADMap和最先進方法在nuScenes數據集的指標。在camera-only框架下,ADMap的mAP相較于baseline(MapTR)提高了5.5%,ADMapv2相較于baseline(MapTRv2)提高了1.4%。ADMapv2最高mAP達到82.8%,取得當前基準中最佳性能,部分細節會在后續arxiv版本中公布。在速度方面,ADMap相較于其baseline在FPS略微降低的情況下顯著提高模型性能。值得一提的是,ADMapv2不僅提高了性能,在模型推理速度方面也有提升。
表2報告了ADMap和最先進方法在Argoverse2中的指標。在camera-only框架下,ADMap和ADMapv2相較于baseline分別提高了3.4%和1.3%。在多模態框架下,ADMap和ADMapv2達到了最佳性能,mAP分別為75.2%和76.9%。在速度方面。ADMapv2相較于MapTRv2提升了11.4ms。
消融實驗
在表 3 中,我們提供了在 nuScenes 基準上ADMap各個模塊的消融實驗。
表4給出了插入不同注意力機制對于最終性能的影響。DSA表示decoupled self-attention,IIA表示實例交互注意力。結果表示IIA相較于DSA,mAP提高1.3%。
表5報告了在融合特征后增加backbone和neck層對mAP的影響。增加基于SECOND的backbone和neck層后,mAP提高了1.2%。而增加MPN后,在不增加推理時間的前提下,模型的mAP提高了2.0%。
表6報告了在nuScenes基準中增加VDDL對性能的影響。可以看到,當權重設置為1.0時,mAP最高,達到了53.3%。
表7報告了在nuScenes基準中,MPN下采樣層數對最終性能的影響。下采樣層數越多,模型推理速度越慢。因此,為了平衡速度和性能,我們設置了下采樣層數為2。
為了驗證ADMap有效緩解了點序擾動問題,我們提出了average chamfer distance(ACE)。我們挑選了chamfer distance之和小于1.5的預測實例,并計算它們的average chamfer distance(ACE)。當ACE越小代表實例點序預測的越準確。表8證明了ADMap可以有效緩解點云擾動這一問題。
可視化結果
下面兩幅圖為nuScenes數據集和Argoverse2數據集中的可視化結果。
總結
ADMap是一個高效且有效的矢量化高精地圖重建框架,其有效緩解了實例矢量的點序由于預測偏差可能會出現的抖動或鋸齒現象。大量實驗表明,我們提出的方法在nuScenes和Argoverse2基準上均取得最佳性能。我們相信ADMap協助推進矢量高精地圖重建任務的研究,從而更好地推動自動駕駛等領域的發展。