点云匹配和ICP算法概述

Posted 走过_冬天

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了点云匹配和ICP算法概述相关的知识,希望对你有一定的参考价值。

Iterative Closest Point (ICP[1][2][3] is an algorithm employed to minimize the difference between two clouds of points.

点云匹配分类法(1)

•全局匹配算法 Globe •局部匹配算法Local

Salvi, J. (2007). "A review of recent range image registration methods with accuracy evaluation." Image and Vision Computing 25(5): 578-596.
Mellado, N. and D. Aiger (2014). "SUPER 4PCS Fast Global Point cloud Registration via Smart Indexing."

点云匹配分类法(2)

•基于点的匹配 •基于特征的匹配 •点特征 •VPF •FHPF •… •基于线特征 •"Algorithms for Matching 3D Line Sets." •"Line segment-based approach for accuracy assessment of MLS point clouds in urban areas.“ •Poreba, M. and F. Goulette (2015). "A robust linear feature-based procedure for automated registration of point clouds."  Sensors (Basel) 15(1): 1435-1457 .

Coarse to fine registration粗-精过程

粗配的目的:提供刚体变换初始估计

Salvi, J., et al. (2007). 

改进ICP算法

Besl, P. J. and N. D. Mckay (1992). "A Method for Registration of 3-D Shapes." IEEE Transactions on Pattern Analysis and Machine Intelligence 14(2): 239-256.
Siegwart, R., et al. (2015). "A Review of Point Cloud Registration Algorithms for Mobile Robotics." Foundations and Trends in Robotics.

•加快搜索效率 •K-D树 •Voronoi图 •不同的距离量测方式 •点到点 •点到线 PLICP •Censi, A. (2008). "An ICP variant using a point-to-line metric." IEEE International Conference on Robotics & Automation. IEEE,: 19-25. •CSM(Canonical Scan Matcher)源码      http ://censi.mit.edu/software/csm / •点到面 •Low, K.-L. (2004).    •面到面 GICP

ICP算法求解

•Closed Form •SVD •Unit Quaternions单位四元数 •The ICP error function minimization via orthonormal matrices •Dual Quaternions •数值解法 •LM算法 (Levenberg-Marquardt algorithm) •Jerbić, B., et al. (2015). "Robot Assisted 3D Point Cloud Object Registration." Procedia Engineering 100: 847-852. •点到面 线性最小二乘法 •Low, K.-L. (2004). "Linear Least-Squares Optimization for Point-to-Plane ICP Surface Registration."

问题

•观测误差 •部分重叠 •离群点Outlier、噪声(经常是错误点或者异常点) •不满足一一对应的条件

解决方法

•剔除 Rejection •PCL类库中采用 •权重方法 •稳健方法

Bergström, P. and O. Edlund (2014). "Robust registration of point sets using iteratively reweighted least squares."
H. Pottmann, S. Leopoldseder, and M. Hofer. Simultaneous registration of multiple views of a 3D object. ISPRS Archives 34/3A (2002), 265-270.
Andreas Nüchter(2008).3D Robotic Mapping-The Simultaneous Localization and Mapping Problem with Six Degrees of Freedom


标准ICP

标准ICP算法是最早提出的基于点-点距离的算法,另外一种是基于点-面的算法,由chen提出,好多文献所说的恶Chen's Method。

标准的ICP算法需要粗配,满足距离足够近这一条件之后才能进行精确配准。

IDC

The idc algorithm does a point-to-point correspondence for calculating the scan alignment. The correspondence problem is solved by two heuristics: the closest point rule and the matching range rule. Furthermore, a formula is provided for calculating an error covariance matrix of the scan matching

Trimmed ICP 

在每次迭代的过程中,根据距离残差排序,按照重叠率计算保留的点数。根据保留的点进行计算变换。该方法可以很好的处理部分重叠问题。CC中采用该方法实现,作者的原文还提到了一种自适应计算重叠率的方法。推荐!

Chetverikov, D., et al., The Trimmed Iterative Closest Point algorithm. 2002. 3: p. 545-548.

稳健ICP

由于Outliner的存在,即观测误差和离群点存在,以及部分重叠问题,粗配之后的数据再进行精配的过程中仍然存在不稳健的问题(Robust问题),因此提出了稳健ICP方法。如SICP,IRLSICP

MBICP

GICP 泛化的ICP,或者叫Plane to Plane ICP

EM-ICP

NICP

GO-ICP

...

一般的ICP算法(上述的)是局部优化算法,还存在全局优化的问题,即不需要单独粗配,直接一步到位。很多的ICP算法都是稳健的方法,但是并不是全局的优化方法。全局的方法有Super4PCS、三点Ransac等。

http://www.mathworks.com/matlabcentral/fileexchange/12627-iterative-closest-point-method

http://www.mathworks.com/matlabcentral/fileexchange/27804-iterative-closest-point

http://projects.asl.ethz.ch/datasets/doku.php?id=laserregistration:laserregistration


以上是关于点云匹配和ICP算法概述的主要内容,如果未能解决你的问题,请参考以下文章

基于ICP配准算法的三维点云数据的匹配仿真

点云配准的传统算法ICP与NDT概述

Sift+ICP点云基于Sift+ICP算法的点云数据配准算法matlab仿真

点云数据UDP数据包解析算法举例

基于ICP算法计算点集之间的变换矩阵(旋转平移)

点云配准 4-icp 如何逐步匹配多幅点云(win10)