《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核的尺度系數為:
DoG

即,
因此,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
