Jump to content

Iterative closest point: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
added meshlab
No edit summary
Line 19: Line 19:
* [http://www.cs.princeton.edu/~smr/papers/icpstability.pdf Derivation of ICP Equations]
* [http://www.cs.princeton.edu/~smr/papers/icpstability.pdf Derivation of ICP Equations]
* [http://graphics.stanford.edu/papers/fasticp/ Efficient Variants of the ICP Algorithm]
* [http://graphics.stanford.edu/papers/fasticp/ Efficient Variants of the ICP Algorithm]
* [http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=12627&objectType=file Iterative Closest Point Method in Matlab]
* [http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=16766&objectType=file Iterative Closest Point Method in C++]


{{Mathapplied-stub}}
{{Mathapplied-stub}}

Revision as of 06:04, 31 March 2008

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:

  1. Associate points by the nearest neighbor criteria.
  2. Estimate the parameters using a mean square cost function.
  3. Transform the points using the estimated parameters.
  4. 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.