ICP
- Initialize:
- Correspondences:
- Transform with Procrustes:
- Stop if the error is below a threshold, otherwise go to 2.
- Converges to a local minimum.
Improvements: kd-tree for closest points ( instead of ), random subsampling, correspondences from target to source, robust costs against outliers, normals, RANSAC, point-to-surface instead of point-to-point distances.
Gradient-based ICP: for non-rigid transforms, replace Procrustes by a descent step on the energy (gradient descent, Gauss-Newton, LM, BFGS) with automatic differentiation. More generic, but non-convex for general deformation models.