[Insight-users] Metric, optimizer choice
Dawood Al Masslawi
masslawi at gmail.com
Sun Jul 3 04:51:13 EDT 2011
Hi Yann,
If your initialized transform is precise (near perfect?!!) it's only natural
that the optimizer would change less. Have you tried to set the minimum
step length to a higher value?
In the example you provided the metric value is decreasing, isn't that
what you want?
Your fixed and moving images and their intensity distribution also can
effect the quality of the registration, it might be helpful to give us more
information about your images.
HTH,
Dawood
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Hi all,
I'm exploring the mattes mutual information metric with the similarity
transform. I have big problems with the regular step gradient optimizer.
First one, I initialize the transform quite precisely, so only small
change are required, especially for scale and rotation. But I must put
the scaling factor to 100 000, for a maximal step length of 2 to obtain
change around 0.01 for each step. Why is there a x100 between 2/100 000
(what I expect to be the scaled step length) and the one which really
append ?
Second one, the optimizer fails to minimize the metrics (the value seems
to increase), despite the fact that minimizeOn is set, and that I see a
clear behavior difference when maximizeOn is set.
I've played a lot with parameters without significant improvement.
Here is an example :
0 -0.0794786 [1.08213, 0.215013, 142.753, 93.1165, 19.484, -5.38814]
1 -0.0837397 [1.09388, 0.224094, 142.734, 93.1303, 21.0015, -4.08564]
2 -0.0781118 [1.10518, 0.231022, 142.713, 93.1446, 22.5308, -2.79707]
3 -0.07013 [1.11679, 0.230021, 142.688, 93.1515, 23.5889, -1.10016]
4 -0.060149 [1.13054, 0.220847, 142.661, 93.1574, 24.6365, 0.603225]
5 -0.0533438 [1.15086, 0.197135, 142.637, 93.1682, 26.0843, 1.98246]
6 -0.0552559 [1.16682, 0.181277, 142.611, 93.1705, 27.2256, 3.62452]
7 -0.0499306 [1.17806, 0.163796, 142.586, 93.1626, 27.8154, 5.53527]
8 -0.0436633 [1.18673, 0.144479, 142.567, 93.1464, 27.8202, 7.53499]
9 -0.0373628 [1.19785, 0.129059, 142.55, 93.1295, 27.8735, 9.53404]
10 -0.0307262 [1.21034, 0.0999255, 142.53, 93.1149, 28.3516, 11.4756]
11 -0.0280043 [1.21907, 0.0717341, 142.518, 93.0946, 28.3674, 13.4752]
12 -0.0261761 [1.22857, 0.0535265, 142.507, 93.0742, 28.5985, 15.4616]
13 -0.0226728 [1.23642, 0.0331298, 142.5, 93.0514, 28.5777, 17.4612]
14 -0.022181 [1.24189, 0.0185733, 142.495, 93.0282, 28.7283, 19.4553]
15 -0.0190938 [1.25188, -0.00835667, 142.492, 93.0041, 28.7346, 21.455]
16 -0.0196048 [1.25686, -0.0400155, 142.497, 92.9792, 28.4755, 23.4377]
17 -0.0188159 [1.2638, -0.0595771, 142.508, 92.9557, 27.975, 25.3738]
18 -0.0174128 [1.27541, -0.0936444, 142.496, 92.9314, 29.3307, 26.8434]
I've done a deep analysis of the metrics value on my images, and it
is very regular, so the gradient approach seems to be good. The global
minimum with exhaustive search is good also.
I try the 1+1 evo optimizer, he is doing much better, but do not reach
the desired minimum.
I really don't understand where does this behaviour comes from !
Does anyone have any idea of the step I could have missed up ?
Thanks in advance,
Regards,
Yann
Le 16/06/2011 20:09, asertyuio a écrit :
>* Hi ITK Users !*>**>* After I solved some problems, I managed to do a "successful" *>* registration on my images, thanks ITK !*>* Now I want to raise the question of choosing a metric and an optimizer *>* more adapted to my particular data.*>* I confess I'm a bit lost in all the metrics and optimizer choice.*>**>* To clearly explain my problem :*>* I'm trying to align butterfly wings, that have been already segmented. *>* The segmentation process separates the different colour patches into *>* the wing and labels them. So I have a different colour number for each *>* wing with the RGB value for each too (it is common to have for example *>* one shade of orange for one wing, and both a light and dark orange for *>* another).*>* For the moment, I'm dealing with this by keeping only the intensity *>* value on a gray level image and I'm performing on it the registration *>* with 2D similarity transform (that I need to do), the MeanSquares *>* metrics and the regular step gradient optimizer and a mask to consider *>* wing only on metric calculation.*>* But now, I'm looking for a metric and optimizer that can take *>* advantage of my segmentation process, and thus could be faster (I'm *>* around 80 steps for about 30s)*>**>* There are two major problems with my images to take advantage of the *>* segmentation :*>**>* - The first one is that in different wings, the same label doesn't *>* mean same colour, and on the same wing 2 different labels may *>* correspond to relatively close colours. Therefore, I can't use the *>* cardinal metric.*>**>* - The second one is related to the wing themselves. I must register *>* wings that can vary a lot in colour, with for example a patch that can *>* be black on some wings and yellow on others. To address this, I was *>* thinking using mutual information metric, despite the fact that wings *>* have the same modality.*>**>**>* Scale factor is varying between 0.8 to 1.2, rotation between -30° to *>* +30°, and translation less than 50 px, my images are round 300*200 px.*>**>* Does it make sense to use mutual information on segmented images ?*>* Does anyone know a couple of metrics optimizers that would correspond *>* better to my images ?*>* Is there any way of limiting optimizer to avoid obvious *>* misregistration ( like one wing at 90° compare to another ) that *>* happen sometime ?*>**>* Thanks a lot for your insights !*>**>* Yann*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-users/attachments/20110703/4bc7f2c1/attachment.htm>
More information about the Insight-users
mailing list