基于SIFT的具有镜面翻转不变性的特征提取和描述方法转让专利

申请号 : CN200910067987.8

文献号 : CN101493891B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 操晓春郭晓杰张钢曲彦龄武琳张炜

申请人 : 天津大学

摘要 :

本发明属于图像处理技术领域,涉及一种基于SIFT的具有镜面翻转不变性的特征提取和描述方法,包括下列步骤:(1)对输入的图像进行高斯核卷积处理;(2)对图像继续进行高斯差处理,检测其极值点;(3)筛选特征点;(4)精确定位特征点位置;(5)确定每一个特征点的方向参数;(6)对分别以主方向为分界线的两侧的梯度模值求和;(7)组织高斯权值窗口里的像素单元,进行编码和归一化操作,从而生成对图像的描述数据。本发明增加了特征提取和描述方法对镜面成像问题的健壮性,扩展了计算机视觉的应用领域。

权利要求 :

1.一种基于SIFT的具有镜面翻转不变性的特征提取和描述方法,其特征在于,包括下列步骤:步骤1:对输入的图像I(x,y)进行高斯核卷积处理,即L(x,y,σ)=G(x,y,σ)*I(x,y),得到多尺度空间表达的图像L(x,y,σ),式中, 其中σ为高斯正态分布的方差;

步骤2:对多尺度空间表达的图像L(x,y,σ)按照下列公式进行高斯差处理D(x,y,σ)=(G(x,y,kσ)-G(x,y,σ))*I(x,y)=L(x,y,kσ)-L(x,y,σ),检测多尺度空间表达的图像L(x,y,σ)的极值点;

步骤3:利用阈值法和黑塞矩阵法从所述极值点中筛选特征点;

步骤4:采用拟合三维二次曲线的方式精确定位特征点位置;

步骤5:根据特征点辅助邻域像素上的梯度方向θ(x,y)和大小m(x,y)的信息,确定每一个特征点的方向参数,其中:并采用直方图的形式,结合以特征点为圆心的

高斯权值窗口,根据对整个领域中的每个像素点的梯度进行梯度大小和方向的统计,确定主方向;

步骤6:对分别以主方向为分界线的两侧的梯度模值求和,计算和 其中,mr和ml分别为主方向两侧的梯度模值,Nbin是所有方向的总数,nd则是主方向的索引并且Li表示在方向 上的梯度模值,%代表取模操作;

步骤7:若mr>ml,则由上至下、由右至左组织高斯权值窗口里的像素单元,每个单元中各个梯度从梯度角相对主方向0度开始顺时针编码;若mr<ml,则由上至下、由左至右组织高斯权值窗口里的像素单元,每个单元中各个梯度从梯度角相对主方向0度开始逆时针编码,并对形成的编码进行归一化操作,从而生成对图像的描述数据。

说明书 :

基于SIFT的具有镜面翻转不变性的特征提取和描述方法

技术领域

[0001] 本发明属于图像处理技术领域,涉及一种图像特征提取方法。

背景技术

[0002] 当今的计算机技术发展飞速,计算机视觉和图像检索的应用领域越来越广泛,同时也彰显出它们的重要性。热门的三维重建、物体识别、相机校准、机器人双目导航等等都是建立在计算机视觉的基础之上,所以合理有效地解决计算机视觉所存在的问题或改进不完善之处可以给计算机界甚至科学界带来巨大的推动。计算机视觉建立在一种令计算机模拟人类(哺乳类动物)视觉而达到一定程度的智能性的理念之上,连同图像检索等都需要对图像的特征进行提取分析,所以图像特征的定义及提取方案有着举足轻重的作用。当然,当今有多种解决方案,常见的有基于梯度的特征提取和描述方法,包括Harriscorner detector【1】、SIFT【2】、SURF【3】、HOG【4】、GLOH【5】。除了基于梯度的特征提取方法,还有基于轮廓提取等其它方法。由于本发明提出的MIFT是基于梯度的方法,所以对其它方法不予过多描述。其中Harris corner detector(哈里斯角点检测器)能够提取出在图像本身尺度上对于旋转和光照不变性的特征点。实际上,并不是如名称中所说的那样仅仅是提取角点而已,而是所有的在多个方向上具有显著梯度的特征点。但是,Harris corner detector的局限性相对较大,因为它对图像尺度的缩放非常敏感。为了去除或是减弱图像尺度改变的影响,Lowe提出SIFT(尺度不变特征变换)解决了尺度缩放所带来的问题,当然它也保证了旋转不变性甚至在一定程度能容忍光照、仿射变换和遮盖等影响。SURF,简单来讲是一个加速版的SIFT,它与SIFT都采用一种辅助区域策略,也就是说以特征点为中心指定一个辅助区域,在这个区域中的像素共同决定特征点的描述。不同的是SIFT采用一种根据区域中不同像素对特征点贡献不同的策略来给它们赋予权值,而SURF则仅仅采用基于积分图像(integral image)的相等权值策略。HOG结合SVM(支持向量机)提供了一种基于梯度信息的人类检测方法。GLOH则是SIFT的另一变种形式,它利用圆形策略来组织辅助区域,目的是增强特征的健壮性和突出性,初始的GLOH描述符有272维,但经过PCA(主成分分析)操作,使272维降至与SIFT相同的128维,保证在不丢失关键信息的基础上,提高匹配操作的效率。上述的所有方法,虽然可以很好的解决旋转、尺度变化甚至是光照变化和仿射等图像上的变形,但是几乎所有的方法都没有考虑到镜面成像一类的情况,这种情况在现实生活中是很常见的,例如水面倒影,镜面成像,对称物体的不同角度观察等等。
[0003] 参考文献:
[0004] 【1】C.Harris和M.J.Stephens,《角边 探 测 器》,Alvey视 觉 会 议,vol.20,pp.147-152,1988.
[0005] 【2】D.G.Lowe,《选自尺度不变关键点的独特图像特征》,计算机视觉国际期刊,vol.60,pp.91-110,2004.
[0006] 【3】H.Bay,T.Tuytelaars,和L.Van Gool.,《Surf:加速提取健壮性特征》,计算机视觉欧洲会议,pp.404-417,2006.
[0007] 【4】N.Dalal和B.Triggs,《基于方向梯度直方图的人类探测》,计算机视觉及模式识别国际会议,vol.1,pp.886-893,2005.
[0008] 【5】K.Mikolajczyk和C.Schmid,《局部特征描述符的性能估计》,IEEE模式分析及机器智能会刊,vol.27,pp.1651-1630,2004.

发明内容

[0009] 本发明的目的在于提供一种能够解决镜面翻转现象所导致的SIFT特征提取方法失效的问题,同时又保持SIFT的所有优点和性能。换句话说,提供一种在翻转前后两种情况下保持同一描述形式的特征提取和描述方法,也即具有镜面翻转不变性的特征提取和描述方法。为此,本发明采用如下的技术方案:
[0010] 一种基于SIFT的具有镜面翻转不变性的特征提取和描述方法,包括下列步骤:
[0011] 步骤1:对输入的图像I(x,y)进行高斯核卷积处理,即L(x,y,σ)=G(x,y,σ)*I(x,y),得到多尺度空间表达的图像L(x,y,σ),式中, 其中σ为高斯正态分布的方差;
[0012] 步骤2:对多尺度空间表达的图像L(x,y,σ)按照下列公式进行高斯差处理D(x,y,σ)=(G(x,y,kσ)-G(x,y,σ))*I(x,y)=L(x,y,kσ)-L(x,y,σ),检测多尺度空间表达的图像L(x,y,σ)的极值点;
[0013] 步骤3:利用阈值法和黑塞矩阵法筛选特征点;
[0014] 步骤4:采用拟合三维二次曲线的方式精确定位特征点位置;
[0015] 步骤5:根据特征点辅助邻域像素上的梯度方向θ(x,y)和大小m(x,y)的信息,确定每一个特征点的方向参数,其中:
[0016]
[0017] 并采用直方图的形式,结合以特征点为圆心的高斯权值窗口,根据整个邻域中的各个像素点的梯度大小和方向进行统计,确定主方向;
[0018] 步骤6:对分别以主方向为分界线的两侧的梯度模值求和,计算和 其中,Nbin是所有方向的总数,nd则是主方
向的索引并且Li表示在方向 上的梯度模值,%代表取模操作;
[0019] 步骤7:若mr>ml,则由上至下、由右至左组织高斯权值窗口里的像素单元,每个单元中各个梯度从梯度角相对主方向0度开始顺时针编码,否则,则由上至下、由右至左组织高斯权值窗口里的像素单元,每个单元中各个梯度从梯度角相对主方向0度开始逆时针编码,并进行归一化操作,从而生成对图像的描述数据。
[0020] 本发明增加了特征提取和描述方法对镜面成像问题的健壮性,扩展了计算机视觉的应用领域。当今计算机视觉领域中所有的特征提取和描述的方法并未对镜面成像的情况有所考虑和处理,虽然像Harris corner detector、SIFT、SURF、GLOH等方法可以在旋转、尺度、光照等变化下可以保持一定程度的稳定性,但是在镜面成像的情况下却束手无策。本发明是针对这种情况而提出的方法,在成功解决镜面成像情况的同时,对于非镜面成像的情况,它拥有和SIFT相近的性能。本发明提出的特征提取和描述方法,这里称之为MIFT,与SIFT在镜面成像情况下的比较结果如图1所示,在阈值同为0.60的情况下,MIFT匹配258个特征点对,SIFT匹配12个特征点对。图2的效果图对几种较为复杂的图像的匹配结果进行了比较。

附图说明

[0021] 图1:镜面成像情况下的匹配效果图。图1(a)为MIFT匹配结果图1(b)为SIFT匹配结果。
[0022] 图2:MIFT与SIFT匹配结果比较。(a)在非镜面成像情况下,MIFT匹配结果。(b)在非镜面成像情况下,SIFT匹配结果。(c)在镜面成像情况下,MIFT匹配结果。(d)在镜面成像情况下,SIFT匹配结果。
[0023] 图3一幅图像在相邻三个尺度下的表示情况示意图。
[0024] 图4:图像翻转前后特征描述符组织结构分析。其中,(a)特征点及其辅助区域在未翻转图像上的表示。(b)同一特征点及其辅助区域在翻转后图像上的表示。(c)来自(b)中的第14个单元中8个梯度的表示。(d)来自(a)中的第14个单元中8个梯度的表示。(e)在(a)情况下SIFT和MIFT的特征描述符。(f)在(b)情况下SIFT的特征描述符。(g)在(b)情况下MIFT的特征描述符。
[0025] 图5:特征点梯度信息图。图中,nd为主方向的索引下标,%代表取模操作。
[0026] 图6:特征检测及特征描述流程图。
[0027] 图7:特征匹配流程图。

具体实施方式

[0028] 本发明首先将输入图像进行尺度变化,这种变化是通过高斯卷积完成的,在一系列不同尺度的图像中,针对每个像素点都寻找像素点灰度值的极值点。然而并不是所有的极值点都符合作为特征点的标准,由于特征点需具有一定的突出性和健壮性,通过对高斯差(Difference of Gaussian)和黑塞矩阵(Hessian matrix)设置合适的阈值,从而分别对特征点具有低对比度和具有边缘响应的备选点进行筛选。经过这两步的筛选所留下的极值点就是所要的特征点,对于这些极值点,在通过三维二次曲线拟合之后,得到它们精确的坐标和尺度信息。保留特征点的坐标、尺度等信息,为后来的匹配阶段提供可用信息。
[0029] 上述部分可以被认为是特征点检测器,也就是说这部分主要是寻找图像的特征点。那么紧接着,就是如何组织特征点的信息,成为可用的特征描述,以提供更高层的应用一特征匹配。特征点描述部分分为统计梯度信息指定方向参数以及特征描述符的构建。
[0030] 针对镜面成像问题,图像共分为四类,分别是:原始图像、水平翻转图像(镜像)、垂直翻转图像(倒置)和完全翻转图像(同时存在水平和垂直两类翻转)。但是,容易验证的是完全翻转图像等同于对原始图像旋转坐标系180度所得到的图像,同样,垂直翻转图像和水平翻转图像也存在如原始图像和完全翻转图像之间的类似关系。又因为在特征点描述之前的指定方向参数的操作使得特征描述具有旋转不变性,所以四种情况可以简化为两种,即原始图像和水平翻转图像。在原始图像和水平翻转图像之间,存在一种固定的关系,这种关系可划分为两个层次。SIFT中的每个特征点都是受到一个区域的像素点所影响,这种策略是为了减少噪音的影响、提高特征点的健壮性。那么同一个特征点所对应的这个区域,在原始图像和水平翻转图像中只是区域像素单元的列顺序相反,而行顺序不变,这是两个层次中的较高层次的一个。另一个层次则是相对微观的单元,在每个小的像素单元里,根据两种图像之间所对应的关系,每个单元中的8个梯度方向满足如下公式:
[0031]
[0032]
[0033] 其中,下标ori代表原始图像,下标hor代表水平翻转图像。编码策略充分利用两个层次的关系,从而产生一个镜面翻转不变性的特征描述符。
[0034] 下面结合附图和实施例对本发明做进一步描述。
[0035] 步骤1:输入图像的多尺度空间表示
[0036] Koendetink和Lindeberg证明高斯卷积核是唯一的线性实现尺度变换的不变卷积核。二维高斯函数形式为: 其中σ为高斯正态分布的方差。那么一幅二维图像在不同尺度下的图像可以通过图像与高斯核卷积来得到:L(x,y,σ)=G(x,y,σ)*I(x,y)。
[0037] 步骤2:检测尺度空间极值点
[0038] 由步骤1中所得到的多尺度的图像中,可以通过从整个尺度空间上计算和比较得到以像素点为观察单位的极值。除了比较相邻尺度上一定数量的像素点,同时也要比较同一幅二维图像空间上的相邻的像素点得以较为全面的检测到极值点。本发明利用DoG(Difference-of-Gaussian)算子来近似LoG(Laplacian-of-Gaussian)以检测极值点,虽然DoG的精度较LoG略有不及,但是前者的运算速度胜过后者。其中,DoG算子定义形式如下:
[0039] D(x,y,σ)=(G(x,y,kσ)-G(x,y,σ))*I(x,y)=L(x,y,kσ)-L(x,y,σ)。
[0040] 图3显示了一幅图像在相邻三个尺度下的表示情况,黑色十字是当前所计算的像素点位置,而灰色的圆点是所有需要比较的像素点,共2×9+8=26个点。
[0041] 步骤3:从极值点中筛选特征点
[0042] 完成了上述两个步骤所得到的极值点组成了特征点的备选集合,特征点将由此集合中的备选点中筛选出来,也就是说,并非所有的极值点都满足特征点的要求。因为在此集合中还存在着低对比度和边缘响应的点,作为图像的特征它们的独特性和稳定性不够突出,所以采用不同的两种策略将这两类点剔除掉。其一,在运算高斯差(DoG)的同时,设置适当的阈值来有效地消除低对比度的极值点。其二,由于高斯差(DoG)本身存在着边缘响应,那么采用黑塞矩阵(Hessian matrix)方法过滤掉具有边缘响应的点(鞍点)。
[0043] 步骤4:精确定位特征点位置
[0044] 经过了以上的操作,特征点已经确定,由于尺度上的变换和像素单位大小上的影响可能导致特征点坐标和尺度信息有些偏差,为了保证特征点的信息精确,采用拟合三维二次曲线的方式进行信息的拟合和逼近,以得到更为精确的坐标和图像尺度信息。
[0045] 步骤5:确定方向参数
[0046] 为了满足特征点具有旋转不变性,根据特征点辅助邻域像素上的梯度方向和大小的信息,为每一个特征点指定方向参数。其中,梯度的大小m(x,y)和方向角度θ(x,y)可由像素点之间的差为基础计算出来,计算方式为:
[0047]
[0048]
[0049] 然后,采用直方图的形式进行信息统计,将直方图的范围规定为0-360度,10度为一单位,并结合以特征点为圆心的高斯权值窗口(Gaussian weighted windows),根据整个邻域中的各个像素点的梯度大小和方向进行统计。在直方图中36个方向中强度最大的便是主方向,由于噪声或变形的影响,图像可能略有变化或失真,而这些变化或失真可能会导致特征点的主方向参数产生偏差,为了缓解或是避免这些偏差对方向参数所带来的影响,本发明和SIFT一样使用辅方向。辅方向定义为强度大于80%的主方向强度的方向,而且辅方向可能有多个。实际上,每个辅方向在生成特征描述符的环节都被视为与主方向同等重要而建立单独的描述符。
[0050] 步骤6:特征点描述符编码
[0051] 本发明采用的特征描述符是由一个向量来表示的,这个向量包含了所有的高斯权值窗口中的像素点的梯度信息。向量包含了4×4×8=128维的信息,这种程度的维数被Lowe证明为成功的一种,同样MIFT也使用128维的向量来表示描述符,尽管维数的大小并非强制不变的。以图4为例,分别对两个层次进行分析。其中(a)表示在未翻转图像中的一个特征点及其辅助区域,(b)则是同一个特征点和它的辅助区域在翻转后的图像中的表示,这两种情况都已指定了方向参数。
[0052] 首先,分析特征描述符较为宏观的层次-16个单元的顺序。在规定主方向之后,SIFT使用固定的顺序,采取列优先顺序(也可以采取行优先顺序)来组织这16个单元,如图4中所示,SIFT特征描述符向量如(e)所示。在经过翻转之后的图像,也就是对应(b)的情况,这16个单元的行顺序不变,但列顺序相反,那么就导致了SIFT在(b)下的特征描述符向量组织方式如(f)所示。不容置疑的是,SIFT对旋转、尺度缩放、光照、仿射变换等有良好的稳定性和健壮性,但同样不可否认的是,对于镜面成像这类情况,SIFT无能为力。所以,本发明提出了一种可以在图像翻转前后得到唯一形式的描述符的编码方法。在两种不同的情况下,在列优先编码的情况下仅有两种编码方式,一种是从右向左的顺序另一种则是反向顺序。直观上,图中的左右指向的梯度模值(点划线)可以用作判断采用上述两种中的某种方式的依据。但是,仅用左右指向的梯度信息对噪音等影响比较敏感,因此本发明改用对所有指向同一侧梯度模值求和的策略。如图5所示,抽象为数学公式即为:
[0053]
[0054]
[0055] 其中,Nbin是所有方向的总数,在这里Nbin=36,nd则是主方向的索引并且Li表示在方向 上的梯度模值,%代表取模操作。其中mr和ml分别是图5中右下方虚线箭头和左上方点划线箭头之和。据此,我们将编码策略由原来的固定顺序编码改变成为由mr和ml比较结果决定。理论上而言,在翻转前后通过本发明提出的方法可以得到同样的描述符如图4中(g)所示。与主辅方向原理相似,为了减少各种噪音和光照条件变化等影响,增强MIFT的健壮性,如果满足min{mr,ml}>τmax{mr,ml},(其中τ为阈值,这里我们将之设置为0.70,)那么另一个描述符则随之生成。
[0056] 第二个层次较为微观,是具体到每个单元中的各方向梯度的关系。如图4中(c)和(d)所示,它们分别对应着翻转之后和翻转之前图像中同一个部分,(c)和(d)之间各个方向梯度的关系,详见上述的具体描述。根据这种特殊关系,结合第一个层次的分析,可以通过如下的策略生成最终的特征描述符:计算和比较mr和ml,由较大的一个作为编码顺序的指向,结合图4,在(a)所示的情况下mr<ml,那么16个单元的编码顺序为由上到下、从左到右,每个单元中的8个梯度方向则如(d)所示,从A开始,逆时针编码;若在(b)所示的情况下mr>ml,那么16个单元的编码顺序为由上到下、从右到左,每个单元中的8个梯度方向如(c)所示,从A开始,顺时针编码,这两种情况下所得到的特征描述符是相同的,也就是说这种特征描述可以解决镜面成像类的问题。当然,为了增加特征描述符对光照条件变化的稳定性,最后的归一化操作是必不可少的。特征检测及特征描述的流程,如图6所示。
[0057] 在对输入图像的处理、特征点的检测、特征描述之后,特征匹配的部分是必不可少的,同时也需要精心的设计以达到尽可能多的匹配正确的特征点对,减少错误匹配的目的。SIFT所采用的匹配方法是通过图像2中当前待匹配特征点描述向量与图像1中所有的特征点描述向量进行内积运算而得到一组数值,这些数值由小到大的排序,排在第一位的也就是数值最小的结果所对应的一组特征点是所需判定是否匹配的对象。倘若最小的数值与第二小的数值之间的比值低于某阈值,那么最小数值所对应的两个特征点被认为是匹配的,否则,没有匹配。这种方法与一般思路(即设置全局阈值的方法)相比,具有一定稳定性和合理性,因为图像的各种变形和噪音都会对此产生影响,那么一个固定指标是不能有效合理的解释匹配与否的问题。
[0058] 同样,MIFT也采用类似SIFT的匹配策略,但在此之上有所改进,这种改进是为了减少甚至避免错误丢失本该匹配的点对的情况。两个单位向量的内积结果反映两向量夹角的余弦值,也就是说值越小两向量越接近,匹配程度越高。由于同一个特征点可能由于主辅方向以及mr和ml的相似度问题而生成多个特征描述符,这种情况导致多个特征描述符相似程度高的可能性增加。为了减少这种情况对匹配结果的影响,本发明改进了SIFT的匹配方法,对特征描述符的附加信息进行检查,如果所比较的两个数值所对应的两组特征点中的坐标、尺度等信息都是相同的,那么将较大的那个数值所对应的一组特征点略过,进入与下一个对应于一组特征点匹配程度的数值进行比较,直至两组特征点的附加信息不尽相同,如果两个值比值低于某阈值,那么最小数值所对应的一组特征点匹配,否则,没有匹配。特征匹配流程,如图7所示。