[ptx] Autopano-sift code improvement

alexandre jenny alexandre.jenny at le-geo.com
Tue Jul 20 16:23:58 BST 2004


Hi Sebastian,

That's a mail just for you but posted here, as I didn't managed to get
through the email protection of the faculty
(http://irb.cs.tu-berlin.de/dienste/email/helo_reject.html : I always get
the 554 error and mail back).

Anyway, here it is :
I found some errors in your code of autopano-sift.

- First in the calculation of gaussian map (function BuildGaussianMaps). The
first picture imgScaled[0] should also be convolved. It should not Be the
original (but resized picture alone). When thinking about it, it's
straightforward. If you need a true scale Invariance, every gaussian
difference should be separated by the same value (in lowe's paper, it's k =
2^(1/scale)). So the first picture should also Be convolved to the 1.6 value
to match this assertion. This modification change really the result in the
algorithm.

- Secondly, I notice some small error in the GetAdjustment function. The
calculus of second derivative is wrong for crossed variable. H[0, 1] = H[1,
0] = 0.5 * (above[x, y + 1] - above[x, y - 1] -
			(below[x, y + 1] - below[x, y - 1]));
H[0, 2] = H[2, 0] = 0.5 * (above[x + 1, y] - above[x - 1, y] -
			(below[x + 1, y] - below[x - 1, y]));
It's not 0.5 but 0.25 the factor. The good way of thinking is to that A
double derivation for 2 variables is 2 times the first one which can Be
expressed as 0.5*( value@(x-1) - value@(x+1) ). Applied twice, you Will have
2 times the factor 0.5 so, 0.25.

That's all I've noticed in your code. I looked at your ransac idea. It's a
simple idea that work great. I tried two approach for this stage, the
fundamental matrix calculation using 8 points and the your affine
transformation measure. Your idea works better.

Regards,
  Alexandre Jenny





More information about the ptX mailing list