[Insight-users] Using Levenberg Marquardt optimization for deformable image registration

Markus Weigert m.weigert at fz-juelich.de
Wed Aug 22 07:23:27 EDT 2007


Dear insight users,

I am currently investigating Levenberg-Marquardt optimization for image 
registration.
The idea is to use a multivalued cost function (intensity differences of 
each pixel) and
additional point distances between meshpoints of segmentation results 
within a Iterative
Closest Point scheme by performing least squares fits of the transform 
parameters.
Although this seems to work with the linear transforms (affine, versor 
rigid etc.
providing a proper initialization), it runs into problems with BSpline 
transform by
delivering transform parameters which are just off by orders.
For this reason I created synthetic images showing a sphere and a cube 
and tried
to register the cube to the sphere (see 
http://www.chripa.de/bilder/BSplineLVM.JPG)
In this example, I use intensity differences only, no point distances.
When I look at the deformation field (which results of the estimated 
transform parameters),
highest deviations appear in the corner of the image, not in the area of 
the objects as I would
have expected.
This is also obvious when looking at the transform parameters  which are 
at some places
(image corners) extremely high (see the DOS command shell).
I tried different configurations of the optimizer but could not figure 
out a working configuration.
For the screenshot I used
        opt->SetNumberOfIterations(2000);
        opt->SetValueTolerance(1.e-8);
        opt->SetGradientTolerance(1.e-8);
        opt->SetEpsilonFunction(1.e-8 );
        opt->UseCostFunctionGradientOff();  //calculate derivatives by 
forward differencing

and a BSpline grid of 3 x 3 x 3 nodes per dim (respectively 6 x 6 x 6 
when taking the off image
nodes into account).

Has somebody an idea why these huge values may appear in the image 
corners or did I undergo
an obvious error in reasoning creating this method.

Another point I would like to mention is that the levenberg marquardt 
optmizer seems to have a bug
concerning the creation of iteration events, which appear after each 
function evaluation instead of each iteration.


Kind Regards,
Markus


 







-----------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------
Forschungszentrum Jülich GmbH
52425 Jülich

Sitz der Gesellschaft: Jülich
Eingetragen im Handelsregister des Amtsgerichts Düren Nr. HR B 3498
Vorsitzende des Aufsichtsrats: MinDirig'in Bärbel Brumme-Bothe
Vorstand: Prof. Dr. Achim Bachem (Vorsitzender), Dr. Ulrich Krafft (stellv. 
Vorsitzender)
-----------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------


More information about the Insight-users mailing list