当前位置:首页 » 操作系统 » sift算法特征

sift算法特征

发布时间: 2022-06-17 02:52:26

1. sift算法中特征点和关键点是同一个描述么都是指一个像素单元还是指什么

特征点和关键点都是同一个概念,还可以叫做兴趣点,它们都是角点,是指一个梯度的大小和方向变换都很快的像素点。

2. SIFT变换的介绍

SIFT特征 (Scale-invariant feature transform,尺度不变特征转换) 是一种计算机视觉的算法,用来侦测与描述影像中的局部性特征,它在空间尺度中寻找极值点,并提取出其位置、尺度、旋转不变量。此算法由 David Lowe在1999年所发表,2004年完善总结。其应用范围包含物体辨识、机器人地图感知与导航、影像缝合、3D模型建立、手势辨识、影像追踪和动作比对。此算法有其专利,专利拥有者为 英属哥伦比亚大学。

3. sift算法得到的特征点如何用坐标描述

在我写的关于sift算法的前俩篇文章里头,已经对sift算法有了初步的介绍:九、图像特征提取与匹配之SIFT算法,而后在:九(续)、sift算法的编译与实现里,我也简单记录下了如何利用opencv,gsl等库编译运行sift程序。
但据一朋友表示,是否能用c语言实现sift算法,同时,尽量不用到opencv,gsl等第三方库之类的东西。而且,Rob Hess维护的sift 库,也不好懂,有的人根本搞不懂是怎么一回事。
那么本文,就教你如何利用c语言一步一步实现sift算法,同时,你也就能真正明白sift算法到底是怎么一回事了。

4. sift算法是什么

Sift算法是David Lowe于1999年提出的局部特征描述子,并于2004年进行了更深入的发展和完善。Sift特征匹配算法可以处理两幅图像之间发生平移、旋转、仿射变换情况下的匹配问题,具有很强的匹配能力。

这一算法的灵感也十分的直观,人眼观测两张图片是否匹配时会注意到其中的典型区域(特征点部分),如果我们能够实现这一特征点区域提取过程,再对所提取到的区域进行描述就可以实现特征匹配了。

sift算法的应用

SIFT算法目前在军事、工业和民用方面都得到了不同程度的应用,其应用已经渗透了很多领域,典型的应用如下:物体识别;机器人定位与导航;图像拼接;三维建模;手势识别;视频跟踪;笔记鉴定;指纹与人脸识别;犯罪现场特征提取。

5. sift的特征描述子是一副图像的还是每一层都有

SIFT是我接触最早的图像局部特征描述子之一,其实最初,始终觉得局部特征描述子是些非常玄虚的东西。对于SIFT,这种感觉更是尤为强烈,“尺度空间”“拉普拉斯高斯算子(LoG)”“高斯差分金字塔”,一系列让人头痛的概念。不过,反反复复看了几次,渐渐也就有了感觉,在此总结一下。

物体识别的核心问题是将同一目标在不同时间、不同分辨率、不同光照、不同位姿情况下所成的像相相匹配。而为了进行匹配,我们首先要合理的表示图像。由于目标的自身状态、场景所处的环境的影响,同一类物体在不同的图像中所成的像往往会差别很大,但即使这样,人们所能通过同一物体的一些局部共性来识别出物体(正如我们能将不同国家民族的人区分出来)。所谓局部特征描述子就是用来刻画图像中的这些局部共性的,而我们也可以将一幅图像映射(变换)为一个局部特征的集合。理想的局部特征应具有平移、缩放、旋转不变性,同时对光照变化、仿射及投影影响也应有很好的鲁棒性。传统的局部特征往往是直接提取角点或边缘,对环境的适应能力较差。1999年British Columbia大学 David G.Lowe 教授总结了现有的基于不变量技术的特征检测方法,并正式提出了一种基于尺度空间的、对图像缩放、旋转甚至仿射变换保持不变性的图像局部特征描述算子-SIFT(尺度不变特征变换),这种算法在2004年被加以完善。

SIFT算法的实质可以归为在不同尺度空间上查找关键点(特征点)的问题。所谓关键点,就是一些十分突出的点,这些点不会因光照条件的改变而消失,比如角点、边缘点、暗区域的亮点以及亮区域的暗点,既然两幅图像中有相同的景物, 那么使用某种方法分别提取各自的稳定点,这些点之间就会有相互对应的匹配点。而在SIFT中,关键点是在不同尺度空间的图像下检测出的具有方向信息的局部极值点。涉及到的最重要的两步是:1.构建尺度空间 2.关键点检测

构建尺度空间
先来谈谈尺度的问题。我们要精确表示的物体都是通过一定的尺度来反映的。现实世界的物体也总是通过不同尺度的观察而得到不同的变化。比如说,对同一物体拍照,我们拍摄了一副近景,一副远景,虽然两幅图片中都有这个物体,但这个物体确是处于两个不同的尺度。SIFT特征具有尺度不变性,就是说即使同一物体处于两个不同的尺度的图像中,我们仍可以通过提取图像的SIFT特征匹配成功。

图像的尺度有多种表示方法(金字塔、八叉树等等),在SIFT中Lowe教授采用了尺度空间理论。其主要思想是通过对原始图像进行尺度变换,获得图像多尺度下的尺度空间表示序列,并检测这个序列中的关键点。这样图片就被映射为多个尺度上的关键点信息,尽管两幅图片是处于不同的尺度,但却可以提取出在尺度变换中没有改变的关键点,从而进行关键点匹配,进而识别出物体。

实际上,在尺度空间理论中,是通过对图像进行模糊来模拟多尺度下的图像。直观上,图像的模糊程度逐渐变大,模拟了人在距离目标由近到远时目标在视网膜上的形成过程。文献《Scale-space theory: A basic tool for analysing structures at different scales》证明,高斯核是唯一可以产生多尺度空间的核(其它核会对图像造成模糊之外的其它影响)。一个图像的尺度空间, L(x,y,σ) (σ 可以代表尺度的大小) ,定义为原始图像 I(x,y)与一个可变尺度的2维高斯函数 G(x,y,σ) 卷积运算。高斯函数:

G(x,y,σ)=12πσ2e−(x2+y2)/(2σ2)

L(x,y,σ)=G(x,y,σ)∗I(x,y)
需要的注意的是,图像的尺度是自然存在的,不是人为创造的!高斯卷积只是表现尺度空间的一种形式。(在SIFT的代码中,进行高斯模糊时,用到了高斯模糊的“勾股定理”:例如,使用半径分别为 6 和 8 的两次高斯模糊变换得到的效果等同于一次半径为 10 的高斯模糊效果)。

图1:高斯金字塔
在SIFT中,构建了高斯金字塔(如图1所示),即分为两步:1)对图像做高斯平滑 2)对图像做降采样(减小计算量)。一幅图像可以产生几组(octave)图像,一组图像包括几层(interval)图像。为了让尺度体现出连续性,相邻两层图像间的尺度为k倍的关系,同时相邻两组的同一层尺度为2倍的关系(在SIFT算法中,Lowe教授假设初始图片已经是以一定 σ 模糊过得了)。

关键点检测
文献《Scale-space theory: A basic tool for analysing structures at different scales》指出尺度规范化的LoG算子具有真正的尺度不变性。即我们可以在不同尺度的图像(已经经过高斯卷积)上进行拉普拉斯运算(二阶导数),并求极值点,从而求出关键点。

6. sift特征点匹配怎么去除不好的特征点

一、特征点(角点)匹配 图像匹配能够应用的场合非常多,如目标跟踪,检测,识别,图像拼接等,而角点匹配最核心的技术就要属角点匹配了,所谓角点匹配是指寻找两幅图像之间的特征像素点的对应关系,从而确定两幅图像的位置关系。 角点匹配可以分为以下四个步骤: 1、提取检测子:在两张待匹配的图像中寻找那些最容易识别的像素点(角点),比如纹理丰富的物体边缘点等。 2、提取描述子:对于检测出的角点,用一些数学上的特征对其进行描述,如梯度直方图,局部随机二值特征等。检测子和描述子的常用提取方法有:sift,harris,surf,fast,agast,brisk,freak,brisk,brief/orb等。 3、匹配:通过各个角点的描述子来判断它们在两张图像中的对应关系,常用方法如 flann等。 4、消噪:去除错误匹配的外点,保留正确的匹配点。常用方法有KDTREE,BBF,Ransac,GTM等。 二、SIFT匹配方法的提出 为了排除因为图像遮挡和背景混乱而产生的无匹配关系的关键点,SIFT的作者Lowe提出了比较最近邻距离与次近邻距离的SIFT匹配方式:取一幅图像中的一个SIFT关键点,并找出其与另一幅图像中欧式距离最近的前两个关键点,在这两个关键点中,如果最近的距离除以次近的距离得到的比率ratio少于某个阈值T,则接受这一对匹配点。因为对于错误匹配,由于特征空间的高维性,相似的距离可能有大量其他的错误匹配,从而它的ratio值比较高。显然降低这个比例阈值T,SIFT匹配点数目会减少,但更加稳定,反之亦然。 Lowe推荐ratio的阈值为0.8,但作者对大量任意存在尺度、旋转和亮度变化的两幅图片进行匹配,结果表明ratio取值在0. 4~0. 6 之间最佳,小于0. 4的很少有匹配点,大于0. 6的则存在大量错误匹配点,所以建议ratio的取值原则如下: ratio=0. 4:对于准确度要求高的匹配; ratio=0. 6:对于匹配点数目要求比较多的匹配; ratio=0. 5:一般情况下。 三、常见的SIFT匹配代码 1、vlfeat中sift toolbox中的vl_ubcmatch.c使用的是普通的欧氏距离进行匹配(该SIFT代码贡献自Andrea Vedaldi)。 2、Lowe的C++代码中使用的是欧氏距离,但是在matlab代码中为了加速计算,使用的是向量夹角来近似欧氏距离:先将128维SIFT特征向量归一化为单位向量(每个数除以平方和的平方根),然后点乘来得到向量夹角的余弦值,最后利用反余弦(acos函数)求取向量夹角。实验证明Lowe的办法正确率和耗时都很不错。 同样,也可以采用knnsearch函数求最近点和次近点:knnsearch采用euclidean距离时得到的结果与lowe采用的近似方法结果几乎一致,正好印证了模拟欧氏距离的效果。 3、Rob Hess的OpenSIFT采用了KDTREE来对匹配进行优化。 4、CSDN大神v_JULY_v实现了KDTREE+BBF对SIFT匹配的优化和消除错误匹配:从K近邻算法、距离度量谈到KD树、SIFT+BBF算法 - 结构之法 算法之道 - 博客频道 - CSDN.NET。 5、OpenCV中features2d实现的SIFT匹配有多种matcher:VectorDescriptorMatcher,BFMatcher(Brute-force descriptor matcher),FernDescriptorMatcher,OneWayDescriptorMatcher,FlannBasedMatcher 等等。目前只知道采用knnsearch,提供了多种距离度量方式,具体区别不懂。

7. 如何比较SIFT,SURF,Harris-SIFT图像匹配算法性能

SIFT匹配(Scale-invariant feature transform,尺度不变特征转换)是一种电脑视觉的算法用来侦测与描述影像中的局部性特征,它在空间尺度中寻找极值点,并提取出其位置、尺度、旋转不变量,此算法由 David Lowe 在1999年所发表,2004年完善总结。其应用范围包含物体辨识、机器人地图感知与导航、影像缝合、3D模型建立、手势辨识、影像追踪和动作比对。
局部影像特征的描述与侦测可以帮助辨识物体,SIFT 特征是基于物体上的一些局部外观的兴趣点而与影像的大小和旋转无关。对于光线、噪声、些微视角改变的容忍度也相当高。基于这些特性,它们是高度显着而且相对容易撷取,在母数庞大的特征数据库中,很容易辨识物体而且鲜有误认。使用 SIFT特征描述对于部分物体遮蔽的侦测率也相当高,甚至只需要3个以上的SIFT物体特征就足以计算出位置与方位。在现今的电脑硬件速度下和小型的特征数据库条件下,辨识速度可接近即时运算。SIFT特征的信息量大,适合在海量数据库中快速准确匹配。
2、SIFT特征的主要特点
从理论上说,SIFT是一种相似不变量,即对图像尺度变化和旋转是不变量。然而,由于构造SIFT特征时,在很多细节上进行了特殊处理,使得SIFT对图像的复杂变形和光照变化具有了较强的适应性,同时运算速度比较快,定位精度比较高。如:
在多尺度空间采用DOG算子检测关键点,相比传统的基于LOG算子的检测方法,运算速度大大加快;
关键点的精确定位不仅提高了精度,而且大大提高了关键点的稳定性;
在构造描述子时,以子区域的统计特性,而不是以单个像素作为研究对象,提高了对图像局部变形的适应能力;

8. 什么是sift特征

sift特征匹配算法总结主要步骤
1)、尺度空间的生成;

2)、检测尺度空间极值点;

3)、精确定位极值点;

4)、为每个关键点指定方向参数;
5)、关键点描述子的生成。

9. sift算法特征点如何匹配

其实sift的匹配是有好几种的,比如说1NN和别的数据作比较,数值小于 0.8+RANSAC的话,就是一个合格的模拟了。

热点内容
动态规划01背包算法 发布:2024-11-05 22:17:40 浏览:849
nasm编译器如何安装 发布:2024-11-05 22:01:13 浏览:181
登录密码在微信的哪里 发布:2024-11-05 22:00:29 浏览:739
c防止反编译工具 发布:2024-11-05 21:56:14 浏览:248
安卓虚拟机怎么用 发布:2024-11-05 21:52:48 浏览:344
php时间搜索 发布:2024-11-05 20:58:36 浏览:479
燕山大学编译原理期末考试题 发布:2024-11-05 20:13:54 浏览:528
华为电脑出现临时服务器 发布:2024-11-05 20:05:08 浏览:408
斗战神免费挖矿脚本 发布:2024-11-05 19:53:25 浏览:665
网吧服务器分别是什么 发布:2024-11-05 19:45:32 浏览:392