高精地圖構建與SLAM感知最佳化建圖策略

高精度地圖對自動駕駛系統功能研發的影響已經越來越明顯,整體上來講主要包含但不僅限於提升車端感知效能、拓展自動駕駛新功能、動態建圖等相關應用。具體體現在如下幾個重要方面:

高精地圖構建與SLAM感知最佳化建圖策略

如上所述提升車端感知能力是透過先驗感知的高精度定位引入地圖資訊補充獲取車道線、交通標誌等交通要素從而提供超距感知:不受距離、遮擋的限制。同時,透過提供車道與交通要素(交通標誌、交通燈、路面箭頭)的對應關係,獲取複雜路況先驗資訊。

高精地圖構建與SLAM感知最佳化建圖策略

圖片來源:地平線

地圖作為智慧駕駛唯一的超距感測器,突破空間、時間的限制,可以說地圖是透過定位實現的智慧駕駛的“知識圖譜”。

高精度定位本質上是“知識圖譜讀取”,高精度建圖可以實現“知識記憶”實時更新。

透過高精度匹配定位引入地圖從而獲取環境資訊,為車輛提供超感測器距離的感知能力,拓展多種複雜功能場景ODD,是ADAS系統向高級別智慧駕駛演變的核心。總體來說,透過高精度匹配定位引入地圖獲取環境資訊,可以拓展多種複雜功能場景自動駕駛設計執行使用範圍。

高精地圖眾包採集方案

動態高精地圖的本質是實時交通資料資訊的時空載體,眾包資料是高頻更新的核心。眾包更新能夠將地圖更新的時間壓縮到分鐘級,高精地圖實時構建與動態資訊觀測採集,構建起未來智慧網聯汽車資料生態系統。

高精地圖模型分為四個圖層,每個圖層更新的頻率不同,可以支援不同功能應用場景。圖商採取分級採集的方案,滿足高精地圖不同圖層的更新需求,主要包含如下幾種採集方案:

專業採集:

透過高精地圖底圖,每月更新一次,其精度為10cm;

行業眾包採集:其地圖更新、施工、交通管制資訊等按照每小時更新,精度50cm左右;

社會眾包採集:

包含基於底圖座標的準實時更新、車流量、人流量、天氣等。按照每分鐘/每秒更新一次,精度米級。

高精地圖構建與SLAM感知最佳化建圖策略

圖片來源:地平線

如上圖中,地圖基礎建圖中有多種方法。其中,GPS 導航適合於室外空曠駕駛道路中的移動車輛,在封閉場景(如隧道、山路等)中 GPS 的訊號較弱,無法用於移動機器人的定位導航。慣性導航主要是依賴慣性測量單元和輪式編碼器來構建一個慣性里程計,增量式地確定移動車輛的位置。慣性里程計一定程度上能夠滿足機器人自主定位的需求,且不需要額外的對環境進行改造,但由於慣性感測器和輪式編碼器都存在漂移的問題,且漂移誤差會隨著時間累積,一段時間後車輛就無法準確確定自己的位置。為了能夠實現車輛在未知的道路環境中準確的定位,SLAM 問題就這樣被提了出來。

近年來,利用感測器感知資訊作為建圖的基礎已經越來越得到行業內的重視和關注,其中SLAM 技術作為一種即時定位與地圖構建方法,作為移動車輛實現自主定位與導航的核心,它要求自車在一個未知的環境中在不知道自己位置的先驗資訊的情況下,增量式地構建具有全域性一致性的地圖,同時確定自身在這個地圖中的位置。這一過程是透過車身感測器來獲取周圍環境的資訊,依靠這些資訊一邊確定自車的位置,一邊構建環境的地圖。目前 SLAM演算法常用的感測器有鐳射雷達和相機,分別對應了鐳射 SLAM 演算法和視覺 SLAM演算法。

高精地圖構建與SLAM感知最佳化建圖策略

圖片來源:地平線

詳細的SLAM建圖構建演算法概述

SLAM 是一個龐大的理論體系,涉及感測器處理、貝葉斯濾波、非線性最佳化、地圖的表示、圖形處理等各方面的相關理論。早期 SLAM 的基本理論是以擴充套件卡爾曼濾波(Extended Kalman Filter,EKF)為代表的濾波方法為主。

高精地圖構建與SLAM感知最佳化建圖策略

如下圖所示表示了一種典型的 SLAM 系統建圖方法,系統主要由前端(front-end)和後端(back-end)兩個部分組成,前端根據感測器觀測到的環境資訊估計車輛的位姿,然後將車輛的位姿資訊傳遞給後端進行最佳化估計,得到具有全域性一致性的地圖,最後得到整體的 SLAM 估計。SLAM 的前端演算法包括了特徵提取和資料關聯兩部分。特徵不但可以用來確定機器人的位置,而且可以用來進行閉環檢測,從而構建具有全域性一致性的環境地圖。因此特徵提取是 SLAM 研究中非常重要的一個環節。

目前在 SLAM 的研究中,前端主要是以濾波的方法獲得車輛位姿的更新資訊,後端則大多是基於最佳化的方法對機器人全域性的位姿和地標資訊進行最佳化。

基於視覺感知的SLAM基礎建圖構建

在SLAM演算法構建中,前視攝像頭/鐳射雷達化身“智慧採集終端”,眾包生產“動態高精地圖資料”,動態高精地圖的本質是實時交通資料的時空載體,眾包資料是高頻更新的核心。主要透過如下幾個步驟進行實時建圖:

1)實時構建高精度地圖:

即基於視覺或鐳射點雲資料建圖,並與雲端融合冷啟動從0-1構建全路網高精地圖提升高精地圖“廣度”。

2)更新高精地圖元素:

透過要素關聯與變化檢測發現地圖元素的變化並實時更新,以確保高精地圖的“鮮度”;

3)自建 “ 記憶地圖 ”:

透過自建區域性記憶地圖支援記憶泊車、園區記憶式自動駕駛“記憶地圖”提升駕駛體驗;

4)上報事件型動態資訊:

透過事件型動態資訊採集與上報(施工、擁堵、事故等)構建高精地圖“動態資訊層”。

高精地圖構建與SLAM感知最佳化建圖策略

圖片來源:地平線

如上圖表示了一種典型的視覺SLAM技術方案框圖,其中整個智慧駕駛攝像頭(包含前視、側視、環視以及後視攝像頭等)形成SLAM的輸入資料端,使用單目相機的 SLAM 稱為單目視覺 SLAM,單目相機使用一個攝像頭進行移動機器人的定位,由於單目攝像頭只能獲取周圍環境的二維資訊,無法給出物體的深度資訊,因此會帶來尺度不確定的問題。使用雙目相機的 SLAM 稱為雙目視覺 SLAM,也稱為立體視覺 SLAM,它可以透過比較兩個攝像頭影象的差異判斷物體的遠近,獲得物體的深度資訊。透過中央處理器對輸入影象進行感知、分割、檢測、跟蹤等操作,輸出給導航網路端進行語義建圖及匹配定位,同時透過目標識別形成相應的ADAS系統目標屬性。最後分兩方面進行輸出:其一是透過太網連線高精地圖盒子,其接收到相應的區域性地圖建圖結果後,更新地圖底圖。其二是透過輸出給MCU(微處理器單元)進行融合定位及車輛控制。這裡需要注意的是MCU透過CAN網路也接收了諸如GNSS、IMU等相關資訊,並輸入給AI晶片進行建圖最佳化和確認。

同時,先進的SLAM方案透過雲端多源 V2X 感知部署,打造安全出行解決方案。一方面,透過創新模式與路方合作,利用既有道路資訊基礎能力,有效整合路側資訊,透過個體級車輛的交通場景感知演算法,實施雲端 V2X 資訊處理,透過導航地圖優勢,為實時建圖提供統一入口。另一方面,由於車路協同系統中將產生大量資料採集和處理,為進一步挖掘相關資料價值,提升智慧出行效率。基於大資料和人工智慧能力,可以對相關資料進行人工智慧模型訓練,從而進一步提高建圖能力,最佳化建圖精度。如下圖是一種典型的將雲端資料納入到建圖過程中的例子。

高精地圖構建與SLAM感知最佳化建圖策略

圖片來源:地平線

基於鐳射雷達的SLAM基礎建圖構建

除了如上所述的視覺SLAM建圖以外,還包括了鐳射雷達資料建圖。鐳射雷達雖然比相機要貴很多,但因其測量精度高,測量效能穩定,目前在工業中應用更加廣泛。鐳射雷達不能直接給出車輛的位置變化,但它能提供周圍物體的距離資訊,可以用於車輛的實時定位、避障等場合。

高精地圖構建與SLAM感知最佳化建圖策略

早期的鐳射雷達主要是利用三角測距的原理進行測距,後來發展出基於飛行時間法(Time  Of  Flight,TOF)測距原理的鐳射雷達。TOF 測距原理比較簡單,透過記錄鐳射從發射出去到被接收所經歷的時間可以計算出鐳射所走過的距離,從而得到鐳射雷達周圍環境的距離資訊。

針對鐳射雷達和相機,目前都已經有很多非常知名的開源演算法的實現。在鐳射 SLAM 領域目前的很多開源演算法都是使用 2D 鐳射雷達實現 SLAM。如谷歌公司在 2016 年開源的Cartographer SLAM 演算法是一個跨平臺的鐳射 SLAM 方案,能夠同時實現 2D 鐳射和 3D 鐳射的實時 SLAM。在視覺 SLAM 領域也出現了許多優秀的開源方案。如Davison 等人在 2007 年提出的單目視覺 SLAM 系統 MonoSLAM 是第一個實時的單目 SLAM,它以擴充套件卡爾曼濾波為基礎,把相機的當前狀態和所有路標的資訊作為狀態量來更新均值和協方差資訊。SLAM 的理論在國外發展的比較早,理論比較成熟,國內在這方面起步比較晚,大部分研究都集中在 SLAM 的工程應用上,重點解決工程應用中的一些實際問題。SLAM 的前端演算法包括了特徵提取和資料關聯兩部分。特徵不但可以用來確定機器人的位置,而且可以用來進行閉環檢測,從而構建具有全域性一致性的環境地圖。因此特徵提取是 SLAM 研究中非常重要的一個環節。

鐳射雷達掃描後會獲得一組由環境中的物體反射回來的點雲,對於鐳射雷達的掃描點雲,常用的特徵有點、線段、平面等。點特徵是日常環境中常見的一種特徵,通常會從環境中提取角點、交叉點或牆的端點等一些特殊的點作為特徵點。線段特徵是室內移動機器人定位、導航時廣泛使用的一種特徵,它在結構化環境中容易獲取,特徵之間也容易建立約束,對鐳射雷達的資料關聯和閉環檢測來說都是一種非常好的特徵。面特徵主要應用於室外環境中 3D 鐳射雷達掃描匹配,如無人車行駛在城市環境中可以利用 3D 鐳射雷達提取到大量的曲面和平面特徵來定位。由於線段特徵具有容易識別、魯棒性好等優點,在 2D 鐳射 SLAM 中應用比較廣泛。下面將對鐳射雷達點雲建圖中一種基本的線段擬合防範進行簡單說明。

如上圖表示鐳射雷達掃描得到的點雲離散資料,針對線段特徵提取的主流方法主要是採用分割-合併方法(Spilt-and-Merge,SM),且許多線段特徵的提取方法都是分割-合併方法的變形。分割-合併的基本過程就是對點雲進行聚類,聚類過程中分別設定一定的閾值進行分割-合併-分割-合併依次迴圈的過程,從而實現線段的有效提取。

在分割階段,首先從給定的點集中擬合出一條直線。然後找出點集中到擬合直線距離最遠的點,計算該點到擬合直線的距離作為擬合誤差,如果擬合誤差大於設定的距離閾值,則從點集中按照某種規則找出一個點,將直線從該點處進行分割。不斷重複這個過程直到擬合誤差小於設定的距離閾值則不再分割。在合併階段,如果相鄰的兩條線段的擬合誤差小於距離閾值,就將這兩條相鄰線段合併成一條線段。

總結

鐳射 SLAM 發展至今已經有比較豐富的理論研究成果,鐳射測距的原理比較簡單,測量精度高,測量距離比較遠,穩定性、可靠性也都比較高,但其成本較大,目前鐳射雷達有向低成本發展的趨勢。但在實際的應用中仍然存在定位精度不夠、地圖構建不準確等問題,給機器人執行相關任務帶來了一定的障礙。與鐳射雷達相比,相機的成本要低很多,且能提供更多的資訊,也更能滿足人們對機器人的想象。但目前相機仍存在著測量範圍小、測量噪聲大、易受日光干擾等問題。視覺定位與建圖帶來的駕駛功能提升使得視覺定位在單車視覺感知侷限得以解決。