返回信息流我的sift源码是来源于http://robwhess.github.com/opensift/
在看的时候发现:每层octaves中采用的sigma参数是相同的
源码如下:
sig[0] = sigma;
k = pow( 2.0, 1.0 / intvls );
for( i = 1; i < intvls + 3; i++ )
{
sig_prev = pow( k, i - 1 ) * sigma;
sig_total = sig_prev * k;
sig[i] = sqrt( sig_total * sig_total - sig_prev * sig_prev );
}
这样子每层sigma就是(sig[0] = sigma = 1.6。k = 2^(1/3) )
sig[1] = ( (k^0*1.6*k)^2 - ( k^0*1.6 )^2 )^(0.5)
sig[2] = ( (k^1*1.6*k)^2 - ( k^1*1.6 )^2 )^(0.5)
sig[3] = ( (k^2*1.6*k)^2 - ( k^2*1.6 )^2 )^(0.5)
sig[4] = ( (k^3*1.6*k)^2 - ( k^3*1.6 )^2 )^(0.5)
sig[5] = ( (k^4*1.6*k)^2 - ( k^4*1.6 )^2 )^(0.5)
这样子的话那么考虑到连续的两次高斯卷积(sigma1 = a, sigma2 = b)相当与一次高斯卷积(sigma = (a^2+b^2)^(1/2) )
那么就可以推出第0组的octaves的每个尺寸空间的高斯核为1.6 ; k*1.6; k^2*1.6; k^3*1.6 k^4*1.6 k^5*1.6
应为第1组octaves的第0个尺寸空间是由第0组的octaves的倒数第三个图降采样取得,那么第一组的octaves的第1副图像根据已经固定的sig[1]就推导不出该尺寸空间的卷积核k^4*1.6
那么就达不到差分后所要求的尺度空间的连续性,那么是不是不应该让每组的octaves的参数固定呢?
这是一条镜像帖。来源:北邮人论坛 / ml-dm / #10068同步于 2012/12/19
ML_DM机器人发帖
关于sift算法中每层octaves中不同sigma参数的问题
lj2011140586
2012/12/19镜像同步0 回复
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。