Abstract摘要
本文提出了一种从图像中提取特征不变性的方法,该方法可用于在对象或场景的不同视图之间进行可靠的匹配(适用场景和任务)。这些特征对图像的尺度和旋转不变性,并且在很大范围的仿射失真、3d视点的变化、噪声的增加和光照的变化中提供了鲁棒的匹配。从某种意义上说,一个单一的特征可以与来自许多图像的特征的大型数据库进行高概率的正确匹配。本文还介绍了一种利用这些特征进行目标识别的方法。识别的过程是使用快速最近邻算法将单个特征与来自已知对象的特征数据库相匹配,然后进行hough变换以识别属于单个对象的簇,最后通过一致姿态参数的最小二乘解进行验证。这种识别方法在保证近实时性的同时,能够在杂波和遮挡中稳健地识别出目标。

1 Introduction简介
图像匹配是计算机视觉中问题的一个基础方面,包括物体或场景识别,SFM,追踪等。本文描述了具有很多属性的图像特征,能够适应一个物体或场景的不同图像上的匹配。这些特征对图像的缩放和旋转具有不变性,对光照和三维摄像机视点的变化具有部分不变性。它们在空间域和频率域都具有很好的定位,减少了被遮挡、杂波或噪声破坏的可能。利用有效的算法可以从典型图像中提取大量特征。此外,这些特征具有很强的区分性,使得单个特征能够以很高的概率与一个庞大的特征数据库进行正确匹配,为目标和场景识别提供了基础。

通过采用级联滤波方法,将提取这些特征的成本降到最低,在这种方法中,更昂贵的操作仅应用于通过初始测试的位置。以下是用于生成图像特征集的主要计算阶段:

(1)尺度-空间极值检测:计算的第一阶段搜索所有尺度和图像位置。利用高斯函数差分来识别对尺度和方向不变的潜在兴趣点,有效地实现了该算法。

(2)关键点定位:在每一个候选位置,选择一个详细的模型用来确定位置和尺度。关键点是根据它们的稳定性来选择的。

(3)方向指定:基于局部图像梯度方向,为每个关键点位置指定一个或多个方向。所有未来的操作都是对已经相对于每个特征的指定方向、比例和位置进行变换的图像数据执行的,从而为这些变换提供不变性。

(4)关键点描述子:在每个关键点周围的区域中,以选定的比例测量局部图像梯度。它们被转换成一种表示形式,允许显著程度的局部形状失真和照明变化。

这种方法被称为尺度不变特征变换(sift),因为它将图像数据转换为相对于局部特征的尺度不变坐标。

这种方法的一个重要方面是,它生成了大量的特征,这些特征在整个尺度和位置范围内密集地覆盖了图像。一个500x500像素大小的典型图像将产生大约2000个稳定的特征(尽管这个数字取决于图像内容和各种参数的选择)。特征的数量对于目标识别尤为重要,因为在杂乱的背景中检测小目标的能力要求每个目标至少有3个特征被正确匹配,以便可靠地识别。

为了进行图像匹配和识别,首先从一组参考图像中提取sift特征并存储在数据库中。通过将新图像中的每个特征与之前的数据库进行单独比较,并根据特征向量的欧几里德距离寻找候选匹配特征,来匹配新图像。本文将讨论快速近邻算法,该算法可以对大型数据库快速执行此计算。

关键点描述符非常独特,它允许单个特征在一个大的特征数据库中以很高的概率找到其正确匹配。然而,在一个杂乱的图像中,来自背景的许多特征在数据库中没有任何正确的匹配,除了正确的匹配之外,还会导致许多错误的匹配。通过识别与对象及其在新图像中的位置、比例和方向一致的关键点子集,可以从完整的匹配集中筛选正确的匹配。多个特征偶然同意这些参数的概率远低于任何单个特征匹配出错的概率。利用广义hough变换的高效哈希表实现,可以快速确定这些一致的簇。

Distinctive Image Features from Scale-Invariant Keypoints(SIFT) 基于尺度不变关键点的特征描述子——2004年的更多相关文章

  1. SIFT解析(三)生成特征描述子

    以上两篇文章中检测在DOG空间中稳定的特征点,lowe已经提到这些特征点是比Harris角点等特征还要稳定的特征.下一步骤我们要考虑的就是如何去很好地描述这些DOG特征点. 下面好好说说如何来描述这些 ...

  2. SIFT算法:特征描述子

    SIFT算法:DoG尺度空间生产  SIFT算法:KeyPoint找寻.定位与优化 SIFT算法:确定特征点方向  SIFT算法:特征描述子 目录: 1.确定描述子采样区域 2.生成描述子 2.1 旋 ...

  3. Distinctive Image Features from Scale-Invariant Keypoints(个人翻译+笔记)-介绍

    Distinctive Image Features from Scale-Invariant Keypoints,这篇论文是图像识别领域SIFT算法最为经典的一篇论文,导师给布置的第一篇任务就是它. ...

  4. Opencv Surf算子中keyPoints,描述子Mat矩阵,配对向量DMatch里都包含了哪些好玩的东东?

    Surf算法是一把牛刀,我们可以很轻易的从网上或各种Opencv教程里找到Surf的用例,把例程中的代码或贴或敲过来,满心期待的按下F5,当屏幕终于被满屏花花绿绿的小圆点或者N多道连接线条霸占时,内心 ...

  5. Computer Vision_33_SIFT:Distinctive Image Features from Scale-Invariant Keypoints——2004

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

  6. Distinctive Image Features from Scale-Invariant

    http://nichol.as/papers/Lowe/Distinctive Image Features from Scale-Invariant.pdf Abstract This paper ...

  7. 基于SIFT的点云关键点提取

    这篇博文主要介绍SIFT算法在提取点云图像关键点时的具体用法. 尺度不变特征转换(Scale-invariant feature transform,SIFT)是David Lowe在1999年发表, ...

  8. 【CV知识学习】【转】beyond Bags of features for rec scenen categories。基于词袋模型改进的自然场景识别方法

    原博文地址:http://www.cnblogs.com/nobadfish/articles/5244637.html 原论文名叫Byeond bags of features:Spatial Py ...

  9. 特征描述算子-sift

    特征描述算子-sift http://boche.github.io/download/sift/Introduction%20to%20SIFT.pdf

随机推荐

  1. 【Qt开发】 V4L2_CAP_VIDEO_OVERLAY与V4L2_CAP_VIDEO_CAPTURE的区别

    原文地址http://www.cnblogs.com/tlm1992/archive/2012/06/12/2545772.html 这部分spec的内容没有全看懂,但是根据FSL的代码能知道这其中的 ...

  2. python+selenium模拟键盘输入

    from selenium.webdriver.common.keys import Keys #键盘导入类 --------------------------------------------- ...

  3. APIView的流程分析

     APIView的流程分析 1.入口,因为视图类的继承APIView()的 as_view()是一个绑定类的方法 2.进入as_view(),正好这个as_view()有个返回值 返回的是dispat ...

  4. yum安装php7

    1.安装epel源 yum -y install epel-release yum -y install http://dl.fedoraproject.org/pub/epel/epel-relea ...

  5. 转 appium grid分布式环境搭建

    https://blog.csdn.net/ljl6158999/article/details/80803239 说起grid,了解selenium的人肯定知道,他就是分布式的核心.原理是简历中心h ...

  6. MySQL的事务和视图

    事务 1.概念 一条或者多条sql语句的集合! 事务:就是一堆操作的集合,他们同生共死.要么都执行成功,要么都执行失败2.事务的特性  ACID  A:原子性  完整的,不可分割的 原子性 (Atom ...

  7. How to attach multiple files in the Send Mail Task in SSIS

    Let’s say you need to create a SSIS package that creates 2 files and emails the files to someone. Yo ...

  8. numpy库中数组的数据类型

    numpy库中数组的数据类型 dtype是一个特殊的对象,它含有ndarray将一块内存解释为特殊数据类型所需要的信息 指定数据类型创建数组 >>> import numpy as ...

  9. 51nod 1963 树上Nim

    这题还真就是树上玩 Nim... 相关知识点就是阶梯博弈,具体可以康这里 →_→ PS:手动搜索阶梯博弈 然后这题就转化为了多路径的阶梯博弈,这样的话咱定义根节点深度为 0,然后把所有奇数深度点的权值 ...

  10. springboot 配置

    springboot 配置文件中属性变量引用方式@@解析 这种属性应用方式是field_name=@field_value@. 两个@符号是springboot为替代${}属性占位符产生,原因是${} ...