Iterative Closest Point Method

Fits a set of data points to a set of model points under a rigid body transformation
25.2K Downloads
Updated 2 Jul 2021

View License

The ICP (iterative closest point) algorithm finds a rigid body transformation such that a set of data points fits to a set of model points under the transformation. Default is to use least squares minimization but other criterion functions can be used as well. The implementation is based on the IRLS-ICP described in [1].
References:
[1] Bergström, P. and Edlund, O. 2014, “Robust registration of point sets using iteratively reweighted least squares”, Computational Optimization and Applications, vol 58, no. 3, pp. 543-561, doi: 10.1007/s10589-014-9643-2
[2] Bergström, P. and Edlund, O. (2016) 2017, “Robust registration of surfaces using a refined iterative closest point algorithm with a trust region approach”, Numerical Algorithms, doi: 10.1007/s11075-016-0170-3
Doi links:
http://dx.doi.org/10.1007/s10589-014-9643-2
http://dx.doi.org/10.1007/s11075-016-0170-3
http://dx.doi.org/10.1007/s00170-010-2950-6
Springer Nature’s SharedIt links (full paper online access):
http://rdcu.be/nJRM
http://rdcu.be/noHE
http://rdcu.be/nJUW
A demonstration of applications, where an ICP-algorithm [2] is implemented in Matlab and C, can be seen on YouTube
https://youtu.be/cPS-DY9sCz4

Cite As

Per Bergström (2024). Iterative Closest Point Method (https://www.mathworks.com/matlabcentral/fileexchange/12627-iterative-closest-point-method), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2015a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Delaunay Triangulation in Help Center and MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.6.0.1

Update of links

1.6.0.0

Improved documentation

1.5.0.0

A new implementation of the ICP algorithm and three examples are added

1.0.0.0

Have added additional inputs to icp.