ICP registration

The iterative closest point algorithm tries to minimise the rms distance between a set of points on the current object and the nearest points on the aux object. At each iteration the error is calculated and a new position for the current object is estimated. The control window shows the parameters to be used by the algorithm. The values used are a compromise between the accuracy of the result and the time it takes. Iteration continues until either the rms error falls below the chosen limit or the maximum number of iterations is reached.

icp reg controlAppropriate control parameters will depend upon the object surfaces which are being registered. If the data sets are truly identical then the rms value which determines the end of iteration must be set very small. However, if the data sets are likely to differ by, say, 0.1 mm rms ( due for example to the accuracy of the scanning process) and the rms error limit has been set smaller, then the iterations will continue after a best match has been reached. There are three buttons to select different 'standard' settings (it defaults to 'normal') but the user should determine what is appropriate for their data. If the result of registration (as shown by the difference display) is not considered to be good enough, then the process can be repeated again and again if so desired. Each successive attempt will start from the current state of registration. Subsequent attempts are more likely to result in an improvement if the number of points is increased. If registration terminates before the progress bar (at the bottom of the main window) has been filled, then this implies that the rms error limit has been reached. Improved registration may be achievable by reducing this error limit. The refine registration button is a faily quick way of performing an incremental refinement to the current registration. It performs a small number of iterations with a large number of reference points (effectively "accurate" with few iterations).

It should be appreciated that if the two objects are not identical then there is not necessarily a single 'best match' alignment.

By default the reference points are placed randomly over the whole surface of the current object. If the user knows that part of the surface will not match the aux object, then the non-matching regions should be excluded from the process by marking them in the edit/select interaction mode. Any part of the current object which is left in the normal rendering colour will be used for registration; regions in the alternate colour will not be used.

This algorithm relies upon convergence towards the correct solution. If the two surfaces which are to be registered are mis-aligned by too large an angle, then there is likely to be a registration failure. In this situation it is necessary to get the alignment reasonably good before using the ICP algorithm. This can be done manually or by the use of the landmark registration (3 landmarks on each object, even very approximately located, will be sufficient to get the alignment close enough for subsequent ICP registration).

The ICP algorithm also relies upon there being orientation determining shape information in the surfaces to be registered. Registration of two spheres, for example, should be able to align the centres (by translation of the current object) but there is no orientation information for the registration algorithm to work with so the rotation of the current object will be arbitrary.

Back to index

©2008 Robin Richards, All rights reserved.