跳转到主要内容

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

demi 提交于

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

金字塔层数:
<center><img src="http://imgtec.eetrend.com/sites/imgtec.eetrend.com/files/201809/blog/17…; alt="【计算机视觉】SIFT中LoG和DoG比较"></center>

其中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图像。尺度空间系数:
<center><img src="http://imgtec.eetrend.com/sites/imgtec.eetrend.com/files/201809/blog/17…; alt="【计算机视觉】SIFT中LoG和DoG比较"></center>

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

<font size="3"><strong>LoG</strong></font>

高斯核使用正太分布(高斯函数)计算模糊模版,N维空间正太分布方程为:
<center><img src="http://imgtec.eetrend.com/sites/imgtec.eetrend.com/files/201809/blog/17…; alt="【计算机视觉】SIFT中LoG和DoG比较"></center>
于是,二维高斯模板上的距离中心点为(x,y)的元素对应高斯计算公式为:

<center><img src="http://imgtec.eetrend.com/sites/imgtec.eetrend.com/files/201809/blog/17…; alt="【计算机视觉】SIFT中LoG和DoG比较"></center>
规范化的高斯拉普拉斯图像为
<center><img src="http://imgtec.eetrend.com/sites/imgtec.eetrend.com/files/201809/blog/17…; alt="【计算机视觉】SIFT中LoG和DoG比较"></center>
最终构造LoG金字塔有5层,每层有S+2=5张图像,每层金字塔内每张图像尺度是前一张的k倍,即构成的连续尺度序列:

<center><img src="http://imgtec.eetrend.com/sites/imgtec.eetrend.com/files/201809/blog/17…; alt="【计算机视觉】SIFT中LoG和DoG比较"></center>
其中o为当前金字塔层数,n为在当前金字塔层中图像张数。

由于卷积计算性质:
<center><img src="http://imgtec.eetrend.com/sites/imgtec.eetrend.com/files/201809/blog/17…; alt="【计算机视觉】SIFT中LoG和DoG比较"></center>

在计算时,通过对前一张图像做尺度系数为<img src="http://imgtec.eetrend.com/sites/imgtec.eetrend.com/files/201809/blog/17…; alt="【计算机视觉】SIFT中LoG和DoG比较">的卷积操作,可以减少卷积计算次数。故在金字塔每层内的S+2张图像,需要S+1次卷积操作,每次LoG核的尺度系数为:
<center><img src="http://imgtec.eetrend.com/sites/imgtec.eetrend.com/files/201809/blog/17…; alt="【计算机视觉】SIFT中LoG和DoG比较"></center>

<font size="3"><strong>DoG</strong></font>

由于LoG与Gauss核具有如下关系:
<center><img src="http://imgtec.eetrend.com/sites/imgtec.eetrend.com/files/201809/blog/17…; alt="【计算机视觉】SIFT中LoG和DoG比较"></center>
即,
<center><img src="http://imgtec.eetrend.com/sites/imgtec.eetrend.com/files/201809/blog/17…; alt="【计算机视觉】SIFT中LoG和DoG比较"></center>
因此,LoG算子可以用高斯差分算子DoG(Difference of Guassians)表示。

<center><img src="http://imgtec.eetrend.com/sites/imgtec.eetrend.com/files/201809/blog/17…; alt="【计算机视觉】SIFT中LoG和DoG比较"></center>
于是通过高斯金字塔每层内相邻两张图像相减可以得到DoG金字塔。对于最后需要S张图像寻找极值点,需要S+2张DoG图像,S+3张高斯图像。具体关系如图2.所示。
<center><img width="600" src="http://imgtec.eetrend.com/sites/imgtec.eetrend.com/files/201809/blog/17…; alt="【计算机视觉】SIFT中LoG和DoG比较"></center>

LoG & DoG

一个直观的比较结果,使用<img src="http://imgtec.eetrend.com/sites/imgtec.eetrend.com/files/201809/blog/17…; alt="【计算机视觉】SIFT中LoG和DoG比较">分别计算LoG和DoG,得到:
<center><img src="http://imgtec.eetrend.com/sites/imgtec.eetrend.com/files/201809/blog/17…; alt="【计算机视觉】SIFT中LoG和DoG比较"></center>
可以看到,LoG比DoG明显需要更多的加法运算和乘法运算。虽然DoG需要在每层金字塔多做一次高斯操作(即为了得到S+2张DoG图需要S+3张高斯模糊图),但通过减法取代LoG核的计算过程,显著减少了运算次数,大大节省了运算时间。

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