[vtkusers] Registering two point clouds using iterative closest point

David Doria daviddoria at gmail.com
Mon May 30 10:17:29 EDT 2011


On Sun, May 29, 2011 at 4:08 PM, Luca Penasa <luca.penasa at gmail.com> wrote:

> Hi everybody,
> I am trying to register two lidar-generated point clouds, using the
> vtkIterativeClosestPointTransform Class. maybe i did not understood how
> this algorithm works but the results are not what i would like.
>
> Some notes:
> - the two clouds are not identical, so only a small part of the two are
> in common.
> - i start with a first approximation of the needed rigid-body transform,
> computed with a set of homologous points given by hand. I apply this
> transform as LandmarkTransform before starting the ICP execution.
>
> Output from transform filter appear to be too different from my initial
> guess. The two clouds are now completely overlapping.
>
> Does anybody use this class for registration of this kind of data?
> Why the ICP force to overlap the two clouds? Appear as the algorithm is
> trying to get the maximum overlapping and not the minimum point-to-point
> distance.
>
>
> Thank you
>

The VTK implementation of ICP assumes the point clouds are completely
overlapping.

A small change will ignore points that are too far away from a point in the
other point cloud during the error computation:
http://public.kitware.com/Bug/view.php?id=8983

David
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20110530/59dbf4ed/attachment.htm>


More information about the vtkusers mailing list