[首發于智駕最前沿微信公眾號]在自動駕駛場景中,稀疏地圖通常是由一系列關鍵幀和若干三維稀疏特征點構成的地圖,每個特征點包含三維坐標和描述外觀的描述子;而視覺SLAM是運行在車輛上的實時算法,它一邊通過相機估計自身位置,一邊在未知環境中構建或更新地圖。將兩者結合的目的其實非常明確,利用預先構建好的稀疏地圖作為先驗信息,讓在線運行的視覺SLAM實現更穩定、更精準的定位,同時使地圖能夠重復使用和持續維護,避免每次都從頭開始建圖。


為什么要把稀疏地圖和視覺SLAM結合
視覺SLAM在短時跟蹤和閉環檢測方面表現出色,但在長期運行中容易受到漂移、光照變化、遮擋和動態物體等問題的干擾。稀疏地圖恰好能彌補這些短板,它支持離線優化,可通過全局光束法平差(bundle adjustment)大幅提升幾何精度;能夠存儲穩定的語義或標志性地物(如路燈、交通標志、建筑角點),從而支持長期可靠的定位。此外,它還可以跨不同任務重復使用,有效節約在線計算資源。
將稀疏地圖與視覺SLAM結合,相當于將離線生成的高質量地圖信息引入在線定位過程,車輛在進入新場景時能夠快速“重定位”到地圖坐標系中,可有效抑制長期漂移;當遇到回環時,地圖也能輔助系統快速識別并糾正位姿誤差。對于自動駕駛來說,這意味著更穩定的車道級或米級定位能力,降低對GNSS的單一依賴,并提升在隧道、城市峽谷等復雜場景下的系統魯棒性。

具體結合方法和技術細節
將稀疏地圖與視覺SLAM結合,本質上是一個“準備-使用-維護”的循環系統工程。為了清晰地理解其全貌,我們可以將其工作流程梳理為“離線地圖構建”、“在線定位與視覺里程計”和“全局一致性與更新”等三條相互關聯但又職責分明的主線。這三條主線并非孤立存在,而是構成了一個完整的生態閉環。

1)離線構建
多數團隊會先利用高質量的SLAM系統或多傳感器組合(如視覺+IMU+RTK-GNSS)對待測道路進行采集,進而對相機位姿、關鍵幀和三維特征點執行離線優化。
這一階段的重點包括,選取穩定特征(如ORB、SIFT、Super Point等),保持關鍵幀之間的覆蓋范圍和視角多樣性,執行全局光束法平差以剔除弱約束點,并過濾掉動態或易變特征(如樹葉、移動車輛)。
此外,為支持在線快速匹配,通常還會為每個關鍵幀提取并存儲特征描述子(可以是傳統ORB描述子,也可以是基于深度學習的描述子),并建立詞袋模型或全局描述子(如NetVLAD)以加速檢索。
離線地圖的存儲也需要結構化,關鍵幀的位姿、相機內參、稀疏點坐標及其可見關鍵幀、特征描述子等信息都應妥善保存,如果條件允許,還可加入語義標簽(如“交通標志”“路燈”)和可靠性評分。
2)在線定位
在有稀疏地圖的前提下,視覺SLAM的重心從“同時建圖”轉向“局部跟蹤+離線地圖匹配”。當相機捕獲新圖像后,首先通過視覺里程計或視覺慣性里程計進行短時跟蹤,保持低延遲、平滑的位姿估計;同時,系統并行嘗試基于圖像檢索的重定位,利用詞袋模型或全局描述子找到可能的離線關鍵幀候選;接著,對候選關鍵幀執行2D-3D匹配(將當前幀中的特征點與稀疏地圖中的三維點進行關聯),并通過PnP結合RANSAC求解相機在地圖坐標系中的絕對位姿。
這一過程中2D-3D匹配需要有效的關聯策略(以描述子匹配為主,輔以尺度、位置先驗和幾何驗證),并利用魯棒估計方法(如RANSAC)剔除異常點。若匹配點數量充足且內外點比例理想,則可以直接將PnP解作為定位結果;否則系統將回退到里程計估計或等待更多觀測。
一般情況下,定位結果會作為約束加入一個短時滑動窗口優化器,進行僅位姿優化或局部光束法平差,以進一步優化結果;大規模的全局優化不適合實時運行,但可在后臺低頻執行。
3)坐標系與變換處理
離線地圖通常位于全局或局部地圖坐標系中,而在線視覺里程計輸出的是相對的車體坐標系位姿。要將兩者結合,就需要估計從車體坐標系到地圖坐標系的變換矩陣,這一變換可通過一次成功的PnP重定位或借助GNSS/RTK信息配準得到。
在實際工程中,常將該變換作為一個狀態量,當重定位成功時,設定一個固定的“地圖-車體”變換并持續優化;如果后續發現變換出現漂移(例如因離線地圖更新引起),則需要有相應的機制進行平滑調整或觸發重新定位。
4)全局一致性與地圖更新
車輛在運行過程中會不斷產生新的觀測,這些數據可能揭示地圖中存在缺陷或環境發生變化。因此,系統需需要具備兩種能力,一是將在線觀測結果回傳至離線端進行融合,實現地圖維護;二是在線端能夠處理地圖版本的變化(例如接收云端推送的新版地圖)。
在線系統應具備一定的容錯能力,能夠處理地圖中的不一致情況,通過魯棒的數據關聯策略,并為地圖約束賦予適當權重,避免因單次錯誤匹配導致定位失敗。
離線端在收到多車或多輪采集數據后,應執行地圖合并、剔除低置信度地標、添加新地標等操作,并通過全局光束法平差生成新版地圖。在這一過程中,版本控制、時間戳管理以及按地理范圍分塊存儲都是工程上必須考慮的要素。
5)感知與語義融合
純幾何特征在大范圍、長期運行的環境中容易受限。將稀疏地圖與語義信息結合(例如將交通標志、車道線、燈桿作為語義地標),能夠顯著提升系統在不同季節、不同光照條件下的重定位魯棒性。
目前常見的做法是在離線地圖中為三維點綁定語義標簽,在線匹配時利用語義信息進行強驗證。語義特征通常更加穩定(如交通標志的位置不易改變),并且對端到端系統來說也更具可解釋性。
6)關鍵算法與工具鏈
為推動稀疏地圖和視覺SLAM結合,常用的技術組件包括詞袋檢索(如DBoW2/3)、全局描述子(如NetVLAD)用于粗檢索,特征匹配(如ORB、SuperPoint+SuperGlue)用于精匹配,PnP+RANSAC用于位姿估計,以及滑動窗口優化或位姿圖優化(使用g2o、Ceres、GTSAM等工具)用于局部和全局優化。
為了提升效率,還會使用KD-tree/FLANN進行最近鄰搜索,利用倒排索引加速檢索,并采用地理分塊機制限制搜索范圍、減少內存占用。對于大規模地圖,通常還會對關鍵幀進行抽稀、對地標進行下采樣,確保在線系統僅加載當前位置附近的局部子圖。

稀疏地圖和視覺SLAM結合常見問題與對策
1)光照與季節變化
劇烈光照變化或季節更替會顯著降低基于外觀描述子的匹配成功率。為解決這個問題,可使用對光照變化更魯棒的描述子(如基于深度學習的描述子);引入語義地標(如交通標志)作為補充;在預處理階段采用顏色歸一化或直方圖匹配;如果可能,在構建離線地圖時納入不同時段采集的數據,生成多個版本的地圖供在線系統按需選擇。
2)動態物體與錯誤匹配
道路上的車輛、行人等動態物體會導致地圖匹配產生異常點。因此需要在離線階段就過濾掉動態特征(可通過多次觀測的一致性進行判斷),并在在線匹配中設置嚴格的RANSAC參數和幾何驗證機制,避免錯誤的2D-3D匹配影響定位結果。同時,可借助運動分割或語義分割技術屏蔽移動物體上的特征點。
3)重定位失敗與地圖覆蓋不足
當車輛進入地圖未覆蓋的區域時,自然無法基于該地圖進行定位。因此要提前規劃地圖覆蓋范圍;在系統中設置回退機制(如降級至VIO+GNSS定位);并將新采集的數據回傳至離線端,用于擴展地圖覆蓋范圍。
4)地圖版本管理與多車協同
當多輛車使用同一張地圖時,地圖會頻繁更新。此時需要建立版本控制和回滾機制,確保新版本地圖在充分驗證前不會影響在線服務。按地理分塊加載地圖可以顯著降低內存占用和檢索延遲。
5)計算資源與延遲權衡
在線匹配和局部優化都會消耗計算資源。實際系統中通常將重定位和地圖匹配任務放在獨立線程中執行,并設置時間預算(例如整個檢索匹配過程控制在幾十到一百毫秒內)。當時間不足時,系統可降級至僅使用視覺里程計預測,或輸出置信度較低的位姿。全局優化則放在云端或后臺低頻執行,避免影響實時控制回路。
6)精度評估與指標
為持續評估系統性能,通常使用絕對軌跡誤差、相對位姿誤差和重定位成功率等指標。進行評估時,需明確坐標系、對齊方法(例如使用Umeyama算法進行相似變換對齊)以及測試場景(如白天/夜晚、雨雪天氣、城市/鄉村等)。
7)隱私、安全與地圖更新頻率
稀疏地圖中可能包含敏感信息(如住宅門牌)。在上傳或共享地圖數據時,需進行脫敏處理,或僅保留對定位真正必要的結構特征。此外,地圖更新頻率需要在“及時性”和“穩定性”之間取得平衡,更新過于頻繁會導致在線端不斷切換地圖版本,過于滯后則可能導致地圖過時。常見的折中做法是快速、小批量地上傳本地觀測的統計信息,由離線系統進行批量重建,并發布經過充分驗證的新版地圖。

最后的話
將稀疏地圖與視覺SLAM結合,本質上是將“離線的全局精度”與“在線的實時性”兩者的優勢融為一體。一定要切忌將所有功能堆砌于單一模塊,而應采用分層、容錯的架構,離線端打造高質量地圖(多視角、多時段),在線端設計包括短時視覺里程計、基于地圖的重定位和后臺地圖更新在內的多層系統,并通過語義增強、魯棒匹配和版本管理來保障長期穩定運行。
可以先部署穩定的VIO作為里程計,再加入詞袋模型進行快速候選檢索,利用PnP+RANSAC實現首次重定位,隨后在滑動窗口中進行位姿優化以細化結果,同時周期性地將觀測數據回傳以維護離線地圖。按照這樣的分層設計,自動駕駛系統將在真實路況中表現更穩定、更易維護,也更容易擴展至大規模、多車輛的部署場景。
審核編輯 黃宇
-
SLAM
+關注
關注
24文章
457瀏覽量
33324 -
自動駕駛
+關注
關注
793文章
14879瀏覽量
179783
發布評論請先 登錄
TomTom Orbis地圖將為CARIAD的自動駕駛系統提供支持
如何構建適合自動駕駛的世界模型?
沒有地圖,純視覺自動駕駛就只能摸瞎嗎?
VLA能解決自動駕駛中的哪些問題?
隱式地圖:自動駕駛的“數字直覺“
從“有圖”到“無圖”再到“輕圖”,自動駕駛地圖選擇為何這么折騰?
實時生成式地圖對于自動駕駛來說有什么作用?
如何制作一張自動駕駛高精度地圖?
自動駕駛汽車在隧道、山區如何精準定位?
自動駕駛中如何將稀疏地圖與視覺SLAM相結合?
評論