scan-match算法之NDT

NDT-Scan Alignment-Algorithm

作者QQ:845421543。NDT是scan-match中经典的方法之一。NDT算法相对于ICP算法速度更快,稳健性更强。
原文地址:The Normal Distributions Transform: A New Approach to Laser Scan Matching

输入:两帧点云数据 S 1 , S 2 S_1,S_2 S1,S2

输出:位姿变换参数 R , t R,t R,t

  1. S 1 S_1 S1 计算正太分布变换(NDT);
  2. 初始化需要估计的参数 R , t R,t R,t,设置为0或者采用里程计数据;
  3. 根据参数 R , t R,t R,t S 2 S_2 S2 中的所有样本点投影到对应的坐标系下;
  4. 确定每一个映射点对应的正态分布即 S 2 S_2 S2 映射点属于 S 1 S_1 S1 中的哪一个cell;
  5. 通过评估每个映射点的分布并对结果求和来确定参数的得分 s c o r e score score
  6. 通过尝试优化分数来计算新的参数估计。这是通过执行牛顿算法(非线性最小二乘中一种方法)的一个步骤来实现的;
  7. 转到3,直到满足收敛条件。

详解:
N D T NDT NDT
将2D空间划分为具有固定大小的元胞(cell),分别对每一个元胞进行如下操作:

  • 1)确定cell中的点云 x i = 1... n x_{i=1...n} xi=1...n
  • 2)计算均值 q = 1 n ∑ i = 1 n x i q = {\frac 1n}{\sum_{i=1}^n}x_i q=n1i=1nxi
  • 3)计算协方差矩阵 Σ = 1 n ∑ i = 1 n ( x i − q ) ( x i − q ) t \Sigma={\frac 1n}{\sum_{i=1}^n}(x_i-q)(x_i-q)^t Σ=n1i=1n(xiq)(xiq)t

Cell中每一个点的概率服从正态分布 N ( q , Σ ) N(q,\Sigma) N(q,Σ),概率可以表示为:
p ( x ) ∼ e − ( x − q ) t Σ − 1 ( x − q ) 2 p(x) \sim e^{-\frac {(x-q)^t\Sigma^{-1}(x-q)}2} p(x)e2(xq)tΣ1(xq)

S C O R E SCORE SCORE
s c o r e ( p ) = ∑ i = 1 n e − ( x i ′ − q i ) t Σ i − 1 ( x i ′ − q i ) 2 score(p)=\sum_{i=1}^ne^{-\frac {(x_i^{'}-q_i)^t\Sigma^{-1}_i(x_i^{'}-q_i)}2} score(p)=i=1ne2(xiqi)tΣi1(xiqi)

其中 x i ′ x_i^{'} xi 代表 S 2 S_2 S2 中的点 x i x_i xi 映射到 S 1 S_1 S1 坐标系之后对应的点; q i q_i qi 代表 x i ′ , Σ i x_i^{'},\Sigma_i xiΣi S 1 S_1 S1 中所处的元胞cell的均值和协方差

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值