2024年1月21日发(作者:)

尺度不变的特征变换(SIFT)简介

1 SIFT简介

David G. Lowe在1999年提出了尺度不变的特征(Scale-Invariant Feature),用来进行物体的识别和图像匹配等[1],并于2004年进行了更深入的发展和并加以完善[2]。SIFT(Scale-Invariant

Feature Transform)算子是一种图像的局部描述子,具有尺度、旋转、平移的不变性,而且对光照变化、仿射变换和3维投影变换具有一定的鲁棒性[1]。在Mikolajczyk对包括SIFT算子在内的十种局部描述子所做的不变性对比实验中,SIFT及其扩展算法已被证实在同类描述子中具有最强的健壮性[3]。

SIFT算法的主要思想是在尺度空间寻找极值点,然后对极值点进行过滤,找出稳定的特征点。最后在每个稳定的特征点周围提取图像的局部特性,形成局部描述子并将其用在以后的匹配中。SIFT算法是基于Lindeberg[4]的理论解决了尺度不变性的问题,本文会对尺度空间理论做一些介绍。

SIFT特征除具有前面所述的优点外,还具有很好的独特性,适于在海量特征数据库中进行快速、准确的匹配;另外,算法产生的特征点在图像中的密度很大,速度可以达到实时要求;由于SIFT特征描述子是向量的形式,它可以与其他形式的特征向量进行联合。SIFT的应用十分广泛,包括目标识别、机器人视觉、图像检索、图像拼接、3D建模、手势识别、视频跟踪和运动匹配等。

2 尺度空间理论

SIFT算法提取的特征点具有尺度不变性,也就是说,同一物体在图片上不论尺度大小,都能根据SIFT算法提取到相同的特征点。这种尺度不变性是根据尺度空间理论得来的。

Lindeberg在其1991年发表的博士毕业论文[4]中系统的论述了尺度空间理论。从有关尺度的问题提出开始,他给出了尺度空间的定义,并对尺度空间的转换给出了一些约束。然后用一系列的数学定理形式化的描述了尺度空间以及得到尺度空间所用的核函数应具备的种种性质。他给出表示尺度空间的方法,最后展示了尺度空间一些应用的示例。1994年,Lindeberg在[5]中更加全面、更加系统的论述了尺度空间理论。在2008年,“尺度空间”这一名词,已被列入《计算机科学与工程百科全书》[6]。

2.1 问题提出

在计算机中,一幅图像通常是用像素矩阵来表示的,每个像素拥有整数类型的灰度级,人理解和解释用这种方式表示的图像是很容易的一件事情。但是,如果每个灰度级用小数来表示,人就不容易理解图像。如今使用的矩阵表示法,图像中所蕴含的信息是隐式的。也就是说,人眼从图像中分辨出的有意义信息是隐式的,由于这些信息没有明确的表示出来,计算机并不能感知。对于计算机来说,一个基本的问题是一副图片中哪些点是相互关联的以及哪些点对应着图片场景中的一个物体。这就是原始分组和知觉组织的问题。从认知学的角度讲,在一幅图像中,即使对一个事物没有概念,或者并不熟悉它,人仍然能够感知此物体的结构。对于人脑来说,即使不知道为什么,也能推测场景中什么是重要的,什么仅是背景而已。

想要得知图像中哪些是有意义的,必须先要明确这样一个问题:在一幅图像中,只有在一定的尺度范围内,一个物体才有意义。举一个例子,树枝这个概念,只有在几厘米到几米的距离去观察它,才能感知到它的确是树枝;如果在微米级或者千米级去观察,就不能感知到树枝这个概念了,这样的话可以感知到的是细胞或者是森林的概念。

因而,如果想要描述现实世界的结构,或者将三维物体映射到二维的图像上去,多尺度表示将会至关重要。多尺度表示的概念很容易理解,举例说明,绘制地图时会有比例尺的概念。世界地图中就只能够显示大洲大洋,以及较大的地域和国家;而一个城市地图,甚至可以详细的显示出每条街道。

这里需要强调一点,事物是实实在在的存在的,但是通过图像这个媒介,观察者可以感知到的概念是不同的。

本页已使用福昕阅读器进行编辑。福昕软件(C)2005-2010,版权所有,仅供试用。2.2 提出解决办法

2.2.1 多尺度表示

为了使图像中的信息由只有人类可感知的隐式信息,成为计算机可表示的显式信息,可以采用“多尺度表示”(Multi-scale Representation)的图像表示法来解决。在进行图像处理和图像理解时,从图像中提取何种信息,对图像进行何种操作,都是要考虑的基本问题。为了有效的回答这些基本问题,可以对图像分阶段处理,前一阶段处理得到的信息可供后续的处理使用。对于第一阶段的处理,有个基本的约束——处理之前并不知道在图像的场景中到底要提取什么内容;而且,处理所得的特征相对于各种变换(例如光照的变化,图像的尺寸以及视角的变化)要具有鲁棒性。

多尺度表示事先并不知道到底要使用哪些尺度,所以要计算得出所有的尺度以供后面的步骤使用。一个多尺度表示的示意图如图1所示。

图1.

一个多尺度表示的示意图。多尺度表示是用一个有序的信号序列来表示原始图像,序列中的每个信号都在不同尺度上[5]。

多尺度表示的思想是,将原始信号“嵌入”到采用一个单参数变换得到的一系列信号中去,变换得到的每个信号对应于单参数族中的一个参数(例如图1中t)。一个重要的要求是,多尺度表示中的较粗尺度应该是较细尺度的简化,而且较粗尺度是通过某种固定的方式,由较细尺度图像经过平滑得到。要满足这个性质,可以有多种实现方式。但是一点不变,那就是高斯函数是唯一可用的平滑函数。

也就是说多尺度表示时丆都会有平滑这一步实现多尺度表示有多种方式,比如,早期会采用四分树或者八分树,以及图像金字塔。金字塔是结合降采样操作和平滑操作的一种图像表示方式。它的一个很大的好处是,自下而上每一层的像素数都不断减少,这会大大减少计算量;而缺点是自下而上金字塔的量化变得越来越

本页已使用福昕阅读器进行编辑。福昕软件(C)2005-2010,版权所有,仅供试用。粗糙,而且速度很快。(需要强调的是,这里的金字塔构造方法和小波金字塔的构造方法是类似的,对某一层的图像进行平滑之后,再做降采样,平滑目的是为了降采样后的像素点能更好的代表原图像的像素点,与多尺度表示中的平滑完全不是一个目的)。图2是金字塔表示法的一个示例。

图2.

金字塔表示法[5]

2.2.2 尺度空间

上面提到的四分树或者八分树以及金字塔表示法,在获得多尺度时所采取的步骤是相当粗略的,尺度与尺度之间的“间隔”太大。而这里要提到的“尺度空间”(Scale-Space)表示法是多尺度表示的另外一种有效方法,它的尺度参数是连续的,并且所有尺度上空间采样点个数是相同的(实际上,一个尺度上得到的就是一幅图像,尺度空间采样点也就是该尺度上图像的像素点。也就是说,尺度空间表示法在各个尺度上图像的分辨率都是一样的)。尺度空间表示的主要思想是,由原始信号(例如一幅图像)生成一系列信号,并用这些信号来表示原始信号,这个过程中,精细尺度的信息被逐步的平滑掉(可以认为是细节信息被丢弃),如图3所示。作为对比,图4显示了尺度空间表示法与金字塔表示法直观上的比较。

本页已使用福昕阅读器进行编辑。福昕软件(C)2005-2010,版权所有,仅供试用。

(1983,Witkin)。

图3.

左边的一维信号自下而上被逐步平滑,细节信息逐渐丢失。

尺度空间表示 金字塔表示

图4.

尺度空间表示和金字塔表示的对比[5]。由此也可以形象的看出多尺度和多分辨率的区别。多尺度在所有尺度上像素数是相同的,细节通过平滑逐步丢失。

要注意的是,并不是所有的尺度函数都可以用于生成尺度空间。因为一个很重要的问题是,

从精细尺度到较粗糙的尺度的变换过程中,信息被逐渐的简化和削弱。也就是说,较粗尺度不

本页已使用福昕阅读器进行编辑。福昕软件(C)2005-2010,版权所有,仅供试用。可能产生较细尺度中没有的特征。Koenderink[7](1984)和Lindeberg[8](1994)已经证明,在一些合理的约束之下,高斯函数是唯一的尺度空间的平滑核函数[7],而且是唯一的线性平滑核函数[8]。

(1)

公式(1)表示,以t作为尺度参数,在整个定义域上用二维高斯核与输入图像做卷积,得到与t对应的尺度(即在该尺度上的一副图像)。也可以采用与之等价的操作:

公式(2)采用了物理学中著名的热扩散公式,热扩散公式描述了在均匀介质中,热量是如 (2)

产生尺度空间的公式可以表示如下:

何向各个方向均匀传导的。注意到(2)式右边是拉普拉斯算子的形式,拉普拉斯算子是各向同性的,这恰好符合热传导的特性。

3 SIFT方法介绍

SIFT特征的优点在前面已经做了说明, 下面将对SIFT方法做详细的介绍。SIFT算法有以下几个步骤:

1. 检测尺度空间的极值点。

2. 抽取稳定的关键点。

3. 为每个关键点指定一个或者多个方向。

4. 生成特征点描述子。

3.1 相关工作

采用特征点进行图像匹配可以追溯到1981年,Moravec[9]采用角点检测做立体匹配。1988年,Harris和Stephens[10]改进了Moravec的检测器,使检测到的特征更加稳定。1992年,Harris[11]显示了他的角点检测器在运动跟踪和3维重构方面的优势,从此之后,角点检测方法被广泛的使用。但是角点检测有两个问题,一是不但可以检测出角点,而且对边缘也十分敏感;二是它

本页已使用福昕阅读器进行编辑。福昕软件(C)2005-2010,版权所有,仅供试用。不是尺度无关的方法。焦点检测最初的应用多在于运动跟踪和立体匹配方面,后来Zhang等人[12]在1995年实现了图像角点的匹配。他们使用了角点邻域的关联窗来寻找可能的匹配。

1997年Schmid和Mohr[13]做出了开创性的工作,他们采用图像的局部特征进行图像匹配,使得一个特征可以和一个大的图像库中的图像做匹配。他们同样采用Harris角点,但不同的是,他们开创性的使用了旋转不变的、图像局部区域的描述子。

Harris角点检测对尺度变化十分敏感,Lowe在1999年实现了局部特征的尺度无关性,并且他提出了新的局部描述子,这种描述子更具独特性和鲁棒性。

最近,有很多工作致力于使局部特征对仿射变换具有不变性:Baumberg, 2000[14];

Tuytelaars and Van Gool, 2000[15]; Mikolajczyk and Schmid, 2002[16]; Schaffalitzky and

Zisserman, 2002[17]; Brown and Lowe, 2002[18]。

3.2 尺度空间的极值检测

提取尺度不变的特征点,其主要思想是提取的特征点出现在任何一个尺度上。这样不论图像的尺度如何变化,总能够提取出这种特征点。检测尺度无关的特征点可以通过搜索所有可能的尺度,这可以基于尺度空间理论来解决。

前面已经提到,在一些合理的假设之下,高斯函数是得到图像尺度空间唯一可用的核函数。将图像I(x,y)的尺度定义为一个函数L(x,y,σ),它由高斯函数G(x,y,σ)和图像I(x,y)卷积得到:

L(x,y,σ) =

G(x,y,σ) *

I(x,y),

为了在尺度空间中高效的检测稳定关键点的位置,[1][2]提出在高斯差分函数与图像卷积得到的空间D(x,y,σ)中寻找极值点,

D(x,y,σ) = (G(x,y,kσ) -

G(x,y,σ)) *

I(x,y)

=

L(x,y,kσ) -

L(x,y,σ)。 (3)

其中,相邻两个尺度由一个常数k分开。

选择这个公式有两个原因。一是这个公式的计算是省时的,因为要描述尺度空间中的特征点,就必须计算输入图像的尺度L,而这里计算D时,仅需要计算相邻尺度函数的差值。另外一个原因是函数D的性质与尺度归一化的拉普拉斯高斯函数——即σ2∇2G很相近[8]。而Mikolajczyk在实验中表明,(包括梯度,Hessian,σ2∇2G的极大值和极小值能够产生比其他函数Harris角点函数)更加稳定的特征。

本页已使用福昕阅读器进行编辑。福昕软件(C)2005-2010,版权所有,仅供试用。 D和σ2∇2G的关系可由以下公式说明,

该公式是热扩散公式的另一种表示形式,公式左边的项可以用近似的方法计算:

所以可得:

从公式可以看出,D和σ2∇2G的形式是类似的。由于拉普拉斯函数是尺度无关的,因而高斯差分函数也是尺度无关的。对于所有尺度而言,k都是一个常数,所以使用D不会影响极值的选取。当k趋向于1的时候,误差会越来越小。但是实验表明,即使k值不接近1(例如k取2),对极值的选取也没有多大影响。

3.2.1 计算高斯差分图像

前面已经论述,为了求尺度无关的特征点,首先需要计算相邻尺度图像的差分,得到一系列图像并在该图像空间中求极值点。采用金字塔可以高效的计算高斯差分图像,如图5所示:

既进行卷积又要进行降采样形成金字塔

图5.

构造金子塔,计算高斯图像的差分。

本页已使用福昕阅读器进行编辑。福昕软件(C)2005-2010,版权所有,仅供试用。 金子塔自下而上分为多层,在第一层中,对原始图像不断用高斯函数卷积,得到一系列逐渐平滑的图像。在这一层中,相邻的高斯图像差分得到高斯差分图像。这一组进行完毕后,从中抽取一幅图像A进行降采样,得到图像B的面积变为A的1/4,并将B作为下一层的初始图像,重复第一层的过程。选取A的原则是,得到A所用的尺度空间参数σ为初始尺度空间参数的2倍。设k =

21/s,在s个尺度中寻找极值点,则每层要有s+3幅图像,生成s+2幅高斯差分图像。如图6所示:

(1)

留下了边缘信息

(2)

(2)为生成的高斯差分图像。

图6.

(1)为图像金字塔,

通过实验,得到s、σ0的经验值分别为3和1.6*21/3

(*为乘号)。也就是说,k取21/3。

3.2.2 计算极值点

上一步中已经生成了高斯差分图像,这一步中要计算该空间中的极值点。如图7所示:

采样变了位置也就变了本页已使用福昕阅读器进行编辑。福昕软件(C)2005-2010,版权所有,仅供试用。

图7.

计算极值点。每一幅高斯差分图像中的一个像素点,要和它所在图像的八邻域像素比较,而且要和它所在图像的上一层和下一层的各九个邻近的像素点比较。

有一个问题是到底要在多少个尺度中寻找极值点,即如何确定s值。实验表明,s取3是较好的选择。如果s = 3,则需要5幅高斯差分图像才可以。这里的计算是高效的,因为大多数情况下,只需要几步比较,就可以排除一个像素点,认为它不是极值。

3.3 抽取稳定的关键点

上一步已经求出了极值点,现在要对这些极值点进行筛选,去除不稳定的点,以增强特征低对比度的点和边缘上的点点匹配时的稳定性、提高抗噪声能力。不稳定的点包括低对比度的点和边缘上的点。同时,由于在金子塔中存在降采样的图像,在这些图像中提取的极值点在原始输入图像中到底在什么位置,也是一个问题。下面将提出上面两个问题的解决方案。

对于某一个尺度上求取的极值点,采用一个3维的2次函数求该极值点在原图像上的位置,并去除低对比度的极值点。首先在某极值点A对D(x,y,σ)进行泰勒展开:

(4)

其中,X=(x,y,σ)T是到点A的偏移量。对(4)式求X的偏导数,并令偏导为零,得到

(5)

如果x)大于0.5,也就意味着这个极值点和另一个采样点(图像中的另一个像素)离得更近。采用插值法求得极值点位置的估计值。

同时,可以利用D(x)去除低对比度的点。将公式(5)带入公式(4)得

)

)通过观察实验结果得出,D(x)绝对值小于0.03的极值点都将被丢弃。

为了得到稳定的极值点,还要去除边缘的影响,因为边缘上的极值点抗噪性较差。曲面上每个点(非平点)都有两个主方向,并且沿这两个主方向的法曲率(即两个主曲率)分别是曲面在该点法曲率的最大值和最小值。在边缘上的极值点,垂直于边缘的方向上,法曲率最大,沿边缘的方向上,法曲率最小。如果极值点分布在边缘上,该点的法曲率最大值和最小值之比(即两个主曲率之比),一般情况下要比非边缘点的比值大。根据这种思想,我们可以设一个比值的阈值,当比值大于这个阈值就认为极值点在边缘上。

可以采用近似的方法来求主曲率的比值。首先计算待测极值点的海瑟矩阵:

其中微分可以通过计算邻近点的差值来近似计算。H的特征值和D的主曲率对应成比例,这里我们只需要计算H的较大特征值与较小特征值的比例即可。设α是较大的特征值,β是较小的 (6)

特征值,由矩阵性质知:

其中用到了矩阵的迹和行列式。通常这里的行列式不会是负值,如果出现负值的情况,即两个主曲率不同号,我们将丢弃这个点,不将其视为极值点。设r=α/β,我们可得:

2当r≥1,(r+1)/r是r的单调递增函数,所以要计算主曲率的比值(即r)是否在某阈值之下,只需要判断上式左边的项是否在阈值之下即可。实验表明,阈值通常选择r = 10。

本页已使用福昕阅读器进行编辑。福昕软件(C)2005-2010,版权所有,仅供试用。3.4 为关键点指定方向

SIFT特征的一个关键的特性是旋转不变性,实现旋转不变的基本思想是采用“相对”的概念。为关键点赋一个方向,定义的关键点描述子是相对于这个方向的,因而可以实现匹配时图像的旋转无关性。

为了实现尺度无关,根据关键点所在的尺度选择与该尺度最相近的高斯平滑图像L。对于L上的每个点L(x,y),计算梯度和方向:

以关键点为中心,划定一个邻域,利用所有在此区域内的点的梯度形成一个方向直方图。直方图的横坐标是梯度方向,共36项,每项代表了10度的范围;纵坐标是梯度大小,对于归到横坐标上任一项内所有的点,将其梯度大小相加,其和作为纵坐标。如图8所示:

图8.

方向直方图

从直方图中选出纵坐标值最大的一项的方向作为该关键点的主方向。如果存在其他方向,纵坐标的大小大于主方向纵坐标大小的80%,也将其作为该关键点的方向。特征点有多个方向的情况下,实际上是在此位置上有多个关键点,他们的方向不同。

另外,为了获得更好的稳定性,可以对关键点邻域的梯度大小进行高斯加权。有方法改进了采用直方图指定方向的方式,改用PCA求关键点的主方向。

3.5 局部描述子

前面已经为关键点赋予了图像位置、尺度以及方向,这一步将根据关键点周围的局部特性计算一个特征描述子。这个描述子还需要对仿射变换、光照变换等具有一定的鲁棒性。

如图9所示,在关键点周围取一个邻域,并对其中点的梯度做高斯加权。这个邻域分为四个子区域,每个子区域取八个方向,生成图8所示的相同形式的直方图。

图9.

图中显示了8x8的像素矩阵,以及圆形的邻域,邻域被划分为2x2个子区域,每个子区域形成一个八方向的梯度直方图。

实际上,在实验中使用了16x16的像素区域,并且邻域划分为4x4个子区域。每个子区域生成一个描述子,一个描述子中涉及8个方向。所以每个关键点有4x4x8 = 128维。

这里还用到一些生理学知识,一个生物视觉模型尤其是初级视觉皮层中的复杂神经细胞的工作方式。复杂神经细胞对梯度的方向和空间频率的区分十分敏感,但对视网膜上梯度的位置不作十分精确的区分,允许位置做稍许改变。1997年Edelman,Intrator和Poggio根据这种模型假设复杂神经细胞在视角发生一定变化时,也能够认为物体匹配并识别出3维物体。

为了对光线变化更具鲁棒性,描述子都被归一化到单位长度。如果图像的对比度发生变化,每个像素值都会乘上一个数值,归一化后,对比度的影响被消除了。对于图像亮度的变化,每个像素值都会加上一个数值,然而这对计算的梯度是没有影响的。因此,该描述子对亮度的仿射变换是鲁棒的。对于非线性的光线变化,梯度大小会受影响,但是梯度的方向不会有大的变化,我们可以根据前面描述的生物学原理解决此问题。在128维的单位向量中,滤除梯度大小大于0.2的梯度值,然后重新归一化。也就是说,梯度大小的作用被虚弱了,而方向信息的作用被强化了。0.2是实验得出的经验值。

本页已使用福昕阅读器进行编辑。福昕软件(C)2005-2010,版权所有,仅供试用。3.6 特征匹配和特征应用

至此,SIFT特征提取的方法已经介绍完毕,下面将介绍特征匹配以及进行对象识别等应用所用到的方法和技巧。这一部分,用到的方法是十分巧妙的。

为了进行对象识别,首先将每个特征与特征数据库进行匹配,其中,数据库里的特征是从训练图像中提取的。这样得到的很多成功匹配是错误的,因为有些特征并不具有很强的独特性,或者有些特征是从背景中提取的。为了增大匹配成功的概率,首先识别出在一个对象上的特征点的聚类,然后通过具体的几何模型查看聚类是否正确。

3.6.1 特征匹配

一个特征在特征数据库中匹配可以使用最近邻的方法,而最近邻定义为特征向量的欧氏距离。然而如上面所述,会有很多的误匹配出现。所以没有和数据库中特征很好的匹配的特征点可以被忽略掉。考虑一种方法是对最近邻的欧氏距离设定一个全局的阈值,实验表明这种方法的效果并不是很好,因为有些特征具有很强的区分性,而另一些则要弱一些,所以全局的阈值不合适。另一种方法是利用最近邻和次最近邻的相对值,这种相对的做法更趋合理,在旋转不变性中也用到了相对的方法。

如果同一场景有多幅训练图像,某一特征点A的次最近邻定义为——数据库中来自不同对象的特征点B,在不同的对象中,B是A的最近邻;也就是说,B是所有误匹配中A的最近邻。对于正确匹配,最近邻要比错误匹配中的最近邻大很多才能提供稳定的匹配效果。对于错误匹配时的最近邻,同样的距离下也会有很多其他的误匹配。我们可以认为次最近邻匹配在一定程度上提供了错误匹配的密度,也提供了区分性差的特征的一个样本。

图10显示了随着最近邻和次最近邻的比值的变化,得出的正确匹配和错误匹配的概率密度。可以看出两个曲线的峰值位置相差很大,在正确匹配概率达到峰值时,错误匹配的概率很小。这对我们设定阈值是非常有利的。

图10.

随着最近邻和次最近邻比值(Ratio)的变化,得出的正确匹配和错误匹配概率密度函数曲线。实验采用了包含40,000个特征点的数据库。

3.6.2 寻找最近邻

在进行大库的匹配时,用穷举法进行最近邻搜索会带来大量的时间消耗。采用k-d tree可以加速搜索,但是效果还不是特别明显。因此采用Beis和Lowe[19]在1997年提出的Best-Bin-First(BBF)的算法。这个算法较大的提高了运行速度,而且以很大的概率找到最近邻。BBF算法实际上是改变了k-d tree算法的搜索顺序,以此来尽快的搜索到最近邻。1993年Arya和Mount[20]首先研究了搜索顺序,在1998年Arya等人[21]又对计算复杂度做了更深入的研究。算法中使用了基于堆的优先队列来高效的决定搜索顺序。当搜索到一定个数的近邻时,就可以停止算法。实验表明BBF算法性能很好,因为我们仅考虑Ratio(最近邻距离/次最近邻距离)< 0.8的情形,所以不必花费大量时间在很多相似的距离中寻找最近邻上面。

3.6.3 采用霍夫变换进行聚类

为了提高对象识别的性能,我们希望用最少数目的匹配特征来辨识对象。一幅典型的图片上可以提取2,000多个SIFT特征点,这些特征点可能来自不同的对象,也可能来自背景。若采用3.6.1的方法只保留Ratio < 0.8的匹配,可以去掉大部分由于背景点所产生的错误匹配,但仍

然无法解决来自不同对象的误匹配。考虑采用霍夫变换[22]对同一个物体中的特征进行聚类。首先将目标几何约束模型H的参数离散化,然后通过匹配对建立投票空间,按照一定阈值搜索投票空间中的极大值,所对应的匹配对认为是正确的匹配。

图11显示采用Ratio阈值法以及进一步采用霍夫变换聚类所获得的实验效果。从图中可以看出,最终结果十分理想。

(a) (b)

(c)

(d)

(e)

(b)为原始采集的两幅图像,(c)为直接采用最近邻的方法进行匹配的结果,(d)图11.

(a)为采用距离之比的方法改进后的匹配结果,(e)为在上一步的基础上再进行聚类后的匹配结果。

正如前面所叙述,SIFT特征的应用是十分广泛的。其他各方面的应用,都是在上述方法的基础上进行的拓展和集成。这里就不再赘述了。

4 总结与思考

SIFT方法与其说是一种算法,不如说是一套图像特征提取和匹配的方案。SIFT全称为“尺实现尺度无关的方法基于尺度度无关的特征转换”,因而SIFT特征的尺度无关性是其最大特点。

空间理论,该理论经过多人尤其是Lindeberg的发展已经相对成熟。而尺度无关也是SIFT方法中最具理论背景的一部分,其实SIFT作为一个方法体系,其提取的特征还具有旋转不变性、对关照、仿射变换等具有鲁棒性的特点。

如果说尺度无关性部分是最具理论深度的解决方案,实现其它特点所用的方法则是十分巧妙和灵活的。在抽取稳定特征点部分,采用了一个3维二次函数对极值点进行拟合,以求极值点的确切位置,并以此滤除了低对比度的点;用海瑟矩阵求取主曲率比值的近似,去除了沿边缘分布的点。之前提取图像特征点的方法,例如Harris角点检测,或者对尺度敏感或者对边缘也比较敏感,而SIFT方法则全部解决了这些问题。在为关键点指定方向部分,为了实现旋转不变性而采用了“相对”的思想,并定义了具有很强区分性的描述子。大量的实验证明了这种描述子的有效性,描述子采用了关键点周围点的梯度信息,这种方法未见有深厚的理论基础,所以这部分或许还有改进的余地。在特征匹配部分,最原始的NN方法出现了很多误匹配,但Lowe等人提出了很多行之有效且十分巧妙的方法达到了很好的匹配效果。一方面,求最近邻距离与误匹配最近邻(即次最近邻)距离之比,并设定阈值排除大部分由于背景产生的误匹配;另一方面,采用基于霍夫变换的聚类,极大的排除了来自其他对象的误识别。

SIFT之所以如此流行([1,2]共被引用6,000余次,而且有广泛应用),一方面是由于用到的理论基础较为成熟,在前人的基础上进行了创新、改进和集成;另一方面主要是由于该方法效果很好,对之前方法关键性的不足做了有效的改进;其他方面,比如公开源码等开放作风也获得了诸多青睐。

总之,SIFT方法中包含很多值得借鉴的知识和技巧。SIFT的成功有赖于前人的积累,Lowe等学者在机器视觉以及计算机的其他领域的广泛积累和较深造诣,以及思考出的一系列行之有效的、颇具智慧的方法。可以利用SIFT的思想或者方法,在诸多领域加以应用,相信能够在一定程度上解决很多问题。然而,任何方法都不是完美的,就SIFT方法本身来说,也有其不完美之处,比如对关照、仿射变换并不是完全鲁棒,对弹性形变更是无法适应,这些都是有待解决的问题。

[1] David G. Lowe, Object recognition from local scale-invariant features, International Conference

on Computer Vision, Corfu, Greece, pp. 1150-1157, September 1999.

[2]

Darid G.Lowe, Distinctive Image Features from Scale—invariant Keypoints, International

Journal of Computer Vision, 60(2):91~110, 2004.

[3] K. Mikolajczyk and C. Schmid. A performance evaluation of local descriptors. IEEE Transaction

on Pattern Analysis and Machine Intelligence, 27:1615-1630, 2005.

[4]

T. Lindeberg. Discrete Scale-Space Theory and the Scale-Space Primal thesis, Royal

Institute of Technology, Department of Numerical Analysis and Computing Science, Royal

Institute of Technology, S-100 44 Stockholm, Sweden,May 1991.

[5]

T. Lindeberg. Scale-Space Theory in Computer Vision. International Series in Engineering and

Computer Science. Kluwer Academic Publishers, Dordrecht, the Netherlands, 1994.

[6]

Encyclopedia of Computer Science and Engineering (Benjamin Wah, ed), John Wiley and Sons,

Vol-ume IV, pages 2495-2504, Hoboken, New Jersey,

/10.1002/609, Sep 2008.

[7]

Koenderink, J.J. The structure of images. Biological Cybernetics, 50:363-396, 1984.

[8] T. Lindeberg,. Scale-space theory: A basic tool for analysing structures at different scales.

Journal of Applied Statistics, 21(2):224-270, 1994.

[9]

Moravec, H. Rover visual obstacle avoidance. In International Joint Conference on Artificial

Intelligence, Vancouver, Canada, pp. 785-790, 1981.

[10]

Harris, C. and Stephens, M. A combined corner and edge detector. Fourth Alvey Vision

Conference, Manchester, UK, pp. 147-151, 1988.

[11] Harris, C. Geometry from visual motion.

In Active

Vision, A. Blake and A. Yuille (Eds.), MIT

Press, pp. 263-284, 1992.

[12] Zhang, Z., Deriche, R., Faugeras, O., and Luong, Q.T. A robust technique for matching two

uncalibrated images through the recovery of the unknown epipolar geometry. Artificial

Intelligence, 78:87-119, 1995.

[13] Schmid, C., and Mohr, R. Local grayvalue invariants for image retrieval. IEEE Trans. on Pattern

Analysis and Machine Intelligence, 19(5):530-534, 1997.

[14] Baumberg, A. Reliable feature matching across widely separated views. In Conference on

Computer Vision and Pattern Recognition, Hilton Head, South Carolina, pp. 774-781, 2000.

[15] Tuytelaars, T., and Van Gool, L. Wide baseline stereo based on local, affinely invariant regions.

In British Machine Vision Conference, Bristol, UK, pp. 412-422, 2000.

[16] Mikolajczyk, K., and Schmid, C. An affine invariant interest point detector. In European

Conference on Computer Vision (ECCV), Copenhagen, Denmark, pp. 128-142, 2002.

[17] Schaffalitzky, F., and Zisserman, A. Multi-view matching for unordered image sets, or “How

do I organize my holiday snaps?”, In European Conference on Computer Vision, Copenhagen,

Denmark, pp. 414-431, 2002.

[18]

Brown, M. and Lowe, D.G. Invariant features from interest point groups. In British Machine

Vision Conference, Cardiff, Wales, pp. 656-665, 2002.

[19]

Beis, J. and Lowe, D.G. Shape indexing using approximate nearest-neighbour search in

highdimensional spaces. In Conference on Computer Vision and Pattern Recognition, Puerto

Rico, pp. 1000-1006, 1997.

[20] Arya, S., and Mount, D.M. Approximate nearest neighbor queries in fixed dimensions. In

Fourth Annual ACM-SIAM Symposium on Discrete Algorithms (SODA’93), pp. 271-280, 1993.

[21] Arya, S., Mount, D.M., Netanyahu, N.S., Silverman, R., and Wu, A.Y. An optimal algorithm

for approximate nearest neighbor searching. Journal of the ACM, 45:891-923, 1998.

[22] Hough, P.V.C. Method and means for recognizing complex patterns. U.S. Patent 3069654, 1962.