sift算法学习


SIFT: Scale Invariant Feature Transform(尺度不变特征转换)

先介绍第一部分:

在不同图片之间进行特征匹配是计算机图形学中一个常见的问题。

在一般情况下,简单的角点检测就能达到目的。

但是,当你拥有的图片不同尺寸,或者不同角度,sift算法就能派上用场。


Sift是一个相当复杂的算法,需要相应的知识,而且很容易使人糊涂。我将算法分为以下如下几个部分:

一、构建尺度空间:

这是初始步骤。你可以创建对原始图像的内部表示来保证尺寸不变,这就是构建尺度空间的工作。


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

LOG算子常用于在图像中查找关键点。但有相当的时间和空间复杂度,所以我们使用第一步骤中创建的尺度空间。


三、查找关键点:

在第二个步骤的基础上,我们查找关键点。由此我们需要第二步骤中计算出的高斯差(DOG)。可参见

http://zh.wikipedia.org/wiki/高斯差 。


四、去除不良的关键点:

边缘和低对比度区域是不良关键点。消除这些点使算法高效,具有更好的鲁棒性。其中使用了

类似Harris角点检测的技术。


五、为关键点分配方向:

对每一个关键点都可以计算出一个方向。更进一步的计算都是与这个方向相关的。


六、计算sift特征点:

最后,我们能独一无二地找出这些特征点。


注意:这个算法是有专利的!!!

以后,会针对上述六个方面进行说明。

 

你可能感兴趣的:(工作,算法,图形)