APP下载

SIFT算法研究内容概述

2014-09-21袁荣庆谢劲松

长春大学学报 2014年6期
关键词:尺度空间关键点金字塔

袁荣庆,谢劲松

(长春理工大学 机电工程学院,长春 130022)

0 引言

尺度不变特征变换(Scale Invariant Feature Transform)-简称SIFT算法是由就职于英属哥伦比亚大学主攻机器视觉方向的David Lowe提出的,该算法首先要寻找尺度空间中的极值点,通过提取局部特征来提取算法。我们研究的SIFT算法主要由以下四步组成。

1 尺度空间极值点检测

其中G(x,y,σ)是尺度可变高斯函数,(x,y)表示图像像素点位置,σ表示空间因子,由上式得到的值越小表示图像的尺度越小。

SIFT算法第一步就是要获得尺度空间的极值点,为了能有效的检测到关键点,我们提出了高斯差分尺度空间这一概念。下式是高斯差分函数。

高斯差分函数相比于其他的函数在极值点检测中有着较高的计算效率,并且和尺度归一化的拉普拉斯高斯函数σ2∇2G有近似的关系,另外计算相比其他算子也较为简单。

图像金字塔的构建:理论上图像金字塔共有O组,每组的图像层数有S层。图1表示了两组图像金字塔,它们都是通过高斯差分尺度空间建立起来了,如图1中箭头所示,第二组最底层图像由第一组第一幅到最后一幅图像降采样得到。图2为DOG算子的构建示意图,两个相邻区间的差异在高斯金字塔创建一个间隔difference-of-Gaussian金字塔所示。

在构造图像金字塔的过程中,首要是建立图像金字塔的第一层。金字塔的第一层都是由被检测图像进行高斯卷积之后得到的该图像的不同尺度空间。对第一层第一幅图像进行两倍尺度两倍像素距离下采样得到图像金子塔中第二层的第一幅图像,并以该图像为基准做高斯卷积,得到第二层的全部图像。同样的道理,第三层的第一幅图像也是由第二层第一幅图像以两倍尺度两倍像素距离降采样得到的,之后通过对第三层第一幅图像进行高斯卷积得到该层的全部图像。以此类推,可以得到用高斯差分函数处理过得全部图像,并呈现出金字塔形状。其过程用图3表示。

尺度空间的理论目的是模拟图像的多尺度特征。采集到的特征点的图像特征必须保持尺度不变性,并且在多尺度空间内完成,其中较为典型的是高斯卷积。高斯卷积能很好的实现尺度变换,也能很好的进行线性变换。我们用下式定义一幅二维图像的尺度空间:

图1 图像金字塔构建

图2 DOG算子构建示意图

图3 获取DOG尺度空间图像示意图

图4 DOG尺度空间局部极值检测

在DOG尺度空间中,为了寻找到极值点,需要将每一个待检测点和周围相邻图像域、尺度域的点进行大小比较,确保检测准确性。如图4所示,中间尺度域中叉号表示待检测点,为了保持检测准确性,它需要和围绕在周围的同尺度域的8个点进行比较,还要和相邻两个尺度域中同样位置的上下各9个点进行比较,确保在DOG尺度空间极值检测中检测到合适的极值点。

2 精确确定极值点位置

在通过建立高斯图像和高斯差分图像找到极值点之后,我们下面需要精确极值点的位置。由于DOG算子本身就有提高图像抗噪声的能力,图像会有较强的边缘响应,为去除这些不稳定的极值点和边缘响应点,我们用拟合二次函数来去除不稳定的极值点和边缘响应点。用泰勒公式将该函数在极值点处展开,

X=(x,y,σ)T表示极值点在图像中的偏移量,D表示DOG(X)极值点处的值。

3 确定关键点的主方向

在使用高斯图像局部极值检测确定了极值点之后,我们需要找到局部结构的稳定方向,这是为了实现图像在旋转时不变性。由前面求得的极值点的尺度值,我们可以据此得到和该尺度值接近的高斯图像。

每个检测到的极值点我们所在的尺度空间我们用H来表示。确定极值点处的梯度大小和方向公式之后,下面是确定极值点方向的方法,这里我们常用的是直方图统计法。

(5)式中,m(x,y)和θ(x,y)分别为高斯金字塔(x,y)处梯度的大小和方向,H所用到的尺度为每个关键点所在的尺度。确定关键点的方向采用梯度直方图统计法,建立如图5所示的梯度直方图,检测到的极值点作为原点,极值点相邻区域内的像素点通过比较结合梯度方向的大小,确定极值点的主方向。所选区域为以极值点为原点的0-360°的圆形区域内,理论上要以每10°作为一个节点建立36个直方图,在直方图中具有最大峰值的代表了极值点的主方向。

就此,我们极值点检测完毕,得到了图像中极值点的尺度空间大小、极值点主方向和极值点的位置信息。

图5 由梯度方向直方图确定主梯度方向

4 关键点的描述

在确定了关键点之后,为了计算上的方便,我们需要用向量的形式将关键点表征出来,描述的信息不仅要包括关键点的信息也要包括关键点周围的其他像素点信息,该向量具有唯一性,我们称之为SIFT描述子。具体方法是首先将关键点周围的图像分块,然后和我们在确定关键点主梯度方向时一样,在分块的区域内建立梯度直方图,从而确定该区域内的独特向量。

图6表示一个SIFT描述子实例。图中中心点表示的是确定的关键点,左图中的每一个小方格表示关键点周围的邻域尺度空间内的一个像素,方格内箭头的长短和方向分别表示了该像素点的梯度值大小和方向。以关键点为原点的360°方向内寻找邻域内的像素点并将每8×8方格内的像素点建立如右图所示的特征向量图。我们可以看到,每8×8的方格内像素点能够累加成为一个种子点,而一个关键点要包括4个这样的种子点信息。这种方法虽然复杂,但是能很好的结合关键点邻域内的像素点信息,提高了算法的抗噪能力,有利于匹配精度的提高。

图6 关键点领域信息产生特征向量

5 结语

SIFT算法目前在军事、工业和民用方面都得到了不同程度的应用,其应用已经渗透了很多领域,比如物体识别、犯罪现场特征提取、三维建模和指纹与人脸识别等。图像中包含的不变特征用SIFT算法可以得到有效的提取,但是如果在图像中可利用的特征点较少、由图像成像质量造成的图像边缘模糊的情况下,都不能很好的确定特征点。目前基于SIFT算法发展出来的立体匹配技术都是以上述四个方面内容为基础的。

[1]张广军.机器视觉[M].北京:科学出版社,2005:24-27.

[2]徐德,谭民,李原.机器人视觉测量与控制[M].2版.北京:国防工业出版社,2011:121-122.

[3]Linda G.Shapiro,George C.Stockman.计算机视觉[M].北京:机械工业出版社,2005:1-8.

[4]钟玉琢,乔秉新,李树青.机器人视觉技术[M].北京:国防出版社,1994:132-133.

[5]DavidA.Forsyth,Jean Ponce.计算机视觉[M].北京:电子工业出版社,2004:3-12.

[6]Makoto Sato.An Active Stereo Vision System Based on Neural Pathways of Human Binocular Motor System[J].Journal of Bionic Engineering,2007(4):185-192.

猜你喜欢

尺度空间关键点金字塔
“金字塔”
聚焦金属关键点
肉兔育肥抓好七个关键点
基于AHP的大尺度空间域矿山地质环境评价研究
Great Vacation Places
海上有座“金字塔”
居住区园林空间尺度研究
神秘金字塔
基于降采样归一化割的多尺度分层分割方法研究
基于尺度空间的体数据边界不确定性可视化研究