ICP

  1. Initialize:
  2. Correspondences:
  3. Transform with Procrustes:
  4. Stop if the error is below a threshold, otherwise go to 2.
  5. 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.

Appears in