《SIFT原理与源码分析》系列文章索引:http://www.cnblogs.com/tianyalu/p/5467813.html

在实际计算时,三种方法计算的金字塔组数noctaves,尺度空间坐标σ,以及每组金字塔内的层数S是一样的。同时,假设图像为640*480的标准图像。

金字塔层数:

其中o_min = 0,对于分辨率为640*480的图像N=5。

每组金字塔内图像数:
S=3,即在做极值检测时使用金子塔内中间3张图像。
对于LoG每组金字塔内有S+2张图像(S=-1,0,1,2,3),需要做S+1次高斯模糊操作(后一张图像由前一张做高斯模糊得到);而DoG每组金字塔有S+3张高斯图像,得到S+2张DoG图像。
尺度空间系数:

其中,S表示每组金字塔内图像层数,n为当前高斯层数,取0-4。DoG需要5个尺度系数得到6张GSS图像,而LoG只需要前4个尺度系数得到5张图像。

LoG

高斯核使用正太分布(高斯函数)计算模糊模版,N维空间正太分布方程为:

 

于是,二维高斯模板上的距离中心点为(x,y)的元素对应高斯计算公式为:

 

规范化的高斯拉普拉斯图像为

 

最终构造LoG金字塔有5层,每层有S+2=5张图像,每层金字塔内每张图像尺度是前一张的k倍,即构成的连续尺度序列:

其中o为当前金字塔层数,n为在当前金字塔层中图像张数。
由于卷积计算性质:

在计算时,通过对前一张图像做尺度系数为的卷积操作,可以减少卷积计算次数。故在金字塔每层内的S+2张图像,需要S+1次卷积操作,每次LoG核的尺度系数为:

 
图1. LoG金字塔示意图。 左侧为图像尺度空间系数,红色矩形框为实际参与比较的空间系数,右侧为在上一张图像做LoG卷积操作的尺度系数

DoG

由于LoG与Gauss核具有如下关系:

即,

 

因此,LoG算子可以用高斯差分算子DoG(Difference of Guassians)表示。

 

于是通过高斯金字塔每层内相邻两张图像相减可以得到DoG金字塔。对于最后需要S张图像寻找极值点,需要S+2张DoG图像,S+3张高斯图像。具体关系如图2.所示。

图 2. 由高斯金字塔得到DoG金字塔及其对应的尺度空间系数示意图。

LoG & DoG

一个直观的比较结果,使用分别计算LoG和DoG,得到:

可以看到,LoG比DoG明显需要更多的加法运算和乘法运算。虽然DoG需要在每层金字塔多做一次高斯操作(即为了得到S+2张DoG图需要S+3张高斯模糊图),但通过减法取代LoG核的计算过程,显著减少了运算次数,大大节省了运算时间。

本文转自:http://blog.csdn.net/xiaowei_cqu/article/details/27692123

【计算机视觉】SIFT中LoG和DoG比较的更多相关文章

  1. 【计算机视觉】SIFT中LoG和DoG比較

    在实际计算时,三种方法计算的金字塔组数noctaves,尺度空间坐标σ,以及每组金字塔内的层数S是一样的.同一时候,如果图像为640*480的标准图像. 金字塔层数: 当中o_min = 0,对于分辨 ...

  2. 计算机视觉-sift(1)原理

    1999年由David Lowe首先发表于计算机视觉国际会议(International Conference on Computer Vision,ICCV),2004年再次经David Lowe整 ...

  3. SIFT中的尺度空间和传统图像金字塔

    SIFT中的尺度空间和传统图像金字塔 http://www.zhizhihu.com/html/y2010/2146.html 最近自己混淆了好多概念,一边弄明白的同时,也做了一些记录,分享一下.最近 ...

  4. matlab中log函数与rssi转距离

    我们通常所说的log是指以10为底的对数,而MATLAB中的log却不是这样.Matlab中的log函数在默认情况下是以e为底,即loge,如果需要计算以10为底的对数,那么需要用log10()函数. ...

  5. LoadRunner中log的使用总结

    LoadRunner中log的使用总结 1.log的设置方式. 在 runtime setting中可以设置log的生成方式: 默认的log方式: Enable logging选中,log optio ...

  6. Android中Log机制详解

    Android中Log的输出有如下几种: Log.v(String tag, String msg);        //VERBOSELog.d(String tag, String msg);   ...

  7. 0-Android系统各层中LOG的使用

     Android系统各层中LOG的使用 , ANDROID_LOG_DEFAULT, /* only for SetMinPriority() */ ANDROID_LOG_VERBOSE, ANDR ...

  8. Sift中尺度空间、高斯金字塔、差分金字塔(DOG金字塔)、图像金字塔

    转自:https://blog.csdn.net/dcrmg/article/details/52561656 一. 图像金字塔 图像金字塔是一种以多分辨率来解释图像的结构,通过对原始图像进行多尺度像 ...

  9. 计算机视觉-sift(2)代码理解

    之前结合不同人的资料理解了sift的原理,这里通过opencv中的代码来加深对sift的实现的理解. 使得能够从原理性理解到源码级的理解.不过该博文还是大量基于<赵春江, opencv2.4.9 ...

随机推荐

  1. Mysql基础操作语句

    SQL 简单的增删改查 不区分大小写, 表名和字段名可不加引号 查询语句 SELECT * FROM `table_name`; -- 注释 CTRL+/ : 注释 CTRL+/ : 取消注释 /* ...

  2. nodejs的路径问题

    最近公司的一个开发项目,后端用的是nodejs.这两天需要打包给客户演示,就让公司一个小伙把之前3D机房的打包工具移植过来.打包之后,发现原本在开发环境下的跑的好好的项目,不能访问了.出现项目的首页不 ...

  3. scala下载新的版本号

    有时候官网下载的链接不管用,可以使用如下链接: http://downloads.typesafe.com/scala/2.11.7/scala-2.11.7.msi,后面版本书可以自己更改 .

  4. SICP读书笔记 1.3

    SICP CONCLUSION 让我们举起杯,祝福那些将他们的思想镶嵌在重重括号之间的Lisp程序员 ! 祝我能够突破层层代码,找到住在里计算机的神灵! 目录 1. 构造过程抽象 2. 构造数据抽象 ...

  5. hdu6447

    YJJ's Salesman Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)To ...

  6. ADO.Net之SqlConnection、 Sqlcommand的应用

    ADO.Net之SqlConnection. Sqlcommand的应用 SqlConnection 的介绍与应用 1.介绍与作用 SqlConnection是ADO.NET中的连接类. 使用sqlc ...

  7. 内网集群准同步shell脚本

    在公司的内网中配置集群同步,可能是代理问题,ntpd和chrony都没有用,所以只好写shell脚本解决 前提条件集群中各台机器已经配置好了免密登录 一.免密登录配置 1. 用 root 用户登录.每 ...

  8. openstack-r版(rocky)搭建基于centos7.4 的openstack swift对象存储服务 二

    openstack-r版(rocky)搭建基于centos7.4 的openstack swift对象存储服务 一 openstack-r版(rocky)搭建基于centos7.4 的openstac ...

  9. 苹果任命奢侈品牌博柏利CEO为零售与在线商店高级副总裁

    苹果今天宣布任命英国奢侈品牌博柏利(Burberry)CEO安吉拉•阿伦茨(Angela Ahrendts)为零售与在线商店高级副总裁.这是一个新设的职位,未来她将直接向CEO蒂姆•库克(Tim Co ...

  10. Hibernate入门篇<1>hibernate.cfg.xml学习小结

    Hibernate配置文件主要用于配置数据库连接和Hibernate运行时所需的各种属性,这个配置文件应该位于应用程序或Web程序的类文件夹 classes中.Hibernate配置文件支持两种形式, ...