SIFT--方向分配

在得到合适的特征点位置后,为每个特征点分配方向,从而使描述子能实现图像旋转不变性,这也是我们SIFT第三步方向分配的主要目的。

SIFT中方向分配主要从以下几个步骤进行。

1、计算梯度幅值和幅角
需要根据检测到的特征点的局部图像结构求得一个方向基准。我们使用图像梯度方向求取该局部结构的稳定方向。对于已经检测到的特征点,我们知道该特征点的尺度值 σ  ,因此根据这一尺度值,求得最接近这一尺度值的高斯图像:

 L(x,y)=G(x,y,σ)I(x,y) 

该特征点的梯度:
这里写图片描述

使用有限差分,计算以特征点为中心,以 3×1.5σ 为半径的区域内图像梯度的幅角和幅值(模值),幅值和幅角的计算如下:

 m(x,y)=(L(x+1,y)L(x1,y))2+(L(x,y+1)L(x,y1))2 

 σ(x,y)=tan1((L(x,y+1)L(x,y1))/(L(x+1,y)L(x1,y))) 

2、加权处理
每个加入梯度直方图的采样点梯度幅值都要进行权重处理,加权采用圆形高斯加权函数,其 σ  值为特征点尺度的1.5倍。

由于SIFT只考虑了尺度和旋转不变性,并没有考虑仿射不变性。通过高斯加权,使特征点附近的梯度幅值有较大的权重,这样可以弥补因没有仿射不变性而产生的特征点不稳定的问题。

3、生成方向梯度直方图
在完成特征点邻域的高斯图像的梯度计算后,使用直方图统计邻域内像素的梯度方向和幅值。梯度方向直方图的横轴是梯度方向角,纵轴是梯度方向角对应的梯度幅度累加值。

梯度方向直方图将 0o360o  的范围,分为36个柱,每 10o  一个柱。直方图的峰值代表了改特征点处邻域内图像梯度的主方向,也即该特征点的主方向。如下是一个 8×8  的邻域,以直方图统计该邻域内的方向,计算出峰值方向,如下:
这里写图片描述

4、辅方向
当梯度方向直方图中,当存在另一个相当于主峰值80%能量的峰值时,则将这个方向认为是该特征点的辅方向。一个特征点可能会被指定具有多个方向(一个主方向,一个以上辅方向),这可以增强匹配的鲁棒性,具体就是把该特征点复制成多份特征点,并将方向值分别赋给这些复制后的特征点,通常离散的梯度方向直方图进行插值拟合处理,这样可以求得更精确的方向角度值。

以上,在获得了图像的特征点主方向后,每个特征点有三个信息 (x,y,σ,θ)  :位置、尺度、方向,前俩个值是使用SIFT特征点检测得到的,特征点的主方向就是我们这一步求得的。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章