人臉表情是人類進行情感交流的一種重要方式,從表情的變化中可以感知出人的情緒、感受、秉性和氣質。自動化的人臉表情識別(FER)技術可以協助進行人臉識別、智能人機交互以及行為科學和醫學研究等。根據所研究數據的不同, FER 算法可以分為針對多幅圖像和針對單幅圖像兩大類。由于單幅圖像包含較少的表情信息, 從單幅圖像識別表情比從多幅圖像中進行更具挑戰性。然而, 在有些情況下, 單幅圖像中已包含了足夠的表情信息, 而且計算相對簡單。因此,本文主要探討基于單幅圖像的人臉表情識別。
人臉表情識別主要分為三個步驟:尋找感興趣區域(ROI)、特征提取和表情圖像分類。尋找感興趣區域,目前常用的方法有基于模板匹配的方法和基于特征提取的方法,前者考慮圖像全局;后者則考慮圖像局部區域,主要考慮形狀和紋理。通過特征提取過程降低維數,目前常用的方法有主成分分析(PCA)、Gabor過濾等方法。通過對從ROI中提取出來的特征向量進行分類,目前常用的方法有神經網絡(NN)、隱式馬爾可夫鏈(HMM)和支持向量機(SVM)。上述基本方法使研究僅僅考慮到如何在各個步驟中優化算法,忽略了步驟之間的依賴性,因為先要選定ROI,然后再進行特征提取,所以步驟連接中需要人工干預。針對此問題,本文有效地利用CGA,通過CGA的不斷迭代將前兩步有機結合,實現了自動機制,并且簡化了設計。
最近,HERNANDEZ B等人提出利用灰度共生矩陣和遺傳算法相結合的方法解決紅外線圖像上的人臉表情識別問題,其中存在一些不足之處:遺傳算法中個體是隨機產生的,造成個體在空間內分布的不均勻性,使得實驗效果并不明顯;僅可解決紅外線圖像。針對以上不足,本文首先將灰度共生矩陣拓展到可視化圖像上,并用相應的實驗數據證明其可行性。利用混沌的隨機性、遍歷性和規律性,將混沌原理加入遺傳算法中,對傳統遺傳算法進行改進,有效地解決了個體分布的不均勻性,同時也沒有忽略其差異性。經過理論推導和實驗仿真,證明本文的方法是切實可行的。
1 灰度共生矩陣(GLCM)
紋理是圖像分析中常用的特征,一般說來可以認為紋理由許多相互接近的、互相交織的元素組成,并具有一定的周期性。量化圖像的紋理內容是描述圖像的一種重要方法。基于統計的方法是紋理分析中最基本的一類方法,而基于灰度的共生矩陣法又是一種典型有效的基于統計的紋理提取方法。因此,本文選取灰度共生矩陣來提取特征。
這樣得到的矩陣可以反映不同像素相對位置的空間信息。共生矩陣中還包含了圖像的紋理信息,對于具有不同特點的圖像紋理,其灰度共生矩陣也會明顯不同。對紋理較為粗糙的區域,其灰度共生矩陣中mij的值較集中于主對角線附近,對于粗糙紋理,像素對一般具有相同的灰度;而對于紋理較為細膩的區域,其灰度共生矩陣中mij的值則散布在各處,其像素對灰度差異較大。
1.2 GLCM用于表情識別的可行性分析
1978年,EKMAN和FRIESEN提出了面部表情編碼系統(FACS),并研究了六種基本表情,即高興、悲傷、驚訝、恐懼、憤怒和厭惡。
表情變化的區域主要集中在眼睛、眉毛和嘴巴,因此,采用公式(1)選取JAFFE 圖庫中“Neutral”、“Happy”、“Surprise”三種表情對三個主要集中區域之一的嘴部區域進行實驗,如圖2所示。
由以上三種表情嘴部區域所生成的灰度共生矩陣如圖3所示。由圖3可以看出,對于“Happy”這種表情來說,其嘴部區域的灰度值比之另外兩種表情的嘴部區域變化要頻繁,其圖像的紋理特性相對屬于“細紋理”。而另兩種屬于“粗紋理”,其灰度共生矩陣中的值較集中于主對角線附近。對于粗紋理,像素對趨于具有相同的灰度;而對于細紋理的區域,其灰度共生矩陣中的值則散布在各處。就“Neutral”與“Surprise”這兩種表情而言,“Neutral”表情的嘴部區域口形較小,因為嘴附近膚色的緣故,其灰度值多處于高亮度區域,反映在灰度共生矩陣上則是主對角線上小序號行列的數值較低,連通性較差。而“Surprise”表情的嘴部區域口形較大,其灰度值多處于低亮度區域,因而其灰度共生矩陣主對角線上數值比較均衡,連通性較好。
由此可見,用灰度共生矩陣可以反應出各種表情之間的差異,不難想象從中提取出的各種統計量就可以作為表情特性的度量。
2 支持向量機(SVM)
支持向量機(SVM)起初由VAPNIK提出時,是作為尋求最優(在一定程度上)二分類器的一種技術,后來它又被拓展到回歸和聚類應用。
2.1 SVM定義
定義2 SVM是一種基于核函數的方法,它通過某些核函數把特征向量映射到高維空間,然后建立一個線性判別函數(或者說是一個高維空間中的能夠區分訓練數據的最優超平面)。解是最優的在某種意義上是兩類中
2.2 SVM多分類方法
SVM算法最初是為二值分類問題設計的,當處理多類問題時,就需要構造合適的多類分類器。目前,構造SVM多類分類器的方法主要有兩類:一類是直接法,直接在目標函數上進行修改,將多個分類面的參數求解合并到一個最優化問題中,通過求解該最優化問題“一次性”實現多類分類,這種方法看似簡單,但其計算復雜度比較高,實現起來比較困難,只適用于小型問題中;另一類是間接法,主要是通過組合多個二分類器來實現多分類器的構造常見的方法有兩種。(1)一對多法(one-versus-rest)。訓練時依次把某個類別的樣本歸為一類,其他剩余的樣本歸為另一類,這樣k個類別的樣本就構造出了k個SVM。分類時將未知樣本分類為具有最大分類函數值的那類。(2)一對一法(one-versus-one)。其做法是在任意兩類樣本之間設計一個SVM,因此k個類別的樣本就需要設計k(k-1)/2個SVM。當對一個未知樣本進行分類時,得票最多的類別即為該未知樣本的類別。除了以上兩種方法外,還有有向無環圖DAG(Directed Acyclic Graph)和對類別進行二進制編碼的糾錯編碼(Error Correcting Code)。本文采用第二種方法并結合投票策略(voting scheme)[5]來設計需要的多分類器。
2.3 k-折交叉驗證(K-fold cross-validation)
由于我們的數據樣本集較小,因此引入k-折交叉驗證。
定義3 k-折交叉驗證是指將樣本集分為k份,其中k-1份作為訓練數據集,而另外的1份作為驗證數據集。用驗證集來驗證所得分類器或者回歸的錯誤碼率。一般需要循環k次,直到所有k份數據全部被選擇一遍為止。
3 混沌遺傳優化算法(CGA)
3.1 遺傳算法的改進
遺傳算法是一種模擬生物進化過程的優化方法,它能在有限代數的進化過程中,在全局解空間內自動進行搜索得到最優解或是次優解。它可以通過編碼技術,將具體的問題抽象處理,僅對編碼串進行操作,在進化過程中以適應度作為標準,從而避開了問題的復雜優化判別準則。但是遺傳算法對初始種群最初是采用一種隨機方式產生的,這些個體在解空間內分布可能不均勻,為了使遺傳算法能在解空間內更好地進行全局搜索, 楊宇明等人[6]提出一種新的隨機個體產生方法,將混沌原理引入遺傳算法。混沌具有隨機性、遍歷性和規律性,用它產生初始種群會提高遺傳算法的效率,使遺傳算法的初始種群不再隨機產生,而是由混沌產生。混沌是一種非線性的映射,它看似隨機的過程,其實質是一種有著內在機制的運動過程。因此,本文也將混沌原理引入,對遺傳算法進行改進,采用logostic映射表示混沌的系統:
當μ=4時,這個系統是一個完全混沌系統,它沒有穩定解,而且是一個滿映射的過程。這些特性能夠提高遺傳算法初始種群的差異性。混沌遺傳優化算法過程[7]如圖4所示。
3.2 適應度函數(Fitness function)
GA應用于實際問題時,適應度函數的定義往往最為困難,而且其計算復雜程度對于整個GA的搜索時間有較大影響。本文方法的目標就是尋找最佳的ROI,在ROI上面提取特征用于分類。因此,每個選定的ROI分類的正確性對適應度函數起至關重要的作用。然而,當兩個不同的解決方法得到同樣的分類正確性時,為了簡化計算應該選擇特征值數量較少者,因此,本文適應度函數[8]設計如下:
其中,Accuracy為對于給定個體所有SVM的平均正確率,可由k-折交叉驗證[5]求得;Zeros為染色體中起作用的特征值數量。
3.3 選擇、交叉和變異
選擇方法:假設群體規模為N,經交叉、變異操作后產生N個子代個體。將子父代組成的2N個群體按適應度函數值從大到小排序,取前面N/2個個體放入配對池,再從后面的N個個體中隨機地選出N/2個個體放入配對池。由于既選擇到適應度函數的較大值又選擇到適應度函數的較小值,這樣,既可保證種群向最優解收斂,又可保證種群的多樣性不會迅速減少。
變異算子選擇:為了簡化實驗,提高實驗性能,本文采用基本位變異作為變異算子,即以變異概率對個體編碼串中基因座上的基因值做變異運算。
交叉算子選擇:同樣為了簡化實驗提高實驗性能,本文的交叉算子采用單點雜交算子[10],在個體編碼串中隨機設置一個雜交點,然后進行部分基因變換。
5 實驗結果及分析
本文選用Matlab 7.0為實驗平臺,從JAFFE圖庫中選出“Happy”、“Neutral” 、“Angry”和“Surprise”四種表情的圖像樣本共121幅,其中:“Happy”表情31幅、“Neutral”表情30幅、“Angry”表情30幅、“Surprise”表情30幅。從這些圖像樣本中選擇“Happy”表情16幅、“Neutral”表情15幅、“Angry”表情15幅、“Surprise”表情15幅共61幅作為訓練樣本,剩余每種表情15幅,共60幅作為測試樣本。經過實驗選定種群大小為50,最大遺傳代數為50,經過三次實驗,求得的識別率如表1所示。
由表1不難得出,采用灰度共生矩陣特征值表征的特征對“Happy”和“Neutral”識別效果較為理想,對于“Angry”也有較高的識別率,對“Surprise”識別率較低。總體來說,本文提出的基于灰度共生矩陣和混沌遺傳優化算法相結合的算法能夠得到81.67%的平均識別率,識別結果令人滿意。最優個體的感興趣區域數目為2,參數為{14 16 13 15}和{19 3 9 25},分別對應中心點坐標(xwi,ywi)、ROI寬度hwi和ROI高度wwi。最優個體ROI在JAFFE庫上一個實例的區域截圖如圖7所示。
本文提出了利用CGA將ROI的選取和特征的提取有機地結合,通過不斷調整灰度共生矩陣的參數尋找最優個體,利用最優個體標明的ROI訓練SVM,最后通過SVM進行分類。該方法的優點在于能夠很好地利用人臉表情處理步驟之間的依賴性,將前兩個步驟有機地結合成一步,消除了步驟連接中的人為因素,實現了自動機制,并且簡化了設計,而且將混沌原理引入遺傳算法當中,有效地解決了隨機產生個體的不均勻性,又保持了個體的差異性。通過定理、公式推導和實驗仿真,證明該方法切實可行。
-
人機交互
+關注
關注
12文章
1211瀏覽量
55458 -
智能
+關注
關注
8文章
1714瀏覽量
117620 -
人臉識別
+關注
關注
76文章
4015瀏覽量
82115
發布評論請先 登錄
相關推薦
評論