<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
<title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
Hi all,<br>
<br>
I'm exploring the mattes mutual information metric with the
similarity transform. I have big problems with the regular step
gradient optimizer. <br>
<br>
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 ?<br>
<br>
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. <br>
I've played a lot with parameters without significant improvement.<br>
Here is an example :<br>
<br>
<small><small>0 -0.0794786 [1.08213, 0.215013, 142.753, 93.1165,
19.484, -5.38814]<br>
1 -0.0837397 [1.09388, 0.224094, 142.734, 93.1303, 21.0015,
-4.08564]<br>
2 -0.0781118 [1.10518, 0.231022, 142.713, 93.1446, 22.5308,
-2.79707]<br>
3 -0.07013 [1.11679, 0.230021, 142.688, 93.1515, 23.5889,
-1.10016]<br>
4 -0.060149 [1.13054, 0.220847, 142.661, 93.1574, 24.6365,
0.603225]<br>
5 -0.0533438 [1.15086, 0.197135, 142.637, 93.1682, 26.0843,
1.98246]<br>
6 -0.0552559 [1.16682, 0.181277, 142.611, 93.1705, 27.2256,
3.62452]<br>
7 -0.0499306 [1.17806, 0.163796, 142.586, 93.1626, 27.8154,
5.53527]<br>
8 -0.0436633 [1.18673, 0.144479, 142.567, 93.1464, 27.8202,
7.53499]<br>
9 -0.0373628 [1.19785, 0.129059, 142.55, 93.1295, 27.8735,
9.53404]<br>
10 -0.0307262 [1.21034, 0.0999255, 142.53, 93.1149, 28.3516,
11.4756]<br>
11 -0.0280043 [1.21907, 0.0717341, 142.518, 93.0946,
28.3674, 13.4752]<br>
12 -0.0261761 [1.22857, 0.0535265, 142.507, 93.0742,
28.5985, 15.4616]<br>
13 -0.0226728 [1.23642, 0.0331298, 142.5, 93.0514, 28.5777,
17.4612]<br>
14 -0.022181 [1.24189, 0.0185733, 142.495, 93.0282, 28.7283,
19.4553]<br>
15 -0.0190938 [1.25188, -0.00835667, 142.492, 93.0041,
28.7346, 21.455]<br>
16 -0.0196048 [1.25686, -0.0400155, 142.497, 92.9792,
28.4755, 23.4377]<br>
17 -0.0188159 [1.2638, -0.0595771, 142.508, 92.9557, 27.975,
25.3738]<br>
18 -0.0174128 [1.27541, -0.0936444, 142.496, 92.9314,
29.3307, 26.8434]</small></small><br>
<br>
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. <br>
I try the 1+1 evo optimizer, he is doing much better, but do not
reach the desired minimum.<br>
<br>
I really don't understand where does this behaviour comes from !<br>
<br>
Does anyone have any idea of the step I could have missed up ?<br>
<br>
Thanks in advance, <br>
<br>
Regards,<br>
<br>
Yann<br>
<br>
<br>
Le 16/06/2011 20:09, asertyuio a écrit :
<blockquote cite="mid:4DFA46C8.8090802@yahoo.fr" type="cite">Hi ITK
Users !
<br>
<br>
After I solved some problems, I managed to do a "successful"
registration on my images, thanks ITK !
<br>
Now I want to raise the question of choosing a metric and an
optimizer more adapted to my particular data.
<br>
I confess I'm a bit lost in all the metrics and optimizer choice.
<br>
<br>
To clearly explain my problem :
<br>
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).
<br>
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.
<br>
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)
<br>
<br>
There are two major problems with my images to take advantage of
the segmentation :
<br>
<br>
- 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.
<br>
<br>
- 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.
<br>
<br>
<br>
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.
<br>
<br>
Does it make sense to use mutual information on segmented images ?
<br>
Does anyone know a couple of metrics optimizers that would
correspond better to my images ?
<br>
Is there any way of limiting optimizer to avoid obvious
misregistration ( like one wing at 90° compare to another ) that
happen sometime ?
<br>
<br>
Thanks a lot for your insights !
<br>
<br>
Yann
<br>
<br>
<br>
</blockquote>
<br>
</body>
</html>