Iterative Closest Points
Method that can be used for alinging shapes iteratively. it works like this:
- estimate some correspondences
- solve transformation using them
- repeat
How to find correspondences? #
- Assume that closest points correspond
- This will converge iteratively if starting postitions are “close enough”
Runtime analysis #
- Each iteration
- Finding closest points:
per point naively
- Therefore
in total
- Compute optimal alignment
- Update scene
- Finding closest points:
- Finding closest correspondences can be sped up using acceleration
structures like KD-Trees
to
- Finding the closest points for all points is then in
Variations / Improvements #
- Instead of trying to minimize the distance between the closest points, we
can try to instead minimize the distance of points of
to the tangent planes of nearest points in
.
- Drawback: No closed form solution
- Benefit: Converges faster than taking just aligning point-to-point