sift算子研究

sift算子研究
sift算子研究

一,SIFT简介

1,产生历史

David G. Lowe在1999年提出了尺度不变的特征(Scale-Invariant Feature),用来进行物体的识别和图像匹配等[1],并于2004年进行了更深入的发展和并加以完善[2]。SIFT (Scale-Invariant Feature Transform)算子是一种图像的局部描述子,具有尺度、旋转、平移的不变性,而且对光照变化、仿射变换和3维投影变换具有一定的鲁棒性[1]。在Mikolajczyk对包括SIFT算子在内的十种局部描述子所做的不变性对比实验中,SIFT及其扩展算法已被证实在同类描述子中具有最强的健壮性。

2,算法思想

算法的主要思想是在尺度空间寻找极值点,然后对极值点进行过滤,找出稳定的特征点。最后在每个稳定的特征点周围提取图像的局部特性,形成局部描述子并将其用在以后的匹配中。SIFT算法是基于Lindeberg[4]的理论解决了尺度不变性的问题,本文会对尺度空间理论做一些介绍。

3,算法优点及应用

特征除具有前面所述的优点外,还具有很好的独特性,适于在海量特征数据库中进行快速、准确的匹配;另外,算法产生的特征点在图像中的密度很大,速度可以达到实时要求;由于SIFT特征描述子是向量的形式,它可以与其他形式的特征向量进行联合。SIFT的应用十分广泛,包括目标识别、机器人视觉、图像检索、图像拼接、3D建模、手势识别、视频跟踪和运动匹配等。

二,尺度空间理论

SIFT算法提取的特征点具有尺度不变性,也就是说,同一物体在图片上不论尺度大小,都能根据SIFT算法提取到相同的特征点。这种尺度不变性是根据尺度空间理论得来的。

1,尺度思想提出

对于计算机来说,一个基本的问题是一副图片中哪些点是相互关联的以及哪些点对应着图片场景中的一个物体。这就是原始分组和知觉组织的问题。从认知学的角度讲,在一幅图像中,即使对一个事物没有概念,或者并不熟悉它,人仍然能够感知此物体的结构。对于人脑来说,即使不知道为什么,也能推测场景中什么是重要的,什么仅是背景而已。

多尺度表示的概念很容易理解,举例说明,绘制地图时会有比例尺的概念。世界地图中就只能够显示大洲大洋,以及较大的地域和国家;而一个城市地图,甚至可以详细的显示出每条街道。

2,多尺度表示

在进行图像处理和图像理解时,从图像中提取何种信息,对图像进行何种操作,都是要考虑的基本问题。为了有效的回答这些基本问题,可以对图像分阶段处理,前一阶段处理得到的信息可供后续的处理使用。

多尺度表示事先并不知道到底要使用哪些尺度,所以要计算得出所有的尺度以供后面的步骤使用。一个多尺度表示的示意图如图1所示。

实现多尺度表示有多种方式,比如,早期会采用四分树或者八分树,以及图像金字塔。金字塔是结合降采样操作和平滑操作的一种图像表示方式。它的一个很大的好处是,自下而上每一层的像素数都不断减少,这会大大减少计算量;而缺点是自下而上金字塔的量化变得越来越粗糙,而且速度很快。(需要强调的是,这里的金字塔构造方法和小波金字塔的构造方法是类似的,对某一层的图像进行平滑之后,再做降采样,平滑目的是为了降采样后的像素点能更好的代表原图像的像素点,与多尺度表示中的平滑完全不是一个目的)。图2是金字塔表示法的一个示例。

金字塔表示法

上面提到的四分树或者八分树以及金字塔表示法,在获得多尺度时所采取的步骤是相当粗略的,尺度与尺度之间的“间隔”太大。而这里要提到的“尺度空间”(Scale-Space)表示法是多尺度表示的另外一种有效方法,它的尺度参数是连续的,并且所有尺度上空间采样点个数是相同的(实际上,一个尺度上得到的就是一幅图像,尺度空间采样点也就是该尺度上图像的像素点。也就是说,尺度空间表示法在各个尺度上图像的分辨率都是一样的)。

尺度空间表示和金字塔表示的对比。由此也可以形象的看出多尺度和多分辨率的区别。多尺度在所有尺度上像素数是相同的,细节通过平滑逐步丢失。

三,SIFT方法介绍

SIFT特征的优点在前面已经做了说明,下面将对SIFT方法做详细的介绍。SIFT算法有以下几个步骤:

1. 检测尺度空间的极值点。

2. 抽取稳定的关键点。

3. 为每个关键点指定一个或者多个方向。

4. 生成特征点描述子。

3.1尺度空间的极值检测

提取尺度不变的特征点,其主要思想是提取的特征点出现在任何一个尺度上。这样不论图像的尺度如何变化,总能够提取出这种特征点。检测尺度无关的特征点可以通过搜索所有可能的尺度,这可以基于尺度空间理论来解决。

在一些合理的假设之下,高斯函数是得到图像尺度空间唯一可用的核函数。将图像I(x,y)的尺度定义为一个函数),L(x,y,σ)它由高斯函数G(x,y,σ)和图像I(x,y)卷积得到:

为了在尺度空间中高效的检测稳定关键点的位置,提出在高斯差分函数与图像卷积得到的空间D(x,y,σ)中寻找极值点,

其中,相邻两个尺度由一个常数k分开。

前面已经论述,为了求尺度无关的特征点,首先需要计算相邻尺度图像的差分,得到一系列图像并在该图像空间中求极值点。采用金字塔可以高效的计算高斯差分图像,如图所示:

构造金子塔,计算高斯图像的差分。

金子塔自下而上分为多层,在第一层中,对原始图像不断用高斯函数卷积,得到一系列逐渐平滑的图像。在这一层中,相邻的高斯图像差分得到高斯差分图像。这一组进行完毕后,从中抽取一幅图像A进行降采样,得到图像B的面积变为A的1/4,并将B作为下一层的初始图像,重复第一层的过程。选取A的原则是,得到A所用的尺度空间参数σ为初始尺度

空间参数的2倍。设在s个尺度中寻找极值点,则每层要有s+3幅图像,生成s+2幅高斯差分图像。如图所示:

(1)为图像金字塔,(2)为生成的高斯差分图像。

上一步中已经生成了高斯差分图像,这一步中要计算该空间中的极值点。如图所示:

计算极值点。每一幅高斯差分图像中的一个像素点,要和它所在图像的八邻域像素比较,而且要和它所在图像的上一层和下一层的各九个邻近的像素点比较。

3.2 精确定位以及抽取稳定的特征点

上一步已经求出了极值点,但由于在金子塔中存在降采样的图像,在这些图像中提取的极值点还需要进一步进行更精确的定位以精确确定特征点的位置和尺度。另外,由于DOG 值对噪声和边缘较敏感,在要对这些极值点进行筛选,去除去除低对比度和不稳定的点,以增强特征点匹配时的稳定性、提高抗噪声能力。

3.2.1 精确定位特征点

通常对局部极值点进行三维二次函数拟和以精确确定特征点的位置和尺度,尺度空间函数D ( x, y,σ)在局部极值点处的泰勒展开式如公式(4)所示。

(式4)

通过对公式(4)求导, 并令其为0,得出精确的极值位置, 如公式(5)所示:

3.3.2去除低对比度的特征点

把公式(5)代到公式(4)中,只要前两项,得到公式(6):

通过式(6)计算出D (X max) , 若|D (X max) | ≥0. 03,则该特征点就保留下来,否则就丢弃。

3.2.3去除不稳定的边缘响应点

通过2 ×2的Hessian矩阵H来计算主曲率, 由于D的主曲率与H矩阵的特征值成比例,不具体求特征值,求其比例ratio。设α是最大幅值特征,β是次小的,r=α/β,则ratio如公式(8)所示。通过公式(8)求出ratio,常取r = 10,若ratio≤( r + 1) 2/r,则保留该特征点,否则就丢弃。

3.3确定特征点主方向

?利用特征点邻域像素的梯度方向分布特性为每个特征点指定方向参数, 使算子具备旋转不变性。公式( 9)为( x, y)处的梯度值和方向。L 所用的尺度为每个特征点各自所在的尺度, ( x,y)要确定是哪一阶的哪一层。

?在实际计算过程中,在以特征点为中心的邻域窗口内采样,并用梯度方向直方图统计邻域像素的梯度方向。梯度直方图的范围是0~360°,其中每10°一个柱,总共36个柱。梯度方向直方图的峰值则代表了该特征点处邻域梯度的主方向, 即作为该特征点的方向。在梯度方向直方图中, 当存在另一个相当于主峰值80%能量的峰值时,则将这个方向认为是该特征点的辅方向。一个特征点可能会被指定具有多个方向(一个主方向, 一个以上辅方向) , 这可以增强匹配的鲁棒性。通过上面的3步,图像的特征点已检测完毕,每个特征点有3个信息:位置、对应尺度、方向。

图:由梯度方向直方图确定的梯度主方向

3.4生成SIFT特征向量

首先将坐标轴旋转为特征点的方向,以确保旋转不变性。接下来以特征点为中心取8×8的窗口(特征点所在的行和列不取)。在下图左图中,中央黑点为当前特征点的位置,每个小格代表特征点邻域所在尺度空间的一个像素,箭头方向代表该像素的梯度方向,箭头长度代表梯度模值,图中圈内代表高斯加权的范围(越靠近特征点的像素,梯度方向信息贡献越大) 。

然后在每4 ×4 的图像小块上计算8个方向的梯度方向直方图,绘制每个梯度方向的累加值,形成一个种子点,如下图右图所示。此图中一个特征点由2 ×2共4个种子点组成,每个种子点有8个方向向量信息,可产生2×2×8共32个数据,形成32维的SIFT特征向量即

特征点描述器,所需的图像数据块为8×8。这种邻域方向性信息联合的思想增强了算法抗噪声的能力,同时对于含有定位误差的特征匹配也提供了较好的容错性。

实际计算过程中,为了增强匹配的稳健性,建议对每个特征点使用4 ×4共16个种子点来描述,每个种子点有8个方向向量信息,这样对于一个特征点就可以产生4×4×8共128个数据,最终形成128维的SIFT特征向量,所需的图像数据块为16 ×16。此时SIFT特征向量已经去除了尺度变化、旋转等几何变形因素的影响,再继续将特征向量的长度归一化,则可以进一步去除光照变化的影响。

3.5 SIFT特征向量的匹配

?首先,进行相似性度量。一般采用各种距离函数作为特征的相似性度量,如欧氏距离、马氏距离等。通过相似性度量得到图像间的潜在匹配。本文中采用欧氏距离作为两幅图像间的相似性度量。

?取图像1中的某个关键点,并找出其与图像2中欧式距离最近的前两个关键点,在这两个关键点中,如果最近的距离除以次近的距离少于某个比例阈值,则接受这一对匹配点。降低这个比例阈值,SIFT匹配点数目会减少,但更加稳定。

?采用优先k-d树近似BBF 搜索算法进行优先搜索来查找每个特征点的2个近似最近邻特征点。

?其次,消除错配。通过相似性度量得到潜在匹配对,其中不可避免会产生一些错误匹配,因此需要根据几何限制和其它附加约束消除错误匹配,提高鲁棒性。常用的去外点方法是RANSAC随机抽样一致性算法,常用的几何约束是极线约束关系。

4 SIFT匹配实验

该组实验测试了算法对尺度和视角变化的适应能力。两幅图的车牌号尺度差距大,同时具有旋转,而且图像的背景也有较大的差异,两幅图像中的对应SIFT特征点被成功匹配出,SIFT特征保持了较好的方向性,体现出该算法的稳健性。

下一组实验使用SIFT算法将不同方位、不同焦距拍摄的、具有一定倾斜角的、亮度不同的人体照片与复杂场景中的人体进行特征点匹配。可见本例中SIFT算法表现出较好的目标定位能力,且能够在一定程度上排除亮度差异、视角变化和复杂场景中其他物体的影响。

5.总结与思考

5.1SIFT性能总结

SIFT算子可以较稳健的对发生几何形变、退化、受噪声干扰的图像局部特征进行准确的匹配。而且由于SIFT算法在计算关键点方向时充分利用了邻域信息,这样在一定程度上可以避免在小运动物体上匹配特征点,因为小运动物体的邻域信息即使去除了尺度和旋转的因素后也仅是具备较少的梯度方向相似性;同时SIFT算法在计算关键点处的梯度方向时使用了直方图统计和高斯加权的思想,这就对存在定位偏差的特征点匹配提供了更好的适应性。

5.2算法的优越性:

SIFT之所以如此流行,一方面是由于用到的基础较为成熟,在前人的基础上进行了创新、改进和集成;另一方面主要是由于该方法效果很好,对之前方法关键性的不足做了有效的改进;其他方面,比如公开源码等开放作风也获得了诸多青睐。

5.3问题:

由于SIFT 算法需要在各个尺度上进行计算,其时间复杂度相对较高,而且经RANSAC 算法后得到的有效匹配点数目往往不是很理想。对关照、仿射变换并不是完全鲁棒,对弹性形变更是无法适应。

5.4 SURF:

SIFT算法的高时间复杂度让该算法的实际应用受到一定的障碍,为了解决该算法运行速率问题,外国学者于2008年提出SURF(Speeded-Up Robust Features)算法。

5.5 SIFT VS SURF

算法的区别:

SURF 使用Hessian矩阵代替DOG算子来确定特征的尺度和位置。

SURF通过改变高斯函数核大小来得到不同尺寸的影像而不用建立影像金子塔。

SURF使用了积分图,同时改用Haar小波响应值Σdx, Σ|dx|, Σdy, Σ|dy|作为特征描述子。

从计算速度上讲,SURF明显居优。由于SURF采用了更多的近似,所以从精确度和鲁棒性上讲,应该是SIFT更好。而学术界里,只要是涉及精确度评估的相关应用,大都会选用SIFT,尽管SIFT有专利限制,尽管SURF是发展自SIFT的。

另外,OpenCv1.1之后的版本提供了surf算子的库函数。

Rob Hess 写的SIFT算子源代码也可以通过https://www.360docs.net/doc/e07434097.html,/hess/code/sift/下载。

SIFT算法实现及代码详解

经典算法SIFT实现即代码解释: 以下便是sift源码库编译后的效果图:

为了给有兴趣实现sift算法的朋友提供个参考,特整理此文如下。要了解什么是sift算法,请参考:九、图像特征提取与匹配之SIFT算法。ok,咱们下面,就来利用Rob Hess维护的sift 库来实现sift算法: 首先,请下载Rob Hess维护的sift 库: https://www.360docs.net/doc/e07434097.html,/hess/code/sift/ 下载Rob Hess的这个压缩包后,如果直接解压缩,直接编译,那么会出现下面的错误提示: 编译提示:error C1083: Cannot open include file: 'cxcore.h': No such file or directory,找不到这个头文件。 这个错误,是因为你还没有安装opencv,因为:cxcore.h和cv.h是开源的OPEN CV头文件,不是VC++的默认安装文件,所以你还得下载OpenCV并进行安装。然后,可以在OpenCV文件夹下找到你所需要的头文件了。 据网友称,截止2010年4月4日,还没有在VC6.0下成功使用opencv2.0的案例。所以,如果你是VC6.0的用户请下载opencv1.0版本。vs的话,opencv2.0,1.0任意下载。 以下,咱们就以vc6.0为平台举例,下载并安装opencv1.0版本、gsl等。当然,你也可以用vs编译,同样下载opencv(具体版本不受限制)、gsl等。 请按以下步骤操作: 一、下载opencv1.0 https://www.360docs.net/doc/e07434097.html,/projects/opencvlibrary/files/opencv-win/1.0/OpenCV_1.0.exe

SIFT算法原理

3.1.1尺度空间极值检测 尺度空间理论最早出现于计算机视觉领域,当时其目的是模拟图像数据的多尺度特征。随后Koendetink 利用扩散方程来描述尺度空间滤波过程,并由此证明高斯核是实现尺度变换的唯一变换核。Lindeberg ,Babaud 等人通过不同的推导进一步证明高斯核是唯一的线性核。因此,尺度空间理论的主要思想是利用高斯核对原始图像进行尺度变换,获得图像多尺度下的尺度空间表示序列,对这些序列进行尺度空间特征提取。二维高斯函数定义如下: 222()/221 (,,)2x y G x y e σσπσ-+= (5) 一幅二维图像,在不同尺度下的尺度空间表示可由图像与高斯核卷积得到: (,,(,,)*(,)L x y G x y I x y σσ)= (6) 其中(x,y )为图像点的像素坐标,I(x,y )为图像数据, L 代表了图像的尺度空间。σ称为尺度空间因子,它也是高斯正态分布的方差,其反映了图像被平滑的程度,其值越小表征图像被平滑程度越小,相应尺度越小。大尺度对应于图像的概貌特征,小尺度对应于图像的细节特征。因此,选择合适的尺度因子平滑是建立尺度空间的关键。 在这一步里面,主要是建立高斯金字塔和DOG(Difference of Gaussian)金字塔,然后在DOG 金字塔里面进行极值检测,以初步确定特征点的位置和所在尺度。 (1)建立高斯金字塔 为了得到在不同尺度空间下的稳定特征点,将图像(,)I x y 与不同尺度因子下的高斯核(,,)G x y σ进行卷积操作,构成高斯金字塔。 高斯金字塔有o 阶,一般选择4阶,每一阶有s 层尺度图像,s 一般选择5层。在高斯金字塔的构成中要注意,第1阶的第l 层是放大2倍的原始图像,其目的是为了得到更多的特征点;在同一阶中相邻两层的尺度因子比例系数是k ,则第1阶第2层的尺度因子是k σ,然后其它层以此类推则可;第2阶的第l 层由第一阶的中间层尺度图像进行子抽样获得,其尺度因子是2k σ,然后第2阶的第2层的尺度因子是第1层的k 倍即3 k σ。第3阶的第1层由第2阶的中间层尺度图像进行子抽样获得。其它阶的构成以此类推。 (2)建立DOG 金字塔 DOG 即相邻两尺度空间函数之差,用(,,)D x y σ来表示,如公式(3)所示: (,,)((,,)(,,))*(,)(,,)(,,)D x y G x y k G x y I x y L x y k L x y σσσσσ=-=- (7) DOG 金字塔通过高斯金字塔中相邻尺度空间函数相减即可,如图1所示。在图中,DOG 金字塔的第l 层的尺度因子与高斯金字塔的第l 层是一致的,其它阶也一样。

手静脉身份识别技术

手静脉身份识别技术 0 引言作为一种迅速发展的生物身份识别技术,手静脉识别有着显著的优点:社会可接受,特征不易复制,比指纹受破坏的可能性更小,不易入侵,无明显的建康威胁,特征惟一性,低成本,精确快速,比签名和声纹等行为生物测量特征变化小。手静脉识别具有广阔的应甩前景。1 发展历史及研究现状 1983年,柯达公司在诺丁汉的雇员Joseph Rice在研究红外条形码技术时产生了利用人手背血管红外成像作为身份识别的想法,发明了手静脉特征识别技术,取名为Veincheck。然而柯达公司的主管认为此技术缺乏市场潜力并未采用。1987牟10月31日J.Rice获得此项技术的第一个专利(Patent #4699149,Apl3aratus for the identification of Individuals)。J.Rice将其发明授权给BTG(British Technology Group)负责专利的开发和管理,希望能在安防工业有所建树,但当时并未引起BTG足够的重视,开发进度缓慢。1990年J.Rice担心此发明被BTG拖延了时间而埋没,决心自己投入技术开发,此时BTG已安排英国前国家物理实验室科学家David Claydon开始了有关静脉结构的多样性和惟一性测试,J.Rice和David讨论后采用了Statistical Process Control(SPC)的方法进行生物身份识别。1991至1993年P.MacGregor,R.Welford,P.L.Hawkes和D.O.Clayden等人发表了3篇关于Veincheck的原理介绍性文章和技术报告,明确指出Veincheck是一种以手背静脉作为身份比对特征的生物识别系统。J.Rice于1994年发表名为“A Quality Approach To Biometrie Imaging”的文章简要的介绍了Vein-check的开发历程和相关算法。受当时技术条件的限制,J.Rice采集的图像质量很差,但测试效果仍然令人鼓舞,。1993至1995年间,澳大利亚的A.J.MeIinert,J.M.Cross and C.L.Smith开展了基于热成像的手背血管特征识别的研究。1998年BTG上市公司高级经理Eugene Sweeney撰文介绍了veincheck手静脉识别技术的优点:社会可接受,特征不易复制,比指纹受破坏的可能性更小,不易入侵,无明显的建康威胁,特征唯一性,低成本,精确快速,比签名和声纹等行为生物测量特征变化小。2000年,Veincheck的开发原型机在英国信息安全部门CESG/BWG的通用办公环境测试中表现平庸,此后没有发现有关Veincheck产品商用的报告。J.Rice研究宣传Veincheck技术的网站最后一次更新停留在了2000年。2007年这位手静脉识别技术的先锋撰文对此项技术的应用进展缓慢表示焦虑,建议开发可穿戴式静脉采集设备。 1992年,日本北海道大学生物工程系的K.Shimizu发表文章认为可以利用人体手血管红外成像作为身份识别依据,此文章被认为是日本和韩国进行手静脉识别技术研究的源头。1997年,韩国的BK System公司发布了亚洲第一个商用手背静脉识别产品BK-100,1998年H.S.Choi和BK System取得了美国专利,BK S-ystem又开发了BK200和BK-300两个改进产品,由于种种原因,1998年底,BK System的产品就停产了。2000年,BK System的一些成员组建了Techsphere公司,继续研发静脉识别产品,最终推出了VP-Ⅱ,。这期间他们发表了一些论文,在图像采集和滤波算法上都进行了改进,使用了组合常态滤波和增强滤波、基于静脉走向的方向滤波算法,报道称该研究采用10 000人进行了测试,FAR可提高到0.000 01,识别速度为0.1 s。VP-II在BK System产品的基础上重新设计,使用了当时最新的数字图像处理技术,采用红外光源补偿,改进了静脉特征的抽取算法,通过温度传感器检测防止欺骗,大大改进了可靠性并提高了性价比,同时声称适用于99.98%的人群。VP-n被成功应用于机场,银行和医院等单位。此时,为了绕开手背静脉识别的专利,在日本兴起了基于手掌静脉和手指静脉识别技术的研究和开发,M.Kono和N.Miura等人先后发表了关于手指静脉识别的文章。日立公司推出了系列手指静脉识别产品,。富士通公司则推出了手掌静脉识别产品。此后静脉识别技术的发展就进入了研究和产业化交织的状态。而且由于企业早

静脉识别主要技术特征

静脉识别主要技术特征 静脉识别是一种新兴的红外生物识别技术,它是根据静脉血液中脱氧血色素吸收近红外线或人体辐射远红外线的特性,用相应波长范围的红外相机摄取手背(或指背、指腹、手掌、手腕)的静脉分布图,通过归一化、去噪等预处理后进行滤波增强与静脉纹路分割、细化修复,然后提取其特征,再与预先注册到数据库或储存在IC卡上的特征数据进行匹配以确定个人身份。由于每个人的静脉分布图具备类似于指纹的唯一性且成年后持久不变的特点,所以它能够唯一确定一个人的身份。此外,它具有其他生物特征识别技术所不具备的优点,因而具有广泛的应用前景,得到广大学者的关注。 一、原理介绍 静脉识别主要是利用静脉血管的结构来进行身份识别。由于静脉纹络包含大量的特征信息,可以作为验证的对象。手掌静脉识别的原理也是利用静脉血管与肌肉、骨骸之间对特定波长红外光不同的吸收特性来进行静脉血管造影,与手掌静脉识别的原理相同。由于手掌较厚,红外光通常无法进行透射,因而只能采用反射造影法。红外光照射在手背上,有静脉的部位吸收红外光反射暗淡,肌肉与骨路部位反射强烈,从而实现对静脉的造影。静脉纹络在人体内部很难被伪造。 二、特征分析 (一)活体识别 用手背静脉进行身份认证时,获取的是手背静脉的图像特征,是手背活体时才存在的特征。在该系统中,非活体的手背是得不到静脉图像特征的,因而无法识别,从而也就无法造假。 (二)内部特征 用手背静脉进行身份认证时,获取的是手背内部的静脉图像特征,而不是手背表面的图像特征。因此,不存在任何由于手背表面的损伤、磨损、干燥或太湿等带来的识别障碍。 (三)非接触性 手背无须与设备接触,轻轻一放,即可完成识别。这种方式没有手接触设备时的不卫生的问题以及手指表面特征可能被复制所带来的安全问题,井避免了被当作审查对象的心理不适,同时也不会因脏物污染后无法识别。手掌静脉方式由于静脉位于手掌内部,气温等外部因素的影响程度可以忽略不计,几乎适用于所有用户。用户接受度好。除了无需与扫描器表面发生直接接触以外,这种非侵入性的扫描过程既简单又自然,减轻了用户由于担心卫生程度或使用麻烦而可能存在的抗拒心理。 (四)安全等级高 因为有了前面的活体识别、内部特征和非接触性3个方面的特征,确保了使用者的手背静脉特征很难被伪造。所以手背静脉识别系统安全等级高,特别适合于安全要求高的场所使用。 三、静脉识别算法 主要包括3大部分:静脉图像的获取;静脉图像预处理和静脉识别。图像预

SIFT 特征提取算法详解

SIFT 特征提取算法总结 主要步骤 1)、尺度空间的生成; 2)、检测尺度空间极值点; 3)、精确定位极值点; 4)、为每个关键点指定方向参数; 5)、关键点描述子的生成。 L(x,y,σ), σ= 1.6 a good tradeoff

D(x,y,σ), σ= 1.6 a good tradeoff

关于尺度空间的理解说明:图中的2是必须的,尺度空间是连续的。在 Lowe 的论文中, 将第0层的初始尺度定为1.6,图片的初始尺度定为0.5. 在检测极值点前对原始图像的高斯平滑以致图像丢失高频信息,所以Lowe 建议在建立尺度空间前首先对原始图像长宽扩展一倍,以保留原始图像信息,增加特征点数量。尺度越大图像越模糊。 next octave 是由first octave 降采样得到(如2) , 尺度空间的所有取值,s为每组层数,一般为3~5 在DOG尺度空间下的极值点 同一组中的相邻尺度(由于k的取值关系,肯定是上下层)之间进行寻找

在极值比较的过程中,每一组图像的首末两层是无法进行极值比较的,为了满足尺度 变化的连续性,我们在每一组图像的顶层继续用高斯模糊生成了 3 幅图像, 高斯金字塔有每组S+3层图像。DOG金字塔每组有S+2层图像.

If ratio > (r+1)2/(r), throw it out (SIFT uses r=10) 表示DOG金字塔中某一尺度的图像x方向求导两次 通过拟和三维二次函数以精确确定关键点的位置和尺度(达到亚像素精度)?

直方图中的峰值就是主方向,其他的达到最大值80%的方向可作为辅助方向 Identify peak and assign orientation and sum of magnitude to key point The user may choose a threshold to exclude key points based on their assigned sum of magnitudes. 利用关键点邻域像素的梯度方向分布特性为每个关键点指定方向参数,使算子具备 旋转不变性。以关键点为中心的邻域窗口内采样,并用直方图统计邻域像素的梯度 方向。梯度直方图的范围是0~360度,其中每10度一个柱,总共36个柱。随着距中心点越远的领域其对直方图的贡献也响应减小.Lowe论文中还提到要使用高斯函 数对直方图进行平滑,减少突变的影响。

SIFT算法英文详解

SIFT: Scale Invariant Feature Transform The algorithm SIFT is quite an involved algorithm. It has a lot going on and can be come confusing, So I’ve split up the entire algorithm into multiple parts. Here’s an outline of what happens in SIFT. Constructing a scale space This is the initial preparation. You create internal representations of the original image to ensure scale invariance. This is done by generating a “scale space”. LoG Approximation The Laplacian of Gaussian is great for finding interesting points (or key points) in an image. But it’s computationally expensive. So we cheat and approximate it using the representation created earlier. Finding keypoints With the super fast approximation, we now try to find key points. These are maxima and minima in the Difference of Gaussian image we calculate in step 2 Get rid of bad key points Edges and low contrast regions are bad keypoints. Eliminating these makes the algorithm efficient and robust. A technique similar to the Harris Corner Detector is used here. Assigning an orientation to the keypoints An orientation is calculated for each key point. Any further calculations are done relative to this orientation. This effectively cancels out the effect of orientation, making it rotation invariant. Generate SIFT features Finally, with scale and rotation invariance in place, one more representation is generated. This helps uniquely identify features. Lets say you have 50,000 features. With this representation, you can easily identify the feature you’re looking for (sa y, a particular eye, or a sign board). That was an overview of the entire algorithm. Over the next few days, I’ll go through each step in detail. Finally, I’ll show you how to implement SIFT in OpenCV! What do I do with SIFT features? After you run through the algorithm, you’ll have SIFT features for your image. Once you have these, you can do whatever you want. Track images, detect and identify objects (which can be partly hidden as well), or whatever you can think of. We’ll get into this later as well. But the catch is, this algorithm is patented. >.< So, it’s good enough for academic purposes. But if you’re looking to make something commercial, look for something else! [Thanks to aLu for pointing out SURF is patented too] 1. Constructing a scale space Real world objects are meaningful only at a certain scale. You might see a sugar cube perfectly on a table. But if looking at the entire milky way, then it simply does not exist. This multi-scale nature of objects is quite common in nature. And a scale space attempts to replicate this concept

静脉识别技术工作原理和静脉识别厂商汇总分析

静脉识别技术工作原理和静脉识别厂商汇总分析 静脉识别系统是一种识别安全性更高的生物识别技术,用血液中的血红素吸收红外光的原理,通过红外线CCD摄像头获取手指、手掌、手背静脉的图像,并从静脉分布图依据专用比对算法提取特征值,将静脉的数字图像存贮在计算机系统中。当需要静脉识别时,静脉识别机器实时采取静脉图,提取特征值,再运用先进的滤波、图像二值化、细化手段对数字图像提取特征,同存储在主机中静脉特征值比对,从而对个人进行身份鉴定,确认身份。 静脉识别的概念和技术工作原理据了解,如今的静脉识别兼具四大特点:高度防伪、简便易用、快速识别及高度准确。两个人静脉结构相同的几率是34亿分之一,因此可以说每个人静脉结构独一无二。而且,这种内部信息不会受到皮肤破损程度、外部环境等因素影响,更重要的是,静脉识别必须是活体识别,也就是说只有手指活体时才能进行静脉识别。静脉如何被“探测”到?又是如何具有识别的唯一性呢?中国科学院自动化所研究员、中国人工智能学会模式识别专业委员会秘书长孙哲南曾在采访中表示,静脉识别时利用的是血液中的血红蛋白有吸收红外线的特质:“近红外光照射到手指或者手掌上时,手指或手掌皮下静脉中的血红蛋白相对于皮肤、肌肉等其他生理组织对近红外光的吸收率更高,因而呈现出黑白对比鲜明的图像模式。”在近红外光的照射下,肌肉组织为浅色,血管则呈现深色,可以将血管结构反映得异常清晰。 相比传统的指纹识别对于手指湿度和指纹完整度的要求,静脉识别则不受手指是否潮湿、干净或者破损的影响,因为扫描的不是皮肤,而是皮肤下的静脉。而且,静脉识别过程中不需要手指碰触到仪器。“这一识别过程只需要一两秒钟就可以完成。”孙哲南补充道。 目前,静脉识别集中在人体的手指、手掌和手背。“之所以选择手部,是因为近红外光容易穿透皮肤对静脉结构进行成像。”孙哲南解释道,“人体的其他部分静脉分布没有手部密集,而且相对而言成像也没那么方便。” 静脉识别的分类掌静脉识别 掌静脉技术的原理是根据手掌血液中的血红素有吸收红外线光的特质,将具红外线感应度

SIFT算法C语言逐步实现详解

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

sift算法的步骤 要实现一个算法,首先要完全理解这个算法的原理或思想。咱们先来简单了解下,什么叫sift算法: sift,尺度不变特征转换,是一种电脑视觉的算法用来侦测与描述影像中的局部性特征,它在空间尺度中寻找极值点,并提取出其位置、尺度、旋转不变量,此算法由David Lowe 在1999年所发表,2004年完善总结。 所谓,Sift算法就是用不同尺度(标准差)的高斯函数对图像进行平滑,然后比较平滑后图像的差别, 差别大的像素就是特征明显的点。 以下是sift算法的五个步骤: 一、建立图像尺度空间(或高斯金字塔),并检测极值点 首先建立尺度空间,要使得图像具有尺度空间不变形,就要建立尺度空间,sift算法采用了高斯函数来建立尺度空间,高斯函数公式为:

上述公式G(x,y,e),即为尺度可变高斯函数。 而,一个图像的尺度空间L(x,y,e) ,定义为原始图像I(x,y)与上述的一个可变尺度的2维高斯函数G(x,y,e) 卷积运算。 即,原始影像I(x,y)在不同的尺度e下,与高斯函数G(x,y,e)进行卷积,得到L(x,y,e),如下: 以上的(x,y)是空间坐标,e,是尺度坐标,或尺度空间因子,e的大小决定平滑程度,大尺度对应图像的概貌特征,小尺度对应图像的细节特征。大的e值对应粗糙尺度(低分辨率),反之,对应精细尺度(高分辨率)。 尺度,受e这个参数控制的表示。而不同的L(x,y,e)就构成了尺度空间,具体计算的时候,即使连续的高斯函数,都被离散为(一般为奇数大小)(2*k+1) *(2*k+1)矩阵,来和数字图像进行卷积运算。 随着e的变化,建立起不同的尺度空间,或称之为建立起图像的高斯金字塔。 但,像上述L(x,y,e) = G(x,y,e)*I(x,y)的操作,在进行高斯卷积时,整个图像就要遍历所有的像素进行卷积(边界点除外),于此,就造成了时间和空间上的很大浪费。 为了更有效的在尺度空间检测到稳定的关键点,也为了缩小时间和空间复杂度,对上述的操作作了一个改建:即,提出了高斯差分尺度空间(DOG scale-space)。利用不同尺度的高斯差分与原始图像I(x,y)相乘,卷积生成。 DOG算子计算简单,是尺度归一化的LOG算子的近似。 ok,耐心点,咱们再来总结一下上述内容: 1、高斯卷积 在组建一组尺度空间后,再组建下一组尺度空间,对上一组尺度空间的最后一幅图像进行二分之一采样,得到下一组尺度空间的第一幅图像,然后进行像建立第一组尺度空间那样的操作,得到第二组尺度空间,公式定义为 L(x,y,e) = G(x,y,e)*I(x,y)

SIFT算法分析

SIFT算法分析 1 SIFT 主要思想 SIFT算法是一种提取局部特征的算法,在尺度空间寻找极值点,提取位置,尺度,旋转不变量。 2 SIFT 算法的主要特点: a)SIFT特征是图像的局部特征,其对旋转、尺度缩放、亮度变化保持不变性,对视角变化、仿射变换、噪声也保持一定程度的稳定性。 b)独特性(Distinctiveness)好,信息量丰富,适用于在海量特征数据库中进 行快速、准确的匹配。 c)多量性,即使少数的几个物体也可以产生大量SIFT特征向量。 d)高速性,经优化的SIFT匹配算法甚至可以达到实时的要求。 e)可扩展性,可以很方便的与其他形式的特征向量进行联合。 3 SIFT 算法流程图:

4 SIFT 算法详细 1)尺度空间的生成 尺度空间理论目的是模拟图像数据的多尺度特征。 高斯卷积核是实现尺度变换的唯一线性核,于是一副二维图像的尺度空间定义为: L( x, y, ) G( x, y, ) I (x, y) 其中G(x, y, ) 是尺度可变高斯函数,G( x, y, ) 2 1 2 y2 (x ) 2 e / 2 2 (x,y)是空间坐标,是尺度坐标。大小决定图像的平滑程度,大尺度对应图像的概貌特征,小尺度对应图像的细节特征。大的值对应粗糙尺度(低分辨率),反之,对应精细尺度(高分辨率)。 为了有效的在尺度空间检测到稳定的关键点,提出了高斯差分尺度空间(DOG scale-space)。利用不同尺度的高斯差分核与图像卷积生成。 D( x, y, ) (G( x, y,k ) G( x, y, )) I ( x, y) L( x, y,k ) L( x, y, ) DOG算子计算简单,是尺度归一化的LoG算子的近似。图像金字塔的构建:图像金字塔共O组,每组有S层,下一组的图像由上一 组图像降采样得到。 图1由两组高斯尺度空间图像示例金字塔的构建,第二组的第一副图像由第一组的第一副到最后一副图像由一个因子2降采样得到。图2 DoG算子的构建: 图1 Two octaves of a Gaussian scale-space image pyramid with s =2 intervals. The first image in the second octave is created by down sampling to last image in the previous

sift算法详解

尺度不变特征变换匹配算法详解 Scale Invariant Feature Transform(SIFT) Just For Fun 张东东zddmail@https://www.360docs.net/doc/e07434097.html, 对于初学者,从David G.Lowe的论文到实现,有许多鸿沟,本文帮你跨越。 1、SIFT综述 尺度不变特征转换(Scale-invariant feature transform或SIFT)是一种电脑视觉的算法用来侦测与描述影像中的局部性特征,它在空间尺度中寻找极值点,并提取出其位置、尺度、旋转不变量,此算法由David Lowe在1999年所发表,2004年完善总结。 其应用范围包含物体辨识、机器人地图感知与导航、影像缝合、3D模型建立、手势辨识、影像追踪和动作比对。 此算法有其专利,专利拥有者为英属哥伦比亚大学。 局部影像特征的描述与侦测可以帮助辨识物体,SIFT特征是基于物体上的一些局部外观的兴趣点而与影像的大小和旋转无关。对于光线、噪声、些微视角改变的容忍度也相当高。基于这些特性,它们是高度显著而且相对容易撷取,在母数庞大的特征数据库中,很容易辨识物体而且鲜有误认。使用SIFT特征描述对于部分物体遮蔽的侦测率也相当高,甚至只需要3个以上的SIFT物体特征就足以计算出位置与方位。在现今的电脑硬件速度下和小型的特征数据库条件下,辨识速度可接近即时运算。SIFT特征的信息量大,适合在海量数据库中快速准确匹配。 SIFT算法的特点有: 1.SIFT特征是图像的局部特征,其对旋转、尺度缩放、亮度变化保持不变性,对视角变化、仿射变换、噪声也保持一定程度的稳定性; 2.独特性(Distinctiveness)好,信息量丰富,适用于在海量特征数据库中进行快速、准确的匹配; 3.多量性,即使少数的几个物体也可以产生大量的SIFT特征向量; 4.高速性,经优化的SIFT匹配算法甚至可以达到实时的要求;

掌静脉识别技术方案

简介 静脉是导血回心的血管,起于毛细血管,止于心房,表浅静脉在皮下可以看见。掌静脉,顾名思义,就是手掌内静脉。掌静脉识别是静脉识别的一种,属于生物识别,掌静脉 识别系统就是首先通过静脉识别仪取得个人掌静脉分布图,从掌静脉分布图依据专用比对 算法提取特征值,通过红外线CCD摄像头获取手指、手掌、手背静脉的图像,将静脉的 数字图像存贮在计算机系统中,将特征值存储。静脉比对时,实时采取静脉图,提取特征值,运用先进的滤波、图像二值化、细化手段对数字图像提取特征,同存储在主机中静脉 特征值比对,采用复杂的匹配算法对静脉特征进行匹配,从而对个人进行身份鉴定,确认 身份。 掌静脉识别技术特点 掌静脉识别活体识别 用掌静脉进行身份认证时,获取的是掌静脉的图像特征,是掌活体时才存在的特征。 在该系统中,非活体的手掌是得不到静脉图像特征的,因而无法识别,从而也就无法造假。掌静脉识别内部特征 用掌静脉进行身份认证时,获取的是手掌内部的静脉图像特征,而不是手掌表面的图 像特征。因此,不存在任何由于手掌表面的损伤、磨损、干燥或太湿等带来的识别障碍。 掌静脉识别非接触式 用掌静脉进行身份认证,获取手掌静脉图像时,手掌无须与设备接触,轻轻一放,即 可完成识别。这种方式没有手接触设备时的不卫生的问题以及手指表面特征可能被复制所 带来的安全问题,并避免了被当作审查对象的心理不适,同时也不会因脏物污染后无法识别。手掌静脉方式由于静脉位于手掌内部,气温等外部因素的影响程度可以忽略不计,几 乎适用于所有用户。用户接受度好。除了无需与扫描器表面发生直接接触以外,这种非侵 入性的扫描过程既简单又自然,减轻了用户由于担心卫生程度或使用麻烦而可能存在的抗 拒心理。 掌静脉识别安全等级高 因为有了前面的活体识别、内部特征和非接触式3个方面的特征,确保了使用者的掌 静脉特征很难被伪造。所以掌静脉识别系统安全等级高,特别适合于安全要求高的场所使用。韩国首尔大学电子工程系有一篇关于掌静脉识别算法的文献E3,介绍了传统的静脉识别算法以及如何用昂贵的DSP处理器处理浮点运算和提高实时性要求,缩短识别时间,文献中描述的静脉识别算法主要包括3大部分:静脉图像的获取;静脉图像预处理和静脉识

SIFT算法与RANSAC算法分析

概率论问题征解报告: (算法分析类) SIFT算法与RANSAC算法分析 班级:自23 姓名:黄青虬 学号:2012011438 作业号:146

SIFT 算法是用于图像匹配的一个经典算法,RANSAC 算法是用于消除噪声的算法,这两者经常被放在一起使用,从而达到较好的图像匹配效果。 以下对这两个算法进行分析,由于sift 算法较为复杂,只重点介绍其中用到的概率统计概念与方法——高斯卷积及梯度直方图,其余部分只做简单介绍。 一. SIFT 1. 出处:David G. Lowe, The Proceedings of the Seventh IEEE International Conference on (Volume:2, Pages 1150 – 1157), 1999 2. 算法目的:提出图像特征,并且能够保持旋转、缩放、亮度变化保持不变性,从而 实现图像的匹配 3. 算法流程图: 原图像 4. 算法思想简介: (1) 特征点检测相关概念: ◆ 特征点:Sift 中的特征点指十分突出、不会因亮度而改变的点,比如角点、边 缘点、亮区域中的暗点等。特征点有三个特征:尺度、空间和大小 ◆ 尺度空间:我们要精确表示的物体都是通过一定的尺度来反映的。现实世界的 物体也总是通过不同尺度的观察而得到不同的变化。尺度空间理论最早在1962年提出,其主要思想是通过对原始图像进行尺度变换,获得图像多尺度下的尺度空间表示序列,对这些序列进行尺度空间主轮廓的提取,并以该主轮廓作为一种特征向量,实现边缘、角点检测和不同分辨率上的特征提取等。尺度空间中各尺度图像的模糊程度逐渐变大,能够模拟人在距离目标由近到远时目标在视网膜上的形成过程。尺度越大图像越模糊。 ◆ 高斯模糊:高斯核是唯一可以产生多尺度空间的核,一个图像的尺度空间,L (x,y,σ) ,定义为原始图像I(x,y)与一个可变尺度的2维高斯函数G(x,y,σ) 卷积运算 高斯函数: 高斯卷积的尺度空间: 不难看到,高斯函数与正态分布函数有点类似,所以在计算时,我们也是 ()()() ,,,,*,L x y G x y I x y σσ=()22221 ()(),,exp 22i i i i x x y y G x y σπσσ??-+-=- ? ??

手掌静脉识别算法

收稿日期:2010-03-25;修回日期:2010-05-24。 基金项目:国家自然科学基金资助项目(90736018)。 作者简介:张环(1982-),男,江苏灌云人,博士研究生,主要研究方向:模式识别; 胡德文(1963-),男,湖南岳阳人,博士生导师,主要研究方向:模式识别、认知科学。 文章编号:1001-9081(2010)S2-0097-03 手掌静脉识别算法 张 环,胡德文 (国防科学技术大学机电工程与自动化学院,长沙410073) (zhanghuan@nud t .edu .cn ) 摘 要:对手掌静脉识别算法中的预处理、特征提取和匹配判别进行了研究。首先利用自主设计的手掌静脉采 集设备采集一定规模的手掌静脉图像并相应建立小规模手掌静脉数据库,然后对采集到的手掌静脉图像进行提取感兴趣区域(RO I)、平滑滤波和图像增强等预处理操作,以及进行二值化、滤波去噪和细化修复等操作来提取关键点的特征信息,最后利用成熟的指纹特征点匹配方法进行匹配判别。通过对实验结果分析表明,该算法的识别率高且性能良好,具有较好的应用前景。 关键词:血管;手掌静脉;感兴趣区域 中图分类号:T P391.4 文献标志码:A Pal m vei n recognition algorith m Z HANG H uan ,HU De -w en (Colle g e of M ec ha t ronic Eng i n ee ring and Au t o m a ti on,Na tional University of D e fense Technol ogy,Changsha H unan 410073,Ch i na ) Abstract :T his paper presented so m e researches on preprocessi ng ,patte rn ex tracti on ,m a tch i ng and decisi on of pal m ve i n recognition a l go rith m.F irst ,the pa l m ve i n i m ages w ere coll ec ted by desi gn i ng pal m ve i n capt ure dev ice to buil d a s m all pa l m ve i n database ,then R eg ion o f Inte rest (RO I)extraction ,s moo t h filte ri ng and i m age enhance m ent w ere i m p l em ented to preprocess the co llected i m ages .T he pattern i n f o r m ati on of m i nu tiae was extracted by b i nariza ti on ,no ise eli m ina ti on and th i nn i ng .W it h t he help o f the m ature fi nge rprint a l go rith m,a dec i s i on was m ade by m atch i ng the pa ttern of m i nuti ae .T he exper i m enta l results show that the proposed a l gor it hm ach i eves a h i gh recognition rate ,and i t has a fi ne perfo r m ance and pro m isi ng applicable f uture . K ey words :b l ood vesse ;l pal m ve i n ;R eg ion o f Inte rest (RO I) 0 引言 人体静脉血管近红外图像识别技术是近些年来新起的一项非接触式生物认证识别技术,它在身份鉴定和身份识别中有着非常广泛的应用背景,体现了自身的独特优越性,是对生物特征识别技术的一个重要补充和扩张。手掌静脉识别的基本原理是根据人体骨骼和肌肉组织的特点,用波长在720 m ~1100 m 的近红外光照射手掌,手掌静脉血管中的血色素相比于皮下组织可以吸收更多近红外辐射,可以很好地呈现出静脉血管的结构[1-2]。 日本富士通公司已经研制了成熟的手掌静脉识别产品并应用到了银行AT M 、医院和学校人员管理等领域[3]。手掌静脉识别在我国的研究和应用还处于起步和发展阶段。借鉴于较为成熟的手背静脉和视网膜预处理算法,本文对手掌静脉预处理算法进行了相应的研究,并且对关键点特征提取和匹配判别进行了分析和实现,最后在已搭建的手掌静脉识别原型样机[4]上进行了算法的实际应用和最终性能评估。 手掌静脉图像是在自主设计的手掌静脉识别原型样机上采集得到的,在图像采集的过程中,由于受到采集时间、光强、手掌倾斜度及手掌薄厚等因素的影响,采集到的手掌静脉图像在灰度分布图上存在一定程度的差异,这些都为手掌静脉的特征提取和匹配判别带来了很大困难。为了提高后续的特征提取的速度、匹配识别算法的有效性和鲁棒性,去掉不必要 的噪声干扰,降低后续工作的复杂度,有必要在特征提取之前对手掌静脉图像进行定位和归一化等一系列的预处理。手掌静脉图像的预处理是手掌静脉准确识别的必要准备和前提, 同时也是手掌静脉识别中的一个重要难点。 与手背静脉图像和手指静脉图像相比,由于手掌皮肤的特殊性,手掌静脉图像的血管可见度较低噪声干扰也很大,静脉血管的提取难度很大,这也是手背静脉识别和手指静脉识别的相关算法和文献资料很多而手掌静脉识别算法相关工作很少的一个重要原因。医学图像中的视网膜血管纹路提取技术是一项较为成熟的技术,相关的文献较多。通过对现有的实际手掌静脉图像中的静脉血管纹路进行分析,采用了视网膜识别技术中的自适应局部对比度增强算法。 通过对预处理之后的静脉血管纹路和纹理特征进行分析。纹理特征提取是直接对整个图像进行子空间降维或者滤波变换等方法提取特征,具有普遍性,但是不能体现手掌静脉图像中血管纹路唯一性的独特识别优势。而静脉血管的特征点信息丰富并且稳定,完全可以借鉴指纹识别中细化血管纹路、提取关键特征点信息和匹配判别特征点的成熟算法以提高开发的速度和效率。 手掌静脉识别算法的基本流程如图1所示。 1 手掌静脉预处理算法 通过对手掌静脉识别原型样机所采集到的实际手掌静脉 第30卷增刊2 2010年12月 计算机应用 Journal o f Computer A pp licati ons V o.l 30Supp.l 2 Dec .2010

SIFT算法和卷积神经网络算法在图像检索领域的应用分析

SIFT算法和卷积神经网络算法在图像检索领域的应用分析 1、引言 基于内容的图像检索是由于图像信息的飞速膨胀而得到关注并被提出来的。如何快速准确地提取图像信息内容是图像信息检索中最为关键的一步。传统图像信息检索系统多利用图像的底层特征,如颜色、纹理、形状以及空间关系等。这些特征对于图像检索有着不同的结果,但是同时也存在着不足,例如:颜色特征是一种全局的特征,它对图像或图像区域的方向、大小等变化不敏感,所以颜色特征不能很好的捕捉图像中对象的局部特征,也不能表达颜色空间分布的信息。纹理特征也是一种全局特征,它只是物体表面的一种特性,并不能完全反映物体的本质属性。基于形状的特征常常可以利用图像中感兴趣的目标进行检索,但是形状特征的提取,常常受到图像分割效果的影响。空间关系特征可以加强对图像内容的描述和区分能力,但空间关系特征对图像或者,目标的旋转、平移、尺度变换等比较敏感,并且不能准确地表达场景的信息。图像检索领域急需一种能够对目标进行特征提取,并且对图像目标亮度、旋转、平移、尺度甚至仿射不变的特征提取算法。 2、SIFT特征 SIFT(Scale-Invariant Feature Transform,尺度不变特征转换)是一种电脑视觉的算法,用来侦测与描述影像中的局部性特征,它在空间尺度中寻找极值点,并提取出其位置、尺度、旋转不变量,此算法由David Lowe在1999年所发表,2004年完善总结。 局部特征的描述与侦测可以帮助辨识物体,SIFT特征是基于物体上的一些局部外观的兴趣点,与目标的大小和旋转无关,对于光线、噪声、些微视角改变的容忍度也相当高。使用SIFT特征描述对于部分物体遮蔽的侦测成功率也相当高,甚至只需要3个以上的SIFT 物体特征就足以计算出位置与方位。在现今的电脑硬件速度和小型的特征数据库条件下,辨识速度可接近即时运算。SIFT特征的信息量大,也适合在海量数据库中快速准确匹配。 SIFT算法的特点有: (1)SIFT特征是图像的局部特征,其对旋转、尺度缩放、亮度变化保持不变形,是非常稳定的局部特征,现在应用非常广泛。(仿射变换,又称仿射映射,是指在几何中,一个向量空间进行一次线性变换并加上一个平移,变换为另一个向量空间。) (2)独特性(Distinctiveness)好,信息量丰富,适用于在海量特征数据库中进行快速、准确的匹配; (3)多量性,即使少数的几个物体也可以产生大量的SIFT特征向量; (4)高速性,经优化的SIFT匹配算法甚至可以达到实时的要求; (5)可扩展性,可以很方便的与其他形式的特征向量进行联合。 SIFT算法可以解决的问题:目标的自身状态、场景所处的环境和成像器材的成像特性等因素影响图像配准/目标识别跟踪的性能。 而SIFT算法在一定程度上可解决:

相关文档
最新文档