SIFT特征提取的实质
在不同的尺度空间上查找关键点(特征点),并计算出关键点的方向。SIFT所查找到的关键点是一些十分突出、不会因光照、仿射变换和噪音等因素而变化的点,如角点、边缘点、暗区的亮点及亮区的暗点等。
构造过程
通过构建高斯金字塔,保证图像在任何尺度都能有对应的特征点,即保证尺度不变性。为了实现旋转不变性,需要根据检测到的关键点的局部图像结构为特征点赋值。具体做法是用梯度方向直方图。
关键点描述子不但包括关键点,还包括关键点周围对其有贡献的像素点。为了保证旋转不变性,要以特征点为中心,在附近领域内旋转θ角(即旋转为特征点的方向),然后计算采样区域的梯度直方图,形成n维SIFT特征矢量(如128-SIFT)。特征向量形成后,为了去除光照变化的影响,需要对它们进行归一化处理。
下图演示的是旋转到特征点的主方向:
下图演示的是求取128维梯度向量:
最终每个关键点的值分为几部分:位置(x\y坐标)、尺度(高斯参数)、主方向、和方向梯度描述子(128维)
SIFT特征提取的优点
下面3段主要来自《图像处理之特征提取》
- SIFT特征是图像的局部特征,其对旋转、尺度缩放、亮度变化保持不变性,对视角变化、仿射变换、噪声也保持一定程度的稳定性;
- 独特性(Distinctiveness)好,信息量丰富,适用于在海量特征数据库中进行快速、准确的匹配;
- 多量性,即使少数的几个物体也可以产生大量的SIFT特征向量;
- 高速性,经优化的SIFT匹配算法甚至可以达到实时的要求;
- 可扩展性,可以很方便的与其他形式的特征向量进行联合;
- 需要较少的经验主义知识,易于开发。
SIFT特征提取的缺点
- 实时性不高,因为要不断地要进行下采样和插值等操作;
- 有时特征点较少(比如模糊图像);
- 对边缘光滑的目标无法准确提取特征(比如边缘平滑的图像,检测出的特征点过少,对圆更是无能为力)。
SIFT特征提取可以解决的问题:
目标的自身状态、场景所处的环境和成像器材的成像特性等因素影响图像配准/目标识别跟踪的性能。而SIFT算法在一定程度上可解决:
- - 目标的旋转、缩放、平移(RST)
- - 图像仿射/投影变换(视点viewpoint)
- - 光照影响(illumination)
- - 目标遮挡(occlusion)
- - 杂物场景(clutter)
- - 噪声
改进
近来不断有人改进,其中最著名的有 SURF(计算量小,运算速度快,提取的特征点几乎与SIFT相同)和 CSIFT(彩色尺度特征不变变换,顾名思义,可以解决基于彩色图像的SIFT问题)。
应用
SIFT可用于3维地图重建、图片矫正、全景拼接等
SIFT / HOG 比较
共同点
都是基于图像中梯度方向直方图的特征提取方法
不同点
SIFT提取的关键点是角点(个人理解:应该是角点+梯度直方图),HOG提取的是边缘特征。
SIFT 特征通常与使用SIFT检测器得到的兴趣点一起使用。这些兴趣点与一个特定的方向和尺度相关联。通常是在对一个图像中的方形区域通过相应的方向和尺度变换后,再计算该区域的SIFT特征。
结合SIFT和HOG方法,可以发现SIFT对于复杂环境下物体的特征提取具有良好的特性;而HOG对于刚性物体的特征提取具有良好的特性。
其它传统特征提取的方法
1 SURF
前面提到SITF的缺点是如果不借助硬件加速或专门的图像处理器很难达到实现,所以人们就要想办法对SITF算子进行改进,SURF算子便是对SIFT的改进,不过改进之后在算法的运行时间上还是没有质的飞跃。后面要介绍的ORB特征描述算子在运行时间上才是一种质的飞跃。
SURF最终生成的特征点的特征向量维度为64维。
2 ORB
ORB特征描述算法的运行时间远优于SIFT与SURF,可用于实时性特征检测。ORB特征基于FAST角点的特征点检测与描述技术,具有尺度与旋转不变性,同时对噪声及透视仿射也具有不变性
ORB特征检测主要分为以下两个步骤:
方向FAST特征点检测: FAST角点检测是一种基于机器学习的快速角点特征检测算法;
BRIEF特征描述: BRIEF描述子主要是通过随机选取兴趣点周围区域的若干点来组成小兴趣区域,将这些小兴趣区域的灰度二值化并解析成二进制码串,将串特征作为该特征点的描述子,BRIEF描述子选取关键点附近的区域并对每一位比较其强度大小,然后根据图像块中两个二进制点来判断当前关键点编码是0还是1.因为BRIEF描述子的所有编码都是二进制数的,这样就节省了计算机存储空间。
3 LBP
LBP(Local Binary Pattern),局部二值模式是一种描述图像局部纹理的特征算子,该算子是由T.Ojala等人于1994年首次提出的,后经过发展改进可应用于图像特征分析,该算子具有旋转不变性与灰度不变性(不怕光照变化)等显著优点。
LBP特征描述的是一种灰度范围内的图像处理操作技术。LBP特征是高效的图像特征分析方法,经过改进与发展已经应用于多个领域之中,特别是人脸识别、表情识别、行人检测领域已经取得了成功。
LBP牲征将窗口中心点与邻域点的关系进行比较,重新编码形成新特征以消除对外界场景对图像的影响,因此一定程度上解决了复杂场景下(光照变换)特征描述问题。
参考:机器视觉特征提取介绍:HOG、SIFT、SURF、ORB、LBP、HAAR
算法描述参考:
参考:SIFT特征提取分析