Andriy Myronenko. Main page.
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 Updated on May 15, 2009.
A new version of CPD (ver 2.0) is now available. Matlab code is here.
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.
References:
-
A. Myronenko, X. Song (2009): "Point-Set Registration: Coherent Point Drift.", Technical Report arXiv:0905.2635v1 [cs.CV] (accepted to PAMI)
[ PDF ],
[ arXiv ]. Main reference. Matlab toolbox CPD ver 2.0 is based on this work.
-
A. Myronenko, X. Song, M. Carreira-Perpinan (2006): "Non-rigid point set registration: Coherent Point Drift", Advances in Neural Information Processing Systems 19, (NIPS 2006) , MIT Press, PDF , Bib .
The previous Matlab code (CPD ver 1.0) based on this reference is still available here
and its old examples are here .
| Nonrigid 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
back to the main page