【计算机视觉】SIFT中LoG和DoG比較
在实际计算时,三种方法计算的金字塔组数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核的尺度系数为:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGlhb3dlaV9jcXU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />
DoG
即,
因此。LoG算子能够用高斯差分算子DoG(Difference of Guassians)表示。
于是通过高斯金字塔每层内相邻两张图像相减能够得到DoG金字塔。对于最后须要S张图像寻找极值点,须要S+2张DoG图像。S+3张高斯图像。详细关系如图2.所看到的。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGlhb3dlaV9jcXU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />
图 2. 由高斯金字塔得到DoG金字塔及其相应的尺度空间系数示意图。
LoG & DoG
一个直观的比較结果,使用分别计算LoG和DoG,得到:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGlhb3dlaV9jcXU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />
能够看到。LoG比DoG明显须要很多其它的加法运算和乘法运算。尽管DoG须要在每层金字塔多做一次高斯操作(即为了得到S+2张DoG图须要S+3张高斯模糊图),但通过减法代替LoG核的计算过程,显著降低了运算次数,大大节省了运算时间。
(转载请注明作者和出处:http://blog.csdn.net/xiaowei_cqu 未经同意请勿用于商业用途)
【计算机视觉】SIFT中LoG和DoG比較的更多相关文章
- 【计算机视觉】SIFT中LoG和DoG比较
<SIFT原理与源码分析>系列文章索引:http://www.cnblogs.com/tianyalu/p/5467813.html 在实际计算时,三种方法计算的金字塔组数noctaves ...
- 计算机视觉-sift(1)原理
1999年由David Lowe首先发表于计算机视觉国际会议(International Conference on Computer Vision,ICCV),2004年再次经David Lowe整 ...
- SIFT中的尺度空间和传统图像金字塔
SIFT中的尺度空间和传统图像金字塔 http://www.zhizhihu.com/html/y2010/2146.html 最近自己混淆了好多概念,一边弄明白的同时,也做了一些记录,分享一下.最近 ...
- matlab中log函数与rssi转距离
我们通常所说的log是指以10为底的对数,而MATLAB中的log却不是这样.Matlab中的log函数在默认情况下是以e为底,即loge,如果需要计算以10为底的对数,那么需要用log10()函数. ...
- LoadRunner中log的使用总结
LoadRunner中log的使用总结 1.log的设置方式. 在 runtime setting中可以设置log的生成方式: 默认的log方式: Enable logging选中,log optio ...
- Android中Log机制详解
Android中Log的输出有如下几种: Log.v(String tag, String msg); //VERBOSELog.d(String tag, String msg); ...
- 0-Android系统各层中LOG的使用
Android系统各层中LOG的使用 , ANDROID_LOG_DEFAULT, /* only for SetMinPriority() */ ANDROID_LOG_VERBOSE, ANDR ...
- Sift中尺度空间、高斯金字塔、差分金字塔(DOG金字塔)、图像金字塔
转自:https://blog.csdn.net/dcrmg/article/details/52561656 一. 图像金字塔 图像金字塔是一种以多分辨率来解释图像的结构,通过对原始图像进行多尺度像 ...
- 计算机视觉-sift(2)代码理解
之前结合不同人的资料理解了sift的原理,这里通过opencv中的代码来加深对sift的实现的理解. 使得能够从原理性理解到源码级的理解.不过该博文还是大量基于<赵春江, opencv2.4.9 ...
随机推荐
- docker-compose nginx
docker-compose nginx example source code docker-compose nginx balancing
- Maven实战读书笔记(一):Maven概述
1.1 Maven是什么,能做什么 Maven是一个跨平台的项目管理工具,主要服务于Java平台的项目构建.依赖管理和项目信息管理. Maven的用途之一是项目构建,能够自动化构建过程,从清理.编译. ...
- 《编译原理》画 DAG 图与求优化后的 4 元式代码- 例题解析
<编译原理>画 DAG 图与求优化后的 4 元式代码- 例题解析 DAG 图(Directed Acylic Graph)无环路有向图 (一)基本块 基本块是指程序中一顺序执行的语句序列, ...
- Swift中Singleton的实现
一.意图 保证一个类公有一个实例,并提供一个访问它的全局访问点. 二.使用场景 1.使用场景 当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时 当这个唯一实例应该是通过子类化可扩展的,并且 ...
- 浅谈Link-Cut Tree(LCT)
0XFF 前言&概念 Link-Cut Tree 是一种用来维护动态森林连通性的数据结构,适用于动态树问题.它采用类似树链剖分的轻重边路径剖分,把树边分为实边和虚边,并用 Splay 来维护每 ...
- Java 对象的创建以及类加载
1. 对象的创建的过程: 类加载检查—>分配内存—>初始化零值—>设置对象头—>执行 init . 1.类加载检查: 虚拟机遇到一条 new 指令时,首先将去检查这个指令的参数 ...
- 客户端和服务器最多能发送和接收多少TCP连接数?
1. 对于服务器,每一个tcp连接都要占一个文件描述符,一旦这个文件描述符使用完了,就会返回错误. 我们知道操作系统上端口号1024以下是系统保留的,从1024-65535是用户使用的.由于每个TCP ...
- MyBatis的动态sql小练习,小回顾
关键字if+trim trim可以去除多余的关键字,是where和set的组合 trim标记是一个格式化的标记,可以完成set或者是where标记的功能,如下代码: <trim prefix=& ...
- 用Jenkins构建项目实战
登录Jenkins,新建任务 输入一个任务名称,选择一个项目类型 使用自定义工作空间:使该项目独立于系统的工作空间 自动从Git下载源码,点击添加可以增加凭证 日程表的参数: 第一个参数代表的是分钟 ...
- Java性能调优概述
目录 Java性能调优概述 性能优化有风险和弊端,性能调优必须有明确的目标,不要为了调优而调优!!!盲目调优,风险远大于收益!!! 程序性能的主要表现点 执行速度:程序的反映是否迅速,响应时间是否足够 ...