深度學習LiDAR定位:L3-Net
摘要
本文提出L3-Net——一種新穎的基於學習的LiDAR定位系統,可實現厘米級的定位,與現有最高水平的傳統定位算法相媲美。與傳統定位算法不同,本文創新地實現了使用各種深度神經網絡結構來建立基於學習的定位算法。首先,L3-Net會學習專門針對不同現實駕駛場景中的匹配而優化的局部描述,在解決方案空間中建立的成本量上的3D卷積顯著提高了定位精度。其次,使用RNN對車輛動力學進行建模,從而獲得更好的時間平滑度和准確性。然后,本文使用新收集的數據集全面驗證了L3-Net的有效性。最后,本文使用了具有挑戰的SunnyvaleBigLoop序列(在采集的地圖和測試數據之間間隔了一年時間的序列)進行測試,測試結果表明,L3-Net在這些數據集中具有很低的定位誤差,證明了其在實際工業實現中的成熟度。
背景及問題描述
傳統LiDAR定位算法流程與基於學習的定位算法流程對比如圖1所示。其中,傳統算法的步驟通常是:特征描述(如點、平面、桿、2D柵格上基於高度的高斯特征等)、地圖匹配、匹配誤差的計算、空間搜索或優化(如全搜索或由粗到精的搜索,蒙特卡洛采樣或迭代梯度下降最小化)。這些傳統算法中,通常需要利用點雲的幾何特征、反射強度特征來進行配准或濾波,實現定位。常見的有基於ICP、NDT、直方圖濾波、卡爾曼濾波等的定位算法。盡管其中一些算法具有不同場景下出色的准確性和魯棒性,但通常需要大量的工程工作來調優流程中的每個模塊,並設計硬編碼的特征和匹配方法。此外,這些傳統定位算法的系統類型對運行場景有很強的偏好。要使一個通用的定位系統能夠適應所有具有挑戰性的場景需要巨大的工程努力,這通常是極其困難的。
圖 1 傳統與基於學習的定位算法流程圖
而基於學習的方法以數據驅動的方式為上述問題的解決開辟了一條全新的道路。
主要貢獻
(1)根據作者了解,這是當時第一個基於學習的,用於自動駕駛的LiDAR定位框架,可直接處理點雲並准確估計車輛的位置和方向,並能得到與當時最好的算法相媲美的效果。
(2)創新性的使用3D卷積學習如何調整x,y,yaw這三個維度上的匹配代價以提高定位精度
(3)將提出的算法在同一條道路上在不同時間進行了多次試驗,並在各種城市道路上進行嚴格的測試;發布數據集,數據集包含超過380公里的真實交通駕駛場景的數據,適合定位任務。
主要原理及思路
L3-Net主要由Keypoint Selection、Descriptor Extraction、Cost Volume and 3D CNNs、Probability Offset Volume、以及Temporal Smoothness五個部分組成。輸入為已構建的點雲地圖和行駛時的LiDAR觀測數據。接下來分五個部分分別描述L3-Net的細節。L3-Net網絡架構如圖2所示:
圖2 L3-Net的架構圖
1、Keypoint Selection
3-Net中關鍵點選擇方法是:
(1)選取鄰域內滿足一定密度的點。
(2)估算鄰域內的點的線性度和散度,挑出具有強線性和散度的點作為候選關鍵點。
(3)根據組合的幾何特性排序,並由高到低,選取最少數量的候選點作為關鍵點,同時確保這些新選出來的點各自與其它點保持一定空間距離。
2、Descriptor Extraction
描述子提取的方法為:
(1)為每一個關鍵點選取鄰域內64個點,每個點包含x,y,z,r(reflection)四維數據,故一個關鍵點描述子的提取輸入為64x4的張量。
(2)使用mini-PointNet對關鍵點特征進行提取,輸出得到32維的描述子。
(3)使用參數共享機制為地圖和實時點雲數據提取特征。其中,mini-PointNet主要包含由3個堆疊的全連接層和一個最大池化層組成的多層感知機(MLP)。
3、Cost Volume and 3D CNNs
3.1、Cost Volume
匹配代價描述的是實時點雲幀與地圖之間的匹配誤差。對於某一個關鍵點,計算匹配代價的方法為:
(1)給定一個預測的位姿,將局部的實時點雲幀中的所有關鍵點變換到地圖的全局坐標中。
(2)將預測位姿周圍的空間分別按照x,y,yaw三個維度划分,得到以下解空間的采樣:
(3)將關鍵點根據下式進行變換,並提取其在地圖中的特征描述子。
(4)計算實時關鍵點的描述子與地圖中的描述子之間的歐氏距離,將該距離作為匹配代價。
3.2、Regularization
正則化步驟通過構建3D卷積網絡實現,這一步驟是為了提高收斂速度並避免過擬合問題。3D卷積網絡由三個3D卷積層組成,前兩個卷積層使用ReLU激活函數和批處理正則化,其中批處理包含來自單個幀的所有關鍵點。最后一個卷積層則直接輸出解空間的匹配代價。
4、Probability Offset Volume
此部分作者引入概率偏移量來表述解空間所有關鍵點的一致性,也就是實時點雲與地圖在給定偏移量情況下的匹配代價量。計算概率偏移量的步驟是
(1)假設所有關鍵點是獨立的,則在某一偏移下的匹配概率為:
(2)將所有關鍵點的偏移匹配概率累乘並取對數,得到在偏移為delta_T情況下實時點雲與地圖的整體匹配概率:
(3)通過reduce average操作將其邊緣化為pasi的成本量。(4)接着通過softmax將上述成本量歸一化,並作為整體的匹配概率。
(5)通過reduce sum操做分別提取x方向,y方向以及航向角pasi的偏移概率向量作為最終輸出。
5、Temporal Smoothness
在傳統算法中,直方圖濾波可以通過歷史的定位分布來推測當前的匹配定位分布,保證了時間平滑性。在本文中,作者引入RNNs來獲得這一事件平滑效果,更具體的來說,是通過LSTM網絡實現。
實驗結果
從表1中的定位結果對比來看,L3-Net在各種場景下的定位精度都達到很高的水平,實現了厘米級定位。在小於0.1m的准確率上,均高於90%,性能穩定。通過是否使用RNN進行時間平滑來的對比看,經過RNN網絡進行時間平滑后的定位精度有更大的提高。
表1 L3-Net點雲定位算法與其他算法的對比
圖3展示的是成本量、概率偏移量在固定偏航和選定關鍵點的(x,y)軸上可視化結果。可以看到,在使用概率偏移量表達定位匹配度后,匹配結果更加清晰明了。最右側一欄是最終估計的偏移量(0.538m,0.993m,1.001°)及ground truth(0.524m,0.994m,1.044°)的對比。
圖3 網絡不同步驟的輸出可視化
結論
作者提出了一種專為自動駕駛應用而設計的新穎的基於學習的LiDAR定位框架。該框架將傳統定位流程中需要手動調整算法的模塊替換為基於學習的深度神經網絡,使得定位系統能夠更具魯棒性,定位精度也可以達到現有(2019)最高水平。