【计算机视觉】SIFT中LoG和DoG比较

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

金字塔层数:

【计算机视觉】SIFT中LoG和DoG比较

其中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图像。尺度空间系数:

【计算机视觉】SIFT中LoG和DoG比较

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

LoG

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

【计算机视觉】SIFT中LoG和DoG比较

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

【计算机视觉】SIFT中LoG和DoG比较

规范化的高斯拉普拉斯图像为
【计算机视觉】SIFT中LoG和DoG比较

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

【计算机视觉】SIFT中LoG和DoG比较

其中o为当前金字塔层数,n为在当前金字塔层中图像张数。

由于卷积计算性质:

【计算机视觉】SIFT中LoG和DoG比较

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

【计算机视觉】SIFT中LoG和DoG比较

DoG

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

【计算机视觉】SIFT中LoG和DoG比较

即,
【计算机视觉】SIFT中LoG和DoG比较

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

【计算机视觉】SIFT中LoG和DoG比较

于是通过高斯金字塔每层内相邻两张图像相减可以得到DoG金字塔。对于最后需要S张图像寻找极值点,需要S+2张DoG图像,S+3张高斯图像。具体关系如图2.所示。
【计算机视觉】SIFT中LoG和DoG比较

LoG & DoG

一个直观的比较结果,使用【计算机视觉】SIFT中LoG和DoG比较分别计算LoG和DoG,得到:

【计算机视觉】SIFT中LoG和DoG比较

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

作者:xiaowei_cqu
出处:http://blog.csdn.net/xiaowei_cqu