文档库 最新最全的文档下载
当前位置:文档库 › SIFT特征点提取与匹配算法

SIFT特征点提取与匹配算法

SIFT特征点提取与匹配算法
SIFT特征点提取与匹配算法

SIFT 特征点匹配算法

基于SIFT 方法的图像特征匹配可分为特征提取和特征匹配两个部分,可细化分为五个部分: ① 尺度空间极值检测(Scale-space extrema detection );

② 精确关键点定位(Keypoint localization )

③ 关键点主方向分配(Orientation assignment )

④ 关键点描述子生成(Keypoint descriptor generation )

⑤ 比较描述子间欧氏距离进行匹配(Comparing the Euclidean distance of the descriptors for matching )

1.1 尺度空间极值检测

特征关键点的性质之一就是对于尺度的变化保持不变性。因此我们所要寻找的特征点必须具备的性质之一,就是在不同尺度下都能被检测出来。要达到这个目的,我们可以在尺度空间内寻找某种稳定不变的特性。

Koenderink 和Lindeberg 已经证明,变换到尺度空间唯一的核函数是高斯函数。因此一个图像的尺度空间定义为:(,,)L x y σ,是由可变尺度的高斯函数(,,)G x y σ与输入图像(,)I x y 卷积得到,即:

),(),,(),,(y x I y x G y x L *=σσ (1.1) 其中:2222/)(221

),,(σπσσy x e y x G +-=

在实际应用中,为了能相对高效地计算出关键点的位置,建议使用的是差分高斯函数(difference of Gaussian )(,,)D x y σ。其定义如下:

)

,,(),,()

,()),,(),,((),,(σσσσσy x L k y x L y x I y x G k y x G y x D -=*-= (1.2)

如上式,D 即是两个相邻的尺度的差(两个相邻的尺度在尺度上相差一个相乘系数k )。

图 1.1

图1.1所展示的是建立DOG 的一种实用的方法。初始图像与不同σ值的高斯函数卷积,得到一垛模糊后的图像,然后将这一垛模糊图像临近两两相减即得所对应的DOG 。这些模糊后的图像以k 为系数在尺度空间里被分隔开,并且该垛内最高的尺度应是最低尺度的2倍。为了能开展后续工作(与尺度空间极值检测相关,将在后续文章中作出解释)并满足上述要求,每垛需要通过卷积得到s+3个模糊后的图像,并且s 和k 需要具有关系s k /12 。

在一垛图像建立完毕后,还需要降采样得到下一垛图像的DOG 。在实际操作中首先用2倍于第一垛图像的σ值建立出模糊图像,然后再将此垛图像降采样,即每2个像素抽出一个像素,就可以得到下一垛图像的DOG 。

在上述工作完成后,所要完成的就是尺度空间的极值检测。DOG 上的某个像素要和本尺度的8个相邻像素以及上下相邻尺度各9个相邻像素比较。这样做的目的是为了确保图像在尺度空间和二维图像空间均检测到极值点。如果该像素点在这所有参与比较的点中有最大值或者最小值,则认为该像素点是尺度空间的极值点之一。图1.2表示这种极值检测的原理。

图1.2

另外需要注意的是,上述的尺度空间极值点检测在每一个垛中都要进行。最后获得的

极值点总和是所有垛中所检测到的极值点的集合。那么如果这个极值点处在降采样后的垛中,则需要在找出他后将其坐标变换到原始大小的原图上。容易写出这个变换公式为:

0min 0002,[0,...1],[0,...1][0,...1]o x x o o O x N M =∈+-∈-?- (1.3)

其中0x 是原始大小图像即原始图像上的坐标,经采样变换后变为x ;o 是处于垛的阶数(即处于第几个垛中);min o =0或者-1,当第一垛图像为原图经过尺寸加倍后的图像生成时值为-1,不经过加倍则为0。

另外在建立尺度空间的过程中有两个较为重要的参数要确定。可以将之描述为尺度空间抽样频率和空间域抽样频率。

尺度空间抽样频率表现为每个DOG 垛所含有的DOG 数目。由于每个DOG 垛中最大尺度已经确定是最小尺度的2倍,则在这个范围内的DOG 数目越多,抽样频率就越高。这个频率影响着特征提取的效果。Lowe 教授在其文章中论述了对于该参数所做的实验。

图 1.3

实验表明在每个垛中有3个抽样时特征点提取效果是最好的(从图1.3左图可以看出,无论是变化过的图像中能取到与原图中相同的特征点的比例,还是所取到的特征点与数据库内特征点匹配上的比例都是最高)。而之所以更高的抽样频率不能带来更好的匹配效果,是因为抽样频率越高,虽然提取的特征点越多,但这样的特征点大多是不稳定的,因此无法提高匹配的成功率,这从图1.3右图可以看出。

另外一个参数是空间域抽样频率。表现为σ的数值。由于图像与高斯函数的卷积可以看作是空间滤波,则σ与滤波的截止频率有很大的关系。σ越大,截止频率就越小,能够看到的抽样值频率也越小。

图 1.4

Lowe 教授在文章中也对σ的取值做了相关实验,实验结果表明当σ取1.6时所得到的匹配效果最好,这从图1.4中可以看出(同样的,在变化过的图像中能取到与原图中相同的特征点的比例,还是所取到的特征点与数据库内特征点匹配上的比例都是最高)。另外他还证明,在建立尺度空间的第一垛图像时,先将原始图像的尺寸加倍,则可以使稳定的特征点的数目达到原来的4倍。

1.2精确关键点定位

极值点确定之后,必须进行有效的后续工作对这些点进行筛选;因为此时往往会有可观数量的极值点具有很低的对比度或者处于不理想的边缘。我们把这些极值点称为备选关键点,而后续工作的目的就是去掉那些对比度低的以及处于不理想边缘处的备选关键点(keypoint candidate ),以得到最终参与匹配的特征关键点(keypoint )。

1.2.1更精确的关键点位置描述

目前所采用较多的方法是由Brown 教授所提出的三维二次曲线(3D quadratic function )展开。该方法将DOG 在所关注的像素点处用三维泰勒级数展开(展开到2次方项),然后再精确定位极值的位置至亚像素级。展开式如下:

x x

D x x x D D x D T T T 2221)(??+??+= (1.4)

其中:(,,),T D x D D X x y X y D σσ????????????==?????????????? ,22222222222222D D D x xy x D D D D X yx y y D D D x y σσσσσ??????????????????=????????????????????

?? ,,,,2112()()4

x y x y x y x y k k k k D D D D D σ+----?=?,( k 指当前k 层,k-1指k 的下层,k+1指上一层) 1,1,1,1,21111()()4

x y x y x y x y k k k k D D D D D x σ+-+-++-----?=?··· 可以看到,所有的偏导数值都由像素值的差分来近似;后面会涉及到的Hessian 算子中的相关计算也是由像素值的差分来近似的。按照泰勒级数的定义,其中D 和D 的偏导数都是在展

开点所计算的值,而x 是估计点到展开点的偏移量,即:

),,(000σσ---=y y x x x

其中被减值是估计点的坐标,减数为展开点的坐标。

那么要求得D 的极值,则自然想到对这样展开后的D 对x 求导,然后使导数为0,即求

得了局部的极值。在这种理念下,则极值点对于展开点的偏移量x ? 满足:

x

D x D x ????-=-122)(? (1.5) 则容易由此得到极值点的坐标。容易想到,如果三维向量x ? 在任何一个维度的值大于0.5,

那么这个极值点会更接近另外一个像素点,而不是本身的这个展开点。那么此时就将展开点

换做更接近的那个点,然后再次展开计算偏移量x ? 。最后偏移量的值被加到展开点上以得

到关键点的最终位置。当然这个最终位置的坐标不一定是整数,所以这个关键点的位置是一种修正过的,或说插值过(interpolated )的估计值。需要注意的是,SIFT 特征匹配最终也不需要有一个整数的坐标值。在生成了关键点描述子之后,在匹配时与具体的坐标就不相关了。

1.2.2去除对比度低的不稳定关键点

在精确定位了特征关键点之后,该特征关键点的DOG 函数可以由其临近的像素点的DOG

展开获得,即式(1.1)。研究表明,特征关键点的DOG 函数值

)?(x D 可以用来去除那些因为对比度偏低而不稳定的关键点。其值越低,则越不稳定越应该忽略。在实际操作中,用来求)?(x D 的函数并不是(1.1),而是在此基础上继续忽略2阶项后所得:

x x

D D x D T ?21)?( ??+= (1.6) 在Lowe 教授的研究中,这个阈值为0.03,亦即所有03.0)?(

D

的点全部去除。 1.2.3 去除由边缘响应所带来的不稳定关键点

为了增强特征点的稳定性,仅仅去除低对比的点是不够的。DOG 函数有着较强的边缘响应,如果关键点被定位在边缘,那么这个关键点很有可能是不稳定的,尤其容易受到噪声的影响,即是是少量的噪声也会影响匹配的稳定性。

一个定义不好的高斯差分算子的极值在横跨边缘的地方有较大的主曲率,而在垂直边缘的方向有较小的主曲率。那么我们只需要求出关键点主曲率便可以决定是否因其处于边缘而舍去他。主曲率可以通过2×2的Hessian 矩阵H 来计算,其中: Dxx Dxy H Dxy Dyy ??=????

该点的两个主曲率是与Hessian 矩阵的两个特征值成比例的。而在实际应用中并不用计算出H 的特征值,因为我们可以只考虑他们中较大的特征值比较小的特征值的比例r 便可以确定该点是不是处于边缘(因为在横跨边缘的地方有较大的主曲率,对应一个大特征值;而在垂直边缘的方向有较小的主曲率,对应一个较小特征值,比例只要足够大,就可以认为该点满足处于边缘的性质)。设α为较大的特征值,β为较小的特征值,则=r αβ。由于

()xx yy Tr H D D αβ=+=+ (1.7)

2()()xx yy xy Det H D D D αβ=-= (1.8)

我们构建 222

()()(1)()()Tr H r ratio Det H r

αβαβ++=== (1.9) 则如果我们考虑0r r >时则认为该点处于边缘,那在具体判定时,我们可以不用计算

出其具体特征值,而是只用等效判断是否有0

2

0)1(r r ratio +>即可。计算一个二阶矩阵的迹以及其行列式,要比计算其特征值的代价小得多,只用进行20次不到的浮点操作即可。一般情况下,阈值0r 取为10。

1.3 关键点主方向分配

给一个关键点分配主方向,并将主方向纳入关键点的描述子特性之中,那么这个关键点就具有了旋转不变性。

描述主方向需要用到像素点的梯度。梯度的模和方向如下以像素差分的方法定义和计算:

(,)m x y = (1.10)

1(,)tan ((,1)(,1))/((1,)(1,))x y L x y L x y L x y L x y θ-=+--+-- (1.11) 关键点的主方向是通过统计以关键点为中心的一个邻域之内所有点梯度方向来确定。在实际计算中,这种统计通过梯度方向直方图来确定。梯度直方图将360°分为36个柱,每个柱为10°。其中出现的梯度方向峰值就是这个关键点的主方向。在邻域内的点的方向被纳入直方图时,还要经过一次高斯加权;这个加权的高斯函数是以关键点为中心,1.5σ为标准差的,其中σ就是这个关键点所在的尺度。

若当梯度直方图中存在的次高峰,其模值大于等于最高峰的80%,那么就将该次高峰对应的方向定为该点的辅方向。如果一个特征点有辅方向,那么就建立另外一个新的特征点,这个特征点和原特征点有着同样的坐标,但是方向不同。也就是说这样会出现一些坐标相同但是主方向不同的特征点。实验表明,虽然只有15%的特征点存在辅方向,但是给具有辅方向的关键点生成新关键点,能极大的提高匹配的稳定性。

最后,如果还想进一步提高峰值位置的精度,可以用最接近峰值的3个直方图值做抛物线拟合,将拟合出的抛物线最大值的位置作为精确的峰值位置,亦即精确的主方向角度。

1.4 关键点描述子生成

前面的工作我们已经指定了特征关键点的位置、尺度和方向,这样特征点就已经对于这些参数的变化保持了不变性。下一步就是要生成一种能描述这样特征的描述子,并尽可能让这种描述子对于其他一些变化也有一定的不变性,如光照和三维视角变化。

在建立描述子时,要将描述子的主方向坐标旋转到关键点的主方向上来,这样才能保证具有旋转不变性。选择以关键点为中心的16×16区域(图1.5),计算出其中每一点的梯

度值;然后将这个区域所有的梯度值用一个中心在该区域中央的高斯函数加权(高斯函数的标准差为1.5倍的区域宽度)。接下来将整个区域分为16个4×4的小区域(图1.5中红色区域),在这个小区域中统计梯度直方图,直方图分为8个方向;那么整个描述子所覆盖的区域含有的信息就是16×8=128个,则整个描述子可以看做是一个128维的向量,即特征向量。生成描述子的过程可以由图1.6表示。

最后将特征向量归一化,则可以去掉光照变化产生的影响。如果光照变化是对比度变化,则相当于是对每个点的梯度乘上了一个常数,那么标准化后这个常数就被消除了;如果光照变化是亮度的变化,那么相对于对每个点的像素值加上了一个常数,对梯度的变化没有任何影响。但是由于一些非线性的光照变化会使某些像素的梯度模值产生较大变化,同时对梯度方向没有影响,因此我们在统计梯度直方图时将所有大于某个阈值的梯度模值都置为这个阈值,就可以降低光照变化的影响。要注意的是,向量归一化是在所有模值经过阈值的限制之后进行的。因为这样的操作相当于降低了大模值点的模值在匹配中的权重。这个阈值一般选为0.2。

图 1.5

图 1.6

至此SIFT特征全部集中在SIFT向量,亦即特征描述子之上。作为图像的局部特征一种表征,他决定了基于特征的各种后续处理方法的效果。

1.5 比较描述子间欧氏距离进行匹配

在描述子生成完毕之后,特征提取阶段即告结束。完成图像匹配,接下来要做的是对这些特征运用适当的比较方法来找到对应关系。由于特征点描述子可以看做为128维的向量,则可以通过向量的相关概念来抽象出比较描述子的方法。最直观的便是两个向量间的欧氏距离,我们可以容易的想出,两个相同的向量其欧式距离为0,那么两个完全相同的特征点描述子,其欧氏距离也为0。不过很显然,由于噪声以及其他图像变换的存在,同一个点对应在不同图像上的特征描述子不可能完全相同,那么如何确定两个描述子匹配呢?

首先应该想到,描述子距离越近,越应该认为其匹配。但是为了达到稳健的匹配,仅仅有“最近”是不够的。因为对于128维这样高维的描述子,误匹配并没有像独特的对应性,因此误匹配的描述子容易具有比较接近的距离。因此,如果两个特征点A和B真正的是一个对匹配点,那么他们的描述子之间所对应欧式距离首先要最小;其次,这个小还要小到一定程度:需要他比描述子A到除B以外其他任何描述子的距离都显著的小,才能体现正确匹配的唯一独特性。在操作中,我们可以以最近距离与次近距离的比例来衡量这种“显著程度”,只有当最近距离与次近距离小于某个比例阈值时,我们才接受这一对匹配。

要比较所有描述子的距离,我们可以通过遍历搜索完成。虽然相对于模板匹配的整图像遍历搜索,这样的计算量并不算太大,但也比较可观。选择一种合适的数据结构存贮这些描述子,并用合适的搜索策略这个数据结构,是重要优化命题,但在本文中,不对这个问题进行具体的讨论。

优点:选择基于描述子的方法进行分析,是因为该方法不但对于旋转、尺度缩放、亮度变化保持不变性,而且对视角变化、仿射变换、噪声也保持一定程度的稳定性。且该方法对特征点的个数和有效点的比例没有要求。当特征点不是很多时,经优化的SIFT匹配算法甚至可以达到实时的要求。而且可以很方便的与其他形式的特征向量进行联合。

缺点:SIFT算法通过对特征点构造128维的向量,然后对向量进行匹配,这样图像就得满足足够多的纹理,否则构造出的128维向量区别性就不是太大,容易造成误匹配,极限情况如指纹图像的匹配,星图识别等这类图像特征点周围根本没有什么纹理,这时SIFT算法就完全失效了。

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 特征点匹配算法 基于SIFT 方法的图像特征匹配可分为特征提取和特征匹配两个部分,可细化分为五个部分: ① 尺度空间极值检测(Scale-space extrema detection ); ② 精确关键点定位(Keypoint localization ) ③ 关键点主方向分配(Orientation assignment ) ④ 关键点描述子生成(Keypoint descriptor generation ) ⑤ 比较描述子间欧氏距离进行匹配(Comparing the Euclidean distance of the descriptors for matching ) 1.1 尺度空间极值检测 特征关键点的性质之一就是对于尺度的变化保持不变性。因此我们所要寻找的特征点必须具备的性质之一,就是在不同尺度下都能被检测出来。要达到这个目的,我们可以在尺度空间内寻找某种稳定不变的特性。 Koenderink 和Lindeberg 已经证明,变换到尺度空间唯一的核函数是高斯函数。因此一个图像的尺度空间定义为:(,,)L x y σ,是由可变尺度的高斯函数(,,)G x y σ与输入图像(,)I x y 卷积得到,即: ),(),,(),,(y x I y x G y x L *=σσ (1.1) 其中:2222/)(221 ),,(σπσσy x e y x G +-= 在实际应用中,为了能相对高效地计算出关键点的位置,建议使用的是差分高斯函数(difference of Gaussian )(,,)D x y σ。其定义如下: ) ,,(),,() ,()),,(),,((),,(σσσσσy x L k y x L y x I y x G k y x G y x D -=*-= (1.2) 如上式,D 即是两个相邻的尺度的差(两个相邻的尺度在尺度上相差一个相乘系数k )。

SIFT特征点提取与匹配算法

二 特征点提取算法 1、基于SIFT (Scale Invariant Feature Transform )方法的图像特征匹配 参看David G. Lowe 的“Distinctive Image Features from Scale-Invariant Keypoints ” 基于SIFT 方法的图像特征匹配可分为特征提取和特征匹配两个部分,可细化分为五个部分: ① 尺度空间极值检测(Scale-space extrema detection ); ② 精确关键点定位(Keypoint localization ) ③ 关键点主方向分配(Orientation assignment ) ④ 关键点描述子生成(Keypoint descriptor generation ) ⑤ 比较描述子间欧氏距离进行匹配(Comparing the Euclidean distance of the descriptors for matching ) 1.1 尺度空间极值检测 特征关键点的性质之一就是对于尺度的变化保持不变性。因此我们所要寻找的特征点必须具备的性质之一,就是在不同尺度下都能被检测出来。要达到这个目的,我们可以在尺度空间内寻找某种稳定不变的特性。 Koenderink 和Lindeberg 已经证明,变换到尺度空间唯一的核函数是高斯函数。因此一个图像的尺度空间定义为:(,,)L x y σ,是由可变尺度的高斯函数(,,)G x y σ与输入图像(,)I x y 卷积得到,即: ),(),,(),,(y x I y x G y x L *=σσ (1.1) 其中:2222/)(221 ),,(σπσσy x e y x G +-= 在实际应用中,为了能计算的相对高效,所真正使用的是差分高斯尺度空间(difference of Gaussian )(,,)D x y σ。其定义如下: ) ,,(),,() ,()),,(),,((),,(σσσσσy x L k y x L y x I y x G k y x G y x D -=*-= (1.2) 如上式,D 即是由两个相邻的尺度的差(两个相邻的尺度在尺度上相差一个相乘系数k )。

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特征的图像匹配

毕业设计(论文)题目基于SIFT特征的图像匹配 姓名张建华 学号0811111101 所在学院理学院 专业班级08信计 指导教师吴颖丹 日期2012 年 6 月 2 日

摘要 当今社会已经进入信息时代,随着计算机技术、通信技术和数学的发展,图像信息处理能力和水平也不断提高,相应的也得到更多关注、研究和更加广泛的应用。图像匹配是处理和解决各种图像信息的基础,已经成为虚拟现实和计算机可视化领域的研究热点。一直以来,研究人员对图像匹配技术进行了大量的研究,推出了许多匹配算法,其中特征匹配算法有着较高的精确度和稳定性。SIFT (Scale Invariant Feature Transform)特征匹配算法是Lowe提出来的用于图像特征匹配的算法,是目前特征匹配领域的热点,对图像的旋转,尺度缩放和亮度变换保持不变,对视角变换,仿射变换保持一定程度的稳定。SIFT特征点是图像的一种尺度不变局部特征点,具有独特性好,信息量丰富,多量性,高速性,可扩展性等特点。正是借助于这些特点,使得传统图像配准中的许多诸如前面提到的共性问题得到了很大程度的改善。该算法首先给出了尺度空间的生成方法,检测出极值点;接下来给出了SIFT特征点的提取步骤和精确定位极值点的方法;然后基于特征点邻域像素的梯度和方向生成了关键点的描述向量;最后根据特征向量给出了匹配方法,提取了SIFT的特征点,并其应用于图像匹配。 本文首先简要介绍了图像匹配所需的基础知识,然后详细介绍了SIFT算法的具体流程。通过大量的实验证明SIFT算法具有较强的匹配能力和鲁棒性,是一种较好的图像匹配算法。 关键字:SIFT; 图像匹配; 尺度空间; 极值点; 特征向量

SIFT特征提取分析

SIFT(Scale-invariant feature transform)是一种检测局部特征的算法,该算法通过求一幅图中的特征点(interest points, or corner points)及其有关scale 和orientation 的描述子得到特征并进行图像特征点匹配,获得了良好效果,详细解析如下: 算法描述 SIFT特征不只具有尺度不变性,即使改变旋转角度,图像亮度或拍摄视角,仍然能够得到好的检测效果。整个算法分为以下几个部分: 1. 构建尺度空间 这是一个初始化操作,尺度空间理论目的是模拟图像数据的多尺度特征。 高斯卷积核是实现尺度变换的唯一线性核,于是一副二维图像的尺度空间定义为: 其中G(x,y,σ) 是尺度可变高斯函数 (x,y)是空间坐标,是尺度坐标。σ大小决定图像的平滑程度,大尺度对应图像的概貌特征,小尺度对应图像的细节特征。大的σ值对应粗糙尺度(低分辨率),反之,对应精细尺度(高分辨率)。为了有效的在尺度空间检测到稳定的关键点,提出了高斯差分尺度空间(DOG scale-space)。利用不同尺度的高斯差分核与图像卷积生成。 下图所示不同σ下图像尺度空间:

关于尺度空间的理解说明:2kσ中的2是必须的,尺度空间是连续的。在 Lowe的论文中,将第0层的初始尺度定为1.6(最模糊),图片的初始尺度定为0.5(最清晰). 在检测极值点前对原始图像的高斯平滑以致图像丢失高频信息,所以Lowe 建议在建立尺度空间前首先对原始图像长宽扩展一倍,以保留原始图像信息,增加特征点数量。尺度越大图像越模糊。 图像金字塔的建立:对于一幅图像I,建立其在不同尺度(scale)的图像,也成为子八度(octave),这是为了scale-invariant,也就是在任何尺度都能够有对应的特征点,第一个子八度的scale为原图大小,后面每个octave为上一个octave降采样的结果,即原图的1/4(长宽分别减半),构成下一个子八度(高一层金字塔)。

基于ransac算法的sift特征匹配研究(OpenCV+VS2010)____朱万革(最终版)

SHANGHAI JIAO TONG UNIVERSITY 学士学位论文 THESIS OF BACHELOR 基于ransac算法的sift特征匹配研究(OpenCV+VS2010)

上海交通大学 毕业设计(论文)学术诚信声明 本人郑重声明:所呈交的毕业设计(论文),是本人在导师的指导下,独立进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 作者签名: 日期:年月日

上海交通大学 毕业设计(论文)版权使用授权书 本毕业设计(论文)作者同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权上海交通大学可以将本毕业设计(论文)的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本毕业设计(论文)。 保密□,在年解密后适用本授权书。 本论文属于 不保密□。 (请在以上方框内打“√”) 作者签名:指导教师签名: 日期:年月日日期:年月日

视频图像跟踪系统 摘要 图像(Image)--是客观世界的景物通过光学系统作用后产生的影像。图像直观地反映了场景中物体的颜色、亮度等特征,从而使我们能清晰分辨他们的形状、大小和空间位置。近30年来人们试图研究基于计算机的视觉系统,并且试图利用其系统来代替工业农业上的有害劳动。这样的视觉系统渐渐地进入我们的生活,让我们的生活变得很丰富,并且我们现在享受着图像处理这学问的成果。在世界上的先进的国家都设立了图像处理研究所,研究解决国防部门所要的问题。 本文将介绍基于OpenCV(Open Source Computer Vision Library)的视频图像匹配、拼接、融合和目标跟踪的算法以及方法。说到图像拼接,本文中所用的图像拼接算法是高效的SIFT特征算法。首先,用两个通用的USB摄像头来实时地进行采集图像,并对这两幅图像提取SIFT特征点。然后,进行粗匹配。最后用RANSAC算法对所提取出来的SIFT特征点匹配对进行提纯以及估计模型参数。最后把两幅图像拼接成一幅完整的图像,并且用加权平均算法进行无缝拼接。再进行摄像头标定,求出两个通用摄像头的内外参数,最后进行测距以及跟踪。最终取得了令人满意的结果。 关键词:SIFT,匹配,拼接,配准,RANSAC

SIFT算法分析报告

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

4 SIFT 算法详细 1)尺度空间的生成 尺度空间理论目的是模拟图像数据的多尺度特征。 高斯卷积核是实现尺度变换的唯一线性核,于是一副二维图像的尺度空间定义为: ),(),,(),,(y x I y x G y x L *=σσ 其中 ),,(σy x G 是尺度可变高斯函数,2)(2 2/21),,(22σπσσy x e y x G +-= (x ,y )是空间坐标,σ是尺度坐标。σ大小决定图像的平滑程度,大尺度对应图像的概貌特征,小尺度对应图像的细节特征。大的σ值对应粗糙尺度(低分辨率),反之,对应精细尺度(高分辨率)。 为了有效的在尺度空间检测到稳定的关键点,提出了高斯差分尺度空间(DOG scale-space )。利用不同尺度的高斯差分核与图像卷积生成。 ),,(),,(),()),,(),,((),,(σσσσσy x L k y x L y x I y x G k y x G y x D -=*-= 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算法原理.doc

3.1.1 尺度空间极值检测 尺度空间理论最早出现于计算机视觉领域,当时其目的是模拟图像数据的多尺度特征。 随后 Koendetink利用扩散方程来描述尺度空间滤波过程,并由此证明高斯核是实现尺度变 换的唯一变换核。Lindeberg, Babaud 等人通过不同的推导进一步证明高斯核是唯一的线性 核。因此,尺度空间理论的主要思想是利用高斯核对原始图像进行尺度变换,获得图像多尺度下的尺度空间表示序列,对这些序列进行尺度空间特征提取。二维高斯函数定义如下: G ( x, y, ) 1 2e( x2y2)/2 2 ( 5) 2 一幅二维图像,在不同尺度下的尺度空间表示可由图像与高斯核卷积得到: 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 层由第一阶的中间层尺度图像进行子抽样获得,其尺度因子是k 2 ,然后第 2 阶的第 2 层的尺度因子是第 1 层的k 倍即k 3 。第 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 层是一致的,其它阶也一样。

尺度空间理论和SIFT算法小结

尺度空间理论 尺度空间(scalesPace)思想最早由Iijima 于1962年提出([l]),但当时并未引起算机视觉领域研究者们的足够注意,直到上世纪八十年代,witkin([2])Koenderink([3])等人的奠基性工作使得尺度空间方法逐渐得到关注和发展。此后,随着非线性扩散方程、变分法和数学形态学等方法在计算机视觉领域中的广泛应用,尺度空间方法进入了快速发展阶段。尺度空间方法本质上是偏微分方程对图像的作用。 尺度空间方法的基本思想是:在视觉信息(图像信息)处理模型中引入一个被视为尺度的参数,通过连续变化尺度参数获得不同尺度下的视觉处理信息,然后综合这些信息以深入地挖掘图像的本质特征。尺度空间方法将传统的单尺度视觉信息处理技术纳入尺度不断变化的动态分析框架中,因此更容易获得图像的本质特征。尺度空间的生成目的是模拟图像数据的多尺度特征。高斯卷积核是实现尺度变换的唯一线性核。 尺度空间是一个用来控制观察尺度或表征图像数据多尺度自然特性的框架;信号的尺度空间表征是信号的特征结构集合并包含有一个连续的尺度参量(即观察尺度)。尺度空间理论[8]是通过对原始图像进行尺度变换,获得图像多尺度下的尺度空间表示序列,对这些序列进行尺度空间主轮廓的提取,并以该主轮廓作为一种特征向量,实现边缘、角点检测和不同分辨率上的特征提取等。尺度空间表示是一种基于区域而不是基于边缘的表达,它无需关于图像的先验知识。与通过减小图像尺寸而提高计算效率的其他多尺度或多分辨率表达相比,尺度空间表示由平滑获得,在多由尺度上都保持了不变的空间取样,但对同一特征而言,它在粗糙尺度上对应更多的像素点,这样就使得对这些数据的计算任务得到连续的简化。尺度空间表示的另一个重要特征,就是基于尺度的结构特性能以一种简单的方式解析的表达,不同尺度上的特征可以一种精确的方式联系起来。作为尺度空间理论中的一个重要概念,尺度空间核被定义为:in out f K f *= (1) 对于所有的信号in f ,若它与变换核K 卷积后得到的信号out f 中的极值(一阶微分过零点数)不超过原图像的极值,则称K 为尺度空间核,所进行的卷积变换称为尺度变换。尺度空间表示通过平滑获得,可描述为),(σx 空间(?y 呢?),x 和σ分别为位置参数和尺度参数。当采用不同尺度的平滑函数对同一图像进行滤波时,得到的一簇图像就是原始图像相对于该平滑函数的尺度空间,σ为尺度空间坐标。 在高斯尺度空间,同一类型特征点和边缘在不同的尺度上具有因果性,即当尺度变化时,新的特征点可能出现,而老的特征点可能移位或消失。这种因果性带来的含糊性是固有的,不可避免的,不能企求消除,但可以减小。然而,由于高斯核[9] 具有线性、平移不变性、旋转不变性和子集特性等特性,可以证明,

SIFT算法实现原理步骤

SIFT 算法实现步骤 :1 关键点检测、2 关键点描述、3 关键点匹配、4 消除错配点 1关键点检测 1.1 建立尺度空间 根据文献《Scale-space theory: A basic tool for analysing structures at different scales 》我们可知,高斯核是唯一可以产生多尺度空间的核,一个图像的尺度空间,L (x,y,σ) ,定义为原始图像I(x,y)与一个可变尺度的2维高斯函数G(x,y,σ) 卷积运算。 高斯函数 高斯金字塔 高斯金子塔的构建过程可分为两步: (1)对图像做高斯平滑; (2)对图像做降采样。 为了让尺度体现其连续性,在简单 下采样的基础上加上了高斯滤波。 一幅图像可以产生几组(octave ) 图像,一组图像包括几层 (interval )图像。 高斯图像金字塔共o 组、s 层, 则有: σ——尺度空间坐标;s ——sub-level 层坐标;σ0——初始尺度;S ——每组层数(一般为3~5)。 当图像通过相机拍摄时,相机的镜头已经对图像进行了一次初始的模糊,所以根据高斯模糊的性质: -第0层尺度 --被相机镜头模糊后的尺度 高斯金字塔的组数: M 、N 分别为图像的行数和列数 高斯金字塔的组内尺度与组间尺度: 组内尺度是指同一组(octave )内的尺度关系,组内相邻层尺度化简为: 组间尺度是指不同组直接的尺度关系,相邻组的尺度可化为: 最后可将组内和组间尺度归为: ()22221 ()(),,exp 22i i i i x x y y G x y σπσσ??-+-=- ???()()(),,,,*,L x y G x y I x y σσ=Octave 1 Octave 2 Octave 3 Octave 4Octave 5σ2σ 4σ8 σ … … … … … 0()2s S s σσ=0init init pre pre σσσσσ=?-?init σpre σ()() 2log min ,3O M N ??=-?? 1 12S s s σσ+=1()2s S S o o s σσ++=222s S s S S o o σσ+=121 2(,,,) i n k k k σσσσ--12 S k =

相关文档
相关文档 最新文档