【計算機視覺】SIFT中LoG和DoG比較
阿新 • • 發佈:2019-02-10
在實際計算時,三種方法計算的金字塔組數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維空間正太分佈方程為:
規範化的高斯拉普拉斯影象為
最終構造LoG金字塔有5層,每層有S+2=5張影象,每層金字塔內每張影象尺度是前一張的k倍,即構成的連續尺度序列:
其中o為當前金字塔層數,n為在當前金字塔層中影象張數。
由於卷積計算性質:
在計算時,通過對前一張影象做尺度係數為的卷積操作,可以減少卷積計算次數。故在金字塔每層內的S+2張影象,需要S+1次卷積操作,每次LoG核的尺度係數為:
DoG
由於LoG與Gauss核具有如下關係:即,
於是通過高斯金字塔每層內相鄰兩張影象相減可以得到DoG金字塔。對於最後需要S張影象尋找極值點,需要S+2張DoG影象,S+3張高斯影象。具體關係如圖2.所示。
圖 2. 由高斯金字塔得到DoG金字塔及其對應的尺度空間係數示意圖。
LoG & DoG
一個直觀的比較結果,使用分別計算LoG和DoG,得到:
可以看到,LoG比DoG明顯需要更多的加法運算和乘法運算。雖然DoG需要在每層金字塔多做一次高斯操作(即為了得到S+2張DoG圖需要S+3張高斯模糊圖),但通過減法取代LoG核的計算過程,顯著減少了運算次數,大大節省了運算時間。