該論文的地址是:https://arxiv.org/pdf/1609.07720.pdf
segmatch是一個提供車輛的回環檢測的技術,使用提取和匹配分割的三維激光點雲技術。分割的例子可以在下面的圖片中看到。

該技術是基於在車輛附近提取片段(例如車輛、樹木和建築物的部分),並將這些片段與從目標地圖中提取的片段相匹配。分段匹配可以直接轉化為精確的定位信息,從而實現精確的三維地圖構造和定位。在先前記錄的部分(白色)和最近觀察到的部分(彩色)之間,匹配的段的實例用綠色線顯示在下面的圖像中。
該方法依賴於分割對象但不一定限於語義對象,因為這允許更一般的表示分割物,並在更廣泛的不同環境中啟用功能。
對三維點雲數據進行回環檢測一直都是一項挑戰,但是已經有方案通過使用基於圖像的方法解決回環檢測的問題,基於圖像的方法一般是根據圖像的局部特征或者全局特征,圖像中環境的變化會使得局部特征點會收到模糊性和魯棒性的干擾,而基於全局特征點的方法一般的方法根據相機的視角(視點),該論文提出了一種可靠的閉環檢測算法——SegMatch,是基於3D點雲分割匹配的方法。Segment在局部描述和全局描述之間提供了很好的折衷方案,不僅融合了它們的優點,同時減少了各自的缺點。Segmatch方法不依賴完美分割(perfect segmentation)的假設,或者要求環境中必須存在的物體對象,它可以在大規模、非結構化環境下可靠良好的運行。
文章中結果表明,Segmatch可以在里程計數據集的最大序列頻率為1Hz實現精確定位。並且,我們還展示了如何在在線運行過程中實現實時地檢測和閉環檢測。並且代碼都是開源了:https://github.com/ethz-asl/segmatch(編譯源碼可能會遇到各種問題,有編譯過的,遇到問題如何解決的還望大家一起交流分享一下)
在SLAM領域回環檢測是一個重要的挑戰,但是由於全局位姿信息的狀態估計的漂移是不可避免的,所以對於機器人來說可靠的回環檢測是十分重要的,當然前人也提出了很多典型的基於圖像的閉環檢測的方法,但是當環境發生強烈的照明變化,或者由於傳感器的視點發生巨大的變化時,這種基於圖像的回環檢測的方法就顯得不那么可靠了,基於激光雷達定位的方法,不受照明度的影響,並且雷達能夠獲取一定分辨率的幾何信息,不會像視覺系統受視點的影響,這篇論文就是就是根據3D測距雷達傳感器在室外環境中實現良好的穩定的定位。
對於3D點雲數據的回環檢測,當前的方案主要是依據關鍵點的檢測以及匹配的方法

圖1 此圖是一個回環檢測的框架圖,參考點雲在下面為白色部分,局部點雲在對應的上方,不同的顏色代表着分割的結果,綠色的線代表着分割結果的匹配。
對於理想情況下的回環一般滿足兩個假設:第一是能夠應用分割技術將物體分割出來,第二是環境中必須有物體對象,當環境中或者分割的條件不能滿足這
兩個假設時,就可以應用本文提出的Segment方法,該方法是利用整體點雲中的部分或者整體的形狀而不是使用關鍵特征點的方法,比如環境中的窗口,弓形等
結構,該Segment 系統是一種模塊化設計。它首先第一步是從獲得的3D點雲中提取並描述分割物,將它們匹配用於已經走過的地方和使用幾何驗證對比的方法選出回環檢測的候選點雲。這種基於分割的技術的優點是將點雲壓縮成一組清晰的用於閉環檢測的判別元素。實驗表明這不僅減少了匹配所需的時間,也減少了錯誤匹配的可能性。
這是第一篇文章提出了在三維激光數據的基礎上分割物體並執行閉環檢測和定位的實時的算法。該文章的主要貢獻有:Segmatch,是一種基於分割算法的三維點雲進行位置識別的方法。開源代碼實現實時的閉環檢測,算法的性能在實際應用中得已檢測。
目前主要三個趨勢:(1)基於局部特征的方法;(2)基於全局的描述(3)以平面或物體為基礎的
在論文中,描述了在三維點雲中的位置識別方法。所提出的系統框架的具體如圖2 所示,由四個不同的模塊組成:點雲分割、特征提取、分段匹配和幾何驗證。模塊化一直是設計階段的一個驅動因素。

圖2
該圖為SegMatch的框架結構圖,其中Target Map可以是從本地磁盤中加載也可以是在線讀取用於實現閉環檢測
(1)Segmentation
SegMatch的第一步是根據3D點雲進行不同的元素分割用於匹配。我們首先將輸入的點雲P進行體素網格化,體素化為了篩選出體素內沒有占有太多的噪聲。過濾后的點雲被分割成一組點簇Ci,此分割的方法要求將點雲數據中的地面去除,這可以通過基於垂直均值和方差的鄰近體素聚類來實現。在論文[ 22 ]有所提及。一旦去除地面平面的數據,Euclidean聚類用於區域分割。對於每個集群Ci,質心ci被計算為其所有點的平均值。
(2) Feature extraction
根據第一步的分割結果 ,對於每一個分割結果進行特征提取,該特征提取的方法是壓縮原始點雲並為該點雲生成對象簽名,該簽名適用於識別和分類,由於對3D點雲數據來說沒有十分清晰的黃金標准描述子,所以論文中使用了幾個不同的描述子對聚類結果Ci進行描述,計算出描述子的特征向量Fi= f1 f2 ...fm,這些特征向量的表示可以擴展到包含很多的描述子,比如兩個描述子的表示方式 :
f1 表示基於特征值:在這個描述子中,計算出分割結果點雲的特征值,結合一個1*7 維度的特征向量,該七個數據分別是linearity,planarity, scattering, omnivariance, anisotropy, eigenentropy 和 change of curvature measures
f2 表示形狀直方圖:此特征是一個1*640的維度組成的10個直方圖,是形狀函數D2,D3和A3的形狀的解碼表示,至於D2,D3 A3分別代表什么,在文章【6】
有更加具體的描述,D2形狀函數是隨機選擇的點對之間的距離的直方圖 D3是隨機選擇點對組成的三角形的面積 A3表示由D3隨機組成的三角形的兩兩線段之間的角度函數
(3)Segment matching
使用第二步驟中獲得的特性點,一般情況下,我們希望識別源點雲和目標點雲之間的匹配關系。對於這一步,論文使用學習 的方法,因為使用傳統的方法通常很難選擇合適的距離度量和閾值,特別是當涉及多個特征類型時。因此,分類器用於決定兩個部分的匹配的點雲是否代表相同的對象或對象中某一部分。為了保持效率,首先通過在特征空間中執行一個KD樹搜索來檢索候選匹配,然后再將其送入分類器。具體的說,論文中使用隨機森林的分類和定時性能。這種分類器的思想是構造大量不同的決策樹,並讓它們為獲勝類投票。在學習階段,每一棵樹都是利用訓練數據集的特征及隨機子集自舉子集訓練。隨機森林提供了類似於AdaBoost算法的分類性能,但對輸出標簽中的噪聲不敏感,因為它確實存在。隨機森林還可以提供有關特征對於分類任務的相對重要性的信息。
對於隨機森林分類器,用以確定Ci與Cj集群點雲代表着相同的物體,計算的特征值的特征向量之間的絕對差:∆F =| fi - fj |。特征向量Fi和FJ放入的總特征值為1x21特征分類。這十個直方圖分別是對形狀特征的集合,直方圖相交計算得到一個尺寸1*10的特征。考慮到這些特性,隨機森林分類器分配一個分類分數w作為匹配。應用W上的閾值來構建傳遞給下一個模塊的候選匹配的最終列表。
(4)Geometric verification
根據第(3)步得到的候選匹配被輸送到幾何驗證模塊。采用隨機抽樣一致性測試(RANSAC)[ 25 ]。使用分割物體的質心計算兩物體之間的轉換矩陣。幾何一致的分割的簇點雲最終被認為是同一物體是在其上的最小分割的基礎上,得到的結果是6自由度變換和一系列的匹配的分割點雲
增量分割
前面的部分展示了使用分割的技術匹配3D點雲的方法。為了執行閉環檢測,需要在線建立目標點雲。對於在全局引用中給定的每個傳入點雲框架,這個模塊首先提取局部點雲。定義半徑r,也就是當前機器人位置中心的圓柱鄰域。分割和特征提取只執行一次,生成的源分割點雲用於匹配和構建目標地圖。所以在目標地圖中添加源分割點雲時,以下兩個特殊情況需要處理:
分割的點雲不完整的情況:將柱面濾波器應用於點雲地圖時必然導致物體對象的切割發生,從而導致點雲“不完整分割”,從而干擾了目標地圖中的完整視圖。因此,這些“不完整的部分”點雲被檢測和丟棄,以便使得地圖盡可能包含盡可能多的“完整段視圖”。這可以通過一個較小的半徑 r= R−Bd的源點雲地圖的濾波來實現,其中B是外點區域的厚度。在這個區域內有點雲很可能代表不完整的分割物,因此可以安全地移除。
重復的分割點雲:添加到目標地圖中的分割物體也可能是之前分割的點雲,也就是相同的對象部分,但在不同的時間分段。作為里程計是局部准確,這些重復的點雲可以通過比較最近的距離來有效地檢測分割物體的質心。希望保留最新的分割點雲,並給出我們可以丟棄的不完整的分割部分,選擇刪除這些副本中最舊的分割部分。進一步的工作包括合並這些“重復片段”技術。
在一此閉環檢測過程中,機器人的軌跡將會被重新估計,並且目標分割點雲的位置將會被刷新,知道分割點雲相對機器人軌跡的位置,在成功檢測的條件下,目標地圖中的分割點雲將會被正確對其,也能夠正確的濾波去除那些上文中提到的重復點雲,所以濾波的作用就是從最近的分割執行到以前的分割點雲。濾除掉重復的部分。
對於提取源點雲的半徑圓柱鄰域的R設置為60米。體素網格葉的大小設置為0.1米,最小的兩個體素內的點雲將視為占用點。對於分割采用最大歐幾里德距離的方法,兩個被占據的體素使它們被認為屬於將同一群集的閥值設置為0.2米。而且選擇考慮僅包含最少有100個點的分割和最多15000點的分割物體。
Training and testing setup
執行該算法的過程來生成訓練和測試數據集。在第一部分的給定序列中,通過提取和描述分割物來生成和處理目標地圖。當車輛測量到環境中相同的一部分時,數據集用於存儲對應不同分割物的源和目標點雲。對於局部點雲中的每個部分,我們在特征空間中執行KNN檢索,並在目標地圖中識別最近的200個鄰居點。這些候選被保存為對應段的真實匹配和不同段的假匹配。使用此程序對該數據集的06個序列,我們產生2000真匹配,和800000假匹配。訓練的隨機森林時,我們采用1:50的陽性和陰性樣品,結果有102000個樣本訓練集
Segment matching performance



表一 圖3 圖4
第一個實驗的目的是評估三種分割匹配技術的性能,第一種方案是命名為L2表示一個歐幾里得閥值,也就是兩分割點雲的特征向量之間的距離,第二種方案叫做
RF-eigen 是基於隨機森林的方法主要依賴特征點的特征值,最后一種方法是RF_eigen+shapes 的方法,就是在第二種方案的基礎上增加了幾何信息,使用更多的特征就像上文提到的方法,每一種方案用於分類器中的總結如表所示
從00序列提取的數據中檢測出三種方法的工作特性曲線(ROC)曲線。與它們的L2范數對應的相比,隨機森林分類器提供了性能上的改進。相應的的rf_eigen +形狀正確識別的例子是圖4所示。
定位性能
這一部分對segmatch算法在目標地圖中的定位的性能進行評估。數據集在序列00的部分是用於創建目標地圖,定位是發生在再次經過該序列的數據集時。基於前文所述的三種比較的方法,說明以關鍵點為基礎的回環檢測技術。
1)關鍵點:關鍵點為基線的定位方法,首先計算各點的法線的過濾之后的點雲,使用的濾波半徑為0.3米。在這一章節使用到了PCL的庫函數,關鍵點提取是在目標和源點雲均使用PCL庫的harris 3d關鍵點。這些關鍵點提取之后仍然進行濾波保留最少要有0.5米的距離一個關鍵點,確保同一地區沒有兩個太接近的描述子,從而減少幾何驗證階段對於描述子的歧義性或者模糊性。每一個關鍵點是使用半徑為0.4米的快速點特征直方圖描述(fpfh)
。在進行源點雲進行匹配是,尋找75個鄰域在目標點雲周圍的分割點,並使用幾何驗證算法來過濾這個關鍵點的匹配列表和輸出回環檢測。為了獲得我們能找到的最佳性能,需要我們決定最佳的參數,
2)結果:為了顯示定位信息,我們對每個方案執行90次運行,並給出平均結果。每個局部點雲之間的距離被記錄並以類似於[ 28 ]的方式進行評估。並顯示在目標地圖沒有成功定位的情況下行進給定距離的概率。具體來說,這個度量值計算如下:


圖4 是成功檢測到相應節段的segmatch算法。頂部和底部的行分別顯示目標和源點雲的分割點雲。
那么對於增量分割的算法,解釋如下
現在論文展示了基於分割的回環檢測算法可以在線使用,也可以結合估計姿態圖軌跡系統使用。在這個場景,如第四節所述,目標地圖是可以在線構建的,應用這一策略方法針對數據集05數據集的結果,如圖6所示。這一序列中,全局地圖是添加Velodyne掃描之間約束使用迭代最近點(ICP)的方法創建的。在這個序列中,該實時算法非常成功地發現了12個真陽性和假陽性閉環檢測。一次回環檢測,他們的類似的描述在posegraph優化系統中比如論文[ 29 ]中就有詳細的介紹 。此優化的結果用於更新目標分割物位置並從中刪除重復分割物更新目標地圖

基於對蘇黎世的Clausiusstrasse數據平滑約束區域增長分割的閉環檢測的插圖
本文提出了segmatch,從基於段匹配的概念,三維激光數據檢測閉合環的算法。相比於一個關鍵點的方法,在段水平提供了幾個優點而不做任何關於完美的分割或環境中存在的“物體”的假設。我們的模塊化方法首先從源點雲中提取片段,然后將其描述和匹配到先前映射的目標段。一個幾何驗證步驟,最后把這些候選匹配到loopclosures。
該框架已在該數據詳盡的評估。我們首先分析了使用隨機森林分類器學習適當的距離度量的特征匹配段的目的的影響。我們表明,該算法能夠准確地定位在一個頻率高於1Hz的該數據集的最大的地圖。我們還演示了如何健壯地檢測在線方式的循環,以及如何將這些饋送到姿態圖軌跡估計器。由於框架的模塊化方法,我們進一步說明了它可以很容易地應用到不同的場景,通過簡單地改變算法的構建塊。整個框架的代碼可在線獲取,為三維點雲流提供實時分割和環路閉包檢測。
基於這種分段匹配技術,我們預見了在系統中不僅僅是匹配和描述環境的多個映射使用段的可能的優點。我們將采用有監督的學習技術,將這些基於段的映射解釋為結構和對象語義類。
總結一下,這segmatch開發包提供了以下功能:
高效點雲分割提供更為有信息的分割物
提供更為有效的點雲描述子的提取
使用最近鄰搜索的方法有效對分割段點雲進行檢索
基於隨機森林分類器的魯棒的進行分段點雲匹配
結果:
三維點雲的全局定位(達到閉環檢測的作用)
實時性能
構建了基於激光雷達數據的地圖構建和定位的ROS兼容代碼庫
分割點雲:
首先,傳入的點雲被聚類成一系列的分割物。實際上,這可以用多種不同的方式來完成。在當前的實現中,分割首先通過去除地面平面,將像素網格應用到點雲,然后過濾掉噪聲。之后由歐幾里德聚類形成分割聚類點雲。
分割聚類點雲的描述:
一旦點雲已被分割成一系類的點雲,為每個分割聚類點雲提取描述子。此特征提取步驟用於將原始數據壓縮成適合於識別和分類的緊湊描述符。在當前論文的實現中,既提供基於特征值的特征,又提供形狀特征的集成。(那么關於基於特征值的特征以及基於形狀的特征的提取的論文分別是:
(1)SEMANTIC 3D SCENE INTERPRETATION: A FRAMEWORK COMBINING OPTIMAL NEIGHBORHOOD SIZE SELECTION WITH RELEVANT FEATURES
(2)Ensemble of Shape Functions for 3D Object Classification
分段匹配:
給定查詢的分段點雲,接下來的目標是識別以前生成地圖中分段點雲的匹配的任務。這是通過首先在特征空間中使用KD樹搜索檢索相關分段點雲,然后將每個檢索片段分類為匹配或不匹配。由於選擇合適的距離度量和閾值往往比較困難,因此對隨機森林進行訓練,並對其是否匹配進行分類。一旦分段點雲匹配通過分類器的確定,再利用分段點雲質心之間的對應的關系的幾何一致性檢查驗證匹配度。如果場景幾何一致,返回6自由度姿態,在便在地圖提供的定位信息。
回環檢測:
在這種情況下,現有的地圖是不提供的,segmatch也可以用來識別閉合環和正確估計的漂移。這可以在在線(實時)或離線階段進行。此外,因為segmatch執行全局搜索,閉環檢測即使在大漂移的情況仍然是可能的。一個地圖從該05序列產生一個例子如下所示。估計的軌跡顯示在左邊,檢測到的閉合環用藍線表示;在關閉循環閉包后進行圖形優化的結果顯示在右邊。
下載數據集http://robotics.ethz.ch/segmatch/
rosbag首先會停止給程序一些時間從磁盤加載點雲提取和描述部分。完成后,將從目標點雲中看到白色部分,如下圖所示。

一應用步驟教程 https://github.com/ethz-asl/segmatch/wiki/Demonstrations
(個人理解,並且翻譯水平有限,如有理解上的錯誤,歡迎指出,並期待你與我交流,聯系方式:dianyunpcl@163.com)
REFERENCES
[1] S. Thrun et al., “Robotic mapping: A survey,” Exploring artificial intelligence in the new millennium, vol. 1, pp. 1–35, 2002.
[2] S. Lowry, N. Sunderhauf, P. Newman, J. J. Leonard, D. Cox,P. Corke, and M. J. Milford, “Visual place recognition: A survey,” IEEE Trans. on Robotics, 2016.
[3] M. Bosse and R. Zlot, “Place recognition using keypoint voting in large 3D lidar datasets,” in IEEE Int. Conf. on Robotics and Automation, 2013.
[4] B. Alexe, T. Deselaers, and V. Ferrari, “What is an object?” in IEEE Conf. on Computer Vision and Pattern Recognition, 2010.
[5] P. Scovanner, S. Ali, and M. Shah, “A 3-dimensional sift descriptor and its application to action recognition,” in ACM Int. Conf. on Multimedia, 2007.
[6] W. Wohlkinger and M. Vincze, “Ensemble of shape functions for 3d object classification,” in IEEE Int. Conf. on Robotics and Biomimetics, 2011.
[7] R. B. Rusu, N. Blodow, and M. Beetz, “Fast point feature histograms (fpfh) for 3d registration,” in IEEE Int. Conf. on Robotics and Automation, 2009, pp. 3212–3217.
[8] Y. Zhuang, N. Jiang, H. Hu, and F. Yan, “3-d-laser-based scene measurement and place recognition for mobile robots in dynamic indoor environments,” IEEE Transactions on Instrumentation and Measurement, vol. 62, no. 2, pp. 438–450, 2013.
[9] B. Steder, G. Grisetti, and W. Burgard, “Robust place recognition for 3D range data based on point features,” in IEEE Int. Conf. on Robotics and Automation, 2010.
[10] B. Steder, M. Ruhnke, S. Grzonka, and W. Burgard, “Place recognition in 3d scans using a combination of bag of words and point feature based relative pose estimation,” in IEEE/RSJ
Int. Conf. on Intelligent Robots and Systems, 2011.
[11] A. Gawel, T. Cieslewski, R. Dubé, M. Bosse, R. Siegwart, and J. Nieto, “Structure-based Vision-Laser Matching,” in IEEE/RSJ Int. Conf. on Intelligent Robots and Systems, Daejeon, 2016.
[12] J. Zhang and S. Singh, “Loam: Lidar odometry and mapping in real-time,” in Robotics: Science and Systems, 2014.
[13] T. Rohling, J. Mack, and D. Schulz, “A fast histogrambased similarity measure for detecting loop closures in 3-d lidar data,” in IEEE/RSJ Int. Conf. on Intelligent Robots and Systems, 2015.
[14] K. Granström, T. B. Schön, J. I. Nieto, and F. T. Ramos, “Learning to close loops from range data,” The Int. Journal of Robotics Research, vol. 30, no. 14, pp. 1728–1754, 2011.
[15] M. Magnusson, H. Andreasson, A. Nüchter, and A. J. Lilienthal, “Automatic appearance-based loop detection from threedimensional laser data using the normal distributions transform,” Journal of Field Robotics, vol. 26, no. 11-12, pp. 892–914, 2009.
[16] E. Fernandez-Moral, W. Mayol-Cuevas, V. Arevalo, and J. Gonzalez-Jimenez, “Fast place recognition with plane-based maps,” in IEEE Int. Conf. on Robotics and Automation, 2013.
[17] E. Fernández-Moral, P. Rives, V. Arévalo, and J. GonzálezJiménez, “Scene structure registration for localization and mapping,” Robotics and Autonomous Systems, vol. 75, pp.
649–660, 2016.
[18] R. Finman, L. Paull, and J. J. Leonard, “Toward object-based place recognition in dense rgb-d maps,” in ICRA workshop on visual place recognition in changing environments, 2015.
[19] B. Douillard, A. Quadros, P. Morton, J. P. Underwood, M. De Deuge, S. Hugosson, M. Hallström, and T. Bailey, “Scan segments matching for pairwise 3d alignment,” in IEEE
Int. Conf. on Robotics and Automation, 2012.
[20] J. Nieto, T. Bailey, and E. Nebot, “Scan-slam: Combining ekfslam and scan correlation.” Springer, 2006, pp. 167–178.
[21] B. Douillard, J. Underwood, V. Vlaskine, A. Quadros, and S. Singh, “A pipeline for the segmentation and classification of 3d point clouds,” in Experimental Robotics. Springer, 2014, pp. 585–600
[22] B. Douillard, J. Underwood, N. Kuntz, V. Vlaskine, A. Quadros, P. Morton, and A. Frenkel, “On the segmentation of 3d lidar point clouds,” in IEEE Int. Conf. on Robotics and Automation, 2011.
[23] M. Weinmann, B. Jutzi, and C. Mallet, “Semantic 3d scene interpretation: a framework combining optimal neighborhood size selection with relevant features,” ISPRS Annals of the
Photogrammetry, Remote Sensing and Spatial Information Sciences, vol. 2, no. 3, p. 181, 2014.
[24] L. Breiman, “Random forests,” Machine Learning, vol. 45, no. 1, pp. 5–32, 2001. [25] M. A. Fischler and R. C. Bolles, “Random sample consensus: a paradigm for model fitting with applications to image
analysis and automated cartography,” Communications of the ACM, vol. 24, no. 6, pp. 381–395, 1981.
[26] A. Geiger, P. Lenz, and R. Urtasun, “Are we ready for autonomous driving? the kitti vision benchmark suite,” in IEEE Conf. on Computer Vision and Pattern Recognition, 2012.
[27] R. B. Rusu and S. Cousins, “3D is here: Point Cloud Library (PCL),” in IEEE Int. Conf. on Robotics and Automation, 2011.
[28] C. Linegar, W. Churchill, and P. Newman, “Work smart, not hard: Recalling relevant experiences for vast-scale but timeconstrained localisation,” in IEEE Int. Conf. on Robotics and
Automation, 2015.
[29] R. Dubé, H. Sommer, A. Gawel, M. Bosse, and R. Siegwart, “Non-uniform sampling strategies for continuous correction based trajectory estimation,” in IEEE Int. Conf. on Roboticsand Automation, 2016.
[30] T. Rabbani, F. Van Den Heuvel, and G. Vosselmann, “Segmentation of point clouds using smoothness constraint,” International Archives of Photogrammetry, Remote Sensing andSpatial Information Sciences, vol. 36, no. 5, pp. 248–253,
2006.
有問題請指出,同時歡迎大家關注微信公眾號
或者加入3D視覺微信群一起交流分享

