还剩4页未读,继续阅读
文本内容:
特征提取SIFT算法提取步骤SIFT算法提取特征点的主要步骤
(1)检测尺度空间极值点检测尺度空间极值的目的是确定特征点位置和所在尺度组即先使用高斯过滤器对原始图像进行若干次连续滤波建立第一个尺度组,再把图形减小到原来的一半,进行同样的高斯滤波形成其次个尺度组之后,重复操作直到图像小于某一个给定阀值为止接下来对每个尺度组中的高斯图像进行差分,形成高斯差分尺度组(DoG尺度图像X图3-1尺度空间的构造在上面建立的DoG尺度空间金字塔中为了检测到DoG空间的最大值和最小值DoG尺度空间中中间层(最底层和最顶层除外)的每个像素点需要跟同一层的相邻8个像素点以及它上一层和下一层的9个相邻像素点总共26个相邻像素点进行比较,以确保在尺度空在图3-2中标记为叉号的像素若比相邻26个像素的DoG值都大或都小,则该点将作为一个局部极值点被检测工件的高斯滤波图像如图3-3所示图3-3原始图像和部分高斯滤波图像2精确定位极值点由于DoG值对噪声和边缘较敏感,因此,在上面DoG尺度空间中检测到局部极值点还要经过进一步的检验才能精确定位为特征点一般通过二阶Taylor绽开式计算极值点的偏移量,获得亚像素定位精度,同时通过阈值设置剔除差异小的点最终保留下来的点称为特征点,特征点的检测是在尺度空间中进行的,特征点保持为尺度不变量各层图像特征点如图3-4所示图3-4各层图像的特征点3为每个关键点指定方向参数一尺度空间坐标0—组octave数S一组内层数在上述尺度空间中,0和Sb的关系如下:[0・・・-l]se[O...S+2]3_]0其中b是基准层尺度o为组octave的索引,s为组内层的索引关键点的尺度坐标就是按关键点所在的组和组内的层,采用公式3-10计算而来在最开头建立高斯金字塔时,要预先模糊输入图像来作为第0个组的第0层的图像,这时相当于丢弃了最高的空域的采样率因此通常的做法是先将图像的尺度扩大一倍来生成第-1组我们假定初始的输入图像为了抗击混淆现象,已经对其进行吟=5的高斯模糊,假如输入图像的尺寸用双线性插值扩大一倍,那么相当于%=L°取式3-9中的k为组内总层数的倒数,即k=*3-11在构建高斯金字塔时,组内每层的尺度坐标按如下公式计算b$=也匕丫一―23-12其中5初始尺度,lowe取%=L6s=3为组内的层索引,不同组相同层的组内尺度坐标bs相同组内下一层图像是由前一层图像按bs进行高斯模糊所得式3-12用于一次生成组内不同尺度的高斯图像,而在计算组内某一层图像的尺度时,直接使用如下公式进行计算Sa_oc/s=ers£[O...S+2]该组内尺度在方向安排和特征描述时确定采样窗口的大小由上,式3-9可记为=L{xycrs+1-Lxycts3_144生成SIFT特征描述符首先将坐标轴旋转为特征点的方向,以确保旋转不变性接下来以特征点为中心取8x8的窗口特征点所在的行和列不取在图3-3左边,中心黑点为当前特征点的位置,每个小格代表特征点邻域所在尺度空间的一个像素,箭头方向代表该像素的梯度方向,箭头长度代表梯度模值,图中圈内代表高斯加权的范围越靠近特征点的像素,梯度方向信息贡献越大然后在每4x4的图像小块上计算8个方向的梯度方向直方图,绘制每个梯度方向的累加值,形成一个种子点,如图3-5右边图所示此图中一个特征点由2x2共4个种子点组成,每个种子点有8个方向向量信息,可产生2x2x8共32个数据,形成32维的SIFT特征向量,即特征点描述器,所需的图像数据块为8x8这种邻域方向性信息联合的思想增加了算法抗噪声的力量,同时对于含有定位误差的特征匹配也供应了较好的容错性实际计算过程中,为了增加匹配的稳健性,建议对每个特征点使用4x4共16个种子点来描述,每个种子点有8个方向向量信息,这样对于一个特征点就可以产生4x4x8共128个数据,最终形成128维的SIFT特征向量,所需的图像数据块为16x16o此时SIFF特征向量已经去除了尺度变化、旋转等几何变形因素的影响,再连续将特征向量的长度归一化则可以进一步去除,光照变化的影响原始SIFT特征提取结果如图3-6所示其中加号表示特征点位置方框表示尺度大小不同颜色表示采样频率不同图3-6SIFT特征提取结果。