SIFT特征提取分析的Matlab仿真
储绍华 B21214020 光信息科学与技术
(安徽大学 安徽 合肥 230000)
摘要
SIFT特征【1】(Scale-invariant feature transform,尺度不变特征转换) 是一种计算机视觉的算法,用来侦测与描述影像中的局部性特征,它在空间尺度中寻找极值点,并提取出其位置、尺度、旋转不变量。本文是针对SIFT算法进行了matlab仿真,得出最终的匹配图像。
关键词:SIFT;matlab仿真;特征点;特征点匹配
Matlab Simulation of SIFT Feature Extraction Analysis
ShaoHua Chu B21214020 Optical Information Science And Technology
(Anhui University Hefei Anhui, 230000)
Abstract
SIFT features (Scale invariant feature transform, Scale invariant feature transform) is a kind of computer vision algorithm, used to detect and describe the local characteristics of image, it seeks extreme value point in the space Scale and extract its location, Scale and rotation invariant. This article is in view of the SIFT algorithm by matlab simulation. It is concluded that the final match the image.
Key words: SIFT; The matlab simulation.; Feature points; Feature points matching
1 引言
成像匹配的核心问题是将同一目标在不同时间、不同分辨率、不同光照、不同位姿情况下所成的像相对应。传统的匹配算法往往是直接提取角点或边缘,对环境的适应能力较差,急需提出一种鲁棒性强、能够适应不同光照、不同位姿等情况下能够有效识别目标的方法。
SIFT特征 (Scale-invariant feature transform,尺度不变特征转换) 是一种计算机视觉的算法,用来侦测与描述影像中的局部性特征,它在空间尺度中寻找极值点,并提取出其位置、尺度、旋转不变量,此算法由 David Lowe 在1999年所发表,2004年完善总结。
局部影像特征的描述与侦测可以帮助辨识物体,SIFT 特征是基于物体上的
一些局部外观的兴趣点而与影像的大小和旋转无关。 对于光线、噪声、些微视角改变的容忍度也相当高。基于这些特性,它们是高度显著而且相对容易撷取,在母数庞大的特征数据库中,很容易辨识物体而且鲜有误认。使用 SIFT特征描述对于部分物体遮蔽的侦测率也相当高,甚至只需要3个以上的SIFT物体特征就足以计算出位置与方位。在现今的电脑硬件速度下和小型的特征数据库条件下,辨识速度可接近即时运算。SIFT特征的信息量大,适合在海量数据库中快速
【2】
准确匹配。
图一:匹配
SIFT算法的特点有:
SIFT特征是图像的局部特征,其对旋转、尺度缩放、亮度变化保持不变性,对视角变化、仿射变换、噪声也保持一定程度的稳定性;
独特性(Distinctiveness)好,信息量丰富,适用于在海量特征数据库中进行快速、准确的匹配;
多量性,即使少数的几个物体也可以产生大量的SIFT特征向量; 高速性,经优化的SIFT匹配算法甚至可以达到实时的要求; 可扩展性,可以很方便的与其他形式的特征向量进行联合。
2 算法的基本数学原理
关键点是一些十分突出的点不会因光照条件的改变而消失,比如角点、边缘点、暗区域的亮点以及亮区域的暗点,既然两幅图像中有相同的景物,那么使用某种方法分别提取各自的稳定点,这些点之间会有相互对应的匹配点。特征点具有三个特征:尺寸、方向、大小。
尺度空间理论最早在1962年提出,其主要思想是通过对原始图像进行尺度变换,获得图像多尺度下的尺度空间表示序列,对这些序列进行尺度空间主轮廓
的提取,并以该主轮廓作为一种特征向量,实现边缘、角点检测和不同分辨率上的特征提取等。尺度空间中各尺度图像的模糊程度逐渐变大,能够模拟人在距离目标由近到远时目标在视网膜上的形成过程。
高斯核是唯一可以产生多尺度空间的核,一个图像的尺度空间,L(x,y,σ) ,定义为原始图像I(x,y)与一个可变尺度的2维高斯函数G(x,y,σ) 卷积运算。
?(x?xi)2?(y?yi)2?G?xi,yi,???exp???222??2???1
(1) (2)
L?x,y,???G?x,y,??*I?x,y?
图二:高斯模糊
其中,r为模糊半径:
?r2?G?r??exp??2?2??2?2??1(3)
r=x2?y2(4)
图三:高斯图像
所有特征点的检测都是基于了尺度不变的特性,具有十分重要的意义。尺度规范化的LoG算子具有真正的尺度不变性。LoG算子即(Laplacion of Gaussian),
可以由高斯函数梯度算子GOG构建。
尺度规范化的GoG算子
?2G?2G?G?2?2?x?y2(5)
尺度规范化的LoG算子 ?2?2G
LOG(x,y,?)??2?2G?
Gauss(x,y,k?)?Gauss(x,y,?)(6)
?2(k?1)G?x,y,k???G?x,y,????k?1??2?2G(7)
通过推导可以看出,LOG算子与高斯核函数的差有直接关系,由此引入一种新的算子DOG(Difference of Gaussians),即高斯差分算子。
DoG(Difference of Gaussian)函数:
(8) L?x,y,???G?x,y,??*I?x,y?
(9) (10) ?L?x,y,k???L?x,y,??DoG在计算上只需相邻尺度高斯平滑后图像相减,因此简化了计算。由于DoG值对噪声和边缘较敏感,因此,在上面DoG尺度空间中检测到局部极值点还要经过进一步的检验才能精确定位为特征点。为了提高关键点的稳定性,需要对尺度空间DoG函数进行曲线拟合。利用DoG函数在尺度空间的Taylor展开式:
T ?D1T?2DD?X??D?X?XX(11) 2?X2?XT???x,y,??其极点为 X在计算过程中,分别对图像的行、列及尺度三个量进行了修正
T? ?D?2D?1X??(2)(12) ?X?X仅仅去除低对比度的极值点对于极值点的对于特征点稳定性是远远不够的。DoG函数在图像边缘有较强的边缘响应,因此我们还需要排除边缘响应。
DoG函数的(欠佳的)峰值点在横跨边缘的方向有较大的主曲率,而在垂直边缘的方向有较小的主曲率。主曲率可以通过计算在该点位置尺度的2×2的Hessian矩阵得到,导数由采样点相邻差来估计:
D?x,y,?????G?x,y,k???G?x,y,????*I?x,y?
(13)
通过尺度不变性求极值点,可以使其具有缩放不变的性质,利用关键点邻域像素的梯度方向分布特性,我们可以为每个关键点指定方向参数方向,从而使描述子对图像旋转具有不变性。
通过求每个极值点的梯度来为极值点赋予方向,像素点的梯度表示 ??I?I?gradI?x,y???,?(14)
??x?y?

