天天看點

點雲配準論文閱讀筆記--3d-dnt博士論文點雲配準系列本文内容摘要chapter1 introductionchapter2 常用概念chapter5 掃描配準領域的相關工作chapter6 The normal-distributions transform參考完

目錄

  • 點雲配準系列
  • 本文内容
  • 摘要
  • chapter1 introduction
    • 1.1 Contributions
    • 1.2 outline
  • chapter2 常用概念
    • 2.1 點、位姿
    • 2.2 旋轉
    • 2.3 配準
    • 2.4 采樣
  • chapter5 掃描配準領域的相關工作
    • 5.1 icp
    • 5.5 ndt算法
  • chapter6 The normal-distributions transform
    • 6.1 用ndt表示曲面
    • 6.2 NDT scan registration
  • 參考

點雲配準系列

點雲配準1:配準基礎及icp算法

點雲配準2:icp算法在PCL1.10.0上的實作+源碼解析

點雲配準3:3d-ndt算法在pcl上的實作以及參數設定

點雲配準4:cloudcompare的使用以及點雲配準功能

點雲配準5:4pcs算法在pcl上的實作

點雲配準6:tricp算法在pcl上的實作

點雲配準論文閱讀筆記–Efficient Variants of the ICP Algorithm

點雲配準論文閱讀筆記–Comparing ICP variants on real-world data sets

點雲配準論文閱讀筆記–(4PCS)4-Points Congruent Sets for Robust Pairwise Surface Registration

點雲配準論文閱讀筆記–3d-dnt博士論文

本文内容

3d-ndt的博士論文:

The Three-Dimensional Normal-Distributions Transform - an Efficient Representation for Registration,Surface Analysis, and Loop Detection

下載下傳位址:share_noel/papers/The Three-Dimensional Normal-Distributions Transform — an Efficient Representation for Registration, Surface Analysis, and Loop Detection.pdf

https://pan.baidu.com/s/1IsN2Ze2FNts-3v4ZH1m-9A 提取碼: mack

建議讀一遍原文,沒懂的地方再結合着網絡上的部落格來看。

本篇部落格關注點是博士論文裡面的用3d-ndt進行點雲配準的部分,且包含由個人了解,如有錯漏敬請指正。

pcl中使用3d-ndt實作點雲配準見:點雲配準三:3d-ndt算法在pcl上的實作以及參數設定

摘要

本文将normal-distributions transform(NDT)因應用于掃描配準,定位,回環檢測以及表面結構分析。對原始資料使用ndt後,掃描表面由具有一階和二階導數的分段光滑函數表示,這種表示具有很多特性。

使用光滑函數來表示 讓一些例如牛頓法的标準數值優化方法 來進行配準成為可能。本論文将Biber的2d-ndt擴充至3維,并介紹了一些改進。通過使用多分辨率離散技術和三線性插值,可以克服基本配準算法中存在的離散化問題。将3d-ndt與icp配準進行了比較。實驗資料包含真實資料和仿真資料。相對于icp,本文擴充的3d-ndt算法在大部分情況下,對于初始位姿較差的配準表現更快,更準确更魯棒。

本文還提出顔色資訊點雲的3d-ndt配準,基于表面的回環檢測。

chapter1 introduction

在很多情況下,因為遮擋、太大、或目标本身是碎片,單個掃描不能擷取整個區域。是以需要将多個部配置設定準在一起構成完整的模型。為了配準兩個掃描點雲,必須找到每個點雲正确的位置和方向,即位姿。配準的任務就是尋找最佳的位姿。成對配準是指在兩次掃描的表面之間有一些重疊的情況下,找到使一次掃描與另一次掃描最佳對齊的姿勢的過程。給出兩次掃描之間相對姿态差的初始估計值,局部配準算法試圖改進該估計值。一個好的掃描配準算法應該對初始位姿誤差較大是魯棒的,并能快速産生精确的姿态。掃描配準可進一步用于機器人領域的位姿跟蹤。利用掃描資料的NDT表示,可以使用數值優化文獻中的标準方法(如牛頓法)來執行掃描配準。

1.1 Contributions

3D-NDT surface representation:

應用3d-ndt于配準,回環檢測,表面形狀分析。

3D-NDT registration with extensions:

利用掃描資料的NDT表示,可以使用數值優化文獻中的标準方法(如牛頓法)來執行掃描配準。通過使用多分辨率離散技術和三線性插值,可以克服基本配準算法中存在的離散化問題。

1.2 outline

chapter2介紹一些重要的概念,包括配準問題,旋轉表示,降采樣政策。

chapter3介紹硬體裝置

chapter4介紹用于實驗的資料采集平台

Part II是關于配準問題。相關工作在chapter5讨論,chapter6、7是3d-ndt及其變體算法。

Part III是3d-ndt的進一步應用。…

chapter10是本論文的總結,包含現有的一些公開問題和未來的研究方向。

最後是附錄。附錄A是本文用到的概念。B是3d-ndt使用的3d轉換函數。C給出了更完整的實驗結果圖檔。

chapter2 常用概念

2.1 點、位姿

點:用向量 x ⃗ \vec{x} x

表示其在空間中的位置

位姿(pose):位姿是配準和定位的核心。本文中的pose是位置和方向的結合。更具體說,位姿是表示為三維坐标中的旋轉和平移。

2.2 旋轉

歐拉角(Euler angles):歐拉角是三維旋轉中常用的表示,表示繞着三個主軸x,y,x的連續旋轉。比如:

[ ϕ x , ϕ x , ϕ x ] (2.1) [\phi_x, \phi_x, \phi_x]\tag{2.1} [ϕx​,ϕx​,ϕx​](2.1)

表示一個旋轉變換的組合。首先繞着z軸旋轉 ϕ z \phi_z ϕz​,再繞着y軸旋轉 ϕ y \phi_y ϕy​,最後繞着x軸旋轉 ϕ x \phi_x ϕx​。旋轉順序不一定非得z-y-x,也可以是x-y-z等。

歐拉角非常容易了解和實作,但是也有缺點:主要是歐拉角并不總是唯一的,有的情況下,可能會發生萬向節鎖,其中某個自由度會丢失。萬向節鎖可以這麼了解:當第二個角處于某個臨界值時,第一和第三個角度的變化是不可區分的。比如按x-y-z旋轉,先繞x軸旋轉 ϕ x \phi_x ϕx​,當第二個角為 ϕ y \phi_y ϕy​等于90°時,此時z軸已經和x軸重疊,萬向節鎖就發生了。關于萬向節鎖的了解可以參考下面的博文:

關于萬向節死鎖(Gimbal Lock)

【Unity程式設計】歐拉角與萬向節死鎖(圖文版)

一個政策是,使用歐拉角時,以最大的旋轉角開始。

旋轉矩陣:

R x R y R z = [ c y c z c y s z − s y s x s y c z − c x s z s x s y s z + c x c z s x c y c x s y c z c x s y s z − s x c z c x c y ] (2.2) R_xR_yR_z= \begin{bmatrix} c_yc_z &c_ys_z & -s_y \\ s_xs_yc_z- c_xs_z & s_xs_ys_z+c_xc_z & s_xc_y \\ c_xs_yc_z & c_xs_ys_z-s_xc_z & c_xc_y \end{bmatrix}\tag{2.2} Rx​Ry​Rz​=⎣⎡​cy​cz​sx​sy​cz​−cx​sz​cx​sy​cz​​cy​sz​sx​sy​sz​+cx​cz​cx​sy​sz​−sx​cz​​−sy​sx​cy​cx​cy​​⎦⎤​(2.2)

其中, c i = c o s ϕ i c_i=cos \phi_i ci​=cosϕi​, s i = s i n ϕ i s_i=sin \phi_i si​=sinϕi​。

另外還有四元數表示法(Quaternions),和用一個标量角與機關長度的三維向量描述: ( r ⃗ , ϕ ) (\vec{r},\phi) (r

,ϕ)

在chapter6的配準工作中,将會使用歐拉角z-y-x,因為在配準的過程中角度相對較小,基本不會遇到萬向節鎖。

2.3 配準

成對配準是在兩個掃描之間的相對姿态差未知的情況下比對兩個掃描的問題。給定兩次具有一定重疊度的掃描,配準算法的輸出是對變換的估計,當兩次掃描正确比對時,将使一次掃描(稱為目前掃描)進入另一次掃描(參考掃描)坐标系中的正确姿勢。

對比與全局曲面比對算法,局部配準以給定的初始位姿開始在姿态空間進行局部搜尋。如果初始位姿與與最優位姿差距太大的話,可能會陷入局部最優而找到錯誤的空間變換。

2.4 采樣

為提升速度,實際上通常對資料進行降采樣。

降采樣的方法有很多,最簡單的是均勻降采樣,即從掃描資料中抽取n個點,或均勻随機地選點。在這種情況下,“一緻”并不對應于點的均勻分布,而是對應于選擇某個點的機率。

在許多情況下,尤其是在走廊和隧道中進行掃描時,在掃描器位置附近的點分布比在更遠的地方要密集得多。如果以均勻随機的方式對點進行采樣,則采樣的子集将具有類似的不均勻分布。在掃描遠端的重要幾何結構中,很少或根本沒有采樣點,導緻配準不良。為了克服這個問題,通常使用某種形式的空間分布采樣,以確定整個掃描體積的采樣密度均勻。在目前的工作中,這樣做的方式是建立一個網格結構的細胞大小相等,并把掃描點在相應的細胞。此采樣網格的單元大小通常在0.1到0.2 m之間。從随機單元中提取一個随機點,直到達到所需的點數。如果單元的分布足夠,此政策将使點分布均勻。

chapter5 掃描配準領域的相關工作

5.1 icp

對兩重疊的點雲,icp疊代地最小化它們之間各點的距離平方和來得到精确的位姿。

對于icp算法可參考之前的博文:

點雲配準一:配準基礎及icp算法

icp的一個局限性是,最近鄰點通常不對應于掃描表面上的同一點,尤其是當兩次掃描相距很遠時。在ICP的成功應用中,由于其疊代性質,它仍然收斂到一個有用的解。搜尋最近點是算法執行時耗時最多的地方。圖5.1顯示了一次ICP疊代中最近點的配對。

點雲配準論文閱讀筆記--3d-dnt博士論文點雲配準系列本文内容摘要chapter1 introductionchapter2 常用概念chapter5 掃描配準領域的相關工作chapter6 The normal-distributions transform參考完

對點對進行權重是有益的,為更可能對應于相同曲面點的點對賦予更多權重。一個合理的權重标準是将權重設定為與點到點距離成反比,這樣距離較遠的點的權重比近鄰點低。但是,對于隧道或道路資料,這種線性權重會降低性能。因為沿牆和天花闆的大多數點通常都會很好地對齊,它們的影響将大于距離較大的點對,而這些距離較大的點對與 角點 和 其他對于獲得良好比對很重要的特征 相對應。

除了執行任何權重外,還應完全拒絕某些異常值對。點對抑制可以看作是點對權重的一種特殊情況。一個常見的标準是拒絕距離超過某個門檻值的所有點對。此外,應始終拒絕包含參考掃描邊界點的點對。否則,來自資料非重疊部分的點可能導緻系統的“阻力”偏差-見圖5.2。然而,點雲資料的邊界點難以确定。在先前發表的工作中[66],我們使用了一個減少的距離門檻值來拒絕離群值:從一個大的距離門檻值開始,并在每次疊代中将其減小到零。使用這種方法的基本原理是,在早期疊代中,用較大距離隔開的點對可以使掃描更近。在以後的疊代中,點彼此相距很遠的對很可能是不正确的對應關系,而不僅僅是初始姿态估計中的大誤差造成的結果,是以應該予以拒絕。然而,權重和拒絕政策的最佳選擇取決于資料的特性。在這項工作中進行的實驗(如附錄C所示)表明,這種距離門檻值的減小實際上使 ICP在許多情況下對較大的初始姿态誤差的 魯棒性 降低。

點雲配準論文閱讀筆記--3d-dnt博士論文點雲配準系列本文内容摘要chapter1 introductionchapter2 常用概念chapter5 掃描配準領域的相關工作chapter6 The normal-distributions transform參考完

icp的速度瓶頸是最近鄰搜尋。icp的算法複雜度為O(nm),其中m是參考點雲的點數,n是目前點雲的點數。使用kd樹進行最近鄰搜尋可将算法複雜度降至O(nlogm)。

5.5 ndt算法

Biber和Straßer[7]介紹了二維資料配準的正态分布變換(NDT)方法。該算法的關鍵是參考掃描的表示。不是直接将目前掃描與參考掃描點比對,而是通過正态分布的線性組合來模拟在特定位置找到曲面點的可能性。

正态分布給出了參考掃描的分段光滑表示,具有連續的一階和二階導數。使用這種表示法,可以應用标準的數值優化方法進行配準,例如牛頓法。

由于參考掃描中的點不直接用于比對,是以不需要計算代價昂貴的ICP最近鄰搜尋。計算正态分布是一個一次性的任務,在一次通過參考掃描點的過程中完成。

chapter6 The normal-distributions transform

6.1 用ndt表示曲面

正态分布變換可以描述為一種緊表示曲面的方法。它首先由Biber和Straßer于2003年提出[7],作為二維掃描配準的一種方法。該變換将一個點雲映射到一個光滑的曲面表示,該曲面表示為一組局部機率密度函數(PDF),每個局部機率密度函數描述曲面的一部分形狀。

該算法的第一步是将掃描占用的空間細分為一個網格單元(二維為正方形,三維為立方體)。根據單元内的點分布,為每個單元計算PDF。每個單元中的PDF可以解釋為單元内表面點 x ⃗ \vec{x} x

的生成過程。換言之,假設 x ⃗ \vec{x} x

的位置是從這個分布中提取的。假設參考掃描表面點的位置是由D維正态随機過程生成的,則測量 x ⃗ \vec{x} x

的可能性為

p ( x ⃗ ) = 1 ( 2 π ) D / 2 ∣ Σ ∣ e x p ( − ( x ⃗ − μ ⃗ ) T Σ − 1 ( x ⃗ − μ ⃗ ) 2 ) (6.1) p(\vec{x})= \frac{1} {(2\pi)^{D/2}\sqrt{\left|\Sigma \right|}} exp\left( -\frac{(\vec{x}-\vec{\mu})^T\Sigma^{-1}(\vec{x}-\vec{\mu})} {2} \right)\tag{6.1} p(x

)=(2π)D/2∣Σ∣

​1​exp(−2(x

−μ

​)TΣ−1(x

−μ

​)​)(6.1)

式中, μ ⃗ \vec{\mu} μ

​ 和 Σ \Sigma Σ 表示 目前掃描點雲的某一點 x ⃗ \vec{x} x

所在的參考點雲單元的 平均向量 和 協方差矩陣。 ( 2 π ) D / 2 ∣ Σ ∣ − 1 (2\pi)^{D/2}\sqrt{\left|\Sigma \right|}^{-1} (2π)D/2∣Σ∣

​−1是縮放因子,使函數積分為1,在實際應用中,可以用常數c0代替。平均值和協方差計算如下:

μ ⃗ = 1 m ∑ k = 1 m y k ⃗ , (6.2) \vec{\mu}=\frac{1}{m}\sum_{k=1}^m \vec{y_k},\tag{6.2} μ

​=m1​k=1∑m​yk​

​,(6.2) Σ = 1 m − 1 ∑ k = 1 m ( y k ⃗ − μ ⃗ ) − ( y k ⃗ − μ ⃗ ) T , (6.3) \Sigma=\frac{1}{m-1}\sum_{k=1}^m(\vec{y_k}-\vec{\mu})-(\vec{y_k}-\vec{\mu})^T, \tag{6.3} Σ=m−11​k=1∑m​(yk​

​−μ

​)−(yk​

​−μ

​)T,(6.3)

其中 y ⃗ k = 1 , . . . , m \vec{y}_{k=1,...,m} y

​k=1,...,m​是單元中包含的參考掃描點的位置。

正态分布給出了點雲的分段光滑表示,具有連續導數。每個PDF都可以看作是局部曲面的近似圖像,描述了曲面的位置、方向和平滑度。二維雷射掃描及其相應的正态分布如圖6.1所示。圖6.2顯示了礦井隧道掃描的三維正态分布。

點雲配準論文閱讀筆記--3d-dnt博士論文點雲配準系列本文内容摘要chapter1 introductionchapter2 常用概念chapter5 掃描配準領域的相關工作chapter6 The normal-distributions transform參考完
點雲配準論文閱讀筆記--3d-dnt博士論文點雲配準系列本文内容摘要chapter1 introductionchapter2 常用概念chapter5 掃描配準領域的相關工作chapter6 The normal-distributions transform參考完

本文的工作聚焦于正态分布,是以讓我們看看單變量和多邊正态分布的特性。

一維的情況下,正态分布随機變量 x x x有一個确定的期望值 μ \mu μ,關于該值的不确定性用方差 σ \sigma σ表示。

p ( x ) = 1 σ 2 π e x p ( − ( x − μ ) 2 2 σ 2 ) (6.4) p(x)=\frac{1}{\sigma\sqrt{2\pi}}exp\left(-\frac{(x-\mu)^2}{2{\sigma}^2}\right) \tag{6.4} p(x)=σ2π

​1​exp(−2σ2(x−μ)2​)(6.4)

在多元情況下,均值和方差用均值向量 μ ⃗ \vec{\mu} μ

​和協方差矩陣 Σ \Sigma Σ來描述。對角元素的協方差表示各對角變量的協方差。圖6.3顯示了一維、二維和三維正态分布。

在二維和三維情況下,可以通過協方差矩陣的特征向量和特征值來評估曲面的方向和平滑度。特征向量描述了分布的主要成分;也就是說,一組與變量協方差的主方向相對應的正交向量。根據方差的比例,二維正态分布可以是點形(如果方差相似)或線型(如果其中一個比另一個大得多),或介于兩者之間的任何形式。在3D情況下,如圖6.4所示,正态分布可以描述一個點或一個球體(如果所有方向上的方差大小相似)、一條直線(如果一個方向的方差遠大于另兩個方向的方差)或平面(如果一個方向的方差遠小于另兩個方向的方差)。

點雲配準論文閱讀筆記--3d-dnt博士論文點雲配準系列本文内容摘要chapter1 introductionchapter2 常用概念chapter5 掃描配準領域的相關工作chapter6 The normal-distributions transform參考完

6.2 NDT scan registration

使用NDT進行配準的目标是尋找目前點雲最優的位姿,來使目前掃描點位于參考掃描表面的可能性最大化。待優化的參數,即目前掃描的位姿估計的旋轉和平移;可以編碼到向量 p ⃗ \vec{p} p

​中。目前掃描表示為點雲 χ = { x ⃗ 1 , . . . , x ⃗ n } \chi=\{{\vec{x}_1},...,{\vec{x}_n}\} χ={x

1​,...,x

n​}。假設有一個空間變換函數 T ( p ⃗ , x ⃗ ) T(\vec{p},\vec{x}) T(p

​,x

),它通過位姿 p ⃗ \vec{p} p

​在空間中移動一個點 x ⃗ \vec{x} x

。給定掃描點的PDF(例如,方程式6.1),最佳姿勢 p ⃗ \vec{p} p

​應為使似然函數最大化.

Ψ = ∏ k = 1 n p ( T ( p ⃗ , x ⃗ k ) ) (6.5) \Psi =\prod_{k=1}^n p(T(\vec{p},{\vec{x}_k})) \tag{6.5} Ψ=k=1∏n​p(T(p

​,x

k​))(6.5)

目前參數向量的NDT得分函數 s ( p ⃗ ) s(\vec{p}) s(p

​)為

s ( p ⃗ ) = − ∑ k = 1 n p ~ ( T ( p ⃗ , x ⃗ k ) ) (6.5) s(\vec{p}) =-\sum_{k=1}^n \tilde{p}(T(\vec{p},{\vec{x}_k})) \tag{6.5} s(p

​)=−k=1∑n​p~​(T(p

​,x

k​))(6.5)

似然函數要求協方差矩陣的逆, Σ − 1 {\Sigma}^{-1} Σ−1。當一個單元中的點完全共面或共線時,協方差矩陣是奇異的,不能求逆。在三維情況下,由三個或更少的點計算的協方差矩陣總是奇異的。是以,僅為包含5個以上點的單元計算PDF。

牛頓算法可以用來尋找使 s ( p ⃗ ) s(\vec{p}) s(p

​)最優化的參數 p ⃗ \vec{p} p

​。牛頓法疊代地求解方程 H Δ p ⃗ = − g ⃗ H\Delta\vec{p}=-\vec{g} HΔp

​=−g

​,其中 H H H和 g ⃗ \vec{g} g

​是 s ( p ⃗ ) s(\vec{p}) s(p

​)的Hessian矩陣和梯度向量。在每次疊代中,将增量 Δ p ⃗ \Delta\vec{p} Δp

​加到目前姿态估計中,使 p ⃗ ← p ⃗ + Δ p ⃗ \vec{p}←\vec{p}+\Delta\vec{p} p

​←p

​+Δp

​.

算法2描述了怎樣用NDT來配準兩個點雲 χ \chi χ和 γ \gamma γ。

點雲配準論文閱讀筆記--3d-dnt博士論文點雲配準系列本文内容摘要chapter1 introductionchapter2 常用概念chapter5 掃描配準領域的相關工作chapter6 The normal-distributions transform參考完

對于NDT配準,我自己的了解是:

NDT是将點雲用一個光滑的曲面表示,該曲面表示為一組局部機率密度函數(PDF),每個局部機率密度函數描述曲面的一部分形狀。也就是每個局部就是一個單元網格,每個網格有一個PDF。

将參考點雲使用空間單元劃分,若單元裡的點數超過5個(原因上面已講),則用NDT表示該單元。求取每個單元的均值向量 μ ⃗ \vec{\mu} μ

​:

μ ⃗ = 1 m ∑ k = 1 m y k ⃗ , (6.2) \vec{\mu}=\frac{1}{m}\sum_{k=1}^m \vec{y_k},\tag{6.2} μ

​=m1​k=1∑m​yk​

​,(6.2)

以及協方差矩陣 Σ \Sigma Σ:

Σ = 1 m − 1 ∑ k = 1 m ( y k ⃗ − μ ⃗ ) − ( y k ⃗ − μ ⃗ ) T , (6.3) \Sigma=\frac{1}{m-1}\sum_{k=1}^m(\vec{y_k}-\vec{\mu})-(\vec{y_k}-\vec{\mu})^T, \tag{6.3} Σ=m−11​k=1∑m​(yk​

​−μ

​)−(yk​

​−μ

​)T,(6.3)

然後将該單元的PDF表示出來:

p ( x ⃗ ) = 1 ( 2 π ) D / 2 ∣ Σ ∣ e x p ( − ( x ⃗ − μ ⃗ ) T Σ − 1 ( x ⃗ − μ ⃗ ) 2 ) (6.1) p(\vec{x})= \frac{1} {(2\pi)^{D/2}\sqrt{\left|\Sigma \right|}} exp\left( -\frac{(\vec{x}-\vec{\mu})^T\Sigma^{-1}(\vec{x}-\vec{\mu})} {2} \right)\tag{6.1} p(x

)=(2π)D/2∣Σ∣

​1​exp(−2(x

−μ

​)TΣ−1(x

−μ

​)​)(6.1)

這裡的 x ⃗ \vec{x} x

是目前掃描中的某一個點。

舉個例子,我們都知道一維正态分布的函數形式:

p ( x ) = 1 σ 2 π e x p ( − ( x − μ ) 2 2 σ 2 ) (6.4) p(x)=\frac{1}{\sigma\sqrt{2\pi}}exp\left(-\frac{(x-\mu)^2}{2{\sigma}^2}\right) \tag{6.4} p(x)=σ2π

​1​exp(−2σ2(x−μ)2​)(6.4)

如果我們知道了資料的期望 μ \mu μ和方差 σ \sigma σ,那麼上式就是确定的函數了,我們再帶入一個資料x,就可以知道它的機率密度了。

同理,我們知道了多元正态分布的形式:

f ( x ⃗ ) = 1 ( 2 π ) D / 2 ∣ Σ ∣ e x p ( − ( x ⃗ − μ ⃗ ) T Σ − 1 ( x ⃗ − μ ⃗ ) 2 ) f(\vec{x})= \frac{1} {(2\pi)^{D/2}\sqrt{\left|\Sigma \right|}} exp\left( -\frac{(\vec{x}-\vec{\mu})^T\Sigma^{-1}(\vec{x}-\vec{\mu})} {2} \right) f(x

)=(2π)D/2∣Σ∣

​1​exp(−2(x

−μ

​)TΣ−1(x

−μ

​)​)

其中D是次元。

在知道了期望值和方差之後,那麼上式也是确定的。對一個單元來說,這就相當于把它裡面離散的點的期望和方差求出來,然後帶入連續的多元正态分布函數 f ( x ) f(x) f(x),這就有了上面說的将離散的點雲映射到一個光滑的曲面表示。現在已知一個資料點 x ⃗ \vec{x} x

,将其帶入上述已知的分布函數,就能求出該點的機率密度 p ( x ⃗ ) p(\vec{x}) p(x

)了。現在是有來自目前掃描點雲的資料點 x ⃗ \vec{x} x

,找到其在參考點雲中所處哪個cell,然後将該點帶入該cell已知的分布函數,然後使用牛頓法優化使得所有經過空間變換後的點 T ( p ⃗ , x ⃗ k ) T(\vec{p},{\vec{x}_k}) T(p

​,x

k​)的 p ( T ( p ⃗ , x ⃗ k ) ) p(T(\vec{p},{\vec{x}_k})) p(T(p

​,x

k​))之和最大,也就是最大化 s ( p ⃗ ) s(\vec{p}) s(p

​):

s ( p ⃗ ) = − ∑ k = 1 n p ~ ( T ( p ⃗ , x ⃗ k ) ) (6.5) s(\vec{p}) =-\sum_{k=1}^n \tilde{p}(T(\vec{p},{\vec{x}_k})) \tag{6.5} s(p

​)=−k=1∑n​p~​(T(p

​,x

k​))(6.5)

所得的結果就是空間旋轉變換。

關于牛頓法優化的過程,以及涉及到的一階二階導數也就是雅各比矩陣和海森矩陣,這幾篇博文講得比較清楚。

NDT(Normal Distributions Transform)算法原理與公式推導:

這篇部落格很值得一看,下圖紅框中的式子就是 H Δ p ⃗ = − g ⃗ H\Delta\vec{p}=-\vec{g} HΔp

​=−g

​的由來

點雲配準論文閱讀筆記--3d-dnt博士論文點雲配準系列本文内容摘要chapter1 introductionchapter2 常用概念chapter5 掃描配準領域的相關工作chapter6 The normal-distributions transform參考完

雷射SLAM——第四節(雷射SLAM的前端配準方法):

二維NDT中Jacobian矩陣的由來

點雲配準論文閱讀筆記--3d-dnt博士論文點雲配準系列本文内容摘要chapter1 introductionchapter2 常用概念chapter5 掃描配準領域的相關工作chapter6 The normal-distributions transform參考完

還有這些也是幫助了解的部落格:

對向量求導

二次型求導的推導

海森矩陣

Jacobian矩陣的了解

多元高斯分布是如何由一維發展而來的?

參考

Magnusson, Martin. (2009). The Three-Dimensional Normal-Distributions Transform — an Efficient Representation for Registration, Surface Analysis, and Loop Detection.

Magnusson M,Lilienthal A,Duckett T.Scan registration for autonomous mining vehicles using 3D-NDT:Research articles[M].[S.l.]:John Wiley and Sons Ltd,2007:803-827.

Peter Biber and Wolfgang Straßer. The normal distributions transform: A new approach to laser scan matching. In Proceedings of the IEEE International Conference on Intelligent Robots and Systems (IROS), pages 2743–2748, Las Vegas, USA, October 2003.

參考部落格文中已列出

邊學邊用,如有錯漏,敬請指正

--------------------------------------------------------------------------------------------諾有缸的高飛鳥202012

繼續閱讀