Old PhD projects‎ > ‎

Point Set Registration

Coherent Point Drift (CPD) project page

Matlab toolbox for rigid, affine and non-rigid point set registration and matching. The toobox is based on the Coherent Point Drift (CPD) algorithm and allows to align two N-D point sets and recover the correspondences.
New in the CPD ver.2:
a) Improved Non-rigid registration,
b) Support for Rigid and Affine N-D registrations,
c) Fast Matlab implementation,
d) even faster with FGT and kernel approximations (optional).

Edit (Nov.20): I've added an example of feature-based image registration, and show how to apply the estimated transformation (rigid or nonrigid) back to images.

  • Myronenko A., Song X. (2010): "Point-Set Registration: Coherent Point Drift", IEEE Trans. on Pattern Analysis and Machine Intelligence, vol. 32, issue 12, pp. 2262-2275, [ PDF ]

Please fill in the following form in order receive the email with the CPD download link.

CPD download form

Non-rigid example

Rigid example

Image registration example. (see cpd_image cpd_imageregistration_example.m)

a) Given two images:

b) Extract some feature points (edges in this example)

c) Register the point sets and apply the estimated transformation to the image

PS: These people did a C++ CPD implementation https://github.com/gadomski/cpd
(untested, but might be useful for somebody).