尺度不变特征变换匹配算法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
出现在任何一个尺度上。这样不论图像的尺度如何变 化,总能够提取出这种特征点。 前面已经提到,在一些合理的假设之下,高斯函数是 得到图像尺度空间唯一可用的核函数。将图像I(x,y) 的尺度定义为一个函数 L(x,y,σ) ,它由高斯函数 G(x,y,σ)和图像 卷积得到:
L x, y , G x, y , * I x, y
图像金字塔
生成的高斯差分图像 通过实验,得到 s、 的经验值分别为 3 和 也就是说,k 取 。 。
计算极值点
上一步中已经生成了高斯差分图像,这一步中要计算
该空间中的极值点。
每一幅高斯差分图像 中的一个像素点,要 和它所在图像的八邻 域像素比较, 而且要和它所在图像 的上一层和下一层的 各九个邻近的像素点 比较。
可以采用近似的方法来求主曲率的比值。首先计算待
测极值点的海瑟矩阵:
其中微分可以通过计算邻近点的差值来近似计算。H
的特征值和 D的主曲率对应成比例,这里我们只需要 计算 H 的较大特征值与较小特征值的比例即可。
设α 是较大的特征值,β 是较小的特征值,由矩阵性
ቤተ መጻሕፍቲ ባይዱ
质知:
通常这里的行列式不会是负值,如果出现负值的情况, 即两个主曲率不同号,我们将丢弃这个点,不将其视 为极值点。
有一个问题是到底要在多少个尺度中寻找极值点,即
如何确定 s 值。实验表明,s 取3 是较好的选择。如果 s = 3,则需要 5 幅高斯差分图像才可以。这里的计算 是高效的,因为大多数情况下,只需要几步比较,就 可以排除一个像素点,认为它不是极值。
在极值比较的过程中,每 一组图像的首末两层是无 法进行极值比较的,为了 满足尺度变化的连续性,
多尺度表示的思想是,将原始信号“嵌入”到采用一
个单参数变换得到的一系列信号中去,变换得到的每 个信号对应于单参数族中的一个参数。一个重要的要 求是,多尺度表示中的较粗尺度应该是较细尺度的简 化,而且较粗尺度是通过某种固定的方式,由较细尺 度图像经过平滑得到。要满足这个性质,可以有多种 实现方式。但是一点不变,那就是高斯函数是唯一可 用的平滑函数。
定程度的稳定性。
独特性(Distinctiveness)好,信息量丰富,适用于在海量
特征数据库中进行快速、准确的匹配。
多量性,即使少数的几个物体也可以产生大量SIFT特征
向量。
经过优化的SIFT算法可满足一定的速度需求。 可扩展性,可以很方便的与其他形式的特征向量进行联合。
尺度空间理论
不断用高斯函数卷积,得到一系列逐渐平滑的图像。 在这一层中,相邻的高斯图像差分得到高斯差分图像。 这一组进行完毕后,从中抽取一幅图像 A进行降采样, 得到图像 B 的面积变为 A的 1/4,并将B 作为下一层 的初始图像,重复第一层的过程。选取 A的原则是, 得到 A所用的尺度空间参数σ 为初始尺度空间参数的 2 倍。设 ,在 s 个尺度中寻找极值点,则每 层要有 s+3 幅图像,生成 s+2 幅高斯差分图像。如图 所示
方向直方图
从直方图中选出纵坐标值最大的一项的方向作为该
关键点的主方向。如果存在其他方向,纵坐标的大小 大于主方向纵坐标大小的 80%,也将其作为该关键点 的方向。特征点有多个方向的情况下,实际上是在此 位置上有多个关键点,他们的方向不同。
另外,为了获得更好的稳定性,可以对关键点邻域的
梯度大小进行高斯加权。有方法改进了采用直方图指 定方向的方式,改用 PCA求关键点的主方向。
k 3 k 4 k 5 k 6 k 7 k 8
Level Size:M×N
Octave 2
DoG Space Gaussian Space
k 3 k 4 k 5 k 6 k 7 k 6 k 7 k 8 k 9 k 10 k 11
Level Size:M/2×N/2
Octave 3
L x, y , G x, y , * I x, y
SIFT方法介绍
SIFT 算法有以下几个步骤:
1. 2. 3. 4.
检测尺度空间的极值点。 抽取稳定的关键点。 为每个关键点指定一个或者多个方向。 生成特征点描述子。
尺度空间的极值检测
提取尺度不变的特征点,其主要思想是提取的特征点
关键点周围区域图像梯度
关键点描述子
x
x
y
y
3 oct 3 oct 3 oct 3 oct
Lowe实验结 果表明:描 述子采用 4×4×8= 128维向量表 征,综合效 果最优(不 变性与独特 性)。
x
y
特征匹配和特征应用
SIFT 特征提取的方法已经介绍完毕,下面将介绍特征
匹配以及进行对象识别等应用所用到的方法和技巧。
为了在尺度空间中高效的检测稳定关键点的位置,又
提出在高斯差分函数与图像卷积得到的空间中D(x,y, σ)寻找极值点
D x, y, G x, y, k G x, y, * I x, y L x, y, k L x, y,
为了进行对象识别,首先将每个特征与特征数据库进
行匹配,其中,数据库里的特征是从训练图像中提取 的。这样得到的很多成功匹配是错误的,因为有些特 征并不具有很强的独特性,或者有些特征是从背景中 提取的。为了增大匹配成功的概率,首先识别出在一 个对象上的特征点的聚类,然后通过具体的几何模型 查看聚类是否正确。
“尺度空间”(Scale-Space)表示法是多尺度表示
的另外一种有效方法,它的尺度参数是连续的,并且 所有尺度上空间采样点个数是相同的(实际上,一个 尺度上得到的就是一幅图像,尺度空间采样点也就是 该尺度上图像的像素点。也就是说,尺度空间表示法 在各个尺度上图像的分辨率都是一样的)。尺度空间 表示的主要思想是,由原始信号(例如一幅图像)生 成一系列信号,并用这些信号来表示原始信号,这个 过程中,精细尺度的信息被逐步的平滑掉(可以认为 是细节信息被丢弃)。
设 r=α / β ,我们可得:
当 r≥1,
是 r的单调递增函数,所以要计算主曲 率的比值(即 r)是否在某阈值之下,只需要判断上 式左边的项是否在阈值之下即可。实验表明,阈值通 常选择 r = 10。
为关键点指定方向
SIFT特征的一个关键的特性是旋转不变性,实现旋转
不变的基本思想是采用“相对”的概念。为关键点赋 一个方向,定义的关键点描述子是相对于这个方向的, 因而可以实现匹配时图像的旋转无关性。
为了实现尺度无关,根据关键点所在的尺度选择与该
尺度最相近的高斯平滑图像 L。
对于 L上的每个点 ,计算梯度和方向:
以关键点为中心,划定一个邻域,利用所有在此区域
内的点的梯度形成一个方向直方图。直方图的横坐标 是梯度方向,共 36 项,每项代表了 10 度的范围;纵 坐标是梯度大小,对于归到横坐标上任一项内所有的 点,将其梯度大小相加,其和作为纵坐标。
同时,可以利用 D(
)去除低对比度的点。将以上两
个公式结合可得:
通过观察实验结果得出D( )绝对值小于 0.03 的极值
点都将被丢弃。
为了得到稳定的极值点,还要去除边缘的影响,因为
边缘上的极值点抗噪性较差。曲面上每个点(非平点) 都有两个主方向,并且沿这两个主方向的法曲率(即 两个主曲率)分别是曲面在该点法曲率的最大值和最 小值。在边缘上的极值点,垂直于边缘的方向上,法 曲率最大,沿边缘的方向上,法曲率最小。如果极值 点分布在边缘上,该点的法曲率最大值和最小值之比 (即两个主曲率之比),一般情况下要比非边缘点的 比值大。根据这种思想,我们可以设一个比值的阈值, 当比值大于这个阈值就认为极值点在边缘上。
SIFT 算法的主要思想是在尺度空间寻找极值点,
然后对极值点进行过滤,找出稳定的特征点。最
后在每个稳定的特征点周围提取图像的局部特性,
形成局部描述子并将其用在以后的匹配中。
SIFT算法特点
SIFT特征是图像的局部特征,其对旋转、尺度缩放、亮度
变化保持不变性,对视角变化、仿射变换、噪声也保持一
下图是一个SIFT描述子事例。其中描述子由2×2×8维向
量表征,也即是2×2个8方向的方向直方图组成。左图的 种子点由8×8单元组成。每一个小格都代表了特征点邻域 所在的尺度空间的一个像素,箭头方向代表了像素梯度方 向,箭头长度代表该像素的幅值。然后在4× 4的窗口内 计算8个方向的梯度方向直方图。绘制每个梯度方向的累 加可形成一个种子点,如右图所示:一个特征点由4个种 子点的信息所组成。
其中,相邻两个尺度由一个常数 k分开。
D和拉普拉斯高斯函数
的关系由以下公式说
明
公式左边的项可以用近似的方法计算:
可得:
计算高斯差分图像
为了求尺度无关的 特征点,首先需要 计算相邻尺度图像 的差分,得到一系 列图像并在该图像 空间中求极值点。 采用金字塔可以高 效的计算高斯差分 图像
金子塔自下而上分为多层,在第一层中,对原始图像
从认知学的角度讲,在一幅图像中,即使对一个 事物没有概念,或者并不熟悉它,人仍然能够感 知此物体的结构。对于人脑来说,即使不知道为 什么,也能推测场景中什么是重要的,什么仅是 背景而已。
想要得知图像中哪些是有意义的,必须先要明确
这样一个问题:在一幅图像中,只有在一定的尺 度范围内,一个物体才有意义。
k 6 k 7 k 8 k 9 k 10
右图为不同尺度不同层间
极值检测示意图。
DoG Space
Octave N
抽取稳定的关键点
上一步已经求出了极值点,现在要对这些极值点进行
筛选,去除不稳定的点,以增强特征点匹配时的稳定 性、提高抗噪声能力。不稳定的点包括低对比度的点 和边缘上的点。同时,由于在金子塔中存在降采样的 图像,在这些图像中提取的极值点在原始输入图像中 到底在什么位置,也是一个问题。下面将提出上面两 个问题的解决方案。
尺度不变特征变换匹配算法 Scale Invariant Feature Transform (SIFT)
SIFT 简介
1999年British Columbia大学大卫.劳伊(David
G.Lowe)教授总结了现有的基于不变量技术的特
征检测方法,并正式提出了一种基于尺度空间的、
对图像缩放、旋转甚至仿射变换保持不变性的图 像局部特征描述算子-SIFT(尺度不变特征变 换),这种算法在2004年被加以完善。
Gaussian Space
k
k 2
k 3
k 4
k 5
Level Size:2M×2N
Octave 1
DoG Space
k
k 2
k 3
k 4
我们在每一组图像的顶层
继续用高斯模糊生成了3 幅图像,高斯金字塔有每 组S+3层图像。DOG金字塔 每组有S+2层图像.
Gaussian Space
局部描述子
图像的关键点已检测完毕,每个关键点有三个信息:
位置、尺度、方向;同时也就使关键点具备平移、缩 放、和旋转不变性。
描述的目的是在关键点计算后,用一组向量将这 个关键点描述出来,这个描述子不但包括关键点, 也包括关键点周围对其有贡献的像素点。用来作 为目标匹配的依据,也可使关键点具有更多的不 变特性,如光照变化、3D视点变化等。
已经证明,在一些合理的约束之下,高斯函数是唯一
的尺度空间的平滑核函数,而且是唯一的线性平滑核 函数。一个图像的尺度空间,L(x,y,σ ) ,定义为原 始图像I(x,y)与一个可变尺度的2维高斯函数 G(x,y,σ ) 卷积运算。
( x xi ) 2 ( y yi ) 2 G xi , yi , exp 2 2 2 2 1
对于某一个尺度上求取的极值点, 采用一个 3 维的 2
次函数求该极值点在原图像上的位置,并去除低对比 度的极值点。首先在某极值点 A对 D(x,y, σ)进行泰 勒展开:
对上式求 X 的偏导数,并令偏导为零,得到
如果
大于 0.5,也就意味着这个极值点和另一个采 样点(图像中的另一个像素)离得更近。采用插值法 求得极值点位置的估计值。