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,从而得到粗略的特征点, ...
随机推荐
- spi接口的ds1302时钟芯片控制在lcd1602上显示
spi接口的ds1302时钟芯片控制在lcd1602上显示 ...
- Transactional replication-如何跳过一个事务
在transactional replication, 经常会遇到数据同步延迟的情况.有时候这些延迟是由于在publication中执行了一个更新,例如update ta set col=? Wher ...
- 解决IE6下png图片透明度不显示的问题
世界上最遥远的距离,不外乎我在搞前端,你却在用旧IE,现在随着XP要退休了,IE6的市场占有率应该也会逐步下滑.不过基于天朝人民的惰性以及企鹅微软的“扎篱笆”活动,做网站的朋友依旧不能忽视IE6的存在 ...
- SWT:获取字符串实际宽度
由于SWT取用的是系统文字size,有个简单方式可以获取一整段包含中文\英文\数字\特殊字符的字符串宽度. 即是利用Label的computeSize方法,我们知道Label的大小可以随着内容文字伸缩 ...
- 【腾讯Bugly干货分享】安卓单元测试:What, Why and How
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57d28349101cd07a5404c415 Dev Club 是一个交流移动 ...
- Java虚拟机4:内存溢出
堆溢出 Java堆唯一的作用就是存储对象实例,只要保证不断创建对象并且对象不被回收,那么对象数量达到最大堆容量限制后就会产生内存溢出异常了.所以测试的时候把堆的大小固定住并且让堆不可扩展即可.测试代码 ...
- 浏览器兼容性小记-DOM篇(二)
1.DOM中的所有节点都继承自Node类型,IE9之前将DOM节点作为COM对象来实现:每个DOM节点都有一个nodeType属性来表明节点类型,总共有12个类型: Node.ELEMENT_NODE ...
- nw.js如何处理拖放操作
nw.js如何处理拖放操作 其实拖放(drag-drop)操作是Html5的功能,不是nw.js的内置API,那么我们采用Html5应用一般的处理方法就可以了. 首先我们看一下一个正常的页面,直接拖放 ...
- 我YY的一个移动应用运营模式
尽管自己也还是刚刚毕业不久的前端新人,但网上也不乏一些案例告诉我们有志不在年高,很多优秀的同龄人已经有了不错的成就,所以在切页面写onclick之余也在进行一些思考,前端程序员的出路到底在哪里? 一. ...
- 谈谈c#中异步编程模型的变迁
大家在编程过程中都会用到一些异步编程的情况.在c#的BCL中,很多api都提供了异步方法,初学者可能对各种不同异步方法的使用感到迷惑,本文主要为大家梳理一下异步方法的变迁以及如何使用异步方法. Beg ...