KAZE Features
- 作者:Pablo Fernández Alcantarilla; Adrien Bartoli; Andrew J. Davison
- 机构:克莱蒙奥弗涅大学
- 年份:2012
- 期刊/会议:European Conference on Computer Vision (ECCV)
- 原文地址:KAZE Features
在本文中,我们介绍了 KAZE 特征,这是一种在非线性尺度空间中的新型多尺度 2D 特征检测和描述算法。以前的方法通过构建或近似图像的高斯尺度空间来检测和描述不同尺度级别的特征。然而,高斯模糊不尊重对象的自然边界,并在细节和噪声方面进行了同等程度的平滑处理,从而降低了定位精度和独特性。相比之下,我们通过非线性扩散滤波在非线性尺度空间中检测和描述二维特征。通过这种方式,我们可以使模糊局部适应图像数据,减少噪声但保留对象边界,获得优越的定位精度和独特性。非线性尺度空间是使用有效的加性算子分裂 (AOS) 技术和可变电导扩散构建的。我们对基准数据集进行了广泛的评估,并在可变形表面上进行了实际匹配应用。尽管由于非线性尺度空间的构建,我们的特征比 SURF 的计算成本更高,但与 SIFT 相当,但我们的结果显示,相对于以前的最先进方法,在检测和描述方面的性能都向前迈进了一步。
Ⅰ 介绍
多尺度图像处理是计算机视觉中的重要工具,我们可以自动从不同尺度空间提取出感兴趣的检测点。对于每一个检测点都可以获得一个不变的局部描述子。这种多尺度特征算法在现代计算机视觉框架中非常重要。
多尺度的基本思路非常简单:通过使用适当的函数滤波原始图像以增加时间或比例来创建图像的缩放空间。例如高斯尺度空间,通过对原始图像做不断增加标准差的高斯核卷积实现。对于更大的核值,我们获得更简单的图像表示。随着图像多尺度表示,我们可以在图像不同尺度空间和分辨率下检测和描述特征。一些作者也展示了在一些通用假设下,高斯核及其部分导数集是尺度空间分析的光滑核。然而,需要注意的是,高斯尺度空间只是线性扩散的一个例子,因为其他的线性尺度空间也是有可能的。
高斯核可能是表征图像尺度空间最简单的方式,但不是唯一的。然而它有些缺点。在高斯尺度空间中,选择粗略尺度的优点在于减少噪声以及突出结构。其代价是损失了局部的准确性。原因在于高斯模糊不会保留物体的自然边界,在所有尺度下对噪声和图像的细节进行相同的平滑。高斯模糊越大,我们在粗糙尺度空间中局部区域检测特征的损失越大。
使模糊局部适应图像数据似乎更合适,这样噪声就会模糊,但细节或边缘仍将无效。为了实现这一点,提出了不同的非线性尺度空间方法对高斯尺度空间方法进行改进。一般来说,非线性扩散方法的性能远优于线性扩散方法,并且在图像分割或去噪等不同应用中获得了令人印象深刻的结果。然而,据我们所知,本文是第一篇利用高效方案在多尺度特征检测和描述的背景下利用非线性扩散滤波的论文。利用非线性散射技术,通过非线性尺度空间在不同尺度上检测和描述图像区域,可以提高图像的重复性和清晰度。
非线性扩散滤波在特征检测和描述等实际计算机视觉部件中应用不多的一个原因可能是大多数方法的效率低下。这些方法通常包括通过前向欧拉方法对函数进行离散。欧拉方法需要非常小的步长来收敛,因此需要多次迭代才能达到所需的规模和高计算成本。Weickert等人偶然地介绍了非线性扩散滤波的有效方案。这些方案的背景之一是使用加法算子分裂(aos)技术。通过aos方法,可以得到任意步长的稳定非线性尺度空间。aos方案的一个关键问题是求解线性方程的三对角系统,这可以通过高斯消元算法的一个特殊变体Thomas算法来实现。
本文提出在非线性尺度空间中实现特征的自动检测和描述。本文介绍了如何利用有效的aos技术和可变电导散射来构造非线性尺度空间,以及如何在不同的图像变换下获得具有高重复性和显著性的特征。我们在标准评估框架中详细评估了我们的新特性,以及使用变形曲面的实际图像匹配应用。
我们的特征被命名为Kaze,向规模空间分析之父Iijima致敬。Kaze是一个日语单词,意思是风。在自然界中,风被定义为大尺度上的气流,通常由非线性过程控制。在此基础上,对图像域中的非线性扩散过程进行了模拟。本文的其余部分安排如下:在第二节中,我们描述了相关的工作。第三节简要介绍了非线性扩散滤波的基本原理。第4节详细说明了kaze特征算法。最后,第5节和第6节分别给出了详尽的实验结果和结论。
Ⅱ 相关工作
特征检测与描述是计算机视觉中一个非常活跃的研究领域。在许多不同的应用中,获得在不同的图像变换(如视点、模糊、噪声等)下显示出高重复性和独特性的特征是非常重要的。最流行的多尺度特征检测和描述算法是尺度不变特征变换(SIFT)和快速增强鲁棒特征(SURF)。
sift特征是特征检测和图像匹配的里程碑,在移动机器人和目标识别等领域仍有广泛的应用。在SIFT中,通过高斯尺度空间得到高斯差分算子(DOG)结果的最大值和最小值。为了建立尺度空间,计算了高斯模糊金字塔的原始图像。比例空间由不同的子级和倍频程组成。对于一组检测到的特征,基于检测到的关键点的局部感兴趣区域上的主梯度方向构造描述符。然后定义了一个通常由4×4个子区域组成的矩形网格(根据主方向),并建立了由其大小加权的梯度方向直方图,得到128个元素的描述符向量。
受SIFT的启发,Bay等人提出了surf检测和描述符。surf特征在重复性、显著性和鲁棒性方面表现出更好的结果,但同时由于使用了积分图像,可以更快地计算,这意味着不同尺度的高斯导数可以通过简单的方形滤波器近似,而不必计算整个高斯尺度空间。与SIFT类似,定义了一个由4×4个子区域组成的矩形网格(根据主方向),并计算了每个区域的HAAR小波响应之和(以感兴趣的关键点为中心的高斯加权)。最终的描述符维度通常是64或128的扩展计数器。Agrawal和Konolige通过使用中心环绕检测(CenSurE)和修改的surf(m-surf)描述符对surf进行了一些改进。m-surf是原surf描述符的一个变体,但它处理了较好的描述符边界效应,并采用了更为稳健和智能的两阶段高斯加权方案。
这些方法和随后的许多相关算法都依赖于高斯尺度空间和高斯导数集作为尺度空间分析的光滑核。然而,重复一次,高斯尺度空间不保留对象和平滑的自然边界,在所有尺度上都同等处理细节和噪声。通过非线性扩散滤波,可以获得比以前基于高斯尺度空间的算法具有更高重复性和显著性的多尺度特征。与surf或CenSurE相比,计算成本略有增加,我们的结果显示,在特征检测和描述方面,性能有了很大的提高。
Ⅲ 非线性扩散函数
非线性扩散方法将图像亮度随尺度的增大而变化描述为控制扩散过程的某些流函数的发散。这些方法通常用非线性偏微分方程(PDES)来描述,因为所涉及的微分方程的非线性性质将图像的亮度扩散到非线性尺度空间。方程1给出了经典的非线性扩散公式:
其中和分别表示散度和梯度运算。
由于传到函数的引入,使得扩散自适应图像局部结构成为可能。函数取决于图像局部的微分结构,并且函数既可以表示标量也可以表示张量。时间为尺度参数,值越大表示图像越简单。本文中,将关注可变传导扩散,即在各尺度层级中使用图像的梯度幅度控制扩散。
Perona 和 Malik 扩散方程
在计算机视觉领域首次提到非线性扩散滤波由Perona和Malik提出,令函数与梯度幅值相关,为了减少在局部边缘的计算损失,更多平滑区域而不是边界。通过这种方式,函数可以被定义为:
其中表示原始图像的高斯平滑版本的梯度。Perona和Malik为传到函数描述两个不同的方程:
其中参数为对比度因子控制扩散等级。函数有利于高对比度边界,有利于大区域而不是小区域。Weickert为扩散率迅速下降的区域提出略微不同的扩散函数:在边缘两侧平滑比在边上平滑效果更好。与区域间模糊相比,选择性平滑更倾向于区域内平滑。这个函数称为,定义如下:
对比度参数可以手动选择,也可以根据图像梯度的一些估计值自动选择。对比度参数决定梯度是应该增强还是取消。本文中我们采用经验值,将设置为原始图像平滑版本梯度值直方图的70%,在我们的实验中这个经验值通常取得很好的结果。然而,对于某些图像,对对比度参数进行更详细的分析可能会得到更好的结果。图1描述了Perona和Malik方程中不同参数值的传导函数。通常,对于较高的值,只考虑较大的梯度。
AOS方案
非线性扩散滤波中的偏微分方程没有解析解。因此,需要使用数值方法来近似微分方程。扩散方程的一种可能的离散化方法是所谓的线性插值或半隐式格式。在向量矩阵表示法中,方程1的离散化可表示为:
式中,是一个矩阵,对每个维度的图像传导进行编码。在半隐式格式中,为了计算解,需要解一个线性方程组。的解可通过以下方式获得:
半隐式格式对于任何步长都是绝对稳定的。此外,它还为任意大的时间步长创建了一个离散的非线性扩散尺度空间。在半隐式格式中,需要求解线性方程组,其中系统矩阵为三对角且对角占优。托马斯算法是著名的三对角系统高斯消元算法的一种变体,它可以非常有效地求解此类系统。
Ⅳ KAZE特征
在这一部分中,我们将介绍我们在非线性尺度空间中进行特征检测和描述的新方法。给定一幅输入图像,我们使用AOS技术和可变传导扩散建立非线性尺度空间,直至最大演化时间。然后,我们通过非线性尺度空间检测出感兴趣的二维特征,这些特征显示了Hessian响应的尺度归一化行列式的最大值。最后,我们计算关键点的主方向,并得到一个考虑一阶图像导数的尺度和旋转不变描述符。现在,我们将描述公式中的每个主要步骤。
计算非线性尺度空间
我们采用了与SIFT中类似的方法,以对数步长将尺度空间离散化,以一系列级和层排列。请注意,我们始终使用原始图像分辨率,而不会像在SIFT中那样在每个新的级上执行任何下采样。级和层由离散的上标和上标确定。级和层通过以下公式映射到其相应的尺度:
式中,是基本比例级别,是过滤图像的总数。现在,我们需要将像素单位中的离散尺度级别集转换为时间单位。这种转换的原因是非线性扩散滤波是按时间项定义的。在高斯尺度空间的情况下,图像与高斯标准偏差(以像素为单位)的卷积相当于对图像进行一段时间的滤波。我们应用这种转换以获得一组演化时间,并通过以下映射将尺度空间转换为时间单位:
这里必须提到的是,我们使用了映射仅用于获得一组演化时间,由此我们构建非线性尺度空间。一般而言,在每个滤波图像处的非线性尺度空间中,所得图像不对应于原始图像与标准偏差的高斯的卷积。然而,我们的框架也与高斯尺度空间兼容,因为我们可以通过将扩散函数设置为等于1(即常数函数)来获得高斯尺度空间的方程。此外,只要我们在非线性尺度空间中演化,除与对象边界对应的强图像边缘外,大多数图像像素的传导函数趋于恒定。
给定一幅输入图像,我们首先用标准偏差的高斯核卷积图像,以减少噪声和可能的图像伪影。根据该基础图像,我们计算图像梯度直方图,并按照第3.1节所述的自动程序获得对比度参数。然后,给定对比度参数和一组演化时间,使用AOS方案(对于任何步长都绝对稳定)以迭代方式构建非线性尺度空间是很直观的:
图2描述了高斯尺度空间和非线性尺度空间(使用传导函数)在给定相同参考图像的几个演化时间内的比较。可以观察到,高斯模糊对图像中的所有结构进行平滑处理,而在非线性尺度空间中,强图像边缘保持不变。
特征检测
为了检测感兴趣的点,我们计算了Hessian的尺度归一化行列式在多个尺度水平上的响应。对于多尺度特征检测,需要针对尺度对微分算子集进行归一化,因为通常空间导数的振幅随着尺度的减小而减小:
其中分别为二阶水平导数和垂直导数,为二阶交叉导数。给定非线性尺度空间的滤波图像集,我们分析检测器在不同尺度水平下的响应。我们搜索尺度和空间位置的最大值。在除和之外的所有滤波图像中执行极值搜索。在当前、上一层和下一层的大小为的矩形窗口上搜索每个滤波图像的极值。为了加快搜索极值,我们首先在3×3像素的窗口上检查响应,以便快速丢弃非最大值响应。最后,使用亚像素精度估计关键点的位置。
一阶和二阶导数集通过不同导数步长的 Scharr滤波器进行近似。二阶导数通过在所需导数坐标中使用连续Scharr滤波器进行近似。这些滤波器比其他流行的滤波器(如Sobel滤波器或标准中心差分滤波器)更接近旋转不变性。请注意,尽管我们需要为每个像素计算多尺度导数,但我们在描述步骤中节省了计算工作量,因为我们重复使用在检测步骤中计算的同一组导数。
特征描述
寻找主方向。为了获得旋转不变描述符,需要估计以关键点位置为中心的局部邻域中的主导方向。与SURF类似,我们在半径为的圆形区域中发现主方向,采样步长为。对于圆形区域中的每个样本,一阶导数和使用以兴趣点为中心的高斯加权。然后,将导数响应表示为向量空间中的点,并通过对覆盖角的滑动圆段内的响应求和来确定主方向。从最长矢量中获得主方向。
构建描述符。我们使用的M-SURF描述符适用于我们的非线性尺度空间框架。对于尺度为的检测特征,在矩形网格上计算尺寸为的一阶导数和。该网格分为个子区域,大小为,重叠为。每个子区域中的导数响应以子区域中心为中心,用高斯()加权,并求和为描述符向量。然后,使用高斯()对每个子区域向量进行加权,其定义在的掩模上,并以感兴趣的关键点为中心。当考虑关键点的主方向时,矩形网格中的每个样本将根据主方向旋转。此外,还根据主方向计算了导数。最后,长度为64的描述符向量被归一化为单位向量以实现对比度不变性。