讀古今文學網 > 刷臉背後:人臉檢測 人臉識別 人臉檢索 > 7.10 Gabor算法 >

7.10 Gabor算法

在圖像處理領域,Gabor濾波器通常用於紋理分析和特徵提取等方面,這主要是因為Gabor濾波器在頻率和方向上的表達類似於人類視覺系統。本節我們將使用Gabor算法對圖像進行處理,並結合餘弦相似度、歐氏距離度量方法及Naive檢索方法對圖像進行相似性檢索。

7.10.1 Gabor算法的使用

在 Windows 7 環境下,安裝 Microsoft Visual Studio 2010 軟件,並配置OpenCV2.4.9。

本算法對應的項目名稱是texture。打開texture文件夾,然後使用Visual Studio 2010編譯工具打開texuture.sln文件,並配置OpenCV2.4.9及以上版本。

數據輸入可在主函數的以下兩行代碼中修改:

第一行是圖像的格式,第二行是圖像文件夾的名稱。註:目前該代碼只能實現RGB圖像。

圖像的縮放比例參數在doGabor代碼中修改:

double scale = 0.5;

結果的輸出在當前項目路徑下的「CosEuDis_similityGABORFeature1.txt」或「EuDis_similityGABORFeature1.txt」文件中。其中前者是利用相似餘弦距離匹配後的結果,後者是利用歐氏距離匹配後的結果。註:本算法中,相似餘弦距離的閾值為0.50,歐氏距離的閾值為62000。

測試圖像為image1文件夾下的「\\image\\S001-002.jpg」圖像。

測試圖像集在當前項目下,文件名稱為image1。

按照以上步驟,執行texture.cpp文件即可。

7.10.2 Gabor算法原理

在空間域中,二維的Gabor濾波器由高斯核函數和正弦平面波的乘積組成。Gabor函數的數學公式如下[10,11]:

實數部分:

虛數部分:

(x, y)表示圖像中像素的位置(坐標)。

λ:波長,該參數以像素為單位。

θ:取值範圍0~2π,是Gabor函數並行條紋的方向,它決定了Gabor條紋的方向。

φ:指相位偏移,決定了Gabor函數的對稱性,如φ=0時,為中心對稱。

σ:高斯函數的標準差。

γ:空間的寬高比,它決定了Gabor條紋的尺度(大小)。

下面講述Gabor濾波器的相關參數調優。

參考文獻[10]基於C++實現了Gabor,運行上述程序時需要調整Gabor函數的參數。下面是通過調整參數得到的不同Gabor濾波結果,分別在圖7-12、圖7-13、圖7-14中進行展示。

(1)調整參數θ後的Gabor濾波結果比較(見圖7-12),其中其他參數為:γ=1.0,λ=10.0,σ=100,0。

圖7-12 調整參數θ後的Gabor濾波結果

(2)調整參數λ後的Gabor濾波結果比較(見圖7-13),其中其他參數為:θ=0,γ=1.0,σ= 100,0。

圖7-13 調整參數λ後的Gabor濾波結果

從上面的示例可以看出,Gabor濾波器具有方向選擇性(θ)和尺度選擇性(λ)。此外,對濾波器輸出產生影響的參數還有高斯函數的作用範圍,即高斯窗體。不同高斯窗體的濾波結果如圖7-14所示,其中width為濾波寬度,height為濾波高度。

圖7-14 調整參數width和height後的Gabor濾波結果

7.10.3 Gabor算法實現

在主函數中,讀取每一幅圖像,並調用doGabor函數獲得該圖像Gabor處理後的特徵,進而做PCA降維處理,再進行匹配。本書使用了文獻[12]中實現的Gabor濾波程序,相關代碼如下:

gaborfilter的相關具體實現如下:

7.10.4 Gabor算法的實驗數據、實驗結果及分析

1.實驗數據

該算法的實驗數據為當前路徑下的image1文件夾下的所有JPG圖像。原圖像的尺寸為1200×1600像素,在本次實驗中,我們設置的尺寸為0.5,也就是說,我們將圖像的尺寸縮放到600×800像素。

2.實驗結果

查詢圖像如圖7-15所示。

圖7-15 查詢圖像(6)

檢索出的部分相似圖像如圖7-16所示。

圖7-16 檢索出的部分相似圖像(6)

以下是實驗結果的兩個表格,其中,表7-5表示圖像庫中的圖像與檢索圖像之間的餘弦相似度,表7-6表示圖像庫中的圖像與檢索圖像之間的歐氏距離。「yes」表示返回機器視覺上的相似圖像,換而言之,表示在閾值範圍內的相似圖像。

基於餘弦相似度度量的Gabor圖像檢索算法的實驗結果如表7-5所示。

表7-5 基於餘弦相似度度量的Gabor圖像檢索算法的實驗結果

續表

基於歐氏距離度量的Gabor圖像檢索算法的實驗結果如表7-6所示。

表7-6 基於歐氏距離度量的Gabor圖像檢索算法的實驗結果

續表

續表

3.實驗分析

從實驗結果中看出,該算法對圖像的塗抹、覆蓋很敏感。但是整體上,匹配到的相似圖像的成效尚可。基於餘弦相似度度量的Gabor算法的閾值為0.50,查准率為29/31×100%=93.5%,查全率為29/40×100%=72.5%。基於歐氏距離度量的Gabor算法的閾值為62000,查准率為37/41×100%=90.2%,查全率為37/40×100%=92.5%。