SIFT尺度不变特征变换算法 - 图文

更新时间:2023-12-04 13:15:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1、SIFT 尺度不变特征变换算法

David Lowe关于SIFT算法,2004年发表在Int. Journal ofComputer Vision的经典论文中,对尺度空间(scale space)是这样定义的:

It has been shown by Koenderink (1984) and Lindeberg (1994) that under a variety ofreasonable assumptions the only possible scale-space kernel is the Gaussian function.Therefore,the scale space of an image is defined as a function, L(x; y; delta) that is

produced from the convolution of a variable-scale Gaussian, G(x; y; delta), with an input image, I(x; y):

因此,一个图像的尺度空间,L(x,y,delta) ,定义为原始图像I (x,y)与一个可变尺度的2维高斯函数G(x,y,delta)卷积运算。

关于图象处理中的空间域卷积运算,可以参考经典的图像处理教材(比如美国冈萨雷斯的图象处理,第二版,或者其 Matlab版,都有如何在离散空间进行运算的例子和说明)

注:原文中delta为希腊字母,这里无法表示,用delta代替。Sift算法中,提到了尺度空间,请问什么是尺度和尺度空间呢?

在上述理解的基础上,尺度就是受delta这个参数控制的表示。而不同的L(x,y,delta)就构成了尺度空间(Space,我理解,由于描述图像的时候,一般用连续函数比较好描述公式,所以,采用空间集合,空间的概念正规一些),实际上,具体计算的时候,即使连续的高斯函数,

都要被离散为(一般为奇数大小)(2*k+1) *(2*k+1)矩阵,来和数字图像进行卷积运算。

1、 SIFT 算法提出及其改进

SIFT算法由D.G.Lowe 1999年提出,2004年完善总结。代表性文献 [1]David G. Lowe, \features,\ International Conference on Computer Vision, Corfu, Greece (September 1999), pp.1150-1157.

[2] David G. Lowe, \

scale-invariant keypoints,\ International Journal of Computer Vision, 60, 2 (2004), pp. 91-110. 具体的MATLAB代码在

http://www.cs.ubc.ca/~lowe/keypoints/ 可以下载。

Rob Hess 基于GSL和Opencv编写了C语言程序。具体的代码可以在

http://web.engr.oregonstate.edu/~hess/index.html 中下载,可以在VC++.net环境中运行,在调试时要注意对GSL和Opencv的正确配置。 后来Y.Ke将其描述子部分用PCA代替直方图的方式,对其进行改进。 [3] Y. Ke and R. Sukthankar. PCA-SIFT: A More Distinctive

Representation for Local Image Descriptors.Computer Vision and Pattern Recognition, 2004 Yanke?s homepage:

http://www.andrew.cmu.edu/user/yke/ 2、SIFT算法主要思想

SIFT算法是一种提取局部特征的算法,在尺度空间寻找极值点,提取位置,尺度,旋转不变量。 3、 SIFT算法的主要特点:

a) SIFT特征是图像的局部特征,其对旋转、尺度缩放、亮度变化保持不变性,对视角变化、仿射变换、噪声也保持一定程度的稳定性。 b) 独特性(Distinctiveness)好,信息量丰富,适用于在海量特征数据库中进行快速、准确的匹配[23]。

c) 多量性,即使少数的几个物体也可以产生大量SIFT特征向量。 d) 高速性,经优化的SIFT匹配算法甚至可以达到实时的要求。 e) 可扩展性,可以很方便的与其他形式的特征向量进行联合。 4、SIFT算法步骤:

Sift特征匹配算法主要包括两个阶段,一个是Sift特征的生成,即从多幅图像中提取对尺度缩放、旋转、亮度变化无关的特征向量;第二阶段是Sift特征向量的匹配。

Sift特征的生成一般包括以下几个步骤:

1、构建尺度空间,检测极值点,获得尺度不变性;

2、特征点过滤并进行精确定位;

3、为特征点分配方向值;

4、生成特征描述子。

以特征点为中心取16*16的邻域作为采样窗口,将采样点与特征点的相对方向通过高斯加权后归入包含8个bin的方向直方图,最后获得4*4*8的128维特征描述子。示意图如下:

当两幅图像的Sift特征向量生成以后,下一步就可以采用关键点特征向量的欧式距离来作为两幅图像中关键点的相似性判定度量。取图1的某个关键点,通过遍历找到图像2中的距离最近的两个关键点。在这

本文来源:https://www.bwwdw.com/article/07wt.html

Top