本篇文章来自wikipedia,如果需要阅读英文,可以去看一下。

SURF (Speeded Up Robust Features, 加速稳健特征) 是一个稳健的图像识别和描述算法,首先于2006年发表在ECCV大会上。这个算法可被用于计算机视觉任务,如物件识别3D重构。他部分的灵感来自于 SIFT 算法。SURF标准的版本比SIFT要快数倍,并且其作者声称在不同图像变换方面比SIFT更加稳健。

SURF使用海森矩阵的行列式值作特征点侦测并用积分图加速运算;SURF 的描述子基于 2D 离散小波变换 响应并且有效地利用了积分图

算法

SURF算法的概念及步骤均建立在SIFT之上,但详细的流程略有不同。SURF算法包含以下三个步骤:特征点侦测、特征邻近描述、描述子配对。

特征点侦测

SIFT使用了连续不同尺度的高斯滤波器处理影像,并且经由高斯差来侦测影像中尺度不变的特征点。

SURF使用了方型滤波器取代SIFT中的高斯滤波器,借此达到高斯糢糊的近似。其滤波器可表示为:

此外使用方型滤波器可利用积分图大幅提高运算速度,仅需计算位于滤波器方型的四个角落値即可。

SURF使用了斑点侦测的海森矩阵来侦测特征点,其行列式值代表像素点周围的变化量,因此特征点需取行列式值为极大、极小值。除此之外,为了达到尺度上的不变,SURF还使用了尺度σ的行列式值作特征点的侦测,给定图形中的一点p=(x, y),在尺度σ的海森矩阵为H(p, σ):

尺度空间描述与特征点定位

因为影像会在不同的尺度下作比较,特征点往往会在不同尺度下被侦测到。在SIFT中,由于连续的高斯糢糊处理以及影像的降采样,在尺度上会型成类似金字塔的概念,例如高斯金字塔

而SURF中尺度是由方型滤波器的大小决定的,并不是连续的高斯糢糊及降采样处理。其中最底层的尺度(初始尺度)的方型滤波器大小为9*9,近似于σ=1.2的高斯滤波器。越往上层的尺度滤波器的大小也就跟着增加,例如15*15、21*21、27*27......。

其尺度的转换公式为:

与SIFT相同,SURF会使用特征点海森矩阵的行列式值作邻近资料插补来定位特征点。

特征点描述子

为了保留特征点不变的特性,例如旋转、尺度上的不变性,需要赋予特征点一个描述子,使其能保有其不变性且能够轻易地被区分。大多数的描述子建立的方法为描述特征点与其相邻的相素点间的变化,因此描述子往往都是区域性的。

同时描述子的维度也是描述子重要的考量之一,一个维度不足的描述子可能会使能特征点不易区分,然而维度过大的描述子要耗费的计算也就越复杂。SURF的描述子使用了哈尔小波转换的概念,并利用积分图简化描述子的计算。

方位定向

为了使得特征点拥有转动不变性,需要赋予特征点一个方向。SURF的描述子计算特征点周围半径维6σ个像素点的x,y方向的哈尔小波转换,其中σ是此特征点位于的尺度。所得到的小波响应以特征点为中心的高斯函数作加权,并将其值标于一xy作标平面上作图。最后在xy作标平面上以π/3为一个区间,将区间内小波响应的x、y分量加总得到一向量,在所有的向量当中最长的(即x、y分量最大的)即为此特征点的方向。

此外在xy平面上选择角度的区间大小可由角度的分辨率、描述子的独特程度等因素来作为调整的考量。

描述子量值

选定了特征点的方向后,其周围像素点需要以此方向为基准来建立描述子。此时以5*5个像素点为一个子区域,取特征点周围20*20个像素点的范围共16个子区域,计算子区域内的x、y方向(此时以平行特征点方向为x、垂直特征点方向为y)的哈尔小波转换总合与其向量长度总合共四个量值,共可产生一个64维资料的描述子。

描述子配对[编辑]

替所有的特征点建立描述子后便能使用描述子达成特征点的配对,借此应用在物体辨识、3D模型建立等应用上。

实现

SURF (Speeded Up Robust Features,加速稳健特征)的更多相关文章

  1. sift、surf、orb 特征提取及最优特征点匹配

    目录 sift sift特征简介 sift特征提取步骤 surf surf特征简介 surf特征提取步骤 orb orb特征简介 orb特征提取算法 代码实现 特征提取 特征匹配 附录 sift si ...

  2. Computer Vision_33_SIFT:Speeded-Up Robust Features (SURF)——2006

    此部分是计算机视觉部分,主要侧重在底层特征提取,视频分析,跟踪,目标检测和识别方面等方面.对于自己不太熟悉的领域比如摄像机标定和立体视觉,仅仅列出上google上引用次数比较多的文献.有一些刚刚出版的 ...

  3. Extracting and composing robust features with denosing autoencoders 论文

    这是一篇发表于2008年初的论文. 文章主要讲了利用 denosing autoencoder来学习 robust的中间特征..进上步,说明,利用这个方法,可以初始化神经网络的权值..这就相当于一种非 ...

  4. [原][译][osgearth]关于Features & Symbology (特征与符号)(OE绘制矢量几何与特殊字符)讲解(OE官方文档翻译)

    原文参考:http://docs.osgearth.org/en/latest/user/features.html 自己翻译的,本人英文水平有限,有问题看原链接,原文 20170802重置修改部分翻 ...

  5. 论文笔记(3)-Extracting and Composing Robust Features with Denoising Autoencoders

    这篇文章是Bengio研究的在传统的autoencoder基础上增加了噪声参数,也就是说在输入X的时候,并不直接用X的数据,而是按照一定的概率来清空输入为0.paper中的名词为corrupted.这 ...

  6. OpenCV-Python Tutorials目录

    版本 3.4.6 1 Introduction to OpenCV OpenCV介绍Learn how to setup OpenCV-Python on your computer! 2 Gui F ...

  7. 图像局部显著性—点特征(SURF)

    1999年的SIFT(ICCV 1999,并改进发表于IJCV 2004,本文描述):参考描述:图像特征点描述. 参考原文:SURF特征提取分析 本文有大量删除,如有疑义,请参考原文. SURF对SI ...

  8. opencv中的SIFT,SURF,ORB,FAST 特征描叙算子比较

    opencv中的SIFT,SURF,ORB,FAST 特征描叙算子比较 参考: http://wenku.baidu.com/link?url=1aDYAJBCrrK-uk2w3sSNai7h52x_ ...

  9. opencv::SURF特征

    SURF特征基本介绍 SURF(Speeded Up Robust Features)特征关键特性: -特征检测 -尺度空间 -选择不变性 -特征向量 工作原理 . 选择图像中POI(Points o ...

  10. SURF算子(1)

    SURF算子,参考这篇文章的解释http://www.ipol.im/pub/art/2015/69/ SURF 是   Speeded Up Robust Features 加速鲁棒特征的含义. T ...

随机推荐

  1. DirectX9(D3D9)游戏开发:高光时刻录制和共享纹理的踩坑

    共享纹理 老游戏使用directx9无法直接与cc高光sdk(d3d11)对接,但是d3d9ex有共享纹理,我们通过共享纹理把游戏画面共享给cc录制,记录一些踩坑的笔记. 共享纹理示例: // 初始化 ...

  2. vim 插件汇总网站

    在网上找到了一个vim插件的汇总网站,上面有对vim插件进行汇总.简介.使用排名等,十分适合vim用户在上面寻找一些可用的插件. 网址: https://vimawesome.com/ 虽然我没有太用 ...

  3. mybatis升级为mybatis-plus

    1.背景 为了快速开发,需要把之前的老项目升级为mybatis-plus 2.步骤 步骤一:导入jar包 <dependency> <groupId>com.baomidou& ...

  4. springboot项目启动时禁止Redis、数据对象加载

    1.背景 2.实现方式 启动类上添加需要排除的自动装配对象 @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class, H ...

  5. IntersectionObserver + scrollIntoView 实现电梯导航

    电梯导航也被称为锚点导航,当点击锚点元素时,页面内相应标记的元素滚动到视口.而且页面内元素滚动时相应锚点也会高亮.电梯导航一般把锚点放在左右两侧,类似电梯一样.常见的电梯导航效果如下,比如一些官方文档 ...

  6. Apache DolphinScheduler PMC:开源不一定也要九死一生

    点亮 ️ Star · 照亮开源之路 GitHub:https://github.com/apache/dolphinscheduler   ​   参与开源已经快3年了,这次在Meetup上没有分享 ...

  7. Jenkins配置分布式构建环境——添加固定Agent并使用JNLP启动Agent详解

    1.概述 在<Jenkins部署架构概述>这篇博文中对Jenkins部署架构进行了讲解.对于分布式架构,Jenkins包括固态Agent和动态Agent两种方案. 固定Agent(常用于虚 ...

  8. Deformable DETR:商汤提出可变型 DETR,提点又加速 | ICLR 2021 Oral

    DETR能够消除物体检测中许多手工设计组件的需求,同时展示良好的性能.但由于注意力模块在处理图像特征图方面的限制,DETR存在收敛速度慢和特征分辨率有限的问题.为了缓解这些问题,论文提出了Deform ...

  9. Buckingham-Reiner 方程和 Darby-Melson 经验方程

    由 Roni, et al. (2018), Woolley, et al. (2014), Yang, et al. (2017) 整理人便便的物理性质数据如下: 性质 值 密度 \((\text{ ...

  10. C#/.NET/.NET Core技术前沿周刊 | 第 2 期(2024年8.19-8.25)

    前言 C#/.NET/.NET Core技术前沿周刊,你的每周技术指南针!记录.追踪C#/.NET/.NET Core领域.生态的每周最新.最实用.最有价值的技术文章.社区动态.优质项目和学习资源等. ...