SIFT难点分析

来源:互联网 发布:哪个软件可以订民宿 编辑:程序博客网 时间:2024/05/22 12:16

sift (3)

1、在Lowe的文章中,Lowe使用了如下的参数:



首先,sigma0=0.5是人为定义的。对一幅图像进行多次连续高斯模糊的效果与一次更大的高斯模糊可以产生同样的效果,大的高斯模糊的半径是所用多个高斯模糊半径平方和的平方根。例如,使用半径分别为6和8的两次高斯模糊变换得到的效果等同于一次半径为10的高斯模糊效果,根据这个关系,使用多个连续较小的高斯模糊处理不会比单个高斯较大处理时间要少。


2、Hessian 矩阵两种计算方法。

记得在看harris角点时,hessian矩阵中计算x的二阶偏导为一阶偏导的平方Ix2=Ix*Ix,然后在卷积一高斯模板。这次在查看一matlab的sift源码,发现x的二阶偏导是在做了二次梯度求解。个人觉得后者好理解,但前者一直没有理解。难道两者的关系和DOG算子与LOG算子的区别一致。

 

3、S=3,每组为6层。这么奇怪的对应关系?怎么不是每组4层分别为0,1,2,3?上一组图像的底层是由前一组图像的倒数第二层图像隔点采样生成的?

 

这样可以在DOG空间保持尺度的连续性,即下图蓝线的连续性。

 

4、上一组图像的底层是由前一组图像的倒数第二层图像隔点采样生成的。这和金子塔下采样简直一摸一样,但实际上是不同的。Lowe的论文中提到Once a complete octave has been processed , we resample the Gaussian image that has twice the initial value of by taking every second pixel in each row and column. The accuracy of sampling relative tois no different than for the start of the previous octave,while computation is greatly reduced. 所以下采样的主要原因是为了在不影响精度的情况下减少计算量,当然如果计算速度极快,那么一组GOD就可以搞定了。


不仔细看这幅图,容易混淆概念。

 

我看的matlab源码中计算方法为

         B(1,1) = Dxx ;

         B(2,2) = Dyy ;

         B(3,3) = Dss ;

         B(1,2) = Dxy ;

         B(1,3) = Dxs ; 

         B(2,3) = Dys ;

         B(2,1) = Dxy ;

         B(3,1) = Dxs ;

         B(3,2) = Dys ; 

        

         b(1) = - Dx ;

         b(2) = - Dy ;

         b(3) = - Ds ;

           x=b/B;

原创粉丝点击