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