The Three-Dimendional Normal-Distributions Transform论文学习(Chapter 6)

本章深入探讨了Normal-Distributions Transform (NDT)算法,用于表示表面和扫描配准。NDT通过将空间划分为网格单元并计算每个单元的PDF来描述表面。在配准过程中,目标是找到最佳姿态,使得当前扫描点位于参考扫描表面的可能性最大化。NDT在2D和3D中的应用展示了如何通过协方差矩阵评估表面的平滑度和方向。对于扫描配准,NDT考虑了异常值的影响,并通过混合正态和均匀分布来处理。牛顿算法用于优化姿态参数,以实现精确的配准。章节还详细介绍了2D和3D情况下的转换函数及其导数计算。
摘要由CSDN通过智能技术生成

Chapter 6. The normal-distributions transform(一)

这一章详细讲解了NDT算法,以及NDT是怎样应用到扫描配准上的。

6.1 NDT for representing surface

用NDT算法来表示光滑表面,第一步是将扫描所占用的空间细分为网格单元(2D情况下为正方形,3D情况下为立方体)。根据单元内的点分布计算每个单元的PDF(probality distribution function 概率分布函数)。每个细胞中的PDF可以被解释为单元内表面点 x ⃗ \vec{x} x 的"生成过程"。换句话说,假定 x ⃗ \vec{x} x 的位置是通过从这个分布中提取而生成的。假设参考扫描表面点的位置是由D维正态随机过程产生的,则测量 x ⃗ \vec{x} x 的似然函数为:
p ( x ⃗ ) = 1 ( 2 π ) D / 2 ∣ Σ ∣ exp ⁡ ( − ( x ⃗ − μ ⃗ ) T Σ − 1 ( x ⃗ − μ ⃗ ) 2 ) p(\vec{x}) = \frac{1}{(2\pi)^{D/2}\sqrt{|\Sigma|}} \exp(-\frac{(\vec{x} - \vec{\mu})^T\Sigma^{-1}(\vec{x} - \vec{\mu})}{2}) p(x )=(2π)D/2Σ 1exp(2(x μ )TΣ1(x μ ))
其中 μ \mu μ Σ \Sigma Σ分别是扫描表面中由 x ⃗ \vec{x} x 组成的网格中的均值向量和协方差矩阵:
μ ⃗ = 1 m ∑ m = 1 m y k ⃗ , \vec{\mu} = \frac{1}{m} \sum_{m=1}^m \vec{y_k} , μ =m1m=1myk , Σ = 1 m − 1 ∑ k = 1 m ( y k ⃗ − μ ⃗ ) ( y k ⃗ − μ ⃗ ) T \Sigma = \frac{1}{m-1} \sum_{k=1}^m (\vec{y_k} - \vec{\mu})(\vec{y_k} - \vec{\mu})^T Σ=m11k=1m(yk μ )(yk μ )T
其中: y k = 1 , . . . , m ⃗ \vec{y_{k=1, ..., m}} yk=1,...,m ,是网格单元中包含的参考扫描点的位置。正态分布给出了具有连续导数的点云的分段光滑表示。每个PDF可以看作局部表面的近似图像,描述表面的位置以及它的方向和平滑度。二维激光扫描及其相应的正态分布如图6.1所示。图6.2显示了矿井隧道扫描的3D正常分布。
在这里插入图片描述

在一维的情况下,在一维情况下,正态分布的随机变量 x x x具有一定的期望值 μ \mu μ,并且关于该值的不确定性用方差 σ \sigma σ表示。方程为:
p ( x ⃗ ) = 1 σ 2 π exp ⁡ ( − ( x − μ ) 2 2 σ 2 ) p(\vec{x}) = \frac{1}{\sigma\sqrt{2\pi}} \exp(-\frac{(x - \mu)^2}{2\sigma^2}) p(x )=σ2π 1exp(2σ2(xμ)2)
在多维情况下,均值和方差用均值向量 μ ⃗ \vec{\mu} μ 和协方差矩阵 Σ \Sigma Σ来描述。**协方差矩阵的对角元素表示每个变量的方差,非对角元素表示变量的协方差。**图6.3显示了一维、二维和三维中的正态分布。
在2D和3D情况下,表面取向和平滑度可以通过协方差矩阵的特征向量和特征值来评估。特征向量描述分布的主成分,即一组与变量协方差的主方向相对应的正交向量。取决于方差的比例,2D正态分布可以是点状(如果方差相似)或线状(如果一个比另一个大得多),或者介于两者之间。在图6.4所示的3D情况下,正态分布可以描述一个点或球(如果方差的幅度在所有方向上都相似)、一条线(如果一个方向的方差远大于其他两个方向的方差)或一个平面(如果一个方向的方差远小于另外两个方向的方差)。
在这里插入图片描述


6.2 NDT 扫描配准

当使用NDT进行扫描配准时,目标是找到当前扫描的姿态,使得当前扫描的点位于参考扫描表面上的可能性最大化。待优化的参数,即当前扫描的姿态估计的旋转和平移,可以编码为向量 p ⃗ \vec{p} p 。当前扫描表示为点云 χ = { x 1 , … , x n } \chi = \lbrace x_1,…,x_n \rbrace χ={ x1,,xn}。假设存在空间变换函数 T ( p ⃗ , x ⃗ ) T(\vec{p},\vec{x}) T(p ,x ),该函数通过姿态 p ⃗ \vec{p} p 在空间中移动点 x ⃗ \vec{x} x 。给定扫描点(例如,等式6.1)的一些PDF p ( x ⃗ ) p(\vec{x}) p(x ),最佳姿态 p ⃗ \vec{p} p 应该是使似然函数最大化的姿态 p ⃗ \vec{p} p
Ψ = Π k = 1 n p ( T ( p ⃗ , x k ⃗ ) ) \Psi = \Pi_{k=1}^n p(T(\vec{p},\vec{x_k})) Ψ=Πk=1np(T(p ,xk ))
或者说,使得负对数似然最小的 Ψ \Psi Ψ
− log ⁡ Ψ = − ∑ k = 1 n log ⁡ ( p ( T ( p ⃗ , x k ⃗ ) ) ) -\log{\Psi} = -\sum_{k=1}^n \log{(p(T(\vec{p},\vec{x_k})))} logΨ=k=1nlog(p(T(p ,xk )))
在这里插入图片描述

PDF不一定局限于正态分布。任何可以局部的描述表面点的结构并对离群值鲁棒的PDF都是合适的。正态分布的负对数似然对于远离平均值的点没有界限地增长。因此,扫描数据中的异常值可能对结果有很大的影响。在本工作中(如Biber、Fleck和Straer[8]的文章),同时使用了正态分布和均匀分布:
p ( x ⃗ ) = c 1 exp ⁡ ( − ( x ⃗ − μ ⃗ ) T Σ − 1 ( x ⃗ − μ ⃗ ) 2 ) + c 2 p o p(\vec{x}) = c_1\exp(-\frac{(\vec{x} - \vec{\mu})^T\Sigma^{-1}(\vec{x} - \vec{\mu})}{2}) + c_2p_o p(x )=c1exp(2(x μ )TΣ1(x μ ))+c2po
其中, p o p_o po是异常值的预期比率。利用这个函数,离群值的影响是有界的。如图6.5所示。常数 c 1 c_1 c1 c 2 c_2 c2可以通过要求 p ( x ⃗ ) p(\vec{x}) p(x )的概率质量等于单元所跨越的空间中的一个来确定。(没看懂)

对第一种待优化的对数似然函数的求和由形式来说,它们没有简单的一阶和二阶导数。然而,由图我们可以看出对数似然函数反过来可以用高斯函数来近似。在 p ( x ⃗ ) p(\vec{x}) p(x )中,令: x = 0 x=0 x=0, x = σ x=\sigma x=σ x = ∞ x=\infty x=
d 3 = − log ⁡ ( c 2 ) d_3 = -\log(c_2) d3=log(c2) d 1 = − log ⁡ ( c 1 + c 2 ) − d 3 d_1 = -\log(c_1+c_2) - d_3 d1=log(c1+c2)d3 d 2 = − 2 log ⁡ ( ( − log ⁡ ( c 1 exp ⁡ ( − 1 / 2 ) + c 2 ) − d 3 ) / d 1 ) d_2 = -2\log ((-\log(c_1\exp(-1/2) + c_2) - d_3) / d_1) d2=2log((log(c1exp(1/2)+c2)d3)/d1)

使用这种高斯近似,从当前扫描的一个点对NDT得分函数(score function)的影响是:
p ~ ( x k ⃗ ) = − d 1 exp ⁡ ( − d 2 2 ( x k ⃗ − μ k ⃗ ) T Σ k − 1 ( x k ⃗ − μ k ⃗ ) ) \tilde{p}(\vec{x_k}) = -d_1\exp(-\frac{d_2}{2}(\vec{x_k} - \vec{\mu_k})^T\Sigma^{-1}_k(\vec{x_k} - \vec{\mu_k})) p~(xk )=d1exp(2d2(xk μk )TΣk1(xk μk ))

其中 μ k ⃗ \vec{\mu_k} μk Σ k \Sigma_k Σk x k ⃗ \vec{x_k} xk 所处的NDT网格的平均值和协方差。这个NDT得分函数具有更简单的导数,但是当用于优化时仍然表现出相同的一般性质。注意,方程中省略了 d 3 d_3 d3项。当使用NDT进行扫描配准时,它不是必需的,因为它仅向得分函数添加常数偏移,并且不改变其形状或优化它的参数。

给定一个点集 χ = { x 1 ⃗ , . . . , x n ⃗ } \chi = \lbrace\vec{x_1},...,\vec{x_n}\rbrace χ={ x1 ,...,xn },一个位姿 p ⃗ \vec{p} p ,和一个变换函数 T ( p ⃗ , x ⃗

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值