百度無人車實現全球首個基於深度學習的鐳射點雲自定位技術

機器之心發表於2019-04-20

作為人工智慧最「硬核」的落地方向之一,自動駕駛在學術界和工業界引起了廣泛關注。自動駕駛的實現不僅將帶來汽車產品形態的根本性變化、顛覆傳統汽車技術體系和產業格局,還將引發消費者出行和生活方式、資訊科技和通訊方式、資訊和交通基礎設施的變革。然而與高回報成正比的則是實現難度。完整的自動駕駛系統包含了自定位(Localization)、自動駕駛地圖(AD Map)、障礙物感知(Perception)、決策和規劃(Decision and Planning)、控制(Control)等模組。


高精度自定位是實現自動駕駛的必要技術之一,目前主流的 L4 及 L5 級別的自動駕駛汽車高度依賴一套高精度、高可靠性、強場景適應能力的自定位系統。這套系統為自動駕駛系統提供了高精度釐米級的定位能力,配合上自動駕駛地圖,無人車就可以根據自身處於環境中的位置來讀取預存在地圖中的環境資訊,這些預存在地圖裡的資料包含了包括紅綠燈、人行橫道、車道線、道路邊界、停車位等各種無人車所需要的環境資訊,藉助這些資訊,無人車巧妙地規避了需要實現一個高準確度的線上環境資訊感知系統的難題,大幅降低無人車的技術難度,變不可能為可能。


同時,作為無人車的核心模組之一,定位系統一旦出現問題,會造成無人車跑偏撞路肩等災難性事故。在此論文中,來自百度的技術專家們提出了一套全新的基於深度學習的鐳射點雲自定位技術方案,實現了釐米級的定位精度,同時有著更好地對環境變化的適應能力。


百度無人車實現全球首個基於深度學習的鐳射點雲自定位技術


連結:https://songshiyu01.github.io/pdf/L3Net_W.Lu_Y.Zhou_S.Song_CVPR2019.pdf

 


摘要:百度提出了一種基於學習的點雲定位技術,該技術對傳統的定位方法進行拆解,使用深度學習網路來取代傳統的各個環節和步驟。該方案是全球範圍內,業界首次通過使用直接作用於鐳射點雲的深度學習網路來解決自動駕駛的自定位問題。


為了驗證演算法的有效性,同時百度計劃在 Apollo 平臺開放一組總計約 380km 的資料集,該資料集包含了製圖、訓練、測試三個子集,涵蓋了城市道路,園區內部道路以及高速等多種場景,地圖和測試集之間的最長時間跨度達一年。在該資料集上,百度驗證了其演算法相對於傳統方法的優勢。目前,該研究論文已被計算機視覺領域頂會 CVPR 2019 收錄。



引言


眾所周知,深度學習技術近年來在各個人工智慧領域都取得了令人矚目的成績,戰勝人類圍棋冠軍棋手的 AlphaGo 更是令普通大眾都深刻感受到了 AI 技術突破帶來的威力。然而,我們同時發現深度學習目前可以良好解決的問題,主要集中在需要理解、分析、判斷等人類根據經驗定義的問題。例如,在計算機視覺領域,深度學習在解決影象分割影象分類、物體檢測等問題都取得了非常良好的效果。但是,對於另一大類重要的問題,例如和測量測距、三維重建等相關的幾何問題,雖有個別工作取得了一定進展,但總體來說深度學習尚未在相關領域取得決定性的突破。無人車自定位問題則是這類問題的一個典型代表,目前無論從高校到行業巨頭,各路玩家的無人車自定位技術也都還沒有成功應用深度學習技術的先例。然而,歷史的經驗告訴我們,一旦基於學習的技術在解決某個人工智慧問題領域取得突破性的進展,這種技術演進的洪流通常會以勢不可擋之勢在各個效能指標維度迅速大幅超越傳統人工設計的演算法,成為新的行業技術標準。


定位作為自動駕駛的基礎模組之一直是研究的熱點問題,現有傳統的鐳射點雲定位技術如圖 1 上半部分所示,其中包含包含了特徵提取、特徵匹配和時序優化等模組,整個演算法的輸入包括實時線上鐳射點雲,定位地圖以及來自慣性感測器的初始預測的定位位置和姿態,最後的輸出則是定位演算法優化之後的位姿結果。整體方案的思路和人類認路的方法其實是高度近似的,我們平時也是通過一些典型的地標建築物等實現對自身位置的判斷。不同的是,無人車的定位結果需要釐米級的位置精度以及亞角度級的姿態精度來保證無人車可準確地從自動駕駛地圖中提取必要的資訊。儘管上述方案已經取得了當前最佳的定位效果,但是這類人工設計的演算法進行特徵提取和匹配時,對環境的變化非常敏感。在不斷動態變化的環境中無法最智慧地捕捉環境中不變的資訊(例如,地標、路牌等)從而實現對自身位置的高精度高魯棒性的估計,取決於環境變化的劇烈程度在實際應用中需要經常對定位地圖進行更新,這會帶來成本的上升。


百度提出的方案如圖 1 下半部分所示,通過將傳統方法中的各個流程使用不同型別的網路結構來進行改造,實現了開創性的基於深度學習技術的無人車鐳射自定位技術:L3-Net。


百度無人車實現全球首個基於深度學習的鐳射點雲自定位技術

圖 1 傳統方法與 L3-Net 技術流程對比,L3-Net 使用 PointNet 網路實現特徵提取,使用 3D CNNs 網路進行特徵匹配和優化,最終使用 RNNs 網路完成時序上的平滑。


根據論文內容,百度提出的技術方案的先進性集中體現在以下幾個方面:


  • 提出了行業內首個基於深度學習自動駕駛定位技術解決方案,可以準確的估計車輛的位置和姿態,取得了釐米級精度的定位效果。

  • 使用不同的網路結構拆解取代傳統鐳射點雲定位的技術流程並將其串聯起來統一訓練,使網路能夠以端到端的方式完成線上鐳射點雲定位任務。

  • 即將釋出一組包含城市道路、園區道路、高速等複雜場景的全長 380km 的通用資料集用於同類演算法測試,更進一步充實百度 Apollo 開放平臺的開放內容。



方法


百度提出的基於深度學習的鐳射定位系統需要一個預先建立的鐳射點雲定位地圖、線上鐳射點雲以及來慣性感測器的預測位姿作為輸入。其中預建的鐳射點雲定位地圖是通過離線製圖演算法對多次採集的同一區域的點雲資料進行融合,並使用點雲識別演算法剔除動態地物得到。線上點雲是由自動駕駛車輛上安裝的鐳射雷達裝置在行駛過程中採集獲得,而預測位姿則由上一幀定位結果加上慣性感測器或者車輛運動模型估計的增量運動來進行遞推。總的來說,這個定位框架通過最小化線上點雲和地圖的匹配距離,優化預測位姿從而獲得定位結果的。一般來說,無人車需要定位模組輸出六個自由度位姿,包括三個座標軸(x, y, z)方向上的平移(∆x,∆y,∆z)以及三個座標軸上的旋轉(俯仰角,翻滾角和航向角),但是由於慣性感測器通常可以提供相對準確的俯仰和翻滾角資訊,而當(x,y)估計準確時,高程 z 通常可以從地圖中獲取。因此,在目前主流的自定位系統設計中一般只估計 2D 水平平移(∆x,∆y)和航向角,L3-Net 也採取了類似的設計。


百度無人車實現全球首個基於深度學習的鐳射點雲自定位技術

圖 2 百度提出的基於學習的鐳射自定位網路架構 L3-Net。該網路通過兩個階段進行訓練,第一階段訓練只包含了黑色箭頭部分,包括關鍵點選擇、特徵提取以及基於 3D CNNs 的特徵匹配;第二階段訓練包含了青色箭頭的部分,這一階段訓練包含了用於時序平滑的 RNNs 網路。



具體來說,百度提出的 L3-Net 演算法流程如圖 2 所示。對於每一幀線上點雲,需要找到一系列的關鍵點,並以關鍵點為中心的收集區域性點雲塊從中提取特徵描述子。關鍵點的提取需要同時考慮區域性和全域性的幾何結構關係。L3-Net 首先利用點雲的密度找到了一些候選點。接著對每個候選點使用經典點雲 3D 結構特徵估計其線性和散亂性的概率,最終綜合考慮候選點之間的距離及其結構特性選取出關鍵點。對於每個關鍵點,該方法收集了其區域性範圍內的點雲資訊,再通過 mini-PointNet 網路結構得到特徵描述子。其中 PointNet 是 2017 年 CVPR 收錄的直接作用於無序點雲的深度學習網路結構,L3-Net 這裡使用的 mini-PointNet 是其簡化版本,由一個多層感知機(Multi-Layer Perceptron, MLP) 和一個 Max-Pooling 層組成,這也是直接作用於無序點雲的網路結構應用於高精度鐳射點雲定位/匹配任務的首次嘗試。


在獲得了關鍵點的特徵描述子後,需要對 2D 水平位置(∆x,∆y)和航向角結果進行求解,這等價於求解預測位姿和真值在水平位置和航向角上的偏移量。針對這個問題,L3-Net 採用了搜尋的方法,對預測位姿為中心的(∆x,∆y,∆yaw)三維狀態空間進行離散化,取其中一定範圍內的定位狀態構成集合。對於線上點雲中的一個關鍵點,通過計算集合中每種定位狀態下線上點雲與地圖的匹配效果可以獲得的 cost volume。接著使用 3D CNNs 對 cost volume 進行正則化操作,這樣做是為了抑制其中的異常值,提升匹配效果。正則化後,L3-Net 將所有關鍵點的 cost volume 相加並通過 softmax 層得到(∆x,∆y,∆yaw)定位空間的 probability volume,進而估計出(∆x,∆y,∆yaw)的定位結果。


在得到了每幀點雲定位結果後,L3-Net 通過 LSTM 網路對車輛的運動模型進行建模,利用定位的時序關係提升定位結果,實驗表明獲得了更加平滑和精確的定位結果。

 

百度無人車實現全球首個基於深度學習的鐳射點雲自定位技術

圖 3 基於深度學習的 L3-Net 鐳射點雲定位系統與其他系統對比的結果。

 

百度無人車實現全球首個基於深度學習的鐳射點雲自定位技術

圖 4 L3-Net 定位網路各階段輸出化的視覺化效果。Cost Volume 欄中每一列表示一個關鍵點的匹配情況,其中每一行表示一種航向角狀態,每個圖片表示水平位置的 cost 分佈。在把所有關鍵點的 cost volume 合併到一起後,可以看到匹配響應顯著增強。最終估計的定位結果(0.538m, 0.993m, 1.001 度)和其對應的來自資料集的定位真值(0.524m, 0.994m, 1.044 度)在最右欄展示。




總結


針對自動駕駛中的自定位問題,百度提出了一套基於深度學習的鐳射點雲自定位演算法。百度使用不同型別的網路結構對傳統方法中的各功能模組進行替代,並在一個包含多種場景路況和大尺度時間跨度的資料集上驗證了演算法效果,實現了釐米級的定位精度。該資料集包含了城市道路、園區道路和高速等多種富有挑戰的路況場景,資料總里程達 380km,即將在百度 Apollo 平臺開放。

相關文章