KAZE

来源:互联网 发布:apache服务器添加域名 编辑:程序博客网 时间:2024/05/20 05:53

 

 

KAZE 特征点

摘要:

在这篇文章中,将介绍KAZE特征点,一个新颖的在非线性尺度空间的用于多尺度二维特征点检测和描述的算法。以前的特征点检测和描述的方法是在不同尺度水平通过构建或近似图像的高斯尺度空间。然而,高斯模糊并不能顺应物体的自然边界以及平滑相同程度的细节和噪声,减少定位的准确度和特殊性。相比之下,通过非线性扩散滤波在非线性尺度空间检测和描述二维特征点。通过这种方式,可以在本地模糊自适应到图像数据,减少噪声但可以保留物体的边界,保留优越的准确定位以及特殊性。建立非线性尺度空间是使用高效的Additive Operator Splitting (AOS) 技术和可变电导扩散技术。本文提供了一个广泛的基准数据集的评价和一个特别可变形表面的匹配应用程序。即使由于非线性尺度空间的建立,KAZE特征点的计算代价比SURF有点大,但是相比于SIFT,实验结果显示了比先前最先进的方法在检测和描述性能方面都前进了一步。

1.简介

多尺度图像处理在计算机视觉应用中是一个非常重要的工具。可以在不同尺度水平下通过自动检测感兴趣的特征点提取一幅图像。对于每一个检测到的特征点,都可以获得该图像一个不变的本地描述子。这些多尺度特征点检测算法在现代计算机视觉框架中是一个至关重要的部分,如场景理解,视觉分类,以及大规模三维运动中的结构Structure from Motion (SfM) 。

        多尺度方法的主要思想是相等简单的:通过滤波原始图像来创建图像的尺度空间,用合适的函数来增加时间和尺度。在高斯尺度空间的情况下,是通过用增加标准差的高斯内核卷积原始图像来完成的。越大的内核值,获得的图像特征越简单。用一个多尺度图像特征可以检测和描述不同尺度水平或解决方案的图像特征点。作者已经表明在一些一般的假设下,高斯内核及其偏导数的设置对尺度空间的分析是可能的平滑内核。然而,这里需要注意的是,高斯尺度空间就是一个线性扩散的实例,因为其他线性尺度空间也是可能的。

对建立一个图像的尺度空间特征来说,高斯内核可能是最简单的选择(但不是唯一的)。然而,它有一些重要缺陷。在高斯尺度空间,选择粗糙的尺度的优点是减少噪音和更加突出重点结构。这样做的代价是降低了定位精度。原因是高斯模糊并不能顺应物体的自然边界以及平滑所有尺度水平的相同程度的细节和噪声。这种定位化的损失增加在粗尺度水平检测特征点,那里高斯模糊的量较高。

似乎更适合的是做定位模糊自适应图像数据,这样噪音会模糊,但细节或边缘将不受影响。为此,提出了不同的非线性尺度空间方法来改进高斯尺度空间的方法[7,8]。一般来说,非线性扩散方法表现得比线性的更好(9、10),在不同的应用中取得了令人印象深刻的结果,如图像分割[11]或去噪[12]。然而,据我们所知,本文是第一个在多尺度特征检测和描述的上下文中利用非线性扩散滤波使用高效的方案。当通过非线性尺度空间在不同尺度水平检测和描述图像区域时,通过非线性扩散可以增加重复性和特殊性。

非线性扩散滤波在实际计算机视觉组件(如特征检测和描述)没有经常使用一个可能的原因是,大多数这种方法效率低。这些方法通常通过正欧拉计划(orward Euler scheme)由一个函数离散化。Euler 计划需要非常小的一步大小收敛,因此多次迭代才能达到所需的规模水平和高计算成本。幸运的是,Weickert等人在[9]中介绍了高效的非线性扩散滤波方案。这些计划的支柱是使用加性算子分裂(Additive Operator Splitting (AOS))技术。通过AOS方案可以以一种非常有效的方法获得稳定的非线性尺度空间步长。AOS方案的一个关键问题是求解三对角线性方程组,这可以通过托马斯(Thomas)算法有效地完成,Thomas算法是高斯消去法的一种特殊变换算法。

本文提出了在非线性尺度空间中展示自动特征检测和描述。本文描述如何使用高效的先进技术和变量传导扩散构建非线性尺度空间,以及在不同的图像变换下如何获得表现出高重复性和特殊性的特征点。文章在标准评估框架(13、14)内详细的评价这个新颖的特征点算法和实际图像匹配应用程序使用可变形表面。

本文将文章论述的算法命名为KAZE,基于尺度空间分析的先父Iijima 而来。KAZE在本质上是一个日语单词,意为风。风被定义为大规模的气流和通常这个流是由非线性过程。通过这种方式,我们做类比与图像域中的非线性扩散过程。下面的文章组织如下:在第二节,描述了算法相关的工作。然后,在第三节简要的介绍非线性扩散滤波的基础。在第四章详细介绍KAZE特征点算法。最后,在第五章和第六章分别提出详细的实验结果。

 

2 相关的工作

特征检测和描述是计算机视觉中的一个非常活跃的研究领域。获得的特征点对不同图像转换(例如观点、模糊、噪声等)表现出的高重复性和特殊性是在许多不同的应用程序中极其重要。最受欢迎的多尺度特征检测和描述算法的尺度不变特征变换(SIFT)[16]和加速健壮的特征点(SURF)[17]。

SIFT在特征点检测和和图像匹配中是一个里程碑,仍然被广泛使用在许多不同的领域,如,移动机器人和目标识别等。在SIFT中,特征点的定位是由高斯函数的差异(DoG)通过一个高斯尺度空间的应用结果的最大值和最小值获得的。为构建尺度空间,要计算一个原始图像的高斯模糊版本的金字塔。尺度空间是由不同的sublevels 和 octaves构成的。对于检测到的特征点的设置,描述符是基于主梯度方向超过本地一个检测特征点感兴趣的领域建立的。然后,通常4 x4邻区的一个矩形网格被定义(根据主方向)和梯度方向的直方图通过建立的等级加权,生成一个128像素的描述器。

由SIFT算法获得的灵感,Bay 等人提出了SURF检测器和描述符。SURF特征点表现出的结果具有更好的重复性,特殊性和鲁棒性,同时由于使用积分图像使得计算变得更快[18],这意味着高斯衍生品在不同尺度水平可以用简单方形滤波器近似而不用计算整个高斯尺度空间。类似于SIFT,一个4 X4邻区的矩形窗被定义(根据主方向)和计算每个区域的Haar小波响应总和(以感兴趣关键点为中心的高斯加权)。最后的描述符维度通常是64或128维的扩展部分。在[19]中,Agrawal和Konolige提出一些SURF的改进,用绕圆形检测器(CenSurE)Modified-SURF(M-SURF)描述符。M-SURF是原始SURF的描述符是一个改版,但更好的处理描述符边界的影响,并使用一种更健壮的和智能两级高斯加权方案。

两种方法和许多相关算法都遵循依赖于使用高斯尺度空间和高斯导数集合作为尺度空间分析的平滑内核。然而,要重复的是,高斯尺度空间并不能顺应物体的自然边界以及平滑所有尺度水平的相同程度的细节和噪声。在本文中,通过非线性扩散滤波,,将展示基于高斯尺度空间获得比之前的算法表现出更高的可重复性和特殊性多尺度特征点是可能的。计算成本上,在适度增长的成本下相比SURF或CenSurE,结果在性能特征检测和描述两个方面都显示一个很大的进步。

 

3 非线性扩散滤波

非线性扩散滤波方法是将图像亮度(L)在不同尺度上的变化视为某种形式的流动函数(flow function)的散度(divergence控制扩散过程。由于非线性性质涉及到通过非线性尺度空间图像的亮度扩散的微分方程,这些方法通常用非线性偏微分方程(PDEs)描述。,等式1显示了典型的非线性扩散方程公式

 

 

div和▽分别代表散度和梯度算子。由于导函数(c)在扩散方程上的引用,可以使扩散自适应当地的图像结构。c取决于当地的图像微分结构函数,这个函数可以是一个标量或一个张量,时间t是尺度参数和较大的值导致简单的图像表征。本文重点变量传导扩散的情况下,图像的梯度大小控制扩散在每个规模水平。

 

3.1 Perona和Malik 扩散方程
非线性扩散滤波曾在计算机视觉的文献[7]中引入。Perona一起和马利克提出c函数依赖于梯度大小,以减少在边缘位置的扩散,鼓励在区域内平滑,而不是跨边界平滑。这样,c函数定义为:

 

其中的▽Lσ原图像L高斯平滑后的图像Lσ的梯度(gradient. Perona-Malik 描述两种不同形式的导函数g:

 

参数k是控制扩散级别的对比度因子(contrast factor),函数g1优先保留高对比度的边缘,Weickert[11]提出了一个稍微不同的扩散速降扩散系数函数,在边缘的两边进行平滑,这样的平滑比在跨边缘平滑的作用更好。这样能够有效平滑区域内部而保留边界信息这里我们表示g3表示这个函数,定义如下:

 

 

图1

对比因素决定了哪些边缘保留和哪些边缘不需要保留。在本文KAZE算法中,参数k的取值是原图像平滑后的梯度图像▽Lσ的直方图70% 百分位上的值。这个过程一般在实验中能给出很好的结果。但对一些有更多详细细节的图像的对比参数能给出更好的结果是很很有可能的。1描绘了Perona-Malik方程中不同k的k值得电导系数g1 。一般来说,更高的k值只考虑较大的梯度。

 

3.2AOS算法

由于非线性偏微分方程并没有解析解,因此,一般通过数值分析的方法进行迭代求解。一个可能的扩散方程的离散化是所谓linear-implicit或semi-implicit算法。在一个向量矩阵中或用一个相似的表示,离散化方程可以表示为:

 

其中Al是表示图像在各维度(l)上传导性的矩阵。在semi-implicit算法中为了计算Li+1,,需要解一个线性系统方程组。Li+1的解可以解得为:

 

 

semi-implicit算法对每一个步长都是绝对稳定。此外,它创造了一个步长任意大的离散的非线性扩散尺度空间。在semi-implicit算法中,需要解一个线性系统方程组,这个系统矩阵Al是三对角矩阵并且对角占优这样的线性系统可以通过Thomas算法快速求解Thomas算法是一个众所周知的三对角系统的高斯消去法算法的改版。

 

4 KAZE 特征点

本节描述的新方法在非线性尺度空间的特征检测和描述。对给定的一个输入图像,建立的非线性尺度空间最大进化时间使用AOS技术和可变传导扩散。然后,检测二维感兴趣的特征点,通过非线性尺度空间显示最大的尺度归一化后的Hessian矩阵行列式。最后,计算关键点的主方,并且基于一阶微分图像提取具有尺度和旋转不变性的描述向量。现在,将描述每个规划的主要步骤。

4.1 非线性尺度空间的构造

KAZE特征的尺度空间构造与SIFT类似。尺度级别按对数递增,共有Ooctaves,每个octaveSsub-level注意,SIFT中每个新octave逐层进行降采样不同的是,KAZE的各个层级均采用与原始图像相同的分辨率。不同的octavesub-level分别通过序号os来标记。octavesub-level下标通过以下公式映射到它们相应的尺度:

 

其中σ0是尺度参数的初始基准值,N=O*S是整个尺度空间包含的图像总数。由前面的介绍知道,非线性扩散滤波模型是以时间为单位的,因此我们需要将像素为单位的尺度参数σi转换至时间单位。在高斯尺度空间下,使用标准差为σ的高斯核对图像进行卷积,相当于对图像进行持续时间为t=σ2/2的滤波由此我们可得到尺度参数σio,s转换至时间单位的映射公式如下:

 

ti被称为进化时间(evolution time)。值得注意的是,这种映射仅用于获取一组进化时间值,并通过这些时间值来构造非线性尺度空间。一般地,在非线性尺度空间里,与ti对应的滤波图像(filtered image)与使用标准差为σ的高斯核对原始图像进行卷积所得的图像并没有直接联系不过只要使传导函数g恒等于1(即g是一个常量函数),非线性尺度空间就等同于高斯尺度空间。而且随着尺度层级的提升,除了那些对应于目标轮廓的图像边缘像素外,大部分像素对应的传导函数值将趋于一个常量值。

对给定的一个输入图像,首先用一个标准差为σ0的高斯核卷积输入图像以减少噪音和可能的图像伪影。从基图像中计算图像梯度直方图从而获得对比参数k,如在3.1节所述的自动过程。然后,鉴于对比参数k设置的进化时间ti,它是直接以迭代的方式建立非线性尺度空间利用AOS算法即可得到非线性尺度空间的所有图像(绝对稳定的步长):

 

2描述了高斯尺度空间和非线性尺度空间(使用形式为g3的传导函数)的比较对几个进化时间给出了相同的参考图像。可以观察到,高斯模糊平等的消除了图像中所有的结构,而在非线性尺度空间,很明显的图像边缘不受影响地保留下来了。

4.2 特征点检测

对于检测的兴趣点,计算尺度归一化后的在多尺度水平的Hessian矩阵行列式的响应。对于多尺度特征点检测,一组微分操作子需要尺度归一,因为一般空间导数的振幅要减少尺度[5]:

 

 

其中(Lxx; Lyy)分别为二阶横向和纵向的导数,Lxy二阶横纵轴交叉导数。鉴于来自非线性尺度空间Li滤波图像的设置,分析在不同尺度层级i的检测响应。在尺度和空间位置搜索极大值。在当前尺度i、上一尺度i+1和下一尺度i-1上的3个大小为σi×σi的矩形窗口寻找极值。每个极值搜索一个矩形窗口的大小我我对当前,上我+ 1下我1过滤图像。为了加快寻找极值,首先检查窗口大小为3×3大小的响应,以便快速丢弃非最大响应。最后,关键点的位置是由使用方法草案[20]的亚像素精度来估计的。

第一和第二阶导数的集合用不同的导数步长i的3X3 Scharr滤波近似。二阶连续导数用连续的Scharr过滤器在导数所需的坐标近似。这些滤波器近似旋转不变性明显好于其他受欢迎的滤波器如Sobel滤器或标准中央差异分化[21]。注意,尽管需要为每个像素计算多尺度导数,节省描述步骤的计算支出,因为我们重用相同的导数组计算检测步骤

4.3特征描述向量

1)寻找特征点主方向

为了实现图像旋转不变性,需要根据特征点的局部图像结构来确定其主方向。这里所用的方法与SURF相似,即若特征点的尺度参数为σi,则在半径为i的圆形区域内寻找主方向。对搜索圈内所有感兴趣邻点的一阶微分值Lx和Ly通过高斯加权,使得靠近特征点的响应贡献大,而远离特征点的响应贡献小;将这些微分值视作向量空间中的点集,在一个角度为60°的扇形滑动窗口内对点集进行向量叠加,遍历整个圆形区域。获得最长向量的角度就是主方向。

2)构造特征描述向量

在本文中使用M-SURF描述向量来适应非线性湿度空间框架。为了在尺度参数为σi的空间检测到特征点,在一个24σi×24σi的窗口内计算尺度为σi的一阶导数Lx 和 Ly并将窗口划分为4×4个子区域,每个子区域大小为9σi×9σi,相邻的子区域有宽度为i的交叠带。每个子区域都用一个高斯核(σ1 =2.5σi)进行加权,然后计算出长度为4的子区域描述向量:

                      

再通过另一个大小为4×4的高斯窗口(σ2 =1.5σi)对每个子区域的向量dv进行加权。考虑到关键点的主方向,窗口的每一个采样点根据这个主方向都是旋转的。最后长度为64的描述器进行归一化处理,这样就得到了4×4×4=64维的描述向量。

5 实验结果和讨论

在本节中,提出广泛的实验结果和Mikolajczyk 等人(13、14)的标准评价以及在可变形表面的实际图像匹配应用程序。标准数据集包括几个图像集(每个序列通常包含6幅图片),用不同的几何和光度转换如图像模糊、增强、观点,尺度变化、缩放、旋转和JPEG压缩。此外,事实单应性对第一图像的每个序列也可用于每一个图像变换。

本文也评估了每幅图片噪声转换下的特征点检测和描述向量的性能。创建了一个名为Iguazu.的新数据集。这个数据集包含6图像,图像变换是随机的高斯噪声的渐进式加版。对转换后的图像的每个像素,添加高斯随机噪声,增加灰度值图像的方差。每个图像的噪声方差如下:图片2 ,图片3,图片4 ,图片5 和图片6 ,考虑到图像中每个像素的灰度值范围从0到255。3描述了Iguazu 数据集。

 

图3

KAZE特征点比较SURF,SIFT和CenSurE特征点。对SURF使用原来的闭源资源l和SIFT使用Vedaldi 的实现[22]。关于CenSurE特征点,使用基于实现的OpenCV,称为STAR检测器。用STAR检测器检测特征点,计算一个M-SURF描述向量加上主方向如[19]中描述。因此,在本节将表示STAR方法作为CenSurE特征点检测加上M-SURF描述向量的计算的一个近似方法。使用所有的方法对SIFT和KAZE,相同的尺度O = 4,分段S = 3,。不同方法的特征检测阈值设置为适当的值来大约地检测每幅图中相同数量的特征点。

5.1 KAZE重复检测试验


两个图像之间的重复性检测的得分如[13]中定义,在两幅图中测量相应的关键点和可视关键点之间的比率。重叠误差被定义为相交和相离区域之间的比率,其中A和B是两个区域,H是两幅图片相应的单应性。当两个区域之间的重叠误差小于50%,被认为是符合的。

4描述了一些来自标准数据集的选择序列的重复性得分。显示重复性得分,SURF,SIFT,STARKAZE考虑不同的导率(g1、g2、g3)在3.1节中的解释。因为它可以观察到,KAZE特征点的重复性得分通过所有分析序列的最大边缘明显优于竞争对手。关于Iguazu数据集(高斯噪声),KAZE特性的重复性分数是针对一些比SURF和STAR20%的,比SIFT高出了40%的图像。这是因为非线性扩散滤波消除噪声的同时保持物体的边界,而高斯模糊平滑了相同程度的细节和噪声。

不同导率的比较的结果,g2表示出略高的重复性。这可以解释为,g2提高大范围区域使其更适合类blob特征点,例如那些右Hessian矩阵检测到的特征点。相比之下g1和g3促进了高对比度边缘可能更适合角点检测。

 

 

图4

5.2总体KAZE特征点的评价和比较

 本文评估每个分析方法检测,描述向量和匹配的联合性能。描述向量通过在[14]提到的

precision-recall图进行评估。这一标准是基于正确的匹配数量和虚假匹配的数量获得一幅图像对:

 

正确的匹配的数量和对应性是由重叠误差决定的。对图Bikes, Iguazu, Trees和UBC序列,显示立体版本描述符(没有主方向)的所有方法的结果。描述符的立体版本更快的计算,通常表现出更高的性能(相对于其相应的旋转不变的版本),在应用程序中in旋转不变性并不是必须的,上面提到序列的情况就是这样。

考虑最近邻匹配方法,5描述了precision-recall图。可以看到,KAZE特性获得优越的结果,部分是由于检测器在大多数序列中得到更好的重复性。对于图Boat 和Graffiti

序列SURF和SIFT比KAZE特征点获得可比性的结果。然而,通过KAZE找到相应性的数量大约是SURF和SIFT发现的两倍。请注意,在所有分析的图像对,除了Boat 和Graffiti KAZE特征点有时表现出的回复比检测到相同关键点数量SURF,SIFT和STAR高出40%。

 

 

 

5.3 表面形变目标的特征匹配
补充基准数据集的广泛评价,也显示表面形变的图像匹配的结果。特别的,使用在[23]描述的表面形变的特征检测方法。这种方法,基于局部表面平滑,可以从一组假定的一幅图像匹配模板和目标图像变形之间的匹配点中丢弃异常值。在基于模板的可变形表面检测和重建(24、25),模板和目标图像之间的有大量的好的应和性对更准确地捕捉图像变形是非常重要的。

6(a,b)描绘了两个来自paper数据集[24],的两帧图片,进行图像匹配实验。从第一个图像中检测特征点,然后将第二幅图中提取的特征点进行特征点匹配。首先,一组假定的相应性是通过使用[16]中提出的最近邻距离比率(NNDR)方法获得的。这种匹配方法考虑了距离最近邻第二个最近邻的距离的比率。然后,使用组两幅图像之间(包含异常值)的假定匹配作为[23]中描述的离群值拒绝方法的输入。通过改变距离的比例,可以获得一个图表显示不同距离比例的值内层的围数。图6(c)描述了为分析实验用SURF,SIFT,STAR和KAZE特征点获得的内联图表的数量根据结果,可以观察到KAZE特征点在表面形变的图像匹配应用程序中也表现出很好的性能,比其他的方法产生更多的内围层数量。

5.4  时间评估

在本节中,讨论时间评估,过程中最重要的操作是用导函数g2计算KAZE特征点和以及与SURF,SIFT和STAR进行比较。考虑特征点检测和描述(计算描述向量和主方向或其中一些SIFT算法)。所有计时结果都是在酷睿2双核2.4 ghz笔记本电脑上获得的KAZE代码是基于OpenCV的c++数据结构上实现的。源代码和Iguazu数据集可以从网址www.robesafe.com/personal/pablo.alcantarilla/kaze.html上下载。

特别,表1显示了标准数据集两幅图片不同解决的时间结果,以秒为单位。可以观察到,KAZE特征点计算SURF和STAR更昂贵,但SIFT相当。这主要是由于非线性尺度空间的计算,这是KAZE算法耗时的所在。然而,在略有增加的计算时间的成本,结果在性能显示一个很大的进步。在实现中,为每个图像维度进行并行AOS算法计算,因为AOS算法分离了一维分离过程的一个序列的全部扩散滤波。然而,本文的方法和实施都得到了许多改进,可以极大地加速KAZE特征点的计算

 

表1

6  结论和未来的工作
在本文中,提出了KAZE特征点,一种新颖的在非线性尺度空间中多尺度二维特征检测和描述方法。与以往依赖于高斯尺度空间的方法相比,该方法是基于使用有效的AOS技术和可变电导扩散的非线性尺度空间。尽管中和了增加的计算成本,研究结果在检测和描述特征向量的性能方面揭示比以前最先进的方法前进了一步,如 SURF,SIFT和CenSurE。
接下来,是更深入的学习非线性扩散滤波及其在特征检测和描述方面的应用。特别的,高质量的非线性扩散滤波如相干增强coherence-enhancing)扩散滤波[21]可以大幅改善目前的方法。另外,将工作的方向加速方法通过简化非线性扩散过程和通过使用GPGPU编程实时性能。此外,我们也使用KAZE特性感兴趣大型对象识别和可变形的三维重建。尽管已经取得了巨大的进步,在过去的几年里在不变的特征匹配,最后一个字都无法写,因为非线性扩散有许多事情要去做。

 

原创粉丝点击