社区计算机视觉课程文档

特征描述

Hugging Face's logo
加入 Hugging Face 社区

并获取增强的文档体验

开始使用

特征描述

特征是模型学习到的实例属性,之后用于识别新的实例。

我们如何在数据结构中表示特征?

在数据中表示特征对于有效地组织和操作数据至关重要。特征,也称为属性或变量,可以是多种多样的,范围从数值和类别到更复杂的结构,如图像或文本。以下是一些表示计算机视觉任务特征的方法:

  • 数值特征

    • 数组/列表:存储数值的最简单形式。数组中的每个元素对应一个特征。
    • 张量:多维数组,常用于机器学习框架中,以有效地处理大量数值数据。
  • 类别特征

    • 字典/列表:将类别分配给数值标签或直接存储类别值。
    • 独热编码:将类别变量转换为二进制向量,其中每个位代表一个类别。
  • 图像特征

    • 像素值:像素值矩阵或多维数组。
    • 卷积神经网络特征(CNN):使用预训练的 CNN 模型提取特征。

什么是一个好的描述符

在图像处理或计算机视觉中,好的描述符是一组特征或属性,可以有效地表示图像中关于对象或场景的关键信息。以下是一些构成良好描述符的方面:

  • 变换不变性: 理想情况下,描述符应该对旋转、平移、缩放和光照变化等变化具有鲁棒性。这意味着无论对象如何定位或图像如何更改,描述符都应保持相对不变,并包含与原始描述符相同的描述。
  • 独特性: 好的描述符可以捕捉关于对象的独特信息。它应该能够区分图像中不同的对象或部分,并且足够独特以将它们与相似元素区分开来。
  • 维度: 好的描述符通常具有可管理的大小,在不至于过大的情况下传达足够的信息。平衡维度对于处理和存储效率至关重要。
  • 局部性: 描述符通常识别图像中的局部特征。局部描述符侧重于特定区域或关键点,并描述这些区域的特征,从而可以在不同图像中匹配和识别相似区域。
  • 可重复性: 即使在存在噪声或轻微变化的情况下,描述符也应在同一对象或场景的多个实例中保持一致和可重复。
  • 与匹配算法的兼容性: 描述符通常与匹配算法结合使用,以查找不同图像之间的对应关系。好的描述符应适用于正在使用的匹配算法,无论是基于距离度量、机器学习模型还是其他技术。
  • 计算效率: 效率实际上是描述符的关键部分,尤其是在实时应用中。描述符的计算应在计算上可行,以便快速处理,尤其是在速度至关重要的场景中,例如机器人技术或自动驾驶汽车。
  • 适应性: 可以从其正在处理的数据中适应或学习的描述符可能非常有效,尤其是在对象或场景的特征可能随时间变化的情况下。这可以提高描述符的可用性。
  • 噪声鲁棒性: 描述符应该能够处理图像数据中的噪声,而不会显着损害其准确表示底层特征的能力。

特征描述符中使用的一些技术

SIFT

Basic Working of SIFT

它代表尺度不变特征变换。它是计算机视觉和图像处理中广泛使用的算法,用于检测和描述图像中的局部特征。

SIFT 的工作原理如下:

  • 尺度空间极值检测: 它首先检测图像在多个尺度上的潜在兴趣点。它在图像中寻找高斯函数差分在空间和尺度上达到最大值或最小值的位置。这些关键点位置被认为在各种尺度变化下是稳定的。
  • 关键点定位: 一旦识别出潜在的关键点,SIFT 会将其位置细化到亚像素精度,并丢弃低对比度的关键点和边缘上的关键点,以确保准确定位。
  • 方向分配: SIFT 基于局部图像梯度方向为每个关键点计算一个主导方向。此步骤使描述符对图像旋转具有不变性。
  • 描述符生成: 为每个关键点区域计算一个描述符,捕获有关关键点附近局部图像梯度的信息。此描述符是一个紧凑的表示,封装了关键点周围图像块的关键特征。
  • 描述符匹配: 最后,这些描述符用于匹配不同图像之间的关键点。将一个图像中的描述符与另一个图像中的描述符进行比较,以找到对应关系。

SIFT 对各种图像变换的鲁棒性及其在图像中查找独特特征的能力使其在对象识别、图像拼接和 3D 重建等应用中很有价值。

您可以使用以下参考资料了解有关 SIFT 的更多信息:

SURF

Basic Working of SURF

它代表加速鲁棒特征。它是计算机视觉和图像处理中另一种流行的算法。它以其在检测和描述局部图像特征方面的速度和鲁棒性而闻名。

SURF 的基本工作流程如下:

  • 积分图像: SURF 利用积分图像,即原始图像的预计算表示。它们允许快速计算图像内的矩形区域总和,从而实现更快的特征计算。

  • 斑点检测: 与其他特征检测算法类似,SURF 首先识别图像中的潜在兴趣点或关键点。它使用 Hessian 矩阵来检测斑点或区域,这些区域在多个方向和尺度上表现出显着的强度变化。这些区域是潜在的关键点。

  • 尺度选择: 它通过识别尺度空间中变化显着的区域来确定关键点的尺度。它分析 Hessian 矩阵在不同尺度下的行列式,以找到多个尺度下的鲁棒关键点。

  • 方向分配: 对于每个检测到的关键点,SURF 分配一个主导方向。这是通过计算关键点邻域周围不同方向的 Haar 小波响应来完成的。与 SIFT 不同,SURF 使用一组应用于关键点邻域子区域的矩形滤波器(Haar 小波)。这些滤波器的响应用于创建表示关键点的特征向量。

  • 描述符匹配: 然后,生成的描述符用于匹配不同图像之间的关键点。匹配涉及将一个图像中关键点的特征向量与另一个图像中关键点的特征向量进行比较,以找到对应关系。

SURF 的主要优势在于其计算效率,这通过使用积分图像和 Haar 小波近似来实现,同时保持对尺度、旋转和光照变化的鲁棒性。这使得 SURF 适用于实时应用,在这些应用中,速度在对象检测、跟踪和图像拼接中起着至关重要的作用。

您可以使用以下参考资料了解有关 SURF 的更多信息:

< > 在 GitHub 上更新