天天看點

開源3D雷射雷達閉環檢測方法一、2D histogram二、Scan Context系列三、LiDAR-Iris四、LinK3D+BoW3D五、OverlapNet

目前主流的雷射雷達閉環檢測政策主要有以下幾種:

  1. 點到點的比對(point to point matching):經典方法如ICP、NDT及其變種。
  1. 關鍵點與描述子:從3D點雲中檢測關鍵點,然後從關鍵點位置提取描述子,建構詞袋模型BoWs進行場景比對,如BoW3d方法。
  1. 全局描述符,從點雲中提取全局描述符,如ESF、FPFH、VFH、M2DP、histogram、Scan Context等。
  1. 深度學習方法,經典方法如PointNetVLAD、OverlapNet、SegMap等等。

下面列出幾種經典的應用較多的開源方案,具體想了解某一種方法的話大家還是自己閱讀論文:

一、2D histogram

論文:《A fast, complete, point cloud based loop closure for LiDAR odometry and mapping》

GitHub位址:https://github.com/hku-mars/loam_livox

該方法被用在loam_livox中,适用于像livox這種非重複掃描的固态雷射雷達,也适用于傳統的機械式雷射雷達。該方法速度快,對旋轉不變。

開源3D雷射雷達閉環檢測方法一、2D histogram二、Scan Context系列三、LiDAR-Iris四、LinK3D+BoW3D五、OverlapNet

論文中使用的2D直方圖是一個60×60的矩陣(在俯仰角和偏航角上都有3°的分辨率),矩陣的元素表示具有特定俯仰角θ和偏航角φ的線/面單元的數量。

為了增加2D直方圖對可能噪聲的魯棒性,對每個2D直方圖應用高斯模糊。

使用歸一化互相關作為目前關鍵幀與地圖中關鍵幀之間的相似度度量。

二、Scan Context系列

論文:《Egocentric Spatial Descriptor for Place Recognition Within 3D Point Cloud Map》

GitHub位址:irapkaist/scancontext: Global LiDAR descriptor for place recognition and long-term localization (github.com)

Scan Context可以說是目前最經典應用最多的雷射閉環檢測算法了吧,被大家廣泛內建到LOAM系列的SLAM算法當中,效果也不錯。近期也衍生出很多變種,如Scan Context++,Intensity Scan Context,Semantic Scan Context等。

開源3D雷射雷達閉環檢測方法一、2D histogram二、Scan Context系列三、LiDAR-Iris四、LinK3D+BoW3D五、OverlapNet

Scan Context中儲存的是點雲每塊區域中的最大的高度,是以勢必也會丢失很多點雲資訊,導緻它在室内使用有一定的局限性。

三、LiDAR-Iris

論文:《LiDAR Iris for Loop-Closure Detection》

GitHub位址:BigMoWangying/LiDAR-Iris: LiDAR Iris for Loop-Closure Detection(IROS 2020) (github.com)

論文描述中,該方法的提出主要是為了解決Scan Context存在的一些缺陷,一是它隻利用了最大的高度,丢失了很多點雲資訊,二是Scan Context不具有旋轉不變性,需要進行暴力比對,三是Scan Context缺少特征提取步驟。

開源3D雷射雷達閉環檢測方法一、2D histogram二、Scan Context系列三、LiDAR-Iris四、LinK3D+BoW3D五、OverlapNet

提出了一個LiDAR點雲的全局描述符LiDAR Iris,将一塊區域總結為在LiDAR-Iris圖像表示上進行幾次Gabor過濾和門檻值操作後獲得的二進制簽名圖像, 充分利用了點雲的大部分資訊。

該全局描述符具有旋轉不變性,避免了暴力搜尋,節約了計算資源。

四、LinK3D+BoW3D

論文:《LinK3D: Linear Keypoints Representation for 3D LiDAR Point Cloud》

《BoW3D: Bag of Words for Real-Time Loop Closing in 3D LiDAR SLAM》

GitHub位址:https://github.com/YungeCui/BoW3D

借鑒VSLAM中的詞袋模型思路,提出了Link3D描述子,提取流程如下圖。LinK3D的核心思想是将目前關鍵點描述為其相鄰關鍵點的線性表示。首先提取魯棒聚集關鍵點,然後将提取的聚集關鍵點輸入描述符生成算法,該算法以新的關鍵點表示形式生成描述符。在得到描述符後,所提出的比對算法可以快速比對兩次雷射雷達掃描的描述符。

開源3D雷射雷達閉環檢測方法一、2D histogram二、Scan Context系列三、LiDAR-Iris四、LinK3D+BoW3D五、OverlapNet
開源3D雷射雷達閉環檢測方法一、2D histogram二、Scan Context系列三、LiDAR-Iris四、LinK3D+BoW3D五、OverlapNet

論文中提到提取LinK3D特征平均需要32毫秒,比對兩次LiDAR掃描的描述符需要8毫秒,重定位需要13毫秒。

五、OverlapNet

論文:《OverlapNet: Loop Closing for LiDAR-based SLAM》

GitHub位址:https://github.com/PRBonn/OverlapNet

OverlapNet是一種基于深度學習的閉環檢測算法,并将其內建到了SuMa++當中,作者是波昂大學的Xieyuanli Chen。

開源3D雷射雷達閉環檢測方法一、2D histogram二、Scan Context系列三、LiDAR-Iris四、LinK3D+BoW3D五、OverlapNet

OverlapNet無需先驗位姿資訊,旨在解決在自動駕駛中3D LiDAR SLAM 的閉環檢測問題。

它不需提前知道兩個雷達掃描的相對位姿,隻利用範圍、法向量、強度和語義(RangeNet++)等線索,使用深度神經網絡直接估計兩個雷射雷達掃描的重疊率,以及相對偏航角。網絡由兩個共享權重的Legs和由Legs生成的相同特征體積對的Head組成。Overlap輸出的是重疊率,Yaw輸出的是偏航角。

在不同資料集上泛化性能不錯。作者訓練模型使用的是 KITTI 資料集,在 Ford campus 資料集上進行測試評估。實驗表明該方法仍然能夠比最新的方法更有效地檢測閉環。

繼續閱讀