【MATLAB点云处理】ICP实现点云精配准

点云配准定义

参考链接:该如何学习三维点云配准的相关知识? - 知乎 (zhihu.com)
(1)点云配准,就是求一个两个点云之间的旋转平移矩阵(刚性变换或欧式变换),将源点云(source cloud)变换到目标点云(target cloud)相同的坐标系下。
可以表示为以下的方程:

其中pt、ps就是target cloud与source cloud中的一对对应点。
而我们要求的就是其中的R与T旋转平移矩阵。
这里,我们并不知道两个点集中点的对应关系。这也就是配准的核心问题。
(2)配准分为粗配准与精配准两步。
粗配准就是在两个点云还差得十万八千里、完全不清楚两个点云的相对位置关系的情况下,找到一个这两个点云近似的旋转平移矩阵(不一定很精确,但是已经大概是对的了)。
精配准的目的是在粗配准的基础上让点云之间的空间位置差别最小化。
精配准就是在已知一个旋转平移的初值的情况下(这个初值大概已经是正确的了),进一步计算得到更加精确的旋转平移矩阵。
精配准的模式基本上已经固定为使用ICP算法及其各种变种。ICP算法由Besl and McKay 1992, Method for registration of 3-D shapes文章提出。文中提到的算法不仅仅考虑了点集与点集之间的配准,还有点集到模型、模型到模型的配准等。

在matlab只点云工具箱中实现了ICP相关的算法有: 点到点的ICP( pointTopoint IcP ),点到面的
ICP( pointToplane ICP )和 Trimmed ICP。
参考链接

你可能感兴趣的:(MATLAB点云处理,matlab,算法,开发语言)