首页 > 代码库 > 【计算机视觉】SIFT中LoG和DoG比较

【计算机视觉】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核的尺度系数为:

 
图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 未经允许请勿用于商业用途)