摘 要:主要研究自動人臉表情識別(FER),首先使用Gabor算法提取人臉圖像的特征,再針對Gabor特征維數高、冗余大及利用傳統的AdaBoost算法進行特征選擇時特征間仍存在較大冗余的特點,引入了基于互信息的AdaBoost算法(MutualBoost)進行特征選擇,降低特征維數和減少特征間的冗余信息量。然后再以SVM分類器進行分類。本算法在JAFFE表情庫上進行測試,結果驗證了算法的有效性。
關鍵詞:人臉表情識別(FER);Gabor濾波器;Mutual Boost;支持向量機(SVM)
中圖分類號:TP391.41文獻標識碼:A
文章編號:16721098(2010)03006304
收稿日期:2010-07-04
基金項目:教育部“春暉計劃”資助項目(14051095)
作者簡介:聶堯(1982-),男,助教,碩士,主要研究方向:數字圖像處理。
Facial Expression Recognition Based on Mutual Boost and SVM
NIE Rao1, LI Yi-min2, WU Huan1, LIU Renjin1
(1.Department of Computer Science and Technology, West Anhui University, Lu’an Anhui 237012, China; 2.Department of Communication Engineering, Kunming University of Science and Technology, Kunming Yunnan 650051, China)
Abstract:Automatic facial expression recognition was studied. Facial image feature was picked up by using Gabor algorithm.For the high-dimensional Gabor feature vectors are quite redundant,Mutual Boost was introduced as a method of feature selection and redundancy exclusion.Then the SVM was used for classification. Experiments with JAFFE showed that the method is valid.
Key words:facial expression recognition; Gabor filter;Mutual Boost; support vector machine
表情包含豐富的情感信息,是人們理解感情的重要途徑,在人們日常生活中起著重要作用,現在自動表情識別已經成為圖像處理方面的最熱門課題之一。目前面部表情的分析與識別的方法大致歸為兩類:基于動態圖像序列的識別方法,如特征跟蹤[1]、圖像差分[2]等方法,另一種是基于靜態圖像的方法,常用的有幾何結構特征、AAM[3]和Gabor小波特征[4]200-202等。
本文針對靜態人臉表情圖像,首先用Gabor濾波器進行特征的提取,再用MutualBoost算法選擇特征,最后以支持向量機(SVM)構造分類器進行識別,最終得到分類結果,整個流程如圖1所示。
1 表情特征的提取
在人臉表情識別中,由于原圖像所需處理的信息量太大,因此要對圖像進行表情特征的提取以降低計算量和提高系統的識別效率。在進行特征提取前要對輸入的人臉圖像進行預處理,用以盡量保留有用信息和抑制無用信息的干擾。
1.1 圖像預處理
圖像的預處理包括人臉的定位、人臉區域幾何歸一化以及灰度歸一化。經過預處理后的圖像如圖2所示(包含了主要的七種表情):
1.2 Gabor濾波器
Gabor濾波器作為一種特征提取和圖像表征方法,在圖像識別、圖像分析等領域得到廣泛的應用。Gabor核函數很好地描述了哺乳動物初級視覺系統中一對簡單視覺神經元的感受特性。是唯一能達到時頻測不準關系下界的函數,能夠在時域和頻域中兼顧對信號分析的分辨率要求。Gabor小波變換是用一組Gabor濾波器函數與給定信號的卷積來表示或逼近一個信號。二維Gabor濾波器的函數形式可以表示為
其中,x→為給定位置的圖像坐標;k→j為濾波器的中心頻率;φμ體現了濾波器的方向選擇性。不同的μ對應不同的尺度;不同的υ對應不同的方向;波矢量k控制濾波器的空間分辨率和方向,參數σ控制包絡函數的震蕩次數;在二維Gabor濾波器中減去exp(-σ2/2),從而使濾波器對圖像全局光照變化不敏感。
1.3 Gabor特征提取
本文采用了共包含有5個尺度和8個方向的Gabor濾波器組,根據圖像的特點和神經生理學[5]的結論來選擇參數, 本文采用了共包含有5個尺度(υ=0,1,2,3,4,5,6,7)和8個方向(υ=0,1,2,3,4,5,6,7)的Gabor濾波器組,并令σ=2π,使濾波器的帶寬約為1倍頻程。
將輸入圖像與40個濾波器進行卷積, 并取其幅值作為輸出。 設預處理之后的圖像的大小為M*N,則通過Gabor濾波器組后得到的Gabor特征的維數高達40*M*N, 計算量相當大, 實際應用性很差。 而Gabor特征在相鄰像素間是高度相關和冗余的, 所以通常只需要稀疏的提取部分節點上的Gabor特征。 目前, 通常采取的取點方法主要是人工手動定位, 將取值點主要集中在眉毛、 額頭、 嘴唇等最能體現表情變化的部位, 但此種方法自動化程度低, 對點的提取主要依賴于人的經驗, 可靠度差。 故在本文中參考文獻[6]的方法,采用8行6列規則分布的采樣點,從而對每幅圖像得到8×6×40=1 920維的特征向量,實現特征點的自動提取。
2 特征選擇
1 920維的特征向量是一個非常大的數據量,而且面部不同部位對體現表情的貢獻是不同的,因此每幅圖像中的40個特征對于表情識別的重要性也是不一樣的。為了挑選出最重要的特征并降低數據量,目前很通用的方法是使用AdaBoost[7]算法進行特征選擇,但AdaBoost算法沒有考慮特征向量之間存在的冗余信息,所選出的特征向量之間仍然存在較高的冗余信息量。本文引入了基于互信息的MutualBoost算法進行特征選擇,Mutu- lBoost算法在AdaBoost算法的基礎上將互信息(MI)的概念引入進來,以此來消除無效的弱分類器。每個弱分類器看作隨機變量,在篩選弱分類器時,計算它與已選中的弱分類器之間的互信息,以確定它攜帶的信息是否重復。
MutualBoost算法在挑選最重要的特征同時,也降低了所選特征向量間的冗余信息量。因此它篩選的特征向量所具有的信息量明顯低于AdaBoost算法選擇的特征向量,所以,在篩選出相同維數特征向量的情況下,采用MutualBoost算法的識別效果要明顯優于AdaBoost算法。圖4顯示了用Adaboost和MutualBoost算法篩選出的200維的Gabor特征向量間的冗余信息。
特征維數
1. 源算法;2. 改進算法
對文獻[8]中的方法加以修改,就可得到適用于表情識別的MutualBoost特征選擇算法
設樣本集
類別j的樣本集為
類別權重界限
輸入:樣本集S及類別權重界限αk。
(1) 初始化權重,其表達式如下
① 對各類別進行權重歸一化,使其類別權重為αk,表達式如下
② 分類器篩選及冗余檢查:
(a) 對每個候選弱分類器hj,計算其分類誤差εj如下
(b) While(true)
Do
選出具有最小分類誤差εj的弱分類器hj,計算互信息R(hj);
If(R(hj) Else 從候選列表中刪除hj; End While ③ 更新權重 wt+1,i←wt,iβ1-eit(9) 其中,ei=1,h(xi)=yi0,otherwise,βt=εt1-εt 算法終止。其中,互信息閾值(Threshold Mutual Information,TMI)需要根據經驗事先定義,對于JAFFE表情庫,令TMI=0.2較為合理。 3 特征分類 支持向量機[9](SVM)對非線性、高維數的小樣本人臉識別問題有非常好的分類效果和學習推廣能力。SVM 基于統計學習理論,采用結構風險化最小化原理,可兼顧訓練誤差和泛化能力。本文采用線性內積函數構造SVM 兩類分類器,采用一對一策略,對P個類構建P(P-1)/2個兩類分類器,每個分類器將其中2個類別相互區分開來,以此進行多類模式識別。對每兩個類別設計1個分類器,用其中的一類樣本作為正樣本、另一類樣本作為負樣本進行訓練。在測試時,采用“投票”策略,將測試樣本輸入到所有分類器中,各個分類器的判別結果對各個類別進行“投票”,最后把測試樣本判別為得票數最多的類別。 4 實驗結果 本文選用JAFFE[4]200-201日本成年女性人臉表情數據庫進行實驗, 分別采用AdaBoost及TMI取值為0.2的MutualBoost算法進行特征選擇, 最后用SVM進行分類識別。 實驗結果表明,在選出特征向量維數同為200維的情況下,采用AdaBoost算法的識別率為92.38%, 而MutualBoost算法的識別率則為96.01%, MutualBoost算法的識別效果明顯優于AdaBoost算法。 接著在不同維數下對AdaBoost算法與MutualBoost算法進行比較, 結果表明在特征向量維數相同的情況下, MutualBoost算法的識別效果仍然優于AdaBoost算法(見圖5)。 特征維數 1. 原算法;2. 改進算法 圖5 不同特征維數對應的識別率 5 結論及展望 本文提出了一種FER方法,利用Gabor特征組成特征向量,并用MutualBoost算法選擇出最重要的特征,然后將SVM進行分類。實驗表明,該方法具有很好的識別效果,最高達到了97.58%的識別率,高于普通的AdaBoost方法。 由于人臉不同部位的局部特征對表情識別的貢獻是不同的,而本文只采用了規則分布的特征點進行特征提取,不能保證這些點都落在對表情識別有利的特征位置上。因此,如何自動利用對識別貢獻最大的人臉部位的特征點來表示人臉是下一步的研究方向。 參考文獻: [1] BOUREL F,CHIBELUSHI C C,Low A A.Robust facial expression recognition using a state-based model of spatially-localised facial dynamics[C]∥Fifth IEEE International Conference on Automatic Face and Gesture Recognition.2002:106-111. [2] MA L,KHORASANI K. Facial expression recognition using constructive feedforward neural networks[J]. IEEE Transactions on Systems,Man and Cybernetics,Part B,2004,34(3):1 588-1 595.[3] 左坤隆,劉文耀.基于活動外觀模型的人臉表情分析與識別[J].光電子·激光,2004,15(7):853-857.[4] LYONS M,AKAMATSU S,KAMACHI M,et al. Coding facial expressions with Gabor wavelets[C]∥ Third IEEE Conference on Face and Gesture Recognition,1998:200-205. [5] LEE T. Image representation using 2-D Gabor wavelets[J]. IEEE Trans Pattern Analysis and Machine Intelligence, 1996, 18(10):959-971. [6] 朱健翔,蘇光大,李迎春.結合Gabor特征與Adaboost的人臉表情識別[J].光電子·激光,2006,17(7):993-998. [7] PAUL VIOLA,MICHAEL JONES. Robust rea1-time face dete [J] .International Journal of Computer Vision,2004,57(2):137-154. [8] L SHEN,L BAI.MutualBoost learning for selecting Gabor features for face recognition.PRL.2006,27(15):1 758-1 767. [9] VAPNIK V.Statistical Learning Theory[M].New York:John Wiley Sons Inc, 1998:80-150. (責任編輯:李 麗)