计算机视觉基础(5)——特征点及其描述子

这篇具有很好参考价值的文章主要介绍了计算机视觉基础(5)——特征点及其描述子。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

本文我们将学习到特征点及其描述子。在特征点检测中,我们将学习角点检测和SIFT关键点检测器,角点检测以哈里斯角点检测器为例进行说明,SIFT将从高斯拉普拉斯算子和高斯差分算子展开。在描述子部分,我们将分别学习SIFT描述子和二进制描述子的概念、基本计算流程以及优劣评价,并给出实例进行说明。

一、特征点检测

特征点和特征描述子,计算机视觉基础,计算机视觉,opencv,图像处理首先,让我们来了解一下特征点的定义及其性质。

特征点:图像中具有独特局部性质的点。

特征点应用:

  • 图像对其配准
  • 3D重建
  • 运动跟踪
  • 机器人导航
  • 图像检索
  • ···

 特征点有如下性质:

  • 局部性:特征是局部的,对遮挡和混乱场景鲁棒
  • 数量:一幅图像中可以产生足够数量的特征点,比如成百上千
  • 独特性:可以和其他图像中大多数点相区分
  • 高效:能够进行实时的检测和比较
  • 可重复性:对图像进行旋转平移等操作后,仍能被检测到 

特征点和特征描述子,计算机视觉基础,计算机视觉,opencv,图像处理

1.1  角点检测器

1.1.1  角点

角点的定义:在一个以角点为中心的局部窗口内沿着,任意方向移动都会给亮度带来显著变化

特征点和特征描述子,计算机视觉基础,计算机视觉,opencv,图像处理

1.1.2  角点检测

某个以( 𝑥, 𝑦 ) 为中心的局部窗口𝑊经过(𝑢, 𝑣)的微小偏移后,窗口内部亮度发生的变化量,可以用SSD表示为:

特征点和特征描述子,计算机视觉基础,计算机视觉,opencv,图像处理 特征点和特征描述子,计算机视觉基础,计算机视觉,opencv,图像处理

特征点和特征描述子,计算机视觉基础,计算机视觉,opencv,图像处理

特征点和特征描述子,计算机视觉基础,计算机视觉,opencv,图像处理【举例说明】

我们不妨设:
特征点和特征描述子,计算机视觉基础,计算机视觉,opencv,图像处理

【水平方向边缘】

特征点和特征描述子,计算机视觉基础,计算机视觉,opencv,图像处理

 【竖直方向边缘】

特征点和特征描述子,计算机视觉基础,计算机视觉,opencv,图像处理

【重点:需要理解】

特征点和特征描述子,计算机视觉基础,计算机视觉,opencv,图像处理

 【举例说明】

特征点和特征描述子,计算机视觉基础,计算机视觉,opencv,图像处理用二阶矩矩阵的特征值对图像中的点进行分类:

特征点和特征描述子,计算机视觉基础,计算机视觉,opencv,图像处理

【举例说明】

特征点和特征描述子,计算机视觉基础,计算机视觉,opencv,图像处理1.1.3  哈里斯角点检测器

特征点和特征描述子,计算机视觉基础,计算机视觉,opencv,图像处理

用Harris角点响应函数对图像中的点进行分类:

特征点和特征描述子,计算机视觉基础,计算机视觉,opencv,图像处理

1.1.4  小结 

 【流程总结】

特征点和特征描述子,计算机视觉基础,计算机视觉,opencv,图像处理

 【特点】

特征点和特征描述子,计算机视觉基础,计算机视觉,opencv,图像处理

1.2  SIFT关键点检测器

特征点和特征描述子,计算机视觉基础,计算机视觉,opencv,图像处理

基本思想:用一个突出区域滤波器(blob filter)对图像在多个尺度上进行卷积并在尺度空间寻找滤波器响应的极值

blob定义:图像等信号内出现”灰度突变”的区域

1.2.1  高斯拉普拉斯算子

Laplacian of Gaussian,LOG

定义:将拉普拉斯算子作用到高斯平滑过的图像上来检测Blob

特征点和特征描述子,计算机视觉基础,计算机视觉,opencv,图像处理

拉普拉斯算子运算结果如图所示:

特征点和特征描述子,计算机视觉基础,计算机视觉,opencv,图像处理 接下来,我们对高斯拉普拉斯算子进行详细的分析:

特征点和特征描述子,计算机视觉基础,计算机视觉,opencv,图像处理通过对上图的分析,我们不难得到如下结论:在信号中blob尺度和LoG中高斯平滑尺度接近时,其响应最大。

但是拉普拉斯算子出现了如下问题:响应随着其LoG中高斯平滑尺度的增加而减小。如下所示:

特征点和特征描述子,计算机视觉基础,计算机视觉,opencv,图像处理解决方案是进行尺度归一化(Scale Normalization),即× 𝜎²。如下所示:

特征点和特征描述子,计算机视觉基础,计算机视觉,opencv,图像处理

特征点和特征描述子,计算机视觉基础,计算机视觉,opencv,图像处理

使用高斯拉普拉斯算子进行计算的实例如下:

特征点和特征描述子,计算机视觉基础,计算机视觉,opencv,图像处理1.2.2  高斯差分算子

Difference of Gaussian, DoG

高斯拉普拉斯算子(LoG)需要计算二阶导数,计算复杂度会比计算一阶高,因此考虑可以用一阶高斯差分来近似。由此引出高斯差分算子的概念:

特征点和特征描述子,计算机视觉基础,计算机视觉,opencv,图像处理

特征点和特征描述子,计算机视觉基础,计算机视觉,opencv,图像处理

高斯差分算子 (Difference of Gaussian, DoG)具有如下特点:

  1. 高斯模糊过的图像可以去除噪声的影响;
  2. 高斯差分操作可以只保留相邻层模糊水平之间的频率,即类似一种带通滤波;
  3. 可以突显图像中的角、边和其他细节;

使用高斯差分算子进行关键点检测的结果,展示如下:

特征点和特征描述子,计算机视觉基础,计算机视觉,opencv,图像处理

特征点和特征描述子,计算机视觉基础,计算机视觉,opencv,图像处理

二、特征描述子

在正式进入特征描述子的学习之前,我们需要知道什么样的特征描述子是好的、优秀的。

好的特征描述子应该具有如下性质:

  • 鲁棒性:对多种几何变换和光照变换具有一定的不变性
  • 独特性:一个区域的特征描述子和其他区域能很好的区分
  • 紧致性:仅用较低维的向量就可以对该特征进行鲁棒和独特的描述
  • 计算高效:可以快速的计算特征描述子并进行高效的比较

 常用的特征描述子如下:

  • HOG: Histogram of Oriented Gradients
  • SIFT: Scale Invariant Feature Transform
  • SURF: Speeded-Up Robust Features
  • GLOH: Gradient Location and Orientation Histogram
  • BRIEF: Binary Robust Independent Elementary Features
  • ORB: Oriented FAST and rotated BRIEF
  • BRISK: Binary Robust Invariant Scalable Keypoints
  • FREAK: Fast REtinA Keypoint 

2.1  SIFT描述子

2.1.1  概念

Scale-Invariant Feature Transform, SIFT

SIFT描述子是根据尺度空间中局部极值所在的位置和尺度,以及其所在的邻域范围内的梯度计算得到的一个向量。

特征点和特征描述子,计算机视觉基础,计算机视觉,opencv,图像处理

2.1.2  SIFT基本计算流程 

1. 根据兴趣点的尺度和位置,在邻域计算36bin的梯度方向直方图,并选择其中最大计数的桶对应的方向作为描述子主方向

特征点和特征描述子,计算机视觉基础,计算机视觉,opencv,图像处理

2. 根据描述子的主方向和兴趣点的尺度和位置,确定相应的16 × 16邻域并计算梯度,之后将梯度图划分成4×4个小块

特征点和特征描述子,计算机视觉基础,计算机视觉,opencv,图像处理

 3. 对每个小块计算8bin的梯度方向直方图

特征点和特征描述子,计算机视觉基础,计算机视觉,opencv,图像处理

 4. 把每个小块的梯度方向直方图都拼接起来,得到16 × 8 = 128 维的特征向量

特征点和特征描述子,计算机视觉基础,计算机视觉,opencv,图像处理

2.1.3  举例说明

基本计算流程示例:

特征点和特征描述子,计算机视觉基础,计算机视觉,opencv,图像处理

 两幅图像中SIFT兴趣点匹配:

特征点和特征描述子,计算机视觉基础,计算机视觉,opencv,图像处理

兴趣匹配的原则:

特征点和特征描述子,计算机视觉基础,计算机视觉,opencv,图像处理

2.2  二进制描述子

2.2.1  概念

二进制描述子:生成可以高效计算且易于比较的二进制串

特征点和特征描述子,计算机视觉基础,计算机视觉,opencv,图像处理

特征点和特征描述子,计算机视觉基础,计算机视觉,opencv,图像处理

比较两个二进制描述子的注意事项

  • 邻域内像素对要用同样的选择方式
  • 像素对的选择顺序也要保持一致

不同二进制描述子主要区别在于选择像素对的策略

2.2.2  Brief 描述子

Binary robust independent elementary features

特征点和特征描述子,计算机视觉基础,计算机视觉,opencv,图像处理

特征点和特征描述子,计算机视觉基础,计算机视觉,opencv,图像处理

2.2.3  ORB 描述子

特征点和特征描述子,计算机视觉基础,计算机视觉,opencv,图像处理

对于其他的描述子,大家感兴趣的可以去网上查找资源自行进行学习噢~ 

总结

本文我们主要学习了特征点检测与特征描述子,为图像处理中的特征点检测和特征描述打下了坚实的基础。希望大家能将本文所有算法的流程熟悉一遍,然后能自己总结复述出来,最好结合公式进行推导。本章的重点在于哈里斯角点检测、SIFT关键点检测(高斯拉普拉斯算子和高斯差分算子),以及SIFT描述子和二进制描述子。文章来源地址https://www.toymoban.com/news/detail-773971.html

到了这里,关于计算机视觉基础(5)——特征点及其描述子的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 计算机视觉之图像特征提取

    图像特征提取是计算机视觉中的重要任务,它有助于识别、分类、检测和跟踪对象。以下是一些常用的图像特征提取算法及其简介: 颜色直方图(Color Histogram) : 简介 :颜色直方图表示图像中各种颜色的分布情况。通过将图像中的像素分成颜色通道(如RGB)并计算每个通道

    2024年02月12日
    浏览(27)
  • 图像特征Vol.1:计算机视觉特征度量|第一弹:【纹理区域特征】

    🍊 什么是计算机视觉特征? 简单来说就是 图像特征 ,对于我们来说,看到一张图片,能很自然的说出和描述图像中的一些特征,但是同样的图片,丢给计算机,只是一个二维矩阵,计算机需要从这个图像中提取计算得到一些数值表示,来描述这个图像所具有的特征:颜色

    2024年02月03日
    浏览(47)
  • 图像特征Vol.1:计算机视觉特征度量|第二弹:【统计区域度量】

    在前篇图像特征Vol.1:计算机视觉特征度量【纹理区域特征】中,我们说到计算机视觉度量的三类方法,在那篇博客中,我们介绍了纹理区域度量的各个方法。在本篇博客中,我们将继续介绍纹理区域特征的第二类方法:统计区域度量。Let’s Go! 统计区域度量, 是利用统计

    2024年02月06日
    浏览(26)
  • 特征向量与计算机视觉: 解决图像理解的挑战

    计算机视觉是人工智能领域的一个重要分支,它涉及到计算机对于图像和视频的理解与处理。图像理解是计算机视觉的核心技术之一,它旨在让计算机能够理解图像中的对象、场景和动作,并进行相关的分析和判断。然而,图像理解的挑战在于图像中的信息量非常大,并且与

    2024年04月14日
    浏览(43)
  • 计算机视觉项目实战-基于特征点匹配的图像拼接

    😊😊😊 欢迎来到本博客 😊😊😊 本次博客内容将继续讲解关于OpenCV的相关知识 🎉 作者简介 : ⭐️⭐️⭐️ 目前计算机研究生在读。主要研究方向是人工智能和群智能算法方向。目前熟悉深度学习(keras、pytorch、yolo),python网页爬虫、机器学习、计算机视觉(OpenCV)、

    2024年02月02日
    浏览(35)
  • 矩阵分析与计算机视觉:从特征提取到对象识别

    计算机视觉是人工智能领域的一个重要分支,它涉及到计算机对图像和视频等多媒体数据进行处理和理解的技术。矩阵分析是线性代数的一个重要分支,它涉及到矩阵的运算、分解、求解等方面。在计算机视觉中,矩阵分析起到了关键的支持作用,因为图像和视频数据都可以

    2024年01月19日
    浏览(30)
  • 计算机视觉:通过边缘检测探究卷积的特征提取功能

    在前面的课程中,我们学习了卷积核的运算,同时我们也学习了卷积核的含义,我们可以将卷积核理解为特征提取器,也就是说一个卷积核就是一个特征提取器,很多人对这种说法不了解,下面我们就通过一个边缘检测的例子来看一下卷积核是如何进行边缘特征的提取的。

    2024年02月13日
    浏览(27)
  • 计算机视觉CV领域中多尺度特征的概念

    知乎:深度学习中的多尺度模型设计 知乎:计算机视觉中的多尺度模型都有哪些设计? CSDN:多尺度理解  所谓多尺度,实际就是对信号的不同粒度的采样。 通常在不同的尺度下我们可以观察到不同的特征,从而完成不同的任务。 粒度更小/更密集的采样可以看到更多的细节

    2023年04月08日
    浏览(35)
  • 特征向量与矩阵分析在计算机视觉中的应用

    计算机视觉(Computer Vision)是人工智能领域的一个重要分支,它旨在让计算机理解和处理人类视觉系统所能看到的图像和视频。计算机视觉的主要任务包括图像处理、特征提取、图像识别、目标检测和跟踪等。在这些任务中,特征向量和矩阵分析技术发挥着关键作用。 特征向

    2024年02月01日
    浏览(50)
  • 【北邮鲁鹏老师计算机视觉课程笔记】06 corner 局部特征

    【北邮鲁鹏老师计算机视觉课程笔记】06 corner 局部特征 ①提取特征 ②匹配特征 ③拼接图像 我们希望特征有什么特性? ①可重复性 ②显著性 ③计算效率和表达紧凑性 ④局部性 在角点,往任意方向移动窗体都会发生变化 用泰勒展开,建立E(u,v)和(u,v)的直接关系 E(u,v)是移动

    2024年02月20日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包