Iterative closest point
Appearance
Iterative Closest Point (ICP) is an algorithm employed to match two clouds of points. This matching is used to reconstruct 3D surfaces from different scans, to localize robots, to match bone models with measures in real-time, etc.
The algorithm is very simple and is commonly used in real-time. It iteratively estimates the transformation (translation, rotation) between two raw scans.
Inputs: two raw scans, initial estimation of the transformation, criteria for stopping the iteration.
Output: refined transformation.
Essentially the algorithm steps are:
- Associate points by the nearest neighbor criteria.
- Estimate the parameters using a mean square cost function.
- Transform the points using the estimated parameters.
- Iterate (re-associate the points and so on).
See Also
MeshLab an open source mesh processing tool that includes a GPL implementation of the ICP algorithm.