IMAGE MATCHING IN JAVA

Fabien Julliard
Micro-engineering
Diploma Project, Winter 2001-2002



Introduction
We developed a new algorithm that matches two images: the source image and the target image. This algorithm is based on one elastic geometric transformation, which is applied on the source image. 

Realization of the Elastic Transformation
The elastic transformation is done by some characteristic geometric coordinates (landmarks), positioned by the user on each image, give the transformation. Each landmark, on the source image, has only one corresponding landmark on the target one. To find a correct elastic transformation, one constrain is imposed: the coordinates of positioned landmarks on the target image and the coordinates of landmarks on source image, after the process transform, must be equal. This elastic transformation is the association between two other transformations: the first is the affine transformation and the second is one transformation based on residues interpolation. The difference between the position of each landmark on target image and the position of the corresponding landmark on source image, after process affine transform, is called residue.

Results
The geometric interpolation is implemented with three different degrees of B-splines: linear, quadratic and cubic. To set the fineness of the elastic transformation (choice between a global or a local transformation), we use a different number of intervals (higher number of intervals, more local transformation).


Some examples with different degrees and number of intervals:

Target Image

Source Image

Affine
Transformation

B-Spline Linear
5 Intervals

B-Spline Cubic
5 Intervals


B-Spline Cubic
15 Intervals


Example of application of the elastic geometric transformation (Morphing):
 

EPFL  Swiss Federal Institute of Technology Lausanne
BIG  Biomedical Imaging Group
Imaging Web Demonstration