The ICP (iterative closest point) method finds a rigid body transformation such that the points in data fit to the points in model under the transformation. Default is to use least squares minimization but optional other criterion functions can be used as well. The implementation is based on the IRLS-ICP described in
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., 10.1007/s10589-014-9643-2
A demonstration where an ICP-algorithm is used in Matlab can be seen on YouTube,
Hi, I'm very interested in your ICP code. Is there any paper or documentation describing this algorithm? In this way I can understand how it works.
Thank you very much!
My email is:email@example.com
I'm trying to use your program in Octave because I don't currently have access to Matlab. I've nearly got it sorted out, but I'm not 100% sure what the nearNeighbor command is being used for. I am guessing it is interpolation using nearest neighbor methods. If not, please let me know.
your icp scrip is very good. i could use it very often. But is there any paper discribing your algorithm? I´m interested in its details to understand the operations it does. How does it work?
Hi Mr. Bergström,
your icp scrip is very good. i could use ist very often. But is there any paper discribing your algorithm? I´m interested in its details to understand the operations it does. How does it work?
I have run your source codes in Visual C++ 2008 and use the the same data and model for testing in C++, but the results from C++ are different in comparison with from icp_demo.m. When I re-calculate the new data by applying the rotation matrix and translation vector which I have obtained from C++, the plotting of new-data and model points are not match. Could you tell me what reasons? (P/S: my email is firstname.lastname@example.org, if possible please directly send your answers via my email). Thank you very much!
Nguyen Van Thai
I run the program for 3D data. I used 'model' and 'data' with different sizes and it worked. However, there are about 1-1.5 m differences in z values after gridding the data sets. I also would like to know what is the reference for the program. Thank you.