Patience is the key|

name555difficult

园龄:1年7个月粉丝:3关注:0

点云配准算法-旋转矩阵估计-Kabsch-Umeyama algorithm

Kabsch-Umeyama algorithm

参考文献:

  1. https://www.wikiwand.com/en/Kabsch_algorithm

面向点云配准,最小化两点集均方根误差(RMSD, root mean squared deviation)来计算最佳旋转矩阵。

注:该算法只能计算旋转矩阵,做点云配准还需要计算平移向量。当平移和旋转都正确计算出,该算法有时也叫_partial Procrustes superimposition (see also orthogonal Procrustes problem)_

步骤:

  1. a translation
  2. the computation of a covariance matrix
  3. the computation of the optimal rotation matrix

First Step: Translation

将两组点集的质心对齐坐标系原点:

P^=||PPcentroid||1

Second Step: calculate the covariance matrix

calculate the corrs-covariance matrix H between P and Q

H=PTQ

Third Step: calculate the optimal rotation matrix

base calculating formula:

R=(HTH)12H1

但是如果出现一些特殊情况,例如:H 不存在逆矩阵时,上述公式变得复杂,甚至不可解。所以一般都会使用SVD(奇异值分解,singular value decomposition)变换上述公式。

SVD:H=UΣVT

并且校正旋转矩阵确保在一个右手坐标系,最终计算最佳旋转矩阵R

d=sign(det(VUT))

R=V(10001000d)UT

最佳旋转矩阵还可以用四元数(quaternions来表示)

Generalizations

The algorithm was described for points in a three-dimensional space. The generalization to D dimensions is immediate.

本文作者:name555difficult

本文链接:https://www.cnblogs.com/name555difficult/p/17739857.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   name555difficult  阅读(275)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
展开