吳 珂 周夢瑩 李高陽 陳增照 何秀玲
(華中師范大學國家數字化學習工程技術研究中心 湖北 武漢 430079)
隨著人工智能的興起和發(fā)展,人類面部表情檢測作為其中的一部分得到了廣泛的關注和研究,涉及諸如心理學、認知科學、計算機視覺、圖形學等學科,具有相當高的綜合性?,F階段,優(yōu)化、組合角度幾何特征,對準確體現人臉細致表情極其重要。
當前,表情識別是通過特征提取、識別分類這兩個手段來進行的。另外,更深入的研究會將識別的魯棒性和更精細的表情識別作為方向[1]。以面部特征點為基礎來進行特征提取的方式主要包括幾何和紋理特征,文獻[2]中提到可以提取的面部特征有幾何特征和外貌特征,幾何特征可以表示面部組件的外形和位置。文獻[2]還提到了特征點,由于特征點識別算法比較成熟,直接檢測這類特征更加直觀、有效。文獻[3]采用局部紋理特征、全局幾何特征和混合特征,提出局部層-全局層-混合層的三層表情圖像分類框架。文獻[4]提出基于ASM定位的面部基準點并利用圖像差值作為表情特征進行識別。文獻[5]提出將人臉圖像里面的結構特征和紋理信息進行融合,采用RBF神經網絡識別表情,人臉特征點的識別定位使用AAM算法。面部編碼識別系統(tǒng)顯示情緒變化時的面部肌肉運動狀態(tài),由Ekman等[6]在1978年改進,通過劃分臉部活動單元,以這些單元的組合為基礎,并根據不同表情的特點來描繪出每個表情的變化,至今仍然在被使用。相對來說,在計算機視覺更加成熟、圖像處理算法更加精準的情況下,利用面部特征點來構造識別算法更加有效,可組合的特征提取方式更加豐富而且得到的結果更加精準。文獻[7]提出一種基于多分辨率Gabor的廣義神經網絡分類方法,對頭部姿態(tài)的改變能夠保持較高的魯棒性。
大部分文獻提取的幾何特征向量均以絕對距離為主,但是不同人的特征點之間的距離變化可能比較大,對識別存在一定影響。例如,在驚訝表情中,不同的人張嘴的程度不同,距離變化相差可能比較大,根據數據來看,距離是圖中像素點計算后的絕對差值,變化范圍可能比較大。但是,角度則是一定范圍內的變化值,變化范圍在0到π之間,相對絕對距離來說魯棒性會更優(yōu)。
本文首先在面部特征點的基礎上,總結出各類表情的相似點和相異點;然后將各個變化特點對應到特征向量上面去,構建角度為主的幾何特征向量,同時加入絕對距離進行對比;最終將計算的特征數據歸一化,采用支持向量機識別。實驗數據說明,以角度特征向量為主的人臉表情識別方法具有比較好的識別率和穩(wěn)定性,本文方法能在選擇不同特征向量時,前后識別率有較明顯提升。
人臉各個特征點分布如圖1所示。特征點為Ln(n=0,1,…,65),用到的特征點個數為Lm(m=0,1,…,43)共計44個,提取特征向量Vk(k=1,2,…,x)。
圖1 特征點分布
Ekman等在提出FACS的同時也將人類的基本表情分為六類,文獻[8]采用表格對六種基本表情的面部器官運動狀態(tài)進行了細致的歸納。根據本文需要,在原有特點基礎上,總結出了各類表情在特征點上的變化。這些變化是各類表情最為顯著的且能明顯區(qū)別于其他表情的特征。計算特征點的變化后,提取出特征向量,同時也能得到該特征向量的變化,特征點的變化能直觀地通過這些特征向量來體現,如表1所示。
表1 基于特征點的不同表情特征變化
根據表1,在特征點分布圖內可以進行特征向量的提取,得到特征向量集合{Vx|x=1,2,…,24}。
圖2-圖5分別為這些特征向量示意圖。
圖2 眉毛處特征向量
圖3 眼睛處特征向量
圖4 鼻子和嘴部特征向量
圖5 嘴部特征向量
其中,帶有相同標號的兩個向量構成一個角度,該角度即為特征向量Vx。根據表1的描述,能得到表現出各個表情顯著特點的特征向量及其變化,如表2所示。
表2 特征向量及其變化
角度和距離兩類特征向量通過特征點ni(xi,yi)來進行計算。兩兩特征點之間的歐氏距離為:
(1)
角度有兩類:三個特征點n1、n2、n3構成的角度和n1、n2、n3、n4四個特征點構成的角度,公式如下:
(2)
(3)
這幾類特征向量易于計算,在表情變化的過程中也能更加直觀地進行分辨,特征向量Vx對于表情的影響程度也能直接看出,對于后面進行特征向量的優(yōu)化有比較好的幫助。
為了減少不同樣本之間可能存在的顯著差異對識別結果造成的影響,對數據進行標準化處理,處理后的數據范圍在區(qū)間[0,1]內。計算公式如下:
(4)
由于LIBSVM工具中的序列最小優(yōu)化算法支持分類和回歸,因此采用LIBSVM工具對表情進行分類和識別。選取C-SVC支持向量分類,依據特征數量和樣本量的差別選擇適當的核函數,本文通過選取線性核函數(Linear)和徑向基(RBF)核函數并在高斯核函數里面通過交叉驗證得到最佳參數伽馬γ和懲罰因子c得到最好識別效果。核函數選取徑向基(RBF),參數γ為1/k(k是類別數)。線性核函數和高斯核函數公式分別如下:
(5)
K(xi,xj)=e(-γ||xi-xj||2)γ>0
(6)
同時,對RBF核函數進行十折交叉驗證,訓練得到最佳的懲罰因子c。
為精確描述人臉情緒的改變,本文在尋找上述兩類特征向量的總個數多達100余個,包含不共線三點組成的面積。例如在特征向量V2處的三個點,在變大或者變小的過程中,該三角形面積的底和高會同時變大或者變小。但在識別過程中,對這100余個特征向量進行識別時,并不是全部的特征向量都對識別有幫助,有的甚至還會出現降低識別率的情況。另外,表情變化時,距離特征和角度特征的變化是同步的,圖6-圖8分別為嘴部、眼睛和鼻子處的距離特征向量。
圖7 眼睛距離特征向量
圖8 鼻子距離特征向量
特征向量V25、V26、V27、V28、V29、V30、V31、V32均為距離特征向量。
從變化趨勢來說,距離的變化就會帶來角度的變化,例如V23,該角度變大,必然會使距離變大,即V27也會變大。這樣,距離的變化能夠被角度替代。另外,根據實驗結果,在特征向量數目為32時的綜合識別率反而為83.87%。過高的特征向量數目在SVM識別時產生了更高的維數,同時也帶來了更多的干擾和誤差。
優(yōu)化的過程除了降低誤差之外,根據表情特點還加入了一些能反映主要變化的特征向量。其中,針對生氣和厭惡這兩個在變化時具有一定相似度的表情,添加了特征向量V1、V2和V3。實驗結果表明,在原有特征向量固定不變的基礎上,增加特征向量后能比較明顯地提升這兩個表情的識別率,而且對其余表情的識別率也沒有產生明顯影響,說明這三個特征向量的加入能有效地提升識別率。
CK+數據庫里面帶有標簽的樣本有327個,表情類型和個數分布如表3所示。其中,本文選取六種基本表情進行識別實驗,不包含輕蔑表情。
表3 CK+數據庫表情分布
如圖9所示,驚訝樣本集中包含一幅不合格表情圖像,該圖像序列是最后一幅,即該數據庫里面描述的表情峰值序列,將該樣本移除。最后用到實驗中的樣本僅為308個,其中75%作為訓練集,25%作為測試集。實驗硬件環(huán)境如下:CPU為Intel酷睿i7,主頻2.80 GHz,8 GB RAM,軟件平臺為MATLAB R2014b。在核函數為RBF時,且進行十折交叉驗證后識別率優(yōu)化前后的對比如表4所示。
圖9 標識錯誤標簽表情
表4 識別率前后對比 %
在選取線性核函數進行識別的時候,可以得到相同的識別結果。在線性可分的狀況下,線性核函數更加適用,而對于線性不可分,RBF更適用,本文算法提出的特征提取方法在特征向量維數和樣本量相比差距不算太大的情況下兩種核函數都能得到比較好的結果。在識別速度上,由于需要通過價差驗證尋找最佳參數,RBF則不如線性核函數性能好。
為了評估角度幾何特征識別人臉表情的效果,將本文方法與近年的表情識別方法和識別率進行對比,如表5所示。文獻[9]中用到FACS的AU,同樣是在CK+數據庫上,采用角度和距離兩類幾何特征共1 378個特征向量,通過不同的分類算法最后得到了最高95.17%的識別率。相對文獻[9],本文用到的特征向量數目不足32個,卻能夠達到相同的識別率。文獻[10]將靜態(tài)特征點和動態(tài)特征點之間的距離作為特征向量,同樣在和本文相同的數據庫上面得到了91%的綜合識別率。文獻[11]從面部選取了32個特征向量,主要包括了特征點的線性歐式距離、多邊形面積、線段斜率和橢圓特征,在CK+數據庫上通過多種方法進行了分類。其中,利用多重SVM得了82.41%的識別率,利用隨機森林得到了95.46%。雖然識別率有所提高,但運用了四種類型的幾何特征,而本文僅在角度和距離兩種特征的基礎上,達到較高識別率。文獻[3]提取待識別圖像與中性表情對應特征點之間的距離比例系數,并將此作為幾何特征,將CK數據庫作為實驗對象,能夠正確識別92.33%的數據,該文獻中使用特征提取手段,在一定程度上提升了識別率,但是在特征提取的過程中依然存在處理方法比較復雜、計算量過大的問題。
表5 本文方法與其他方法識別結果對比
續(xù)表5
支持向量機本是二分類算法,但由于表情共有6類,需要進行多分類,因此本文采用LIBSVM框架,減少用到的特征向量的種類,相比其他方法更加有優(yōu)勢。如表6所示,在特征向量較少的基礎上,相比基于幾何特征識別率較高的文獻,本文不僅達到了較高識別率,而且使用的特征向量種類較少。
表6 幾何特征種類
綜上,大部分以幾何特征向量為基礎的表情識別都以距離為基礎,而且能得到較好的識別率。有的方法中對圖像進行了比較復雜的預處理過程,本文一方面簡化了對圖像的預處理過程,一方面明顯減少特征向量的種類以及數目,且得到比較好的識別率。這說明了本文方法對最后的識別率具有比較明顯的提升效果。
本文通過建立基于面部特征點的幾何特征向量集合進行表情識別,初步建立的32個基礎向量集合是根據直觀的面部表情變化特征直接得到的,達到了83%的識別率。第二階段嘗試各種不同的幾何特征,以提高識別率為目的,同時結合表情變化特征進行更加細致的特征描繪得到更加有意義的特征向量。基于以上的方法,使用CK+表情庫進行測試,使基礎識別率從83.87%提升到95.16%。本文方法的優(yōu)點在于簡化了圖像處理和特征向量數目。在今后的研究中,會進一步進行特征向量的優(yōu)化,以找出對各類表情最有效的特征。另外,也會增加表情的實時監(jiān)測和分割等研究內容。