两种常见的点云配准方法ICP&NDT

迭代最近点算法ICP(Iterative Closest Point)

问题描述

  假设我们有两组点集,注意这里的 P \mathbf{P} P Q \mathbf{Q} Q分别相对于变换前和变换后的相机参考系。我们要解决的问题是找一组 R \mathbf{R} R T \mathbf{T} T,使得 P \mathbf{P} P中的每一个点经过变化后同 Q \mathbf{Q} Q中的最近点的误差之和最小。用数学的话描述就是最小化如下一个目标函数:
1 2 ∑ i = 1 n ∥ q i − R p i − T ∥ 2 (1.1) \frac{1}{2}\sum^n_{i=1}\|\mathbf{q}_i-\mathbf{R}\mathbf{p}_i-\mathbf{T}\|^2 \tag{1.1} 21i=1nqiRpiT2(1.1)
求解的方法有很多,这里只介绍SVD方法

目标函数简化

我们定义两组点集的中心为
μ p = ∑ i = 1 n p i (1.2) \mu_p = \sum^n_{i=1}\mathbf{p}_i \tag{1.2} μp=i=1npi(1.2)
μ q = ∑ i = 1 n q i (1.3) \mu_q = \sum^n_{i=1}\mathbf{q}_i \tag{1.3} μq=i=1nqi(1.3)
∥ q i − R p i − T ∥ 2 = ∥ q i − R p i − T − ( μ q − R μ p ) + ( μ q − R μ p ) ∥ 2 = ∥ q i − μ q − R ( p i − μ p ) + ( μ q − R μ p − T ) ∥ 2 = ∥ q i − μ q − R ( p i − μ p ) ∥ 2 + ∥ μ q − R μ p − T ∥ 2 + 2 ( q i − μ q − R ( p i − μ p ) ) T ( μ q − R μ p − T ) \|\mathbf{q}_i-\mathbf{R}\mathbf{p}_i-\mathbf{T}\|^2 = \|\mathbf{q}_i-\mathbf{R}\mathbf{p}_i-\mathbf{T} - (\mu_q - \mathbf{R}{\mu}_p) + (\mu_q - \mathbf{R}{\mu}_p)\|^2 \\= \| \mathbf{q}_i - \mu_q -\mathbf{R}( \mathbf{p}_i - \mu_p) +(\mu_q - \mathbf{R}\mu_p -\mathbf{T})\|^2 \\ =\| \mathbf{q}_i - \mu_q -\mathbf{R}( \mathbf{p}_i - \mu_p)\|^2 + \|\mu_q - \mathbf{R}\mu_p -\mathbf{T} \|^2 + 2 (\mathbf{q}_i - \mu_q -\mathbf{R}( \mathbf{p}_i - \mu_p))^T(\mu_q - \mathbf{R}\mu_p -\mathbf{T}) qiRpiT2=qiRpiT(μqRμp)+(μqRμp)2=qiμqR(piμp)+(μqRμpT)2=qiμqR(piμp)2+μqRμpT2+2(qiμqR(piμp))T(μqRμpT)
注意到最后一项
∑ i = 1 n ( q i − μ q − R ( p i − μ p ) ) T ( μ q − R μ p − T ) = ( μ q − R μ p − T ) T ∑ i = 1 n ( q i − μ q − R ( p i − μ p ) ) = ( μ q − R μ p − T ) T 0 = 0 \sum^n_{i=1}(\mathbf{q}_i - \mu_q -\mathbf{R}( \mathbf{p}_i - \mu_p))^T(\mu_q - \mathbf{R}\mu_p -\mathbf{T})\\=(\mu_q - \mathbf{R}\mu_p -\mathbf{T})^T \sum^n_{i=1}(\mathbf{q}_i - \mu_q -\mathbf{R}( \mathbf{p}_i - \mu_p)) \\=(\mu_q - \mathbf{R}\mu_p -\mathbf{T})^T\mathbf{0}=\mathbf{0} i=1n(qiμqR(piμp))T(μqRμpT)=(μqRμp

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值