This sample implements a very efficient and robust variant of the iterative closest point (ICP) algorithm. The task is to register a 3D model (or point cloud) against a set of noisy target data. The variants are put together by myself after certain tests. The task is to be able to match partial, noisy point clouds in cluttered scenes, quickly. You will find that my emphasis is on the performance, while retaining the accuracy.
There is some more text within the documentation file, which is provided along with the zip. Although, the documentation misses the references, they will put there after the update. I hope this would be useful to many, because despite the quantity of the papers, I was unable to find a quality implementation.
The main contributions come from:
1. Picky ICP:
2. Efficient variants of the ICP Algorithm:
3. Geometrically Stable Sampling for the ICP Algorithm: https://graphics.stanford.edu/papers/stabicp/stabicp.pdf
4. Multi-resolution registration:
5. Linearization of Point-to-Plane metric by Kok Lim Low:
Note that the test function requires Gabriel Peyré's read_ply m-file in here:
Tolga Birdal (2023). ICP Registration using Efficient Variants and Multi-Resolution Scheme (https://www.mathworks.com/matlabcentral/fileexchange/47152-icp-registration-using-efficient-variants-and-multi-resolution-scheme), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!
Fixed a bug when no pose is found in a level of a pyramid.
A bug in the normalization of the scene and the model is fixed. They are now normalized with the same parameters.
changed the title