SIFT: Scale Invariant Feature Transform(尺度不变特征转换)
先介绍第一部分:
在不同图片之间进行特征匹配是计算机图形学中一个常见的问题。
在一般情况下,简单的角点检测就能达到目的。
但是,当你拥有的图片不同尺寸,或者不同角度,sift算法就能派上用场。
Sift是一个相当复杂的算法,需要相应的知识,而且很容易使人糊涂。我将算法分为以下如下几个部分:
这是初始步骤。你可以创建对原始图像的内部表示来保证尺寸不变,这就是构建尺度空间的工作。
二、高斯--拉普拉斯(Laplacian of Gaussian)算子:
LOG算子常用于在图像中查找关键点。但有相当的时间和空间复杂度,所以我们使用第一步骤中创建的尺度空间。
三、查找关键点:
在第二个步骤的基础上,我们查找关键点。由此我们需要第二步骤中计算出的高斯差(DOG)。可参见:
http://zh.wikipedia.org/wiki/高斯差 。
四、去除不良的关键点:
边缘和低对比度区域是不良关键点。消除这些点使算法高效,具有更好的鲁棒性。其中使用了
类似Harris角点检测的技术。
五、为关键点分配方向:
对每一个关键点都可以计算出一个方向。更进一步的计算都是与这个方向相关的。
六、计算sift特征点:
最后,我们能独一无二地找出这些特征点。
注意:这个算法是有专利的!!!
以后,会针对上述六个方面进行说明。