SIFT特征匹配与检索

OpenCV提供的视觉处理算法非常丰富,并且她部分以C语言编写,加上其开源的特性,处理得当,不需要添加新的外部支持也可以完整的编译连接生成执行程序。

1.SIFT简介

SIFT(Scale-invariant feature transform),也叫尺度不变特征变换算法,是David Lowe 在文献 [17] 中提出的 SIFT(Scale-Invariant Feature Transform,尺度不变特征变换)是过去十年中最成功的图像局部描述子之一。SIFT 特征后来在文献[18] 中得到精炼并详述,经受住了时间的考验。SIFT 特征包括兴趣点检测器和描述子。SIFT 描述子具有非常强稳健性,这在很大程度上也是 SIFT 特征能够成功和流行的主要原因。自从 SIFT 特征的出现,许多其他本质上使用相同描述子的方法也相继出现。现在,SIFT 描述符经常和许多不同的兴趣点检测器相结合使用(有些情况下是区域检测器),有时甚至在整幅图像上密集地使用。SIFT 特征对于尺度、旋转和亮度都具有不变性,因此,它可以用于三维视角和噪声的可靠匹配。
 
SIFT算法的实质是:“不同的尺度空间上查找关键点(特征点),并计算出关键点的方向” ,SIFT所查找到的关键点是一些十分突出,不会因光照,仿射变换和噪音等因素而变化的点,如角点、边缘点、暗区的亮点及亮区的暗点等。

2.SIFT算法的特点:

1. SIFT特征是图像的局部特征,其对旋转、尺度缩放、亮度变化保持不变性,对视角变化、仿射变换、噪声也保持一定程度的稳定性;

2. 独特性(Distinctiveness)好,信息量丰富,适用于在海量特征数据库中进行快速、准确的匹配;

3. 多量性,即使少数的几个物体也可以产生大量的SIFT特征向量;

4. 高速性,经优化的SIFT匹配算法甚至可以达到实时的要求;

5. 可扩展性,可以很方便的与其他形式的特征向量进行联合。

3.Lowe将SIFT算法分解为如下四步:

① 尺度空间极值检测:搜索所有尺度上的图像位置。通过高斯微分函数来识别潜在的对于尺度和旋转不变的兴趣点。

② 关键点定位:在每个候选的位置上,通过一个拟合精细的模型来确定位置和尺度。关键点的选择依据于它们的稳定程度。

③ 方向确定:基于图像局部的梯度方向,分配给每个关键点位置一个或多个方向。所有后面的对图像数据的操作都相对于关键点的方向、尺度和位置进行变换,从而提供对于这些变换的不变性。

④ 关键点描述:在每个关键点周围的邻域内,在选定的尺度上测量图像局部的梯度。这些梯度被变换成一种表示,这种表示允许比较大的局部形状的变形和光照变化。

4.实验环境

5.实验内容与小结

5.1图像数据集

本数据集主要以建筑物为主体,图片都来自不同的场景,构成了一个有20张图片的数据集。

5.2SIFT特征提取

6.实验中遇到的问题与解决方案

7.实验总结

猜你喜欢

转载自www.cnblogs.com/twzh123456/p/12439701.html
今日推荐