Optimal Step Nonrigid ICP

Matlab implementation of non-rigid iterative closest point
Updated 4 Apr 2018

Optimal Step Nonrigid ICP is a MATLAB implementation of a non-rigid variant of the iterative closest point algorithm. It can be used to register 3D surfaces. The method is described in the following paper:
'Optimal Step Nonrigid ICP Algorithms for Surface Registration', Amberg, Romandhani and Vetter, CVPR, 2007.
* Non-rigid and local deformations of a template surface or point cloud.
* Iterative stiffness reduction allows for global intitial transformations that become increasingly localised.
* Optional initial rigid registration using standard iterative closest point.
* Optional bi-directional distance metric which encourages surface deformations to cover more of the target surface.
* Handles missing data in the target surface by ignoring correspondences with points on target edges.

Cite As

Charlie Nash (2024). Optimal Step Nonrigid ICP (https://github.com/charlienash/nricp), GitHub. Retrieved .

MATLAB Release Compatibility
Created with R2015a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Inspired by: Toolbox Graph, geom3d, Iterative Closest Point

Community Treasure Hunt

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

Start Hunting!

Versions that use the GitHub default branch cannot be downloaded

Version Published Release Notes

Bug fix in nricp.m

Now handles missing target surface data by ignoring correspondences to points lying on edge of target. Added option to reject correspondences where surface normals are not close. Added demo for missing data.

Name change.

Minor formatting changes.
More minor formatting changes.

To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.