?

基于結構化深度聚類網絡的人臉表情識別研究*

2023-12-13 03:47胡宇晨李秋生
贛南師范大學學報 2023年6期
關鍵詞:識別率編碼器人臉

胡宇晨,李秋生

(贛南師范大學 a.智能控制工程技術研究中心;b.物理與電子信息學院,江西 贛州 341000)

0 引言

人類的面部表情是對心理情感的一種表達,人與人之間可以通過面部表情來傳達情感與社會信息.美國的傳播學家Mehrabian通過實驗驗證了,面部表情的表達占情緒表達的五成之多,心理學家Ekman、Friesen[1]把表情分為6種,分別為開心(happy)、傷心(sad)、驚訝(surprise)、害怕(fear)、生氣(angry)與厭惡(disgust).人臉表情識別的應用非常的廣泛,可應用于社會公共場合的人臉表情分析,以加強公共治安的管控;在交通領域,可通過人臉表情識別來判斷駕駛員是否是疲勞駕駛或酒后駕駛,以降低交通事故的發生;可通過分析犯罪分子的表情、微表情或偽動作來判斷犯罪嫌疑人的心理動向等.

在早期的人臉表情特征提取方法中,需要大量的專業知識來分析面部的特征,這就需要專業人士來進行人工的特征提取,再將特征向量輸入到分類器中進行訓練,如果特征提取的質量較差,會直接影響表情分類的效果.常用的人臉特征提取方法有局部二值模式(local binary pattern,LBP)[2]、局部定向模式(local directional pattern,LDP)[3]和Gabor小波[4]變換等,這樣的特征提取方式易受到干擾.隨著計算機硬件性能的不斷提高,計算機的計算能力得到了極大的提升,同時人工智能與深度學習的興起,深度學習在人臉表情識別領域得到了廣泛的應用,神經網絡對于表情圖片的復雜特征有著更好的提取,使得識別更加的準確,例如最近興起的卷積神經網絡(convolutional neural network,CNN)[5].CNN只需要將原始圖像輸入即可,或將表情圖像做簡單的圖像處理,避免了傳統的特征提取方法的復雜性.例如LeNet、VGG、ResNet等神經網絡常被用來作為人臉表情識任務的基礎網絡,后來者也是在原有網絡的基礎上進行改進,改進的方法有增加神經網絡的層數,來提取更為精確的面部表情特征,如文獻[6]提出了一種融合式的卷積神經網絡,該方法將改進的LeNet和ResNet相結合,兩個網絡獨自提取人臉面部表情特征,再將提取的表情特征相結合,特征向量連接,用于分類,該方法可以提高面部表情識別的準確性和魯棒性.

同時,聚類算法已成功應用于各種現實世界的任務,如圖像聚類[7]和文本聚類[8]等.而深度學習在人工智能和機器學習領域的重大突破,使得深度學習與聚類的結合引起了學術界的高度關注.深度聚類[9]的基本思想是將聚類的目標與深度學習強大的表示能力相結合.然而,學習有效的數據表示是實現深度聚類的一個重要前提.例如,使用自動編碼器[10]學習K-means方法得到的數據表示.然而,這兩種方法的結合通常只關注數據本身的特征,而很少考慮數據的結構信息.

經典的頻譜聚類方法[11]將實驗數據視為加權圖中的節點,并利用數據的圖結構信息進行聚類.本文借鑒頻譜聚類的思想,并結合圖卷積神經網絡在編碼圖結構方面的優勢.在結構化深度聚類網絡中,利用GCN網絡[12]將經過KNN網絡預處理的人臉特征點的圖結構信息集成到深度聚類過程中.同時,自編碼器學習到的人臉特征點信息傳遞給相應的GCN層,構建了一個雙重自監督機制,以統一這兩種深度神經網絡體系結構,并使整個模型能夠不斷迭代更新.通過實驗驗證,本文提出的模型在人臉表情識別任務中展現出較好的識別率.該方法充分利用圖結構和人臉關鍵點特征的有效性,并通過迭代更新不斷優化模型性能.

1 相關技術

1.1 人臉關鍵點的提取

由于不同人的面部通常具有相似的結構特征,而膚色、年齡等因素會導致面部圖像在外觀上呈現出巨大的差異,這些因素對于表情分類并沒有實質性的影響.因此,為了提取更具有意義的結構特征用于表情識別,本文采用圖卷積網絡對人臉關鍵點進行特征提取.通過利用GCN的圖結構分析能力,捕捉人臉關鍵點之間的關系和表情信息,從而提取出更具有區分度的特征用于表情分類.這種基于圖結構的特征提取方法能夠有效地克服面部圖像的變化因素,提升表情識別的性能.

在表情識別中,由于表情通常只發生在人臉的局部區域,如眉毛、雙眼、鼻子、下顎線和嘴巴等位置.為了提取具有鑒別性的特征,需要根據人臉特征點、動作單元或者人臉上的器官對表情進行區域劃分.與表情相關的動作單元幾乎都在人臉的眉毛、眼睛、鼻子和嘴巴等區域.本文采用dlib人臉關鍵點提取算法對圖像進行預處理操作,并提取68個關鍵點[13]進行區域劃分,如圖1所示.為了減少計算量,每個關鍵點僅使用位置特征表示,即對于某一關鍵點,其特征表示為坐標.

圖1 人臉68關鍵點示意圖

作為常用的人臉特征點提取技術,dlib算法提取的68個關鍵特征點能夠顯著定位和標識面部輪廓,包括外輪廓17個點、左右兩個眉毛各5個點、鼻子九個點、左右眼睛各6個點、嘴部20個點(包含嘴部內圈和外圈).這68個點能夠更加詳細地描述人臉眼睛、眉毛、鼻子、嘴巴和外輪廓的位置信息.

1.2 KNN圖構建

將經過局部二值化處理的表情圖像轉化為圖結構形式,假設經過預處理圖片的所有像素點矩陣為X∈RN×d,每一行的xi代表第i個樣本,為每一張圖片的像素值,N為樣本個數,d為數據的維度.對于每個樣本,首先找到它的前K個相似領域,并設置邊來連接這些領域.用來構建各樣本的相似領域矩陣S∈RN×N的計算方法有很多種,本文列出了兩種方法:

(1)

Sij=xjTxi

(2)

再計算完矩陣S之后,選取每個樣本的前k個相似點作為近鄰,構造無向k近鄰圖.此方法可以從非圖數據中得到鄰接矩陣A.

1.3 自編碼器與解碼器

正如之前提到的,學習有效的數據特征對于深度聚類非常重要.對于不同的數據類型有不同的無監督學習方法,如去噪自編碼器[14]、卷積自編碼器[15]、LSTM編碼器[16]與生成對抗式自編碼器[17],以上都是一些不同神經網絡結構的自編碼器.因通用性的考慮,本文采用了最基本自編碼器對人臉表情圖片進行表示,圖2所示為自編碼器的結構.

圖2 自編碼器結構

假設自編碼器中有L層,ζ表示網絡層數.編碼器第ζ層的學習,可用H(ζ)表示,公式如下:

(3)

(4)

圖3 圖神經網絡結構

圖4 圖卷積計算示意圖

1.4 GCN圖卷積神經網絡

自編碼器模塊學習的圖片特征整合到GCN模塊并傳遞給下一層,如此GCN網絡將同時學習兩種不同數據信息,即圖像數據本身的信息特征和圖像之間的關系信息.圖3所示為GCN圖卷積神經網絡的結構.

假設權值矩陣為W,通過卷積計算即可得到GCN第ζ層的圖卷積信息Z(ζ),可用如式(6)表示,圖4所示為圖卷積計算示意圖.

(6)

Z(ζ-1)=(1-ε)Z(ζ-1)+εH(ζ-1)

(7)

(8)

(9)

GCN網絡的最后一層是具有softmax功能的分類層:

(10)

1.5 雙自監督模型

圖5 SDCN結構化深度聚類網絡

對于第i個樣本和第j個聚類,本文用t分布[18]作為內核來度量數據特征hi與聚類中心向量μj之間的相似性,如下所示:

(11)

其中hi是H(L)的第i行,μj通過K-means對預訓練編碼器學習到的特征進行初始化,v是t分布的自由度,qij可以看作是將樣本i分配到聚類j的概率.將Q=[qij]作為所有樣本分配的分布.在獲得聚類結果分布Q后,通過學習高置信度賦值來優化數據表示,即數據表示更接近聚類中心,從而提高聚類內聚性.計算目標P分布公式如下:

(12)

其中fj=∑jqij為軟聚類頻率.在目標分布P中,Q中的每個賦值都被平方并歸一化,使得賦值有更高的置信度,從而得到以下目標函數:

從圖7可以看出,在未加補償網絡時,電路沒有正常運行,輸出電壓為3.5 V。并且,電路的輸出電壓會隨著串聯電阻或并聯電阻的擾動引入而發生變化,輸出電壓不穩定;當加入1 V的電源擾動時,電路輸出電壓明顯增大。

(13)

對于GCN模塊的訓練,可以將聚類任務作為一種真值標簽,但是這種策略會帶來噪聲和瑣碎的麻煩,并導致整個模型崩潰.如前所述,GCN模塊也將提供一個聚類分配分布Z.因此,可以使用分布P來監督分布Z,如下所示:

(14)

通過這種機制,SDCN可以直接將聚類目標和分類目標兩個不同的目標集合在一個損失函數中.因此,提出的SDCN的總體損失函數為:

L=Lres+αLclu+βLgcn

(15)

其中α>0是平衡原始數據聚類優化和局部結構保持的超參數,β>0是控制GCN模塊對嵌入空間擾動的系數.

2 實驗結果與分析

為檢測本文算法性能,實驗環境為:CPU是Intel(R) Core(TM) i5-9500 CPU,頻率為3.00 GHz,內存為8 GB,電腦的操作系統為Win10.

表1 各數據集表情總類分類數量

圖6 JAFFE數據集樣圖

圖8 FER2013數據集樣圖

圖9 旋轉圖像

2.1 實驗數據集

本文采用的是JAFFE[19]、CK+(Extended Cohn-Kanada)[20]與Fer2013人臉表情數據集進行實驗,實驗數據集的表情總類分類數量如表1所示.其中JAFFE數據集中含有10名女性,且每為女性的圖片都包括7類表情圖片,有憤怒(angry)、厭惡(disgust)、恐懼(fear)、高興(happy)、悲傷(sad)、驚訝(surprise)、自然(neutral).每張圖片的大小為256*256,一共包含213張.如圖6所示.

CK+(Cohn-Kanada)數據集中包括123個對象,981張不同的表情圖片,包含憤怒(angry)、厭惡(disgust)、恐懼(fear)、高興(happy)、悲傷(sadness)、驚訝(surprise)、蔑視(contempt).如圖7所示.

Fer2013數據集圖片的數量為35 886張圖片,分為表情憤怒(angry)、厭惡(disgust)、恐懼(fear)、高興(happy)、悲傷(sad)、驚訝(surprise)、自然(neutral).每張圖片大小為48*48,該數據集的樣本每種表情的圖片數量分布不均勻,不易分辨圖像的表情,以及拍攝人臉的角度問題增加了分類的難度,數據集圖片如圖8所示.

2.2 實驗數據預處理

由于CK+與JAFFE數據集的樣本數量較少,直接使用數據集會導致特征提取的準確度較低,本文通過旋轉圖像方法來增加訓練集數量,再用DCGAN(深度卷積生成對抗網絡)生產更多的表情圖片.通過數據增強,JAFFE數據集經挑選得到916張圖片,CK+數據集經挑選得到4 895張圖片,極大地擴充了CK+、JAFFE的訓練數據集.圖9所示為數據增強效果示意圖.

2.3 評價的標準

在圖像的分類問題中,評價該分類方法的標準有準確率(Accuracy)、混淆矩陣(Confusion matrix)等,本文采用準確率與混淆矩陣作為評價分類的標準.其中準確率的公式為:

(16)

在式中TP為正例分類正確的數量,TN為負例分類正確的數量;P和N分別為所有的正例和負例.本文的混淆矩陣可表示為表2:

表2 混淆矩陣

表2中的TP表示為正例分類正確圖片數,FP為正例分類錯誤圖片數,TN為負例分類正確圖片數,FN為負例分類錯誤圖片數.

2.4 實驗結果

為驗證本文方法效果,實驗結果給出了SDCN網絡和其它一些方法的識別率和混淆矩陣.

表3 FER2013識別率對比

表3給出了在Fer2013數據集上的性能比較結果,其中包括MI+MI、Mixer Layer、Eric Carman、Lor Voildy等4種算法.從表中可以看出,MI+MI算法的分類準確率并不理想,僅為61.1%,Mixer Layer、Eric Carman、Lor Voildy算法準確有所提高,但也僅有2%~4%的提升,并不明顯.而本文算法相比較與MI+MI算法有著9%的提升,與Lor Voildy算法比較也有著5%的提升,分類準確率有著較大的提升,識別率達70.3%.而該網絡在此數據集上的識別率僅為70%左右的原因在于,該數據集存在大量的表情圖片不規范,如側臉、手部遮擋,不同表情數量分布不均,部分圖片表情與標簽不符,此外,一些圖片呈現復合表情,這會給網絡的訓練帶來一定挑戰,增加了識別的難度.從圖10的混淆矩陣圖中可以發現高興表情的識別率最高,達到了80%,而恐懼表情的識別率最低,僅為56%.

圖10 SDCN網絡在FER2013數據集上的混淆矩陣

表4 各模型于CK+的識別率對比

圖11 SDCN網絡在CK+數據集上的混淆矩陣

表4給出了在CK+數據集上的性能比較結果,其中包括剪枝GoogleNet、HOG+SVM、LBP-Top、CSPL等4種算法.從表中可以看出剪枝GoogleNet算法的分類準確率為85.1%,傳統HOG+SVM、LBP-Top算法與CSPL算法模型識別率分別為87.6%、88.9%與89.8%,較剪枝GoogleNet算法有著2%~4%的提升.而本文算法相比較剪枝GoogleNet算法有著8%的明顯提升,與HOG+SVM、LBP-Top算法與CSPL算法比較也有著4%~6%的提升,分類準確率有著較大的提升,識別率達93.3%.而該網絡在此數據集上的識別率不同于Fer2013的原因在于,CK+數據集是在實驗環境下獲得的數據集,圖像質量較高,表情與人臉采集較為規范,并且該數據集通過數據增強與DCGAN網絡的處理使得數據集數量增加,所以在該數據集上表情識別率較高.從圖11的混淆矩陣圖中可以發現,各表情的準確率都較高,當中蔑視表情的識別率最高,達到了99%,而驚訝表情的識別率最低,為92%.

表5給出了在JAFFE數據集上的性能比較結果,其中包括剪枝GoogleNet、LBP+SVM、傳統LDP、GL-DCNN等4種算法.從表中可以看出剪枝GoogleNet算法的分類準確率最低為83.8%,傳統LBP+SVM算法、傳統LDP與卷積神經網絡GL-DCNN算法模型識別率為88.2%、89.8%、92.9%,較剪枝GoogleNet算法有著5%~9%的提升.而本文算法相比較剪枝GoogleNet算法有著10%的明顯提升,與傳統LBP+SVM算法、傳統LDP與卷積神經網絡GL-DCNN算法比較也有著2%~5%左右的提升,識別率達94.5%.

表5 各模型于JAFFE識別率對比

圖12 SDCN網絡在JAFFE數據集上的混淆矩陣

JAFFE數據集與CK+數據集類似,都是在實驗環境下獲得的數據集,圖像質量較高,表情與人臉圖像的采集較為規范,且JAFFE采樣者都為女性,每個女性的相同表情具有較多的相似性,所以在該數據集上表情識別率較高.從圖12的混淆矩陣圖中可以發現除恐懼與悲傷外,其他各表情的準確率都較高,原因在于恐懼與悲傷表情中有較多的相似特征,使得兩表情的識別率偏低.其中蔑視表情的識別率最高,達到了99%,而驚訝表情的識別率最低,僅為92%.

總體來看,以上三個數據集的實驗可以驗證人臉關鍵點的結構化特征與SDCN網絡相結合有效提高了人臉表情識別的準確率和泛化性能.

3 結論

為了解決卷積神經網絡在人臉表情識別中存在的特征提取不足以及關鍵區域特征無法精確提取的問題,本文提出了一種創新的人臉表情識別網絡.該網絡利用GCN圖卷積神經網絡對人臉表情圖像中的關鍵點進行特征提取,并將預處理的表情結構化特征與SDCN網絡相結合,充分利用人臉表情中的結構信息.該網絡由GCN網絡、K-最近鄰(KNN)圖構建網絡和編碼器網絡等模塊組成,在雙自監督模型的作用下,將自動編碼器和GCN模塊統一在一個框架中,并有效地端到端訓練兩個模塊提取的特征,相互協作,提高了人臉表情識別的準確率和泛化性能.

針對數據集樣本不足的問題,本文采用了數據增強和DCGAN網絡生成更多的表情圖片的方法.在Fer2013、CK+和JAFFE這三個大型數據集上進行了對比實驗,通過混淆矩陣分析發現,本文方法在這三個數據集上的識別率分別達到了70.3%、93.3%和94.5%,與現有方法相比,在表情識別的準確率方面具有優勢.

通過這種方法,表情圖片的特征重構過程從低維到高維不斷接近自編碼器學習到的多重特征.經過實驗證明,本文提出的模型在人臉表情識別任務中表現出較好的識別率.該模型的設計充分考慮了圖結構和人臉關鍵點特征表示的有效性,并通過迭代更新不斷優化模型的性能.

猜你喜歡
識別率編碼器人臉
有特點的人臉
基于類圖像處理與向量化的大數據腳本攻擊智能檢測
基于真耳分析的助聽器配戴者言語可懂度指數與言語識別率的關系
三國漫——人臉解鎖
基于FPGA的同步機軸角編碼器
提升高速公路MTC二次抓拍車牌識別率方案研究
基于PRBS檢測的8B/IOB編碼器設計
高速公路機電日常維護中車牌識別率分析系統的應用
JESD204B接口協議中的8B10B編碼器設計
馬面部與人臉相似度驚人
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合