Overview of PyCPD registration methods
masterPyCPD is a pure NumPy implementation of the Coherent Point Drift (CPD) algorithm. It provides three main types of point cloud registration by inheriting from an Expectation Maximization (EM) module:
- Rigid Registration: Finds transformations involving only rotations and translations.
- Affine Registration: Finds transformations including rigid movements plus shearing and scaling.
- Deformable (Non-rigid) Registration: Finds non-linear deformations. This implementation includes a low-rank approximation of the Gaussian kernel to reduce computation time and provide regularization for the deformation.
In all methods, the 'moving' (source) point cloud is modeled as a Gaussian Mixture Model (GMM), and the 'fixed' (target) point cloud is treated as observations. The algorithm iterates between an Expectation (E) step and a Maximization (M) step to find the optimal transformation parameters.