首页 > 编程语言 >特征提取与匹配算法的前世与今生专题1

特征提取与匹配算法的前世与今生专题1

时间:2022-10-05 21:04:28浏览次数:88  
标签:今生 高斯 特征 尺度 算法 前世 尺度空间 图像 特征提取


1、资源搜集

​【计算机视觉】2. 特征点检测:Harris, SIFT, SURF, ORB​

​传统计算机视觉中图像特征匹配方法的原理介绍(SIFT 和 ORB)​

​模式识别之特征提取算法​

​图像配准:从SIFT到深度学习​

2、本人总结

        还是老规矩,我们先讨论为什么会出现特征提取与匹配算法。我们还是举一个每天发生在我们周围的例子,随着今年来图像、视频数据呈现爆炸式增长,我们应该如何对进行分类以及实现快速检索呢。我们难道要使用人眼一个一个比较,哪个视频或者图像属于一类然后把它们放在一起。估计那样的话人都要累坏,全球几十亿的人保守说也要有一个亿的人在上传视频啊,而我们要检索我们想要的,就要从这些里面检索。既然不是人为检索,那就需要计算机来实现。计算机则就需要认识或者了解每个视频或者图像的特征,所以这就需要计算机能够像人一样提取出视频和图像的特征信息并且能够进行匹配。上面只是一种需求,还有我们追踪目标,则就需要提取特征并时刻对前后的特征进行匹配等等。

         特征提取和匹配算法到发展到现在,主要有一下几个重要算法:Harris、SIFT、SURF、ORB、深度学习;今天我们主要介绍一下SIFT算法,后面所有的算法都会讲解。

2.1 基本概念

      SIFT算子是一种检测局部特征的算法,该算法通过求一幅图像中的特征点及其相关尺寸和方向的描述子得到特征并进行图像特征点匹配。每个特征点的SIFT特征是128维向量,因此计算量很大。

2.2 算法描述

      SIFT具备尺度、亮度、旋转、平移不变特性。整个算法主要包括:尺度空间生成、检测尺度空间极值点、精确定位极值点、为每个关键点指定方向参数,关键点描述

(1)尺度空间生成

        该步骤目的是为了模拟图像数据的多尺度特征,因为我们要实现抗尺度特性,就需要在一张图像上模拟出物体远近的情况,然后在进行后面的处理算法。要实现该步骤,需要引入高斯卷积核,这是唯一线性核,因此一幅图像二维空间可以定义为:

特征提取与匹配算法的前世与今生专题1_尺度空间

,其中

特征提取与匹配算法的前世与今生专题1_计算机视觉_02

为尺度可变高斯函数,(x,y)是空间坐标又称尺度坐标。

特征提取与匹配算法的前世与今生专题1_极值_03

大小决定图像的平滑程度,大尺度对应图像的概貌(图像中的低分辨率),小尺度对应图像的轮廓(图像中的高分辨率)。为了可以在尺度空间中检测到关键点,作者提出了高斯差分空间DOG(scale-space),同层图像中,不同平滑度图像相减:

特征提取与匹配算法的前世与今生专题1_Machine Learning_04

       下面我们来看一下不同

特征提取与匹配算法的前世与今生专题1_极值_03

情况下的尺度图像:                

特征提取与匹配算法的前世与今生专题1_尺度空间_06

        因此尺度空间要求是连续的,所以上图中的2是必须要加的;在Lowe论文中,第0层的初始尺度

特征提取与匹配算法的前世与今生专题1_极值_03

 = 1.6,图像的初始尺度定为0.5。这样会导致在检测极值点前对原始图像的高斯平滑丢失数据,因此需要提前将图像扩大为原来的一倍,保留原始图像信息,增加特征点。                                              

特征提取与匹配算法的前世与今生专题1_计算机视觉_08

       上图对应的方程为

特征提取与匹配算法的前世与今生专题1_Machine Learning_09

,其中i代表塔的个数,s代表没个塔的层数。上面其实就是属于同一个塔里面高斯卷积后的图像,进行上下相减得到高斯差分图DOG

       图像的大小决定建塔的个数,每个塔的层数舒(s一般为3~5)。其中,第0塔的第0层对应的图像为原始图像。后面就像上面说的,下面每层对下一层进行高斯卷积操作。每个塔之间进行的降采样处理,从上面图像我们可以看到first octave到next octave图像的分辨率减半。

       注:多图像金字塔或者拉普拉斯金字塔不理解的,可以查看此​链接

(2)检测尺度空间极值点

         上面已经介绍了从一张图像多尺度的实现方式,以及为了更好的提出特征,将原始图像转化为DOG图。既然适合提取特征的图像已经生成,那么我们该如何找寻里面的明显特征呢?还是选上作者的提出的解决方案:

                                                                    

特征提取与匹配算法的前世与今生专题1_尺度空间_10

        在图像我们可以看到一个黑色叉,该位置与同层的相邻8个点以及上下两层18个点进行比较,总共相当于26个点进行比较,来确保尺度空间和二维图像空间都检测到极值点。如果该点在DOG空间中的26点是最大值或者最小值时,则认为该点是图像在该尺度下的一个特征点。

         但是如果按照上面描述的那样,当前层与上下层进行极值点确定,那么在首尾两层会出现无法确定极值点情况,如下图:

                                             

特征提取与匹配算法的前世与今生专题1_尺度空间_11

      为了满足尺度空间的连续性,我们在每一组图像的顶层继续使用高斯模糊生成3幅图像,这样高斯金字塔图像未s+3层,DOG金字塔每组含有s+2层。

      那么问题来了,什么是尺度空间的连续性,为什么只增加3幅图像呢?

      我们可以举例说明一下,假设s为3,即每个塔有3个层,则k = 

特征提取与匹配算法的前世与今生专题1_尺度空间_12

,经过高斯卷积后我们可以得到3个高斯金字塔,2个DOG金字塔,这种情况下我们是没有办法进行极值点检测的。如果这时候我们继续添加3个高斯模糊,最后得到

特征提取与匹配算法的前世与今生专题1_尺度空间_13

,其中DOG金字塔对应

特征提取与匹配算法的前世与今生专题1_尺度空间_14

。根据上面公式,可得下一塔对应的尺度

特征提取与匹配算法的前世与今生专题1_计算机视觉_15

。我们知道

特征提取与匹配算法的前世与今生专题1_Machine Learning_16

,

特征提取与匹配算法的前世与今生专题1_尺度空间_17

,下一塔首项刚好与上一塔的末项连续起来。这也就解开了我们上面的疑问。

(3)精确定位极值点

 

(4)为每个关键点指定方向参数

 

(5)关键点描述

了解更多关于《计算机视觉与图形学》相关知识,请关注公众号:

特征提取与匹配算法的前世与今生专题1_计算机视觉_18

下载我们视频中代码和相关讲义,请在公众号回复:计算机视觉课程资料

 

标签:今生,高斯,特征,尺度,算法,前世,尺度空间,图像,特征提取
From: https://blog.51cto.com/u_15717531/5732917

相关文章

  • Spring mvc源码分析系列--Servlet的前世今生
    Springmvc源码分析系列--Servlet的前世今生概述上一篇文章Springmvc源码分析系列--前言挖了坑,但是由于最近需求繁忙,一直没有时间填坑。今天暂且来填一个小坑,这篇文章我......
  • 图像特征提取
    1、角点的定义如果一个点在任意方向的微小变动都会导致灰度很大的变化,那么这个点就被称为角点。也就是一阶导数中的局部最大值就是角点。2、Harris角点检测harris角点具......
  • 玖章算术受邀参加红杉Talk「创新的复利」科技专场,共同探讨云计算的前世今生
    9月2日,本周五14:00「创新的复利」SequoiaTalk系列论坛,首期直播盛大启动。在第一期科技专场,4位红杉中国资深投资人、8位创新创业者将带我们深入工业软件、机器人、云计算......
  • SIFT 特征提取与匹配研究 | 国科大CV项目
    本项目SIFT代码实现参考了视频讲解及其开源实现,仅使用了两个基本Python库,分别用于矩阵等数值计算和结果绘图展示。特征点匹配算法基于自行实现的最近邻算法,避免引入sklearn......
  • 001-Redis的前世
    在正式的走入Redis的世界之前,我想和你一起探讨下Redis的前世,为什么会有Redis的出现?是什么促成Redis的诞生?1.数据的存储1.1早期文件存储在早期,数据库等概念还......