點雲NDT配准方法介紹



三維配准中經常被提及的配准算法是ICP迭代的方法,這種方法一般般需要提供一個較好的初值,也就是需要粗配准,同時由於算法本身缺陷,最終迭代結果可能會陷入局部最優,導致配准失敗,往往達不到我們想要的效果。本文介紹的是另一種比較好的配准算法,NDT配准。所謂NDT就是正態分布變換,作用與ICP一樣用來估計兩個點雲之間的剛體變換。用標准最優化技術來確定兩個點雲間的最優的匹配,因為其在配准過程中不利用對應點的特征計算和匹配,所以時間比其他方法快。這個配准算法耗時穩定,跟初值相關不大,初值誤差大時,也能很好的糾正過來。

對比ICP配准方法需要提出不合適的點對,比如點對之間距離過大,包含了邊界點對,每次迭代都要搜索最近點,計算代價較大。正態分布變換(NDT)算法是一種很有用途的點雲配准方法,是一個一次性初始化工作,不需要消耗大量的代價計算最近鄰搜索匹配點,並且概率密度函數在兩幅圖像采集之間的額時間可以離線計算出來,但仍在存在的問題很多,包括收斂域差、NDT代價函數的不連續性以及稀疏室外環境下不可靠的姿態估計等。

具體關於兩種方法的對比可查看文獻:http://www.diva-portal.org/smash/get/diva2:276162/FULLTEXT02.pdf

那么針對無損檢測算法在二維和三維場景下的不足,也會有研究者們提出了相應的解決方法。為了改進二維掃描配准的無損檢測收斂域,提出了一種多尺度K均值無損檢測(MSKM-NDT)算法,利用K均值聚類對二維點雲進行分割,並對多尺度聚類進行掃描配准優化。與標准無損檢測算法相比,k-均值聚類方法生成的高斯分布更少,從而可以評估所有高斯聚類的成本函數,從而保證算法的收斂性。由於K均值聚類不能很好地擴展到三維,提出了分段貪婪聚類無損檢測(SGC-NDT)方法,作為一種改進和保證三維點雲收斂的替代方法,該點雲包含與環境地面相對應的點。SGC-NDT算法使用高斯過程回歸模型分割接地點,並使用貪婪方法對非接地點進行聚類。區域增長聚類算法提取環境中的自然特征,生成高斯聚類,在無損檢測框架內用於掃描配准。涉及到的相關文獻如下:

Das A, Waslander SL. Scan Registration using Segmented Region Growing NDT. International Journal of Robotics Research. 2014.

Das A, Servos J, Waslander SL. 3D Scan Registration Using the Normal Distributions Transform with Ground Segmentation and Point Cloud Clustering. In 2013 IEEE International Conference on Robotics and Automation. Karlsruhe, Germany; 2013.

Das A, Waslander SL. Scan Registration with Multi-Scale K-Means Normal Distributions Transform. In Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems. Villamoura, Portugal; 2012.

 

 那么接下里就具體介紹一下NDT算法的步驟

(1)該算法的第一步是將掃描占用的空間細分為單元格網格(2D圖像中的正方形或3D中的立方體),基於單元內的點分布計算每個單元的PDF。 每個單元格中的PDF可以解釋為單元格內表面點x^的生成過程。將點雲投票到各個格子中,計算每個格子的PDF,PDF可以當做表面的近似表達,協方差矩陣的特征向量和特征值可以表達表面信息(朝向、平整度) 格子內少於3個點,經常會協方差矩陣不存在逆矩陣,所以只計算點數大於5的cell,涉及到下采樣方法。

正態分布給出了點雲的分段平滑表示,具有連續導數。 每個PDF都可以看作是局部表面的近似值,描述了表面的位置以及它的方向和平滑度。 2D激光掃描及其相應的正態分布如圖6.1所示。 圖6.2顯示了礦井隧道掃描的3D正態分布。

 

 

 由於目前的工作主要集中在正態分布上,讓我們更仔細地研究單變量和多變量正態分布的特征。 在一維情況下,正態分布的隨機變量x具有一定的期望值μ,並且關於該值的不確定性用方差σ表示。

 

在多維的情況下,平均值和方差由平均向量 μ和協方差來描述矩陣Σ。 協方差矩陣的對角元素表示方差每個變量,非對角線元素表示的是協方差變量。 圖6.3說明了一維,二維和三維的正態分布

(2)將第二幅掃描點雲的每個點按轉移矩陣T的變換。

(3)第二幅掃描點落於參考幀點雲的哪個 格子,計算響應的概率分布函數

(4)當使用NDT進行掃描點配准時,目標是找到當前掃描點的位姿,以最大化當前掃描的點位於參考掃描表面上的可能性,該位姿是要優化的參數; 也就是說,當前掃描的點雲估計的旋轉和平移向量。求所有點的最優值,目標函數為

 

2D-NDT

對於2D配准,有三個要優化的轉換參數。 讓p = [tx,ty,φ]T,其中 tx 和 ty 是平移參數,φ是旋轉角度。 使用逆時針旋轉,2D變換功能是

3D-NDT

 NDT的2D和3D配准的主要區別在於空間變換函數T( p, x)及其偏導數。3D NDT使用歐拉角,有六個轉換要優化的參數:三個用於平移,三個用於旋轉。

可以使用六維參數矢量對姿勢進行編碼 p6 = [tx,ty,tz,φx,φy,φz]T

使用歐拉序列z-y-x,3D變換函數是

 

更具體的解釋可查看文獻

 在PCL中給出的NDT例子如下

http://pointclouds.org/documentation/tutorials/normal_distributions_transform.php#normal-distributions-transform


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM