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,从而得到粗略的特征点, ...
随机推荐
- C++混合编程之idlcpp教程Python篇(6)
上一篇在这 C++混合编程之idlcpp教程Python篇(5) 第一篇在这 C++混合编程之idlcpp教程(一) 工程PythonTutorial4中加入了四个文件:PythonTutorial4 ...
- QC11客户端安装
win10使用hp qc11 步骤1:安装vcredist_x86,32位 步骤2:安装浏览器客户端 ALMExplorerAddIn,11版本 可能遇到的问题 1. 出现Initialization ...
- MySQL7:视图
什么是视图 数据库中的视图是一个虚拟表.视图是从一个或者多个表中导出的表,视图的行为与表非常相似,在视图中用户可以使用SELECT语句查询数据,以及使用INSERT.UPDATE和DELETE修改记录 ...
- 【MVC】bootstrap-paginator 分页插件笔记
bootstrap-paginator基于bootstrap框架,使用起来非常简单.github地址:https://github.com/lyonlai/bootstrap-paginator 在b ...
- C#Light 再推荐,顺便介绍WP8 功能展示项目
由于在项目中验证了C#Light脚本,C#Light的健壮和稳定程度已经得到了很大的提升. 现在可以更好的把C#Light介绍给大家使用,同时也有更多的自信,告诉大家这是一个已经具有商业价值的类库. ...
- PS 多次剪裁同一图片
一个图品里面有两个小图,要分别抠出来. 我以前的做法是,先扣一个,重新打开文件,再扣另外一个. 今天发现一个简单的办法,不用重新打开文件. 就是在扣完第一个的时候,打开历史记录面板,双击 打开 动作, ...
- 使用ViwePager显示图片时如何防止内存泄露。
内存泄露的检测. 1. 在Android Studio中运行你的应用,然后切换到输出窗口的Android tab. 2. 尽情的玩耍你的应用,最好各个功能都用到,如果是Viewpager,则多滑动一些 ...
- EF架构~XMLRepository仓储的实现
回到目录 对于数据仓储大家应该都很熟悉了,它一般由几个仓储规范和实现它的具体类组成,而仓储的接口与架构本身无关,对于仓储的实现,你可以选择linq2Sql,EF,Nosql,及XML 等等,之前我介绍 ...
- Android 在View中更新View
直接用Invalidate()方法会导致错误:只有主线程才能更新UI 取而代之的是可以使用postInvalidate(); 原因: 最终会调用ViewRootImpl类的dispatchInvali ...
- Atitit.java图片图像处理attilax总结 BufferedImage extends java.awt.Image获取图像像素点image.getRGB(i, lineIndex); 图片剪辑/AtiPlatf_cms/src/com/attilax/img/imgx.javacutImage图片处理titit 判断判断一张图片是否包含另一张小图片 atitit 图片去噪算法的原理与
Atitit.java图片图像处理attilax总结 BufferedImage extends java.awt.Image 获取图像像素点 image.getRGB(i, lineIndex); ...