[Insight-users] itkCenteredRigid2DTransform registration
optimization problems
Rupert Brooks
rupe.brooks at gmail.com
Tue Jan 29 17:13:39 EST 2008
Sorry about that last email - i accidentally clicked send long before
i should have
Felix-
I think the problem you are having could be caused by two possibilities.
1. Your image is starting out closer to the flipped solution, meaning
the optimizer will slide downhill to the flipped solution because that
is the bottom of the "valley" in which it starts. If this is the
case, the optimizer is doing what it should, in some sense, and it
will be hard to tune your way out of this problem with any optimizer.
I suspect that this is what is happening. However, it may not be that
difficult to solve.
If the correct solution has better cost function values than the wrong
one, then, after the first level of your pyramid, flip the image,
reoptimize and take the best of the two. (If you have an N-fold
symmetry, you may have to explore each of the N-possibilities.) In
practice, i have done something like this using the
ExhaustiveOptimizer as a first pass. However, there was a bug that
got in the way - i believe fixed now - check mantis before you try
using that class, if you do.
If the correct solution actually looks worse than the wrong one, in
terms of cost function values, then you have a very tricky problem.
You'll need to find some sort of bound or regularizer to limit the
search space.
2. The optimizer parameters are poorly tuned or the cost function is
very noisy - I don't think this is the case because if it was, the
problem would probably not be so specific (going to the flipped
position), but would rather show as generally lousy performance
(aborts, trapped in various minima, poor accuracy, etc). However, if
you think its the scale factors, I'll refer you to MICCAI short paper
of mine about how to set that. Alternatively, you could try using the
Powell optimizer - i've played with all of the ITK optimizers and i
find that its remarkably robust. Its slow though, so you might want
to use it only on the top level of your scale pyramid.
Scaling Angles and distances....
http://www.ia.unc.edu/MICCAI2005/ShortPapers/pdfs/paper947.pdf
Cheers,
Rupert B
>
>
>
> > Message: 6
> > Date: Tue, 29 Jan 2008 15:38:39 +0100
> > From: Felix Bollenbeck <bollen at ipk-gatersleben.de>
> > Subject: Re: [Insight-users] itkCenteredRigid2DTransform registration
> > optimization problems
> > To: gabri <tartuz at gmail.com>, insight-users at itk.org
> > Message-ID: <479F3A6F.2040404 at ipk-gatersleben.de>
> > Content-Type: text/plain; charset=ISO-8859-1; format=flowed
> >
> > Hi Gabriele,
> >
> > ok, that is some kind of random search, right? - I have to read the
> > paper for understanding.
> >
> > Was it difficult to tune the parameters? I am not using mutual
> > information metric, but I will try it out.
> >
> > I guess I will have to anneal 'epsilon' when going to finer scales. can
> > you comment on your choice of parameters?
> >
> > Thanks for your time!
> >
> > FElix.
> >
> >
> >
> >
> > gabri wrote:
> > > Hi Felix,
> > > I've had a lot of problems with the regularstepgrdient descent , finally
> > > I switch all my code to use the OnePlusOneEvolutionaryOptimizer that is
> > > relly well suited for the MattesMutulaInformationMetric .
> > > Using that classes , after finding the correct parameters tuning for the
> > > optimizer,all problems due to miallignement disappers in my case (MRI
> > > AffineRegistration) .
> > >
> > > Best Reguards
> > >
> > > Gabriele
> > >
> > > Felix Bollenbeck ha scritto:
> > >
> > >> Hi ITKusers
> > >>
> > >> Im using the itkCenteredRigid2DTransform to register a stack of
> > >> light-microscopy slice images containing sectionend objects in masked
> > >> background within the image-pyramid framework of ITK.
> > >>
> > >> I have a question regarding the transformtype for registration of
> > >> image pairs:
> > >>
> > >> objects in the images I use have a kind of symmetry axes, they are
> > >> 'similar' on both sides but not the 'same'. The problem is, that
> > >> sometimes the optimizer gets stuck in a local optimum representing the
> > >> alignment of two images where the moving images is flipped along this
> > >> axis-can I make myself clear?
> > >>
> > >> The problem is- that on broader scales, this 'similarity' turns out to
> > >> be more less 'same', which causes the parameters to remain in this
> > >> 'valley' in the subsequent fine optimization on smaller scales.
> > >>
> > >> starting with a finer resolution ends up in bad convergence, or bad
> > >> overall results.
> > >>
> > >> I tried to tune stepwidths, optimizer scales etc. but i couldnt find
> > >> any overall tendency, due to my little detailed knowledge on the
> > >> optmizer (regularstepdescent).
> > >>
> > >> Can anybody suggest a method how to optimize the rotation angle more
> > >> carefully?
> > >>
> > >> Regards&TIA,
> > >>
> > >> Felix.
> > >>
> > >>
> > >>
> > >>
> > >
> > >
> > >
> >
> >
> > --
> > Felix Bollenbeck Email: bollen at ipk-gatersleben.de
> > Pattern Recognition Group Phone: +49 (0)39482 5344
> > Leibniz Institute of Plant Fax : +49 (0)39482 5137
> > Genetics and Crop Plant Research
> > Correnstr.3 http://www.ipk-gatersleben.de
> > 06466 Gatersleben,Germany
> >
--
--------------------------------------------------------------
Rupert Brooks
McGill Centre for Intelligent Machines (www.cim.mcgill.ca)
Ph.D Student, Electrical and Computer Engineering
http://www.cyberus.ca/~rbrooks
More information about the Insight-users
mailing list