ICP Registration

·1 min read

Iterative Closest Point (ICP) Registration Algorithm

ICP Algorithm Wiki

Thoughts

3D registration is now widely used in computer vision, robotics, autonomous driving, and medical imaging. ICP is one of those algorithms which have been used in either 2D or 3D space.

It requires 2 data inputs, which are the source and the target. Usually, they are in point cloud format in 3D space. These point cloud datasets are either collected by 3D Lidar or generated by computational procedures.

I have used this algorithm for a company project recently. The implementation is based on Python and the VTK ICP filter. It is worth noting that pre-aligning work is necessary before executing ICP. It is because ICP registration is an iterative method. Its convergence rate and performance might be affected by local maxima. Thus, it is highly recommended to perform pre-aligning before looping too many iterations of ICP =)

Recommended Reading:

ICP in Open3D

ICP in VTK