SURF算子(1)
SURF算子,参考这篇文章的解释http://www.ipol.im/pub/art/2015/69/
SURF 是 Speeded Up Robust Features 加速鲁棒特征的含义。
The source code and the online demo are accessible at the IPOL web page of this article1. The
proposed implementation of the SURF algorithm is written in C++ ISO/ANSI. It performs
features extraction from digital images and provides local correspondences for a pair of images. 文章提到了极几何一致性去去掉误匹配点
An epipolar geometric consistency checking may additionally be used to discard mismatches
when considering two pictures from the same scene. This optional post-processing uses the ORSA算法 百度没有,ASift算法
ORSA algorithm by B. Stival and L. Moisan [International Journal of Computer Vision, 57
(2004), pp. 201{218].
1 Introduction
1.1 Context, Motivation and Previous Work
Over the last decade, the most successful algorithms to address various computer vision problems have
been based on local, ane-invariant descriptions of images. The targeted applications encompass,
but are not limited to, image stitching and registration, image matching and comparison, indexation
and classication, depth estimation and 3-D reconstruction. Like many image processing approaches,
a popular and ecient methodology is to extract and compare local patches from dierent images.
However, in order to design fast algorithms and obtain compact and locally invariant representations,
some selection criteria and normalization procedures are required. A sparse representation of the
image is also necessary to avoid extensive patch-wise comparisons that would be computationally
expensive. The main challenges are thus to keep most salient features from images (such as corners,
blobs or edges) and then to build a local description of these features which is invariant to various
perturbations, such as noisy measurements, photometric changes, or geometric transformation.
Such problems have been addressed since the early years of computer vision, resulting in a very
prolic literature. Without being exhaustive, one may rst mention the famous Stephen-Harris harris角点 lindeberg多尺度特征检测
corner detector [9], and the seminal work of Lindeberg on multi-scale feature detection (see e.g. [12]).
Secondly, invariant local image description from multi-scale analysis is a more recent topic: SIFT
descriptors [15] {from which SURF [2] is largely inspired{ are similarity invariant descriptors of an
image that are also robust to noise and photometric change. Some algorithms extend this framework
to fully ane transformation invariance [18, 28], and dense representation [26].
The main interest of the SURF approach [2] studied in this paper is its fast approximation of the
SIFT method. It has been shown to share the same robustness and invariance while being faster to
compute.
1.2 Outline and Algorithm Overview
The SURF algorithm is in itself based on two consecutive steps (feature detection and description) 主要两个步骤 特征点检测和描述子
that are described in Sections 4 and 5. The last step is specic to the application targeted. In this
paper, we chose image matching as an illustration (Sections 5.4 and 6).
Multi-scale analysis Similarly to many other approaches, such as the SIFT method [15], the
detection of features in SURF relies on a scale-space representation, combined with first and second 多尺度分析依赖与多空间表述,基于一阶
order dierential operators. The originality of the SURF algorithm (Speeded Up Robust Features) is 和二阶差分运算
that these operations are speeded up by the use of box lters techniques (see e.g. [25], [27]) that are SURF算子通过盒子滤波器加速多尺度
described in Section 2. For this reason, we will use the term box-space to distinguish it from the usual 分析,区别于普通的高斯尺度空间。
Gaussian scale-space. While the Gaussian scale space is obtained by convolution of the initial images 高斯尺度空间是卷积不同高斯核
with Gaussian kernels, the discrete box-space is also obtained by convolving the original image with 离散盒子空间是卷积不同尺度的合照滤波器
box lters at various scales. A comparison between these two scale-spaces is proposed in Section 3.
Feature detection During the detection step, the local maxima in the box-space of the \determinant
of Hessian" operator are used to select interest point candidates (Section 4). These candidates 用Hessian定位盒子滤波器空间的局部最大值
are then validated if the response is above a given threshold. Both the scale and location of these
candidates are then rened using quadratic tting. Typically, a few hundred interest points are 通过曲线拟合定位
detected in a megapixel image.
Feature description The purpose of the next step described in Section 5 is to build a descriptor 用每个点的领域变域来描述 仿射不变,基于视点
of the neighborhood of each point of interest that is invariant to view-point changes. Thanks to
multi-scale analysis, the selection of these points in the box-space provides scale and translation 多尺度空间会导致尺度和平移不变
invariance. To achieve rotation invariance, a dominant orientation is dened by considering the local 旋转不变,局部梯度方向决定
gradient orientation distribution, estimated from Haar wavelets. Using a spatial localization grid, a
64-dimensional descriptor is then built, based on rst order statistics of Haar wavelets coecients.
Feature matching Finally, when considering the image matching task (e.g. for image registration,
object detection, or image indexation), the local descriptors from several images are matched.
Exhaustive comparison is performed by computing the Euclidean distance between all potential
matching pairs. A nearest-neighbor distance-ratio matching criterion is then used to reduce mismatches,
combined with an optional RANSAC-based technique [21, 20] for geometric consistency
checking.
Outline The rest of the paper is structured as follows
{ Section 2 SURF multi-scale representation based on box lters;
{ Section 3 Comparison with linear scale space analysis;
{ Section 4 Interest points detection;
{ Section 5 Invariant descriptor construction and comparison;
{ Section 6 Experimental validation and comparison with other approaches.
SURF算子(1)的更多相关文章
- Opencv Surf算子特征提取与最优匹配
Opencv中Surf算子提取特征,生成特征描述子,匹配特征的流程跟Sift是完全一致的,这里主要介绍一下整个过程中需要使用到的主要的几个Opencv方法. 1. 特征提取 特征提取使用SurfFea ...
- Opencv Surf算子中keyPoints,描述子Mat矩阵,配对向量DMatch里都包含了哪些好玩的东东?
Surf算法是一把牛刀,我们可以很轻易的从网上或各种Opencv教程里找到Surf的用例,把例程中的代码或贴或敲过来,满心期待的按下F5,当屏幕终于被满屏花花绿绿的小圆点或者N多道连接线条霸占时,内心 ...
- 【OpenCV新手教程之十八】OpenCV仿射变换 & SURF特征点描写叙述合辑
本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/33320997 作者:毛星云(浅墨) ...
- 图像识别基本算法之SURF
图像识别.人脸识别可行的算法有很多.但是作为学习,如果能理清这个问题研究的历程及其主线,会对你深入理解当前研究最新的发展有很多帮助.本文是自己在学习过程中的笔记,大多内容来自于网络,出处请参考最后的引 ...
- 第十三节、SURF特征提取算法
上一节我们已经介绍了SIFT算法,SIFT算法对旋转.尺度缩放.亮度变化等保持不变性,对视角变换.仿射变化.噪声也保持一定程度的稳定性,是一种非常优秀的局部特征描述算法.但是其实时性相对不高. SUR ...
- OpenCV——SURF特征检测、匹配与对象查找
SURF原理详解:https://wenku.baidu.com/view/2f1e4d8ef705cc1754270945.html SURF算法工作原理 选择图像中的POI(Points of i ...
- 【OpenCV新手教程之十七】OpenCV重映射 & SURF特征点检測合辑
本系列文章由@浅墨_毛星云 出品.转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/30974513 作者:毛星云(浅墨) ...
- 图像局部显著性—点特征(SURF)
1999年的SIFT(ICCV 1999,并改进发表于IJCV 2004,本文描述):参考描述:图像特征点描述. 参考原文:SURF特征提取分析 本文有大量删除,如有疑义,请参考原文. SURF对SI ...
- OpenCV特征点检测算法对比
识别算法概述: SIFT/SURF基于灰度图, 一.首先建立图像金字塔,形成三维的图像空间,通过Hessian矩阵获取每一层的局部极大值,然后进行在极值点周围26个点进行NMS,从而得到粗略的特征点, ...
随机推荐
- python多线程的用法之一
import threadingimport time class thread_1(threading.Thread): sleep_time = 0 def __init__(self,id1): ...
- javascript replace正则替换时调用函数替换的使用
以下函数将替换英文方式下的单引号和双引号,当然change函数编写决定了你要替换什么? String.prototype.repSpecChar=function() { ...
- Amazon RDS MySQL数据库还原时 log_bin_trust_function_creators 错误解决办法
使用了Amazon AWS EC2免费云空间,数据库实例采用Amazon RDS.原来在Windows Server上有一个存在大量数据的MySQL数据库.现在需要在Amazon RDS上还原这个My ...
- HTTP基本认证
众所周知,Web使人们可以很方便的访问分布在世界各个角落里信息.但是仅仅是方便还是不够的,并不是所有的信息都适合在互联网上公开访问,我们需要保证只有特定的人才能看到我们的敏感信息并且执行特定的操作. ...
- C#中的线程三 (结合ProgressBar学习Control.BeginInvoke)
C#中的线程三(结合ProgressBar学习Control.BeginInvoke) 本篇继上篇转载的关于Control.BeginInvoke的论述之后,再结合一个实例来说明Cotrol.Begi ...
- 图解集合3:CopyOnWriteArrayList
初识CopyOnWriteArrayList 第一次见到CopyOnWriteArrayList,是在研究JDBC的时候,每一个数据库的Driver都是维护在一个CopyOnWriteArrayLis ...
- Linux初学 - 解决chkconfig Segmentation fault(core dumped)
yum install *chkconfig*
- 每天一个linux命令(16):which命令
我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索: which 查看可执行文件的位置. whereis 查看文件的位置. ...
- inoic start projectname sidemenu报错 - Error: Cannot find module 'lodash._baseslice'
inoic start projectname sidemenu报错 - Error: Cannot find module 'lodash._baseslice' 在公司的电脑上出现过这个错误,后来 ...
- Liferay7 BPM门户开发之44: 集成Activiti展示流程列表
处理依赖关系 集成Activiti之前,必须搞清楚其中的依赖关系,才能在Gradle里进行配置. 依赖关系: 例如,其中activiti-engine依赖于activiti-bpmn-converte ...