SURF (加速鲁棒特征) 简介

17 Mar 2025 | 6 分钟阅读

在不断发展的计算机视觉领域,特征检测和描述对于使机器能够感知和解释周围的视觉世界至关重要。在众多解决这一挑战的算法中,SURF(加速鲁棒特征)作为一种强大而高效的策略脱颖而出。在本文中,我们将踏上理解 SURF 的基础知识、其关键组成部分及其在计算机视觉和图像处理中的应用的旅程。图像被转换为坐标,使用多分辨率金字塔方法,通过高斯金字塔或拉普拉斯金字塔来复制原始图像,得到一个尺寸相同但带宽减小的图像。

什么是特征?

在深入研究 SURF 的细节之前,理解计算机视觉中特征的概念至关重要。特征是图像中独特的模式或点,它们携带有关其内容的重要信息。这些特征可以是边缘、角点,或者任何有助于算法在图像中识别和区分对象的显著结构。

SURF (加速鲁棒特征)

SURF 是由 Herbert Bay 等人于 2006 年开发的一种特征检测和描述算法。它旨在检测和描述图像中的特定特征,使计算机视觉系统能够识别对象、跟踪运动并执行图像拼接和对象识别等任务。

为了检测兴趣点,SURF 使用 Hessian 斑点检测器的行列式的整数近似,该行列式可以使用 3 个整数运算通过预先计算的积分图像来计算。其特征描述符基于兴趣点周围 Haar 小波响应的总和。这些也可以通过积分图像来计算。SURF 描述符已用于查找和识别对象、人物或面孔,重建物体三维场景,跟踪对象,以及提取兴趣点。

SURF 最初由 Herbert Bay、Tinne Tuytelaars 和 Luc Van Gool 发表,并在 2006 年欧洲计算机视觉会议上发表。该算法在美国受到专利保护。SURF 的一个“直立”版本也称为 U-SURF,对图像旋转不敏感,因此处理速度更快,更适合相机保持相对水平的应用。

检测

SURF 检测中使用了方形滤波器来近似高斯平滑。(在滤波器方法中,高斯差(DoG)在连续缩放的图像上计算,并用于检测尺度不变的特征点。)使用积分图像可以加速图像的方形滤波。

Introduction to SURF (Speeded-Up Robust Features)

积分图像允许快速计算矩形内原始图像的总和,只需要在矩形的四个角上进行评估。

SURF 使用基于 Hessian 矩阵的斑点检测器来查找兴趣点。Hessian 矩阵的行列式是围绕一个点的局部变化度量,当该行列式最大时选择斑点。与 Mikolajczyk 和 Schmid 开发的 Hessian-Laplacian 检测器不同,SURF 也使用 Hessian 行列式来选择尺度,就像 Lindeberg 一样。图像 I 中点 p 和尺度 s 处的 Hessian 矩阵 H(p, s)。

尺度空间表示和焦点区域

由于匹配的搜索通常需要匹配在不同尺度下看到的图像,因此兴趣点可以在不同的尺度下定位。其他特征识别技术中的尺度空间通常表示为图像金字塔。图像在通过高斯滤波器进行适当平滑后进行下采样,以获得金字塔的下一个更高层。因此,使用不同的掩模尺寸来评估不同的层或步长。

八度 (Octave) 是跨越尺度倍数的响应图集合,尺度空间被划分为多个八度。在 SURF 中,使用 9x9 滤波器的结果来确定尺度空间的最低级别。

因此,与其他方法不同,SURF 中的尺度空间是通过使用不同尺寸的盒式滤波器创建的。因此,尺度空间是通过放大滤波器尺寸来集中的,而不是反复缩小图像尺寸。在尺度 s = 1.2(相当于方差为 1.2 的高斯导数)下,上述 9x9 滤波器的结果被认为是第一个尺度层。

描述符的作用

描述符的目的是提供图像的独特而精确的描述,例如通过描述兴趣点附近像素的强度分布。由于大多数描述符都是局部计算的,因此会为每个新确定的兴趣区域生成一个描述。描述符的维度直接影响点匹配过程的强度/准确性以及计算复杂性。简短的描述可能更能抵抗变化,但可能无法提供足够的区分度,导致出现过多的误报。第一个步骤是根据围绕兴趣点的圆形区域中的数据固定一个可重复的方位。然后,从一个已构建的、根据所选方位调整的方形区域提取 SURF 描述符。

描述符的维度直接影响点匹配过程的强度/准确性以及计算复杂性。简短的描述可能更能抵抗变化,但可能无法提供足够的区分度,导致出现过多的误报。第一个步骤是根据围绕兴趣点的圆形区域中的数据固定一个可重复的方位。然后,从一个已构建的、根据所选方位调整的方形区域提取 SURF 描述符。

方位函数

为了保证旋转不变性,需要识别焦点的方位。在发现兴趣点的尺度上,对圆形邻域范围 s 内的 x 和 y 方向上的 Haar 小波响应进行分析。获得的响应显示为二维空间中的点,水平响应在横坐标上,垂直响应在纵坐标上,并由以兴趣点为中心的函数加权。

通过对大小为 /3 的滑动方位窗口内的所有响应求和来确定整体方位。在窗口内,将水平和垂直响应相加。将两个响应相加的结果是一个整体方位向量。整体中最长的此类向量的指向决定了焦点的方位。为了在鲁棒性和精确分辨率之间取得必要的平衡,滑动窗口的大小是一个需要确定的参数。

SURF 的关键组成部分

  1. 加速 (Speeded-Up):正如其名称所示,SURF 以其效率而闻名。它通过使用盒式滤波器来估计特定区域内的像素强度总和来实现这一点。这种估计减少了计算时间,使 SURF 适用于实时应用。
  2. 鲁棒 (Robust):SURF 旨在处理各种图像变化,包括缩放、旋转和光照条件变化。它通过使用 Haar 小波和积分图像来实现鲁棒性,这使得它即使在具有挑战性的情况下也能准确地检测特征。
  3. 尺度和旋转不变性:SURF 的尺度不变特性使其能够在不同尺度上检测特征,使其适用于物体可能以不同距离出现在相机前的场景。此外,其处理旋转不变性的能力确保了无论对象的方向如何,特征都可以被识别。
  4. 描述符生成:在检测到特征后,SURF 会生成描述符来捕获每个特征的独特特性。这些描述符是特征周围环境的紧凑表示,使其适用于图像之间的比较和匹配。

SURF 的应用

SURF 算法的灵活性使其适用于计算机视觉和图像处理中的众多应用。

  1. 对象识别:SURF 的鲁棒性和效率使其成为对象识别任务的重要工具。它可以检测和匹配图像中的特征,使系统能够识别对象,而不受尺度、旋转或视角变化的影响。
  2. 图像检索:SURF 的特征描述符可用于根据图像内容创建图像索引,从而实现数据集的高效图像检索。
  3. 图像拼接:在通过拼接不同图像来创建全景图时,SURF 可用于检测重叠的特征并精确对齐它们。
  4. 增强现实:SURF 在实时检测和描述特征的能力使其成为增强现实应用中的重要组成部分,在这些应用中,虚拟对象叠加在现实世界之上。

结论

在计算机视觉领域,SURF(加速鲁棒特征)以其效率和多功能性而著称。它检测、描述和匹配图像中独特特征的能力为对象识别、图像拼接、增强现实等领域的进步铺平了道路。随着我们不断探索计算机视觉和图像处理的前沿,SURF 等算法在使机器能够以日益提高的准确性和复杂性感知和理解视觉世界方面发挥着至关重要的作用。