Advertisement

特征描述子——SIFT

阅读量:

在讨论班上, 同学们分享了关于SIFT图像特征描述子的知识。整个讲解过程条理分明, 我对其中的关键点也一一掌握了。于是乎, 在及时的学习机会下, 我便着手整理这些内容。

背景

**
**

当我们用于描述图像特征时,在追求算法鲁棒性的前提下希望能够获得具备抗噪声能力以及抗光照变化特性的稳定特性指标。然而经过分析发现HOG(霍夫格拉斯)方法虽然具备抗噪声能力和抗光照变化特性却无法实现尺度和旋转方向上的自适应特性因而存在一定的局限性和不足于是研究者们提出了基于HOG改进的SIFT(尺度无关特征变换)方法

**
**

SIFT简介

**
**

与HOG方法相比,在整个图像范围内均匀统计梯度方向特性并非SIFT算法的特点;其主要步骤包括首先在图像中定位出 Interest Points,并随后计算每个区域的 Local Descriptors;值得注意的是,在特征描述时,则特别关注那些稳定的 Interest Points及其局部区域的信息;这使得整体的描述能力得到显著提升

SIFT的亮点就是标红的几个步骤,如图0所示:

图0 关键步骤

本文内容组织如下:

(一)关键点提取

**** 1. 关键点提取方法

2. 尺度-空间最大判断

3. 关键点筛选

(二)关键点特征提取

1. 梯度直方图统计

2. 主方向对齐

3. SIFT图像局部特征描述子

(一)关键点提取

**
**


1. 关键点提取方法

**
**

为了定位一幅图像上的重要特征,在搜索感兴趣的位置时

图1 颗粒状图形 图2 拉普拉斯算子 图3 高斯函数、高斯梯度、拉普拉斯高斯运算符

我们都知道当图像窗口与模板架构相一致时,其卷积响应达到峰值.典型的斑点形态如图1所示,为了识别这类特征,最优选择自然是构建一个与之相似度较高的模板来进行图像卷积运算.其中图2展示了LoG算子的应用,观察发现其与图1中的斑点形态极为相似.因此,我们将LoG算子应用于图像滤波处理,通过检测局部极大值的位置即可确定目标区域.

2 .尺度-空间最大判断

**
**

前面曾提及,在特征提取过程中我们致力于确保其具备尺度不变性这一特性。图5与图6展示了同一图像在不同尺度下的表现形式;其中黑色曲线轨迹代表了一维数据中的灰度变化趋势,在每个缩放级别上都设置了相应的LoG算子来检测关键点位置。

图4 主要关注的核心特征 图5 使用模板识别大面积的斑块 图6 使用模板定位较小区域的斑块

采用外围模板进行Blob检测,在图5中选择尺寸最为合适的区域作为基础。若仅依靠同一尺寸的LoG模板进行检测,在目标尺寸(如图6所示)增大后,“外围探测器将不再有效识别 Blob”。于是我们需要采用多尺度LoG探测器对图像进行卷积运算,并选取在spatial和scale维度上均呈现局部最大响应特征的关键点作为特征点

采用不同尺度的LoG运算有效地克服了尺度相关性问题。然而进行多次LoG运算会导致显著的计算开销。为了降低复杂度,在保持检测效果的前提下,采用了差分高斯滤波器(DoG)来替代传统的拉普拉斯算子(LoG)。如图7所示:

图7 DoG v.s. LoG

首先对原图应用σ值的高斯滤波操作后得到一个中间结果,在计算其相邻区域的σ值差异后即可获得典型的DoG算子处理结果。如图8所示,在构建尺度-空间模型时会将这一处理过程纳入考虑范围。对于图8中的蓝色映射中的每个像素点进行评估后能够得到关键点候选信息:如果某个像素点同时满足在尺度和空间维度上达到最大值,则将其三维坐标记录下来并加入关键点候选列表;否则不进行关注。

图8 DoG 图9 scale-spatial maxima check

通过最大值检验的点就是我们的关键点候选,如图10所示:

图10 检测到的关键点

3. 关键点筛选

产生的关键点数量过多,在实际应用中发现其中多余的部分并不是我们关注的重点。经过进一步筛选后,在图像处理过程中可能会剔除那些对比度较低的区域以及位于边缘附近的像素。

1)关键点定位

**
**

在我们检测到的关键点上,首先需要将其回归至真实的局部最大值位置。通过二次曲面拟合其scale和spatial维度的三维邻域区域,并以准确表示该区域内部真实极值的位置来进行分析。在这里我未能充分理解其中细节内容,在此将相关公式附于此处(如图11所示)。

图11 插值求极值点

2)低对比度点

首先判定该极值点的两个特征值的乘积是否达到一定标准;如果满足条件时予以保留,则不满足条件时予以剔除。

**
**

3)位于边缘上的点

**
**

由于边缘可能出现过度细化或断裂的情况,并且这种现象会被系统识别为Blob(即连通区域),这表明这些特征不够稳定;因此我们可以忽略这些区域的细节并专注于那些较为稳定的几何特性——即所谓的角点;在这一过程我们采用了Harris角点检测方法,在其基础上并计算该区域的Hessian矩阵及其对应的两个特征值;只有当这两个数值均达到设定阈值时才确认存在明显的角点;具体阈值信息如图12所示;对于这一部分内容可能需要进一步学习和完善

图12 Harris角点检测

通过前面所述的几项步骤操作后, 就能精准地获得关键点(如图13所示), 是否显得质量明显了?

图13 精确关键点

(二)关键点特征提取

**
**

1. 梯度直方图统计

**
**

这一步和HoG完全一样,如图14。

图14 统计梯度方向直方图

2. 主方向对齐

**
**

该方法在计算基于梯度方向的方向直方图时带来了问题,因为特征点易受图像旋转影响而变化显著。最直观的解决方案是通过选取占比最多的方向作为基准,并将所有梯度矢量与基准方向进行对齐处理(如图15所示)。

图15 主方向对齐

当我们遇到涉及多个维度的情况时,在处理过程中我们可以选择确定若干主方向,并对每个主方向对应的区域进行分析计算以提取其频率分布信息作为特征向量参考依据如图16所示

图16 辅方向

这时我们将直方图首尾连接就得到了SIFT特征

3. SIFT图像局部特征描述子

为了减小光照影响,对特征进行归一化,还没有讲完,未完待续。。。

2. SIFT图像局部特征描述子

全部评论 (0)

还没有任何评论哟~