Sift算法-----part2

来源:互联网 发布:国外海关数据 编辑:程序博客网 时间:2024/04/29 19:31

Sift算法-----part2

 


 

 

 

 

前言:

      在上一个步骤中,我们创建了图像的尺度空间,即逐步模糊图片,缩小它然后依次类推。现在,我们将使用模糊的图片去创建一系列的图片--高斯差(DOG)。这些DOG对找出图像的关键点十分重要。

 


 

 

 

高斯--拉普拉斯(Laplacian of Gaussian)算子:

      LOG算法的步骤如下:对原始图像进行模糊,然后,根据该图像计算出二阶导数(Laplacian)。这样会得出图像上的边缘和角点,这些边缘和角点对找到关键点很重要。

      但是二阶导数对噪点很敏感,模糊可以消除某些噪点是更容易地计算出二阶导数。

难度是,计算出所有这些二阶导数的时间和空间复杂度均很高,所有我们必须优化他们。

 

 


 

 

 

 

优化方法:

      为了使计算LOG更加迅速,我们使用第一步所创建的尺度空间。我们计算出连续两个尺度之间的差,也就是DOG,如图:

                       

 

      这些高斯差接近于LOG,因此我们可以用DOG来代替LOG,这样的时间复杂度大大降低,太帮了!

      另外这些DOG还有另一个非常重要的好处,他能保证尺度不变,great!

 

 


 

 

 

 

对尺度不变的解释:

      LOG并不是尺度不变的,因为他们取决于你所对图片进行模糊的程度,可以看看这个高斯公式:

                                                       

     你是否注意到表达式中σ2,这就是尺度,如果我们能够消除它,我们就能保证尺度的独立性,如果LOG用下图的符号表示:

                                                                              

     那么尺度不变的LOG的表达式应是这样:

                                                                           

     前面表达式的复杂度被DOG所消除,而且结果图片中的表达式中已经被乘以了σ2


 

 


边界效应:


     如果不考虑边界效应,你是不能到达上面所述的那种效果的。

     现在知道DOG的效果是被乘以σ2,但是同时被乘以了另一个常数K,就是我们在前面讨论过的K

       正如我们是查找图片中的最大值和最小值的分布情况,我们不会检查图像中真实值,而是他们的分布情况,因此k就是一个小case(乘以一个正,常数不会改变最大值和最小值的分布情况)


 

 

 

总结:

     在一个容器中连续的两张图片,得到的图片是两者之差,连续对每一个容器重复进行这些步骤。

    任何疑问或者建议,请在下面留言,你的关注就是我的动力。

原创粉丝点击