Gabor+SVM:利用Gabor程式實作對人臉的特征提取,然後用SVM進行分類;
1 Gabor
Gabor 特征提取算法可以在不同方向上描述局部人臉特征,對光照、遮擋以及表情變換等情況具有較強的魯棒性,即Gabor算法在異常和危險情況下具有較強的系統生存的能力。
1.1 一維Gabor核:
其由一個高斯核與一個複數波的乘積定義為如下公式:

其中w(t)是高斯函數,s(t)是複數波,兩者的一維數學表達式定義如下:
我們将s(t)代入一維Gabor公式可得下式:
我們将上述一維情況推廣到二維
二維複數波定義如下,其中(x,y)表示空間域坐标,(u0,v0)表示頻率域坐标。
二維高斯函數定義如下,其中σx,σy 分别為在x,y兩個方向上的尺度參數,用來控制高斯函數在兩個方向上的“展布”形狀。(x0,y0)為高斯函數的中心點。K為高斯核的幅度的比例。
但是由于高斯函數還有旋轉的操作,是以我們對坐标進行如下的變換:
由此,我們得到了坐标變換後的高斯函數公式,其中θ表示高斯核順時針旋轉的角度。
1.2 二維Gabor核
類似一維 Gabor 核,我們将二維高斯函數與二維複數波相乘,就得到了二維的Gabor核:
一個Gabor核能擷取到圖像某個頻率鄰域的響應情況,這個響應結果可以看做是圖像的一個特征。如果我們用多個不同頻率的Gabor核去擷取圖像在不同頻率鄰域的響應情況,最後就能形成圖像在各個頻率段的特征,這個特征就可以描述圖像的頻率資訊了。
下圖展示了一系列具有不同頻率的 Gabor 核,用這些核與圖像卷積,我們就能得到圖像上每個點和其附近區域的頻率分布情況。
經過 Gabor 濾波獲到的人臉圖像資訊包含實部和虛部兩部分,分别代表不同局部的人臉特征資訊,為了提取更加全面的人臉特征資訊,一般會采用兩種特征值相結合的方法,比如幅值和相位資訊。但 Gabor 的相位資訊會因為人臉空間位置發生改變而不太穩定。Gabor 幅值資訊變化相對穩定,并且充分反映了人臉圖像的能量譜。是以采取 Gabor 幅值特征。經過Gabor幅值特征處理,得到了人臉 Gabor 特征資訊。5 個尺度,8 個方向的 Gabor 特征提取圖如下所示:
2 PCA+SVM
2.1 PCA
主成分分析(Principal Component Analysis, 簡稱PCA)是常用的一種降維方法.
算法步驟:
2.2 SVM介紹
支援向量機(Support Vector Machines, 簡稱SVM)是一種二類分類模型.
劃分超平面為:
3 人臉識别步驟
将每張人臉圖檔(m,nm,n)讀取并展開成(m×n,1m×n,1), 假設總有ll張圖檔, 所有排列到一起, 一列為一張圖檔, 最終形成一個(m×n,l)(m×n,l) 的矩陣作為原始資料;
資料中心化: 計算平均臉, 所有列都減去張平均臉;
計算矩陣的協方差矩陣/散布矩陣, 求出特征值及特征向量, 并将其從大到小排列取前K個特征; (到這步特征已将至K維)
計算中心化後的資料在K維特征的投影;
基于上一步的資料進行 One-VS-One Multiclass SVM模型訓練;
讀取用于測試的人臉圖檔, 同訓練圖檔一樣處理;
利用訓練出的模型對測試圖檔進行分類;
計算準确率.
1 matlab版本
2014a
2 參考文獻
[1] 蔡利梅.MATLAB圖像處理——理論、算法與執行個體分析[M].清華大學出版社,2020.
[2]楊丹,趙海濱,龍哲.MATLAB圖像處理執行個體詳解[M].清華大學出版社,2013.
[3]周品.MATLAB圖像處理與圖形使用者界面設計[M].清華大學出版社,2013.
[4]劉成龍.精通MATLAB圖像處理[M].清華大學出版社,2015.
[5]孟逸凡,柳益君.基于PCA-SVM的人臉識别方法研究[J].科技視界. 2021,(07)
[6]張娜,劉坤,韓美林,陳晨.一種基于PCA和LDA融合的人臉識别算法研究[J].電子測量技術. 2020,43(13)
[7]陳豔.基于BP神經網絡的人臉識别方法分析[J].資訊與電腦(理論版). 2020,32(23)
[8]戴骊融,陳萬米,郭盛.基于膚色模型和SURF算法的人臉識别研究[J].工業控制計算機. 2014,27(02)