sift学习备注5

 在计算特征点的亚像素尺度时,有下面的两行代码,好久才理解

feat->scl = sigma * pow( 2.0, ddata->octv + intvl / intvls );
  ddata->scl_octv = sigma * pow( 2.0, intvl / intvls );
因为k=pow(2.0,1.0/intvls),
则两个octave之间的sigma刚好相差2的一次方,因此有pow( 2.0, ddata->octv + intvl / intvls );
sigma在计算gaussian金字塔的时候用到。寻找极值是在dog金字塔中的1..intvls层,注意不是0开始。
这些地方视乎和Lowe论文中,k和sigma是实验取得的不完全一样。不过lingberg好像有篇论文讲的是如果自动选择scale,不知道是否和这个有关。
 

你可能感兴趣的:(sift学习备注5)