1 | initial version |
I have no clue about this issue. However, since SIFT is a kinda state of the art descriptor, I justed wanted to raise attention to this post again. Taking the code snippet from above w. sigma = 1.5 and different nOctaveLayers, it results in:
nOctaveLayers = 2
sigma[0] 1.5
sigma[1] 1.5
sigma[2] 2.12132
sigma[3] 3
sigma[4] 4.24264
nOctaveLayers = 3
sigma[0] 1.5
sigma[1] 1.14963
sigma[2] 1.44844
sigma[3] 1.82493
sigma[4] 2.29926
sigma[5] 2.89689
nOctaveLayers = 4
sigma[0] 1.5
sigma[1] 0.965391
sigma[2] 1.14805
sigma[3] 1.36527
sigma[4] 1.62359
sigma[5] 1.93078
sigma[6] 2.2961
So, for nOctaveLayers = 2 you are right, but is it also wrong for higher Octavge-layers? And how is sigma then later used? Maybe s.o. else would like to dig in the code more and test if this is really a bug, or correct.
@researcholic: maybe you'd like to fill a bug-report at http://code.opencv.org/projects/OpenCV/wiki/WikiStart#Creating-new-tickets or better try first to verify the issue (maybe by comparison with other SIFT-libraries - e.g. the one of vlfeat) and then fix the bug and make a pull-request.