作者:楊凌昊

首發:公眾號【3D視覺工坊】

注1:文末附有【視覺SLAM、鐳射SLAM】交流群加入方式

注2:自動駕駛系統課程:

https://

mp。weixin。qq。com/s/0-mb

6M6HvKU3Uau0a4taTw

注3:徹底搞懂視覺-慣性SLAM:基於VINS-Fusion

注4:徹底搞懂基於LOAM框架的3D鐳射SLAM: 原始碼剖析到演算法最佳化

注5:徹底剖析室內、室外鐳射SLAM關鍵演算法原理、程式碼和實戰(cartographer+LOAM+LIO-SAM)

注6:鐳射-視覺-IMU-GPS融合SLAM演算法梳理和程式碼講解

基於Range Image的自主車輛鐳射雷達定位(ICRA 2021)

Chen X, Vizzo I, Läbe T, et al。 Range Image-based LiDAR Localization for Autonomous Vehicles[J]。 arXiv preprint arXiv:2105。12121, 2021。 ICRA 2021,波恩大學;

針對問題:

使用更緊湊的先驗LiDAR地圖的進行LiDAR定位

提出方法:

在地圖的表達上,使用鐳射雷達構建的mesh地圖,在表達上更加緊湊;

將3D LiDAR掃描的資訊透過球面座標投影生成Range Image作為觀測,建立了基於Range Image的觀測模型,透過粒子濾波實現基於先驗地圖的精確定位結果。

達到效果:

在Carla,IPB-Car,MulRan(KAIST)以及Apollo(Columbia-Park)資料集上進行定性定量驗證,對系統的定位精度、3D Lidar的普遍適用性以及實時性進行評估,證明本文系統能夠實現實時且準確的定位。

存在問題:

該方法構建的先驗地圖仍然是稠密形式的地圖,在儲存上仍然存在佔用記憶體較大的影響;

該方法採用的感測器仍比較昂貴,雖然實驗驗證了線上數比較小的雷達上仍能夠實現較好效果。可以考慮使用GAN網路結合RGB特徵生成偽影象的方式與當前相機之間的RGB影象作為觀測實現定位。

Abstract

魯棒而準確的基於地圖的定位對於自主移動系統至關重要。在本文中,我們利用3D LiDAR掃描產生的Range Image來解決移動機器人或自主汽車在由三角形網格表示的大規模戶外環境地圖中的定位問題。我們使用泊松表面重建來生成基於網格的地圖表示。基於當前LiDAR掃描產生的Range Image和基於網格的地圖的合成渲染檢視,我們提出了一個新的觀測模型,並將其整合到蒙特卡洛定位框架中,實驗證明該模型實現了更好的定位效能,並能很好地適用於不同環境。我們用不同的LiDAR掃描器在不同的環境中收集的多個數據集來測試所提出的定位方法。實驗結果表明,我們的方法可以在不同的環境中可靠而準確地定位移動系統,並在LiDAR感測器的幀速率下線上執行,跟蹤車輛的位姿。

Introduction

基於Range Image的自主車輛鐳射雷達定位(ICRA 2021)

在本文中,我們不使用從三維鐳射雷達感測器獲得的原始點雲或從點雲中生成或學習的特徵,而是研究基於三維鐳射雷達的Range Image自主車輛的定位。我們將點雲投影到Range Image中,並透過用三角形網格表示的地圖的渲染檢視來實現自主移動系統的定位。使用Range Image表示和用網格表示的地圖有幾個原因:圓柱形的Range Image是機械式三維鐳射雷達自然且輕量級的表示,而網格地圖比大型點雲更緊湊。這些特性使我們的方法能夠在大規模環境中實現全域性定位。此外,網狀地圖的範圍影象的渲染可以使用計算機圖形技術有效地進行。因此,Range Image和網狀地圖是實現基於LiDAR的全域性定位的完美搭配。

The main contribution

本文的主要貢獻是為基於LiDAR的三維定位建立了一個新的觀測模型。我們的模型是基於從真實的LiDAR掃描和網狀地圖的合成渲染中產生的Range Image。我們使用它們之間的差異來制定蒙特卡洛定位(MCL)的觀察模型,以更新粒子的重要性權重。基於我們

基於Range Image的自主車輛鐳射雷達定位(ICRA 2021)

此外,我們的方法在用不同型別的LiDAR掃描器收集的不同環境中具有良好的通用性。總而言之,我們提出了三個關鍵的觀點,並且這些觀點在論文和實驗評估中得到了較好的支撐:

1)使用3D LiDAR資料準確可靠地實現全域性定位

2)可用於不同型別的LiDAR感測器

3)在不同的環境中具有良好的通用性

Our Approach

在本文中,我們提出了一個使用三維LiDAR感測器的自主車輛的機率全域性定位系統。為了實現此功能,我們將LiDAR點雲投射到Range Image中,並將其與由三角形網格代表的地圖上的每個粒子位置所呈現的合成Range Image進行比較。基於range image,我們為基於LiDAR的定位系統構建了一個新的觀測模型,並將其整合到蒙特卡洛定位系統中。此外,我們採用tile map來加速渲染並決定系統何時收斂。使用一個基於OpenGL的渲染方式進行上述操作,所提出的系統在能夠以LiDAR感測器的採集幀率線上執行。

1.Range Image Generation

所提出的方法的關鍵思想是使用從LiDAR掃描生成的Range Image,並從三角網狀圖中渲染出來,用於機器人定位。為了生成Range Image,我們使用球面投影法。

基於Range Image的自主車輛鐳射雷達定位(ICRA 2021)

2.Mesh-based Map Representation

我們使用一個三角形的網格作為環境的地圖M。三角形網格為我們提供了一個緊湊的表示,使我們能夠以LiDAR感測器的幀速率渲染上述的Range Image。

為了生成地圖,我們使用LiDAR感測器用於SLAM建圖。請注意,我們的方法沒有必要使用同一LiDAR感測器來生成地圖和定位。我們採用泊松表面重建(PSR),從點雲中獲得作為三角形網格的地圖的表示。PSR演算法需要一個定向的點雲,即輸入點雲中所有點的法線。為了估計表面法線,我們使用了一個基於range image的法線估計,該演算法為每個坐

基於Range Image的自主車輛鐳射雷達定位(ICRA 2021)

基於Range Image的自主車輛鐳射雷達定位(ICRA 2021)

在平均化之後,無效的邊緣將被去除。一旦地面被簡化,它就與網格的其他部分結合在一起,不做進一步處理。這種簡化使我們能夠將網格模型的大小減少到原來的50%左右。

PSR演算法提供了一個全域性解決方案,它一次性考慮了整個輸入資料,而沒有訴諸啟發式或分割槽。因此,我們不是增量式地構建地圖,而是利用地圖位姿將所有的定向點雲聚集到一個全域性參考框架中,然後,這個定向點雲地圖被直接輸入到PSR演算法中,產生一個全域性一致的環境三角網格。

3.Rendering Synthetic Range Images

基於Range Image的自主車輛鐳射雷達定位(ICRA 2021)

基於Range Image的自主車輛鐳射雷達定位(ICRA 2021)

粒子渲染一個合成Range Image。使用球面投影,我們從給定的粒子位姿投射三角形的頂點,並讓OpenGL在考慮到遮擋的情況下對三角形表面進行著色。為了進一步加速渲染,我們使用地圖的例項化來渲染多個粒子的Range Image的批次,這使我們能夠避免多次讀取頂點位置,並最大限度地減少繪圖呼叫的數量。

4.Monte Carlo Localization

基於Range Image的自主車輛鐳射雷達定位(ICRA 2021)

5.Range Image-based Observation Model

根據當前LiDAR掃描生成的測距影象和所有顆粒的合成測距影象,我們設計了一個觀測模型。

基於Range Image的自主車輛鐳射雷達定位(ICRA 2021)

有幾種方法來計算這種相似性。例如,我們可以直接在畫素水平上用絕對差異或用交叉相關來比較兩幅範圍影象。我們還可以生成特徵,並在特徵空間中比較兩幅影象。最近,也有許多基於深度學習的演算法被提出。

在本文中,我們的目標是研究由LiDAR掃描和三角網格產生的測距影象在蒙特卡洛定位系統中的應用,相似性計算的具體選擇取決於應用。為了保持整個系統的快速和易於使用,

基於Range Image的自主車輛鐳射雷達定位(ICRA 2021)

基於Range Image的自主車輛鐳射雷達定位(ICRA 2021)

上圖顯示了由我們提出的觀察模型計算出的區域性區域的機率,並表明它能很好地編碼姿態假設。與我們先前的工作(OverlapNet)相比,該工作將觀測模型解耦為位置似然和航向似然兩部分,所提出的觀測模型可以使用一個模型一次性估計整個狀態空間的似然,這是優雅而快速的。

6.Tiled Map Representation

我們將基於網格的全域性地圖分割成tiles,透過更有效的渲染來加速蒙特卡洛的定位。我們只使用與tile關聯上的、接近粒子位置的網格部分。除了更有效的渲染之外,我們還使用tiles來確定定位是否已經收斂。如果所有的粒子都被定位在最多N個tiles中,我們就認為定位已經收斂,並減少粒子的數量來跟蹤位姿。瓷磚也使我們的方法的執行時間與收斂後整個環境的大小無關。

Experimental Evaluation

我們展示了我們的實驗,以顯示我們方法的能力,並支援我們的主張,即我們的方法能夠。(i) 使用3D LiDAR資料準確可靠地實現全域性定位,(ii) 可用於不同型別的LiDAR掃描器,以及,(iii) 在不改變引數的情況下很好地適用於不同環境。

Implementation Details

基於Range Image的自主車輛鐳射雷達定位(ICRA 2021)

Datasets

本文在Carla、IPB-Car、MulRan(KAIST)以及Apollo(Comumbia-Park)資料集上進行了系統性能測試,這些資料集包含了不同的場景以及不同的鐳射雷達型號。對於Carla模擬器,我們為測試序列添加了物件,這些物件不存在於地圖中,以模擬像真實資料集那樣的變化環境。對於不同資料集的所有實驗,我們只改變LiDAR感測器的內在和外在校準引數,用於生成Range Image,並保持所有其他引數,特別是MCL的引數不變。

基於Range Image的自主車輛鐳射雷達定位(ICRA 2021)

Baselines

在下面的實驗中,我們使用相同的MCL框架,只改變觀察模型。我們將我們的方法與三個Baseline觀察模型進行比較:典型的beam-end模型,基於直方圖的模型,以及一個基於深度學習的模型。

beam-end觀測模型通常用於二維LiDAR資料。對於三維LiDAR掃描,它需要更多的粒子來確保收斂到正確的姿態,這導致計算時間大大增加。在本文中,我們用解析度為10釐米的體素化下采樣點雲圖來實現beam-end模型。

我們的第二個作為比較的Baseline受到Rohling的啟發,他們利用了從3D LiDAR資料中提取的直方圖上的相似性作為觀測。

第三個作為比較的Baseline是作者之前的一項工作,它使用深度神經網路來估計查詢掃描和地圖資料之間的重疊和偏航角偏移,並在此基礎上為MCL建立一個觀測模型。基於重疊的方法利用網格地圖併為每個網格單元儲存虛擬幀。

1.Localization Performance

基於Range Image的自主車輛鐳射雷達定位(ICRA 2021)

在IPB-Car資料上的定性結果表明,所提出的方法僅使用在不同時間的動態環境中收集的LiDAR資料就能很好地在地圖中定位。與基線方法相比,本文所提出的方法能更準確地跟蹤姿勢。

基於Range Image的自主車輛鐳射雷達定位(ICRA 2021)

來測試這些方法。對於每個設定,我們取樣10個軌跡並進行全域性定位。X軸代表粒子的數量,而Y軸是不同設定的成功率。一種方法的特定設定的成功率是用成功案例的數量除以測試的總數量計算出來的。為了決定一個測試是否成功,我們在收斂後每100幀檢查一次位置誤差。如果位置誤差小於5米,我們就把這次執行算作成功。定位精度的定量結果見下表。上半部分顯示了用兩種序列測試的所有方法的定位誤差。定位誤差被定義為每次測試的均方根誤差(RMSE),即相對於地面真實位置的(X,Y)歐氏誤差。它顯示了每個觀測模型的誤差的平均值和標準偏差。請注意,位置誤差只針對有10,000個粒子的成功案例進行計算。下半部分顯示了偏航角誤差。它是每個測試的偏航角誤差相對於地面真實姿勢的RMSE。該表顯示了每個觀測模型的誤差的平均值和標準偏差。和以前一樣,偏航角誤差也只計算全域性定位收斂了10,000個粒子的情況。

基於Range Image的自主車輛鐳射雷達定位(ICRA 2021)

定量結果表明,我們的方法在定位精度方面優於所有的基線方法,同時取得了相近的航向精度。原因是我們的方法使用了線上渲染的Range Image,不依賴於離散的網格。因此,我們的方法不會受到網格解析度的影響。然而,這意味著我們的方法需要更多的粒子來實現同樣的成功率。因此,我們使用大量的粒子進行初始化。然後,它將達到一個高的成功率,同時不影響收斂後的執行時間。

2.Generalization

為了證明我們方法對LiDAR型號的通用性,即我們的方法能夠使用不同型別的LiDAR感測器在同一網格地圖中進行定位。我們在Carla模擬器中測試了5種不同型別的LiDAR感測器,包括Quanergy MQ-8、Velodyne Puck、Velodyne HDL-32E、Velodyne HDL-64E和Ouster OS1-128。我們使用上述LiDAR感測器的真實引數,其中包括光束數量和視場。如下表所示我們的方法在所有不同型別的感測器上都能很好地工作,甚至在相對稀疏的掃描中也能取得良好的定位結果(Quanergy MQ-8 LiDAR的定位RMSE為0。48米)。

基於Range Image的自主車輛鐳射雷達定位(ICRA 2021)

基於Range Image的自主車輛鐳射雷達定位(ICRA 2021)

實驗驗證了我們的方法在不同環境下具有良好的通用性。我們在MulRan和Apollo資料集上測試了我們的方法,引數與Carla和IPB-Car資料集中使用的相同。我們的方法在韓國和美國的城市環境中也執行良好。

3.Runtime

這裡我們表明,我們的方法執行速度足以支援在感測器幀率下對機器人進行線上處理。我們在一臺擁有3。2GHz的英特爾i7-8700和11GB記憶體的Nvidia GeForce GTX 1080 Ti的普通計算機上測試了我們的方法。在Carla資料集上,收斂之前,一個查詢幀的最大時間是56。7秒,有10,000個粒子。在收斂之後,我們的方法在100個粒子和100×100平方米的瓦片圖上的平均幀率為21。8Hz。

Conclusion

在本文中,我們提出了一種新的基於Range Image的線上LiDAR定位方法。我們的方法利用了LiDAR掃描產生的Range Image和基於三角形網格的地圖表示。這使我們能夠在給定的地圖中成功地對自主系統進行定位。我們在不同的資料集上實施並評估了我們的方法,並提供了與其他現有技術的比較。實驗表明,我們的方法能夠可靠而準確地實現全域性定位。此外,我們的方法可以很好地適用於不同的環境,並且可以與不同的LiDAR感測器一起使用。定位收斂後,我們的方法可以在感測器幀率下線上執行。

更多幹貨

歡迎加入【3D視覺工坊】交流群,方向涉及3D視覺、計算機視覺、深度學習、vSLAM、鐳射SLAM、立體視覺、自動駕駛、點雲處理、三維重建、多檢視幾何、結構光、多感測器融合、VR/AR、學術交流、求職交流等。工坊致力於乾貨輸出,為3D領域貢獻自己的力量!歡迎大家一起交流成長~

新增小助手微信:CV_LAB,備註學校/公司+姓名+研究方向即可加入工坊一起學習進步。