L5如何實現:從特斯拉Autopilot2.0談車輛精確自定位技術


編者按:本文來自微信公眾號“新智元”(ID:AI_era),作者:視覺的守望者,小猴機器人;36氪經授權發佈。

此前,特斯拉發佈了新版Autopilot2.0自動駕駛系統,宣稱達到Level5水平,並公開了在Model X上長達10分鐘左右的實驗視頻。從視頻中可以看出,在城市路段中,Autopilot2.0可以正確的檢測車輛、行人、車道線、紅綠燈等目標,完成正常的自動駕駛任務。不難看出,高精度地圖的使用和精確車輛自定位技術的設計,可以被認為是Autopilot2.0的最大亮點。眾所周知,高精度地圖和傳統地圖相比,其主要優勢就是釐米級的目標精度,而精確的車輛自定位技術也是如此。本文結合AutoPilot2.0的情況,介紹自定位技術的原理,可能的技術方案,以及我們在這個過程中的實踐。

革命性的AutoPilot2.0

與其他基於激光雷達(LiDAR)設計自動駕駛方案的公司不同的是,特斯拉依然在攝像頭為主的道路上獨自前行。那麼相比較Autopilot1.0,新版的自動駕駛系統的改進包括哪些呢?

  • 硬件設備的優化。如我們上次覆盤特斯拉若干起事故的文章所述,多傳感器的融合能夠提高障礙物的檢測率。因此,新版Autopilot2.0增加了6個攝像頭,包括前視、側視和後視;提高了現有毫米波雷達和超聲波雷達的感知距離和能力。
  • 算法性能的優化。引入了高精度地圖,通過GPS精確定位車輛位置,即可確定周邊環境的基礎道路模型,提取護欄、燈杆、標牌、路口等固定信息,進而幫助後續決策和控制模塊的設計。
  • 自動駕駛等級的升級。Autopilot1.0可以看作是沿用Mobileye的Level 2等級,而Level 2等級是無法完成上下匝道、路徑規劃以及有目的變道等複雜功能的。新版本通過引入高精度地圖和精確車輛自定位技術,完成了真正意義上的自動駕駛。


不難看出,高精度地圖的使用和精確車輛自定位技術的設計,可以被認為是Autopilot2.0的最大亮點。眾所周知,高精度地圖和傳統地圖相比,其主要優勢就是釐米級的目標精度,而精確的車輛自定位技術也是如此。

  • 對於傳統的車輛自定位,一般精度在1~10m左右;很常見的問題就是無法分辨主路還是輔路、橋上還是橋下等,這對於自動駕駛是致命的。
  • 自動駕駛要求精確的車道編號和車道偏移,只有這樣才能安全指導後續的規劃和決策。自動駕駛要求的車輛自定位精度通常在10cm左右。

自動駕駛中的精確車輛自定位



傳統的車輛自定位通過一個普通的GPS即可完成。而在自動駕駛中,常見的一種方案是通過高精度的差分GPS+慣導IMU+地面基站聯合完成。但動輒幾十萬的硬件成本,在現有情況下很難完成自動駕駛車輛的量產需求。

上述方案是基於網絡通信+信號處理實現的,而業界中另外一種方案是通過高精度地圖+感知設備+精確車輛定位來完成的。這種方案可以明顯降低車輛的生產成本:

  • 高精度地圖有多種製作方法,包括基於LiDAR點雲的、基於視覺SLAM的,可以用於權衡定位精度和製作成本;此外,將高精度地圖的製作成本平攤到每輛車,亦可顯著降低成本。
  • 這裏的感知設備包括攝像頭、GPS、4/8線激光雷達等相對廉價的設備。
  • 同樣,精確車輛定位算法的設計成本也是可以平攤到每輛車上的。

那麼如何完成上述精確車輛自定位方案的設計呢?我們先看看下面這幅示意圖。


如果我們有“優衣庫”的精確位置,而且能夠測量出“優衣庫”距離自己的精確距離,那麼以“優衣庫”為中心畫一個圓,自己一定處於圓周之上。這時候如果我們還能確定“目標1”的精確位置和距離自己的精確距離,而且知道朝向,就可以唯一確定自己的精確位置了。這就是自定位方案最基本的原理。


而上述方案的精度主要取決於目標位置的精度和距離的精度。

目標位置的精度主要取決於地圖數據的質量。如果地圖本身就是不精確的,那麼很難讓人相信自定位能夠達到10cm左右的精度。因此,精確自定位的首要要求就是高精度地圖的製作;高精度地圖通常要求相對精度在釐米量級。

而距離的精度則取決於感知設備的選擇和自定位算法的設計。首先,通過感知設備精確採集、分割、識別目標本身就是一件困難的事情;其次,將目標和高精度地圖中製作的目標進行匹配和對應也存在一定的誤差。

當然,如果給定的目標越多,例如上圖中增加“目標2”等,由於誤差的平均減少原理,自然能夠增加自定位的精度。

從上面的分析不難看出,自定位方案依賴於高精地圖,而感知設備的選擇和自定位算法的設計決定了最終的定位精度。下面將對幾種典型的精確車輛自定位方案進行探討(包括感知設備的選擇和相應的自定位算法的設計)。

感知設備的選擇和自定位算法的設計

常用的感知設備和相應的自定位算法可歸納如下:


1.激光點雲數據+3D配準

最開始也是最直觀的方案是直接對激光點雲數據進行3D配準。激光點雲數據不會受到光照變化、天氣、遮擋等因素的影響,而且能夠直接得到和目標的物理距離,因此利用多視角幾何(multi-view geometry)即可完成目標的自定位。在下圖中,左側為實時採集的激光點雲數據,而右側為高精度地圖中存儲的局部激光點雲數據。


根據多視角幾何理論,上述兩個場景的相機存在姿態上的差異,而這個差異可以通過3D點的座標變換來補償;變換矩陣主要包括3D旋轉變換和3D平移變換共6個自由度。如果實時採集的點雲數據 和高精地圖中存儲的局部點雲數據能夠匹配上,那麼滿足:


一般來説,4組點對就可以唯一的確定上述變換矩陣。

但上述分析面臨兩個難題:

  • 4/8線激光點雲的數據是稀疏的,每個點的描述也只有反射率和相機映射過去的彩色值,那麼如何確定對應點對?
  • 通常點對精度不夠,而且存在大量的誤匹配點對,如何濾除存在的噪聲?

一種解決方法是利用ICP算法(Iterative Closest Point,迭代最近點),它的主要思路是先利用某些幾何特徵來假設一些點對,並計算變換矩陣;再對所有點進行變換,並更新假設的匹配點對;也就是利用這種不斷迭代的方式來優化自定位結果。當然,還有很多其他的非線性優化算法可以解決上述問題。

激光點雲數據+3D配準方案存在的缺點包括:

  • 初值非常重要,不合適的初值極大的影響了自定位結果。
  • 上述優化過程很難收斂到全局最優解,而局部最優解難以保證自定位的精度和穩定性。
  • 變換矩陣的自由度較高,而且匹配失敗的時候難以及時得到確定。

2. 激光點雲數據+2D配準

考慮到3D配準存在的自由度高、非線性優化難度大的問題,人們考慮利用一些人為的干預來解決。2D配準的方案,就是將點雲數據往xy平面投影,從而生成一張從上到下的俯視圖來進行匹配運算。在下面的示意圖中,(a)可以認為是高精度地圖中存儲的投影結果,而(b)是實時採集的點雲數據的投影結果。


(a)


(b)

經過這種處理,高精地圖中存儲的投影結果和實時採集的點雲數據的投影結果僅存在旋轉角、x方向平移量和y方向平移三個自由度。


2D配準還有一個明顯的好處就是在這種投影變換下,xy平面可以約等於路面。而路面中存在的車道線、地面標記、護欄等大量具有鑑別意義的區域,可以有效的提高自定位的精度和穩定性。對於上述投影結果的匹配,通常的配准算法都可以勝任,包括基於頻域的配准算法(模板匹配、Lucas-Kanade配準)、基於頻域的配准算法(傅立葉-梅林算法)以及基於特徵域的配准算法(SIFT、SURF、MSER)。

激光點雲+2D配準方案也存在一些缺點:

  • 2D配準主要依賴路面信息,忽視了交通標牌、紅綠燈等3D信息,降低了方案的普適性。
  • 當遇到缺乏紋理或者紋理大量重複的路面環境時(例如高速、匝道等),很容易配準失敗且不自知。

圖像數據+視覺地圖

圖像數據對比激光點雲數據主要的優點是成本更低,因此很早之前就有很多計算機視覺領域的方案致力於解決自定位的問題。其中一種典型的方案就是視覺地圖的方案。它主要使用了特徵點的定位和描述、以及立體幾何方面的知識,包括粗定位和細定位兩步。

粗定位指的是米量級以內的定位。如下圖所示,該步驟類似於計算機視覺中的場景分類技術。在高精度地圖的製作過程中,每行駛1m就採集一張圖像,並利用SIFT、HOG等特徵描述子提取圖像特徵。在實時定位時,也對當前採集的圖像提取圖像特徵並和高精度地圖局部範圍內的存儲結果進行匹配。最終將圖像特徵最為接近的那一張作為參考圖像,完成米量級的定位。


而細定位則需要定位到釐米量級。通過對參考圖像和實時採集的圖像進行多視角幾何分析,確定兩張圖像對應的相機間的3D旋轉和3D平移變換來完成自定位。這個很類似於激光點雲+3D配準方案,但與其不同的是,利用圖像層面的特徵點提取、分析和匹配,我們已經可以確定匹配的點對了。

圖像數據+視覺地圖面臨的問題包括:

  • 參考圖像的確定主要依賴圖像整體特徵的提取和匹配,對於缺乏紋理或者紋理大量重複的區域(例如高速),自定位精度大大降低。
  • 與激光點雲數據不同,高精度地圖存儲結果和實時採集的圖像受到日期、天氣、路況等多種因素的影響會產生明顯差異,可能導致匹配失敗。
  • 精確自定位算法取決於圖像特徵點的提取和匹配,但一般很難達到10cm左右定位精度的要求。

圖像數據+關鍵目標的檢測和匹配

如果説上述方案都是基於點層面的下層(low-level)信息,那麼關鍵目標的檢測和匹配的方案則利用了物體級別的上層(high-level)信息。通過提取一些關鍵目標和對應的精確的幾何特徵,並將其和高精度地圖中存儲的信息進行對應和匹配,從而完成自定位。該方案更加接近於人類的直觀思維。

這裏的關鍵目標包括車道線、地面標記、交通標牌以及紅綠燈等。在該方案中,將自定位劃分成x方向和y方向分別進行處理。

  • x方向指的是垂直於路面前進的方向,通常利用車道線、路沿、護欄來確定。通過深度學習的技術,可以很穩定的在光照變化、場景突變等情況下完成上述目標的檢測和幾何拓撲的分析。只要和高精度地圖中相應目標的存儲數據進行對應,即可完成x方向的定位,如下圖所示。

  • y方向則對應平行於路面前進的方向,通常利用地面標記、交通看板、紅綠燈來確定。同樣的,需要利用深度學習技術精確提取上述目標,並和高精地圖中存儲的目標進行精確匹配,從而找到一系列的2D-3D的對應點。參考激光點雲數據+2D配準的相關技術,即可唯一的確定變換矩陣,從而完成y方向的精確定位。

在實際使用中,x方向自定位依賴的關鍵目標是稠密的,而y方向則是稀疏的。因此通常在缺乏y方向定位目標的時候,需要引入其他插值算法進行彌補,常見的包括SLAM、速度計等。

圖像數據+關鍵目標的檢測和匹配方案存在的缺點包括:

  • 關鍵目標的檢測、識別、分割依賴於深度學習技術,而深度學習技術的穩定性有待檢驗和提高。
  • 定位精度取決於成像的分辨率,而分辨率過高會影響計算速度,從而限制自定位的定位頻率。

結語
現在的自定位大多基於高精度的差分GPS+慣導IMU+地面基站聯合完成,其昂貴的成本直接限制了自動駕駛技術的應用和推廣,因此基於高精度地圖的精確車輛自定位技術將成為未來發展的關鍵。

現有的車輛自定位方案主要依靠攝像頭、GPS、4/8線激光雷達進行數據的採集,通過深度學習、多視角幾何等技術進行像素、關鍵點以及目標的匹配來完成精確自定位;穩定性有待確認和提高。如果能夠對上述系列方案進行融合,我們應該能夠完成更加精確、穩定的車輛自定位系統的設計。


資料來源:36Kr

如果喜歡我們的文章,請即分享到︰