人臉表情識(shí)別算法綜述
引 言
人類表情往往攜帶著比語(yǔ)言更為豐富的信息,因此,人臉表情識(shí)別是計(jì)算機(jī)視覺(jué)領(lǐng)域的一個(gè)重要研究課題。其研究成果可應(yīng)用于人機(jī)交互、心理疾病患者治療、情感計(jì)算與遠(yuǎn)程教育等領(lǐng)域,廣泛的應(yīng)用領(lǐng)域推動(dòng)著人臉表情識(shí)別技術(shù)不斷發(fā)展。易積政 [1] 等提出了基于特征點(diǎn)矢量與紋理形變能量參數(shù)融合的人臉表情識(shí)別方法,該方法較傳統(tǒng)方法在識(shí)別率上有所提高。Taihao Li[2] 等結(jié)合主動(dòng)外觀模型與神經(jīng)網(wǎng)絡(luò)進(jìn)行人臉表情識(shí)別。Ross P Holder,Jules R Tapamo[3] 通過(guò)使用更精確的Scharr 梯度算子、主成分分析降維等方法提出了改進(jìn)的梯度局部三值模式(GLTP)。
1 表情識(shí)別綜述
1971 年,心理學(xué)家 Ekman 與Friesen 研究提出了人類的六種基本情感,即驚訝(Surprise)、悲傷(Sadness)、憤怒(Anger)、恐懼(Fear)、厭惡(Disgust)與高興(Happiness),與此對(duì)應(yīng),人類可產(chǎn)生相應(yīng)的面部表情。為了更好地描述人臉面部表情, 隨之誕生了不同的面部表情編碼方式。Ekman 與Keltner[4] 提出了面部運(yùn)動(dòng)編碼系統(tǒng)(FACS),可根據(jù)面部肌肉和肌肉群的運(yùn)動(dòng)對(duì)不同的面部表情加以區(qū)分。臉部動(dòng)畫(huà)參數(shù)(FAPS)也是一種表情編碼方式,其根據(jù)臉部特征部位的運(yùn)動(dòng)描述面部表情。另外,美國(guó)麻省理工學(xué)院,日本東京理科大學(xué)與哈爾濱工業(yè)大學(xué)等國(guó)內(nèi)外高校與研究機(jī)構(gòu)都對(duì)表情識(shí)別開(kāi)展了相關(guān)研究工作。表情編碼識(shí)別系統(tǒng)如圖 1 所示。
在研究表情識(shí)別的過(guò)程中,建立了供測(cè)試使用的人臉表情數(shù)據(jù)庫(kù)。較為經(jīng)典的面部表情數(shù)據(jù)庫(kù)有JAFFE Database、The Extended Cohn-Kanade Dataset(CK+),GEMEP-FERA 等。 其中,JAFFE Database 是由十位日本女性分別做出 7 種表情 所構(gòu)成的 213 張圖像的集合,CK+ 則是一個(gè)具備表情強(qiáng)度從 低到高逐漸變化 [5] 的數(shù)據(jù)庫(kù),如圖 2 所示。
(a)FACS(b)FAPS
圖1 表情識(shí)別編碼系統(tǒng)
圖 2 JAFFE 與CK+ 數(shù)據(jù)庫(kù)中的面部表情
人臉表情識(shí)別主要由三部分組成,即人臉檢測(cè)與預(yù)處理, 特征提取,表情分類。人臉檢測(cè)預(yù)處理旨在將目標(biāo)人臉從背景中分離出來(lái),其中涉及人臉定位、圖像旋轉(zhuǎn)與歸一化等操作; 特征提取旨在提取出能夠表達(dá)人類情緒的面部特征,有多種特征提取方法,如局部二值模式(LBP)、彈性圖匹配法、等距映射等,本文只按照一種分類方式說(shuō)明其中的部分特征提取方法;表情分類則依據(jù)提取出的面部特征將其歸類為具體的表情,其中有 K 最近鄰算法、稀疏表示分類法等。人臉表情識(shí)別流程如圖 3 所示。
圖 3 人臉表情識(shí)別流程
2 特征提取算法綜述
人的面部表情具有大量特征。一張包含人臉的圖像擁有極大的信息量,且在視頻流中,同一人在不同幀下的表情模式也不盡相同,因此需要對(duì)人臉圖像進(jìn)行圖像降維處理并提取出五官特征、紋理特征等有效信息。這些有效信息的提取極為重要,能否準(zhǔn)確有效地提取出特征不僅影響著識(shí)別流程的速率,也極大地影響著識(shí)別準(zhǔn)確率。
2.1 基于幾何特征的提取方法
幾何特征的提取即針對(duì)二維圖像的人臉表情的顯著特征對(duì)面部五官進(jìn)行定位,可以得到五官的大小、位置及五官之間的相互比例等空間幾何信息,可通過(guò)這些信息進(jìn)行人臉表情識(shí)別?;谠摲椒ǖ哪P陀兄鲃?dòng)形狀模型(ASM),活動(dòng)外觀模型(AAM)與尺度不變特征轉(zhuǎn)換。ASM最早由Cootes提出, 之后其針對(duì)ASM進(jìn)行改進(jìn),于1998年提出了AAM。該類提取方法存在五官遮擋問(wèn)題,且當(dāng)光照、角度、人臉尺寸等重要識(shí)別分類信息丟失時(shí),識(shí)別精度不高。
2.2 基于整體統(tǒng)計(jì)特征的提取方法
該類方法的主要思想是遍歷整幅圖像,盡可能多地提取 整幅圖像的特征信息。該類方法可以使用主成分分析(PCA) 去除人臉圖像中的混亂信息、噪聲和冗余;使用方差衡量去除 小方差的冗余信息,使用正交位數(shù)空間描述數(shù)據(jù)改變的方向。 但該方法只對(duì)符合高斯樣本即噪聲或不感興趣、信號(hào)比較微 弱的數(shù)據(jù)有效,導(dǎo)致數(shù)據(jù)具有較差的可分性。在 PCA 的基礎(chǔ) 上提出了獨(dú)立成分分析法,即 ICA(Independent Component Analysis,ICA)。ICA 將數(shù)據(jù)看作多個(gè)獨(dú)立分量的線性組合, 進(jìn)而獲取數(shù)據(jù)的獨(dú)立成分,因此具有較好的可分性。由于外界 背景環(huán)境的干擾,該方法在復(fù)雜背景環(huán)境下識(shí)別率會(huì)下降。
2.3 基于頻率特征率的提取方法
主要采用 Gabor 小波變換方法,該方法可以在頻域的不 同尺度,不同方向上提取相關(guān)特征。Gabor 方法先添加時(shí)間局 部化窗函數(shù),得到窗口傅里葉變換,因?yàn)樵摲椒o(wú)法聚焦,因 此研究人員加入了小波理論,結(jié)合成 Gabor 小波變換。該方 法在對(duì)人臉表情特征提取時(shí),能夠有效提取不同細(xì)節(jié)程度的 圖像特征。但由于是低層次的特征,因此不易于直接用于特 征匹配。
2.4 基于運(yùn)動(dòng)特征的提取方法
光流法。光流為圖像亮度模式的表觀運(yùn)動(dòng),能夠反映出 圖像的運(yùn)動(dòng),因此可以提取出圖像的運(yùn)動(dòng)信息。光流算法先 假設(shè)體素和圖像像素守恒,評(píng)估兩次表情之間的細(xì)微形變, 可以得到圖像約束方程,求出圖像約束方程的解后計(jì)算變化 參數(shù)。該方法反應(yīng)了表情變化的本質(zhì),因此光照因素干擾較小, 但計(jì)算量龐大。
3 表情分類算法綜述
3.1 基于傳統(tǒng)機(jī)器學(xué)習(xí)的表情分類算法
3.1.1 Bayes 分類算法
Bayes 分類是以貝葉斯定理為基礎(chǔ)的一類分類算法,貝葉斯定理屬于概率論的一種,在邊緣概率分布與隨機(jī)變量的條 件下,使用產(chǎn)生的新數(shù)據(jù)對(duì)已有數(shù)據(jù)做修改。樸素 Bayes 分類 算法是 Bayes 分類算法中較為簡(jiǎn)單的一種。樸素 Bayes 分類算 法能夠根據(jù)待分類項(xiàng)符合的各個(gè)條件判別其所屬類別。由于 樸素 Bayes 模型假設(shè)特征屬性之間相互獨(dú)立,因此該分類方 法誤差率小,然而當(dāng)將其應(yīng)用于實(shí)際時(shí)效果不佳。
3.1.2 支持向量機(jī)算法
1995 年,Cortes 與 Vapnik 提出了支持向量機(jī)(Support Vector Machine,SVM),即自動(dòng)分類算法。SVM 能夠區(qū)分?jǐn)?shù)據(jù)類別的高維到一維投影,其任務(wù)是找到最佳決策邊界。在尋找最佳決策邊界的過(guò)程中,相繼引入了核函數(shù)、拉格朗日對(duì)偶與SMO 算法,SVM 算法不使用真正的向量而使用數(shù)量積進(jìn)行分類,因而減小了系統(tǒng)開(kāi)銷,使得 SVM 算法更加優(yōu)化。相較于更先進(jìn)的神經(jīng)網(wǎng)絡(luò)算法,支持向量機(jī)擁有更快的運(yùn)算速度,計(jì)算時(shí)使用更少的訓(xùn)練樣本。支持向量機(jī)示意圖如圖 4 所示。
3.1.3 HMM 模型
隱馬爾科夫模型(Hidden Markov Model,HMM)是一 種關(guān)于時(shí)序的概率生成模型。該算法描述了馬爾科夫過(guò)程, 但該過(guò)程包含隱含的未知參數(shù)。HMM 模型將人臉圖像看作 顯性序列,從已知的數(shù)據(jù)中確定隱含數(shù)據(jù),再利用隱含數(shù)據(jù) 進(jìn)行數(shù)據(jù)分析,因此適合進(jìn)行動(dòng)態(tài)視頻流分析。黃小娟 [6] 等 通過(guò)優(yōu)化隱馬爾科夫模型參數(shù)提出了改進(jìn)的隱馬爾科夫表情 識(shí)別模型,使得該模型可更有效地應(yīng)用于表情識(shí)別中。HMM 模型示意圖如圖 5 所示。
3.2 基于深度學(xué)習(xí)的表情分類算法
3.2.1 基于 CNN 的分類算法
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN) 是針對(duì)人工神經(jīng)網(wǎng)絡(luò)(ANN)的一種改進(jìn),其靈感來(lái)源于貓的初級(jí)視覺(jué)皮層,其權(quán)值共享網(wǎng)絡(luò)結(jié)構(gòu)使之更接近生物神經(jīng) 網(wǎng)絡(luò)。卷積神經(jīng)網(wǎng)絡(luò)由多個(gè)卷積層和頂端的全聯(lián)通層構(gòu)成,相 較于其他神經(jīng)網(wǎng)絡(luò),卷積神經(jīng)網(wǎng)絡(luò)還包括關(guān)聯(lián)權(quán)重與池化層。 CNN 利用損失函數(shù)判斷類別預(yù)測(cè)值與真實(shí)值間的差異,利用 激活函數(shù)解決非線性問(wèn)題,采用正則化操作削減過(guò)擬合現(xiàn)象, 采用池化層操作降低網(wǎng)絡(luò)復(fù)雜度。上述使得 CNN 的訓(xùn)練速度 更快,計(jì)算量減少且能夠?qū)崿F(xiàn)圖像降維,使之能更好地處理 二維圖像,使用神經(jīng)網(wǎng)絡(luò)時(shí)需要采取的圖像預(yù)處理工作較少。 卷積神經(jīng)網(wǎng)絡(luò)示意圖如圖 6 所示。
3.2.2 基于 DBN 的分類算法
2006 年,Geoffrey Hinton 提出了深度信念網(wǎng)絡(luò)。深度信 念網(wǎng)絡(luò)(Deep Belief Network,DBN)其結(jié)構(gòu)類似于人腦的認(rèn) 知過(guò)程,由多層受限玻爾茲曼機(jī)(RBM)構(gòu)成。RBM 由可見(jiàn) 層與隱層組成,可見(jiàn)層接受輸入,隱層提取特征,兩層雙向連接, 層內(nèi)各神經(jīng)元間無(wú)連接,可見(jiàn)層輸出作為隱層輸入。采取對(duì)比 散度的學(xué)習(xí)算法訓(xùn)練 RBM,得到使得訓(xùn)練樣本概率最大的權(quán) 值。多層 RBM 訓(xùn)練層經(jīng)調(diào)優(yōu)構(gòu)成 DBN。DBN 將低層輸出作 為高層輸入,再將高層輸出作為更高層輸入,是一個(gè)自下而上 的無(wú)監(jiān)督學(xué)習(xí)過(guò)程。采用 DBN 時(shí)需要為樣本集設(shè)定標(biāo)簽,學(xué) 習(xí)過(guò)程慢。施徐敢 [7] 等融合深度信念網(wǎng)絡(luò)與多層感知器進(jìn)行 人臉表情識(shí)別,該識(shí)別方法可達(dá)到的最好人臉表情正確識(shí)別 率為 90.95%。由于環(huán)境中光照等復(fù)雜因素的存在,Chen Li[8] 等將 DBN 與增強(qiáng)局部紋理特征相結(jié)合,克服了光照變化帶來(lái) 的影響。深度信念網(wǎng)絡(luò)示意圖如圖 7 所示。
4 結(jié) 語(yǔ)
目前人臉表情識(shí)別是圖像處理領(lǐng)域的研究熱點(diǎn),人臉表 情庫(kù)越來(lái)越豐富。其特征提取算法包括基于幾何特征提取、 PCA 與 ICA 算法、Gabor 小波變換、光流法等。這些算法與 其他算法相結(jié)合,在解決圖像噪聲,人臉遮擋、角度,環(huán)境 光照等許多影響因素上有較好的處理效果,但同時(shí)也增大了系 統(tǒng)開(kāi)銷。傳統(tǒng)的表情分類方法有 Bayes 分類算法、隱馬爾可 夫模型、支持向量機(jī) SVM 模型。傳統(tǒng)算法模型計(jì)算速度快, 但精度不高,因此在科研機(jī)構(gòu)中主要為深度學(xué)習(xí)方法,CNN 與 DBN 這類算法訓(xùn)練出的模型識(shí)別精度高,速率快,但訓(xùn)練 需要使用 GPU 等硬件加速,訓(xùn)練時(shí)更需要大量的表情庫(kù),訓(xùn) 練周期長(zhǎng),難以在高??蒲袡C(jī)構(gòu)以外的場(chǎng)所進(jìn)行研發(fā)和使用。
綜上所述,人臉表情識(shí)別這一課題已經(jīng)擁有了較成熟的 研究成果,但缺點(diǎn)依然存在,需要不同算法取長(zhǎng)補(bǔ)短,如將 深度學(xué)習(xí)與傳統(tǒng)算法結(jié)合等,算法的改進(jìn)仍然是一個(gè)漫長(zhǎng)的 探索實(shí)踐過(guò)程。