Iterative Closest Point (ICP)

Learn about the iterative closest point algorithm and how to use it in PyTorch3D.

Overview

Iterative closest point (ICP) is a powerful algorithm that estimates an optimal alignment for two sets of points. Generally speaking, one set of points is considered the target point cloud and the other the source point cloud. ICP attempts to fit the source point cloud to the target point cloud by optimizing a set of transformations.

The ICP algorithm is commonly used for 3D surface registration, where two sets of data points (e.g., 3D scans of an object) need to be aligned to the same pose. It is also used for shape matching in applications where it is necessary to compare and match two objects with similar shapes. It is a commonly employed technique to align 3D objects in fields such as computer vision, robotics, and medical imaging. In robotics, it shows up quite frequently wherever simultaneous localization and mapping (SLAM) devices are used.

Get hands-on with 1200+ tech skills courses.