高精度地圖為什麼需要slam?

曉之北京


目前,大家談論的高精地圖,主要是指給自動駕駛系統使用的自動駕駛地圖,屬於特殊的導航電子地圖。

汽車自動駕駛系統包括環境感知與定位、智能規劃與決策、控制執行3大核心模塊,高精地圖又是各類感知系統中尤為關鍵的一環。高精度地圖一方面是指精度更高(精確到釐米級),另一方面是指高分辨率和高清,地圖包含了更多的細節。這種高精度地圖主要面向L3、L4級別以上的自動駕駛,就是車輛完成絕大多數的駕駛操作,甚至是完全的由車輛完成自動駕駛。

傳統的導航電子地圖也包含交通事故、擁堵等信息,但主要是道路級別的。通俗一些說,傳統導航電子地圖只知某條道路擁堵,不知哪個車道發生擁堵,它主要強調道路之間的連接關係。

而高精地圖則包含車道級的關係信息,比如每條車道線的精確位置、車道是虛線還是實線等。道路上每個紅綠燈和路邊車牌的精確位置也會展現在高精地圖上,幫助自動駕駛系統更好地進行感知和規劃。

高精地圖是虛擬的電子地圖,依賴GPS、北斗等定位系統確定車輛在電子地圖中的位置。但由於目前的定位精度還不夠高,在高樓遮擋等信號不好的情況下,不能在高精地圖上準確定位。此外,如果僅依賴GPS、北斗等定位系統,則由於對高度信息的識別精度不夠,在複雜的高架橋等環境下,也會導致定位不夠準確。

這時就需要使用視覺同時定位與地圖構建(Simultaneous Localization and Mapping,簡稱:SLAM)技術。SLAM能憑藉圖像傳感器對自動駕駛系統周圍的圖像信息進行計算,實時繪製地圖並同時給出車輛的定位。

多年前,SLAM 最流行的應用場景還只是我們家裡的掃地機器人。近幾年,隨著無人機、無人駕駛、服務機器人、倉儲機器人以及 AR 的興起,SLAM 作為其中核心技術的一種,正變得越來越重要。

SLAM是指當某種移動設備(如機器人、無人機、手機等)從一個未知環境裡的未知地點出發,在運動過程中通過傳感器(如激光雷達、攝像頭等)觀測定位自身位置、姿態、運動軌跡,再根據自身位置進行增量式的地圖構建,從而達到同時定位和地圖構建的目的。定位和建圖是兩個相輔相成的過程,地圖可以提供更好的定位,而定位也可以進一步擴建地圖。定位和建圖是SLAM的基本要求,而路徑規劃是在此基礎上的高級功能,不屬於SLAM的討論範疇。

實現 SLAM 的第一步,是選擇傳感器的形式和安裝方式。傳感器分為激光雷達和視覺兩大類,視覺下面又分三小方向。

激光雷達

激光雷達能以很高精度測出機器人周圍障礙點的角度和距離,而且速度快,計算量也不大,容易做成實時 SLAM。激光雷達一般用於掃描一個平面內的障礙物,適用於適用於平面運動的機器人(如無人車、掃地機器人)。

許多行業分析師認為,激光雷達是實現全自動駕駛的關鍵傳感器,其產品被以 Google、百度為代表的企業認可。

不過,激光雷達製造成本高,價格十分昂貴,比如 Google 無人車目前使用的激光傳感器單個定製成本在 8 萬美元左右,百度採購一臺激光雷達也要 70 萬人民幣。

成本已然成為激光雷達普及最大的攔路虎。2016 年 8 月福特和百度一起投資了激光雷達廠商 Velodyne LiDAR 1.5 億美元,目的就是幫助 Velodyne 降低激光傳感器的成本。Velodyne 希望將激光雷達的價格降到 300 到 500 美元之間,以滿足大眾汽車市場。

視覺 SLAM

視覺 SLAM 是 21 世紀 SLAM 研究熱點之一。CPU、GPU 處理速度的增長和硬件的提高,讓許多以前被認為無法實時化的視覺算法,得以在 10 Hz 以上的速度運行。

按照攝像頭的數量和種類分,視覺 SLAM 分 3 個子方向:單目、雙目(或多目)、RGBD。此外,還有魚眼、全景等特殊攝像頭,但是都屬於少數。

單目相機 SLAM 只需要一個普通的 2D 攝像頭,成本優勢大。但普通 2D 攝像頭沒法獲取深度信息,它捕獲的僅僅是一張 2D 圖像。

深度信息缺失有什麼影響?

如果沒有距離信息,就不知道一個東西的遠近,也不知道它的大小。它可能是一個近處但很小的東西,也可能是一個遠處但很大的東西。僅僅憑藉一張圖像時,你沒法知道物體的實際的大小。

另一方面,單目相機也無法依靠一張圖像獲得圖像中物體離自己的相對距離。

但這兩個問題都有對應的解決辦法。比如,通過藉助 GPU 和 IMU(Inertial Measurement Unit,慣性測量器件)確定物體的大小,依靠運動中的三角測量,來求解相機運動並估計像素的空間位置。

雙目 SLAM 消除了單目的很多麻煩。雙目視覺和人眼類似,通過左右眼圖像的差異來計算距離——也就是所謂的立體視覺(Stereo)。

但雙目 SLAM 的計算量非常大,通常需要用到可編程門陣列 FPGA。而且其其深度量程也受雙目的基線與分辨率限制。

RGBD SLAM 的傳感器是深度攝像頭,能直接記錄深度信息。深度攝像頭通過把光投射到物體表面,再測量反射的信息來計算距離,具體原理有兩種:結構光或 Time-of-Flight。它比傳統相機能夠提供更豐富的信息,也不必像單目或雙目那樣費時費力地計算深度。Kinect 就是一種比較常見的深度攝像頭。不過,現在多數 RGBD 相機還存在測量範圍窄、噪聲大、視野小等諸多問題。

一個機器人也好,無人汽車也好,其最核心、最根本的問題有四個:定位技術、 跟蹤技術、 路徑規劃技術(Path Planning), 還有就是控制技術(Controlling)。 而這四個問題中的前三個,SLAM 都扮演了最核心的功能。無人汽車離開了 SLAM ,就好比手機離開了 wifi 和數據網絡,無人汽車需要SLAM解決定位、避障和導航的問題。

以上個人淺見,歡迎批評指正。喜歡的可以關注我,謝謝!

認同我的看法的請點個贊再走,再次感謝!


匯聚魔杖


秉承先建圖再定位的思路,在服務器端(雲端)建圖,在車端定位。

視覺高精度定位依賴於目標檢測算法的精度和泛化能力。

視覺高精度地圖的適應性還是不足,無法在在照明不足的夜晚和惡劣天氣發揮作用。限定場景下也許可行。

數據關聯怎麼做還不是很確定,特別是在沒有先驗信息(如GPS)的情況下做重定位。Probabilistic Data Association for Semantic SLAM結構完整



智能化網絡達人


首先介紹一下slam是什麼

slam是同時定位與製圖的意思,有激光點雲slam,有視覺slam,目地是識別自己在局部(通行過的區域)的精確位置。如果沒有衛星給的絕對位置信息,slam建的局部地圖就只有相對信息。

高精地圖對於無人車來說,具有非同尋常的價值:

第一,高精地圖能夠給無人車很多預判的空間。當無人車通過高精地圖知道前方的路況和交通標識信息後,能夠提前做行駛規劃,保證了行車的平穩性和經濟性。

第二,高精地圖能夠幫助無人車減少計算量。當無人車需要通過路口時,它需要提前感知前方信號燈的狀態,這時高精地圖就可以幫助它定位到信號燈所在的特定區域,從而有效降低了全範圍掃描識別的計算量。

高精度地圖一般都是指slam+衛慣共同製作的區域地圖,只有衛慣只能得到位置信息,沒辦法得到地物信息。衛慣給絕對位置,slam給地物、地形信息和相對距離,然後融合製作等。


分享到:


相關文章: