曾逸琪,關勝曉
(中國科學技術大學 信息科學技術學院,安徽 合肥 230026)
人臉表情在人類交流中扮演著重要角色,也是人機交互系統(tǒng)識別人類情感的重要途徑。EKMAN P等定義了6種人臉表情,即生氣、厭惡、害怕、高興、傷心、驚訝,作為常見的情感表情[1]。
由于人臉表情識別在人機交互系統(tǒng)設計[2]中的重要性,大量的計算機視覺和機器學習算法應用到人臉表情識別。當然,目前已經(jīng)存在許多標注好的人臉表情數(shù)據(jù)集[3-6],用于人臉表情的研究。
人臉表情識別本質(zhì)上來說是以單幀圖像或視頻序列作為研究對象,對其進行分類,將其分為六種基本表情中的一類。
雖然傳統(tǒng)機器學習方法,例如支持向量機、貝葉斯分類器,已經(jīng)在簡單場景下取得良好效果,但最近研究顯示,傳統(tǒng)方法并不能在復雜場景下取得良好的識別結果。
近年來,基于神經(jīng)網(wǎng)絡的方法取得重大突破,例如物體識別[7-8]、人體位姿估計[9]、人臉驗證[10]等。在人臉表情識別領域,取得最好效果的方法也是基于神經(jīng)網(wǎng)絡[11]。與傳統(tǒng)機器學習、人工提取特征方法不同,神經(jīng)網(wǎng)絡可以通過訓練數(shù)據(jù)自動學習特征?;诖罅繑?shù)據(jù)學習到的特征,往往具有更好的泛化性。
然而,人臉表情識別仍存在許多關鍵的問題,主要是光照、遮擋、頭部位姿、個體屬性多樣化等因素,導致提取的同類特征差異性較大,而不同類特征判別性過小。
針對這一問題,本文提出了一種損失函數(shù)——隔離損失作為改進方法。
一般來說,卷積神經(jīng)網(wǎng)絡是利用多分類損失進行優(yōu)化,對誤分樣本進行懲罰,讓屬于不同類別的特征分離。如圖1(a)所示,不同表情特征形成的聚類簇分別對應了在特征空間的不同表情特征。由于類內(nèi)的差異化,導致特征簇分布分散。而又由于類間相似性,導致特征簇有部分重疊。最近有項研究,將中心損失[12]引進卷積神經(jīng)網(wǎng)絡,以此來降低類內(nèi)特征差異性。如圖1(b)所示,樣本更靠近對應的聚類中心??墒?,類間相似性的問題仍沒有考慮進去。所以,針對此問題,本文提出了隔離損失,通過懲罰不同類特征之間的距離,讓學習到的特征更具判別性。如圖1(c)所示,隔離損失不僅壓縮了聚類簇,并且讓聚類中心之間距離增大。
圖1 特征空間分布圖
為了驗證隔離損失的有效性,本文提出了以隔離損失作為損失函數(shù)的卷積神經(jīng)網(wǎng)絡模型,結構如圖2所示。該網(wǎng)絡結構中每一個卷積層后面都連接了批量正則化層(Batch Normalization, BN)和ReLU(Rectified Linear Units)激活函數(shù)。池化層采用的均是最大池化。在最后一個池化層后連接了全連接層,生成特征向量。之后再接多分類層。隔離損失在全連接層計算。多分類損失在分類層計算。用隔離損失和多分類損失的聯(lián)合損失對網(wǎng)絡進行優(yōu)化。
圖2 網(wǎng)絡結構示意圖
如圖1(b)中描述,中心損失可以減小類內(nèi)特征差異。在神經(jīng)網(wǎng)絡訓練過程中,聚類中心在每次迭代過程會被更新。
(1)前向傳播:中心損失表示為LC,如式(1)所示。其含義是樣本和聚類中心在特征空間的歐式距離的平方和。
(1)
其中,yi表示第i個樣本的類別標簽;xi表示第i個樣本的特征向量,該特征向量是從全連接層提取的;cyi表示與yi同一類所有樣本的聚類中心;m表示一個小批量的樣本數(shù)量。通過最小化中心損失,同一類的樣本在特征空間會向聚類中心靠近,因此整體的類內(nèi)差異會減小。
在前向傳播過程中,聯(lián)合損失,也即多分類損失和中心損失之和,用來訓練整個網(wǎng)絡:
L=LS+λLC
(2)
其中LS表示多分類損失;λ用于調(diào)節(jié)多分類損失和中心損失的比例。
(2)反向傳播:在反向傳播過程中,中心損失LC關于輸入樣本的特征向量xi的偏微分可表示為:
(3)
而聚類中心在使用隨機梯度下降時會按如下公式更新:
(4)
其中δ(yi,j)的定義如下:
(5)
如圖1(b)所示,最小化中心損失,會在特征空間減小類內(nèi)差異,但不同的聚類簇有部分重疊的問題仍舊存在。為了克服這個問題,本文設計了隔離損失,在減小類內(nèi)差異的同時,增大類間特征之間彼此距離。
(1)前向傳播:隔離損失可表示為LIL,其定義是中心損失與聚類中心之間的歐式距離之和。
LIL=
(6)
總體的網(wǎng)絡模型的損失函數(shù)可以表示為:
L=LS+λLIL
(7)
其中,超參數(shù)λ用于平衡兩項損失的比例。
(2)反向傳播:隔離損失LIL關于樣本特征向量xi的偏微分可以表示為:
(8)
更新聚類中心:基于隨機梯度下降方法(SGD),第j個聚類中心可表示為:
(9)
其中|N|是表情類別數(shù)。
在上式的表述下,聚類中心可以在每個小批量數(shù)據(jù)進行更新,以α的學習率進行迭代:
(10)
至此,可以將隔離損失在網(wǎng)絡模型中的前向和反向傳播過程總結為如下流程:
算法 網(wǎng)絡的前向反向傳播過程輸入:訓練數(shù)據(jù){xi} 1: 輸入:小批量數(shù)據(jù)的大小m,迭代總數(shù)T,學習率μ和α,以及超參數(shù)λ和λ12: 初始化:t=1,網(wǎng)絡權重參數(shù)為,多分類層參數(shù)為θ,隔離損失的訓練參數(shù)為cj3: for t=1 to T do 計算公式(7)的聯(lián)合損失:=S+λIL更新多分類損失層的參數(shù):θt+1=θt-μ?tS?θt更新隔離損失的訓練參數(shù)(即聚類中心),如式(10):ct+1j=ctj-αΔctj計算需反向傳播的損失:?t?xti=?tS?xti+λ?tIL?xti更新網(wǎng)絡權重:t+1=t-μ?Lt?t=t-μ?Lt?xti?xti?tend for輸出:訓練完成的網(wǎng)絡權重,隔離損失的參數(shù)cj,多分類層參數(shù)θ
為了驗證本文所提方法的有效性,在CK+數(shù)據(jù)集[13]上做了一系列對比試驗。此外,還在相同的網(wǎng)絡模型下,將隔離損失與多分類損失和中心損失分別進行了對比。
為了減小圖像中人臉尺度變化及人臉旋轉對表情識別的影響,需要對圖像做基于人臉關鍵點的人臉擺正。人臉關鍵點的檢測是基于OpenCV中Dlib庫的人臉關鍵點的檢測算法[14]。然后以3個關鍵點(兩個眼睛中心點、一個嘴巴中心點)為基準點進行校正。
此外,直方圖均衡化也用于提高人臉圖像的對比度,降低光照等因素的影響。
由于人臉表情數(shù)據(jù)集較小的限制,采用了數(shù)據(jù)增強的方式來擴展訓練數(shù)據(jù)。從60×60大小的圖像中隨機裁剪出大小為48×48圖像塊作為訓練數(shù)據(jù),并且將圖像塊隨機旋轉一個角度,該角度范圍在-10°~10°之間。此外,還要將圖像以0.5的概率進行水平隨機翻轉。
CK+人臉表情數(shù)據(jù)集包括327個有效圖像序列,從118個不同個體中提取,每個個體包括7種表情:憤怒、輕蔑、厭惡、害怕、高興、悲傷、驚訝。每個圖像序列以中性表情作為首幀開始,到峰值表情作為最后一幀結束。為了獲得更多數(shù)據(jù),每個視頻最后三幀標記為該表情的訓練數(shù)據(jù),第一幀作為中性表情的訓練數(shù)據(jù)。
FER-2013數(shù)據(jù)集[15]有7種帶標簽的表情(包括中性表情),有28 709張訓練樣本以及3 589張測試樣本。
訓練策略:本文采用十折交叉驗證的策略。將數(shù)據(jù)集分成10份,其中8份用于訓練,剩余兩份分別作為驗證集和測試集。
首先采用多分類損失的網(wǎng)絡模型在FER-2013數(shù)據(jù)集上進行預訓練。然后采用隔離損失的網(wǎng)絡模型在CK+數(shù)據(jù)集上進行微調(diào)(fine-tune)。采用隨機梯度下降的訓練策略,其中,動量設為0.9,批處理大小為32,權重衰減為0.05。學習率初始設為0.001,每5 000次迭代乘以衰減因子0.1。訓練迭代為100次遍歷訓練集。在全連接層之后的Dropout層的概率值設為0.5。
用隔離損失作為損失函數(shù)的網(wǎng)絡模型相比多分類損失和中心損失效果取得了明顯的提升。其混淆矩陣如表1所示,矩陣對角線表示每種表情的準確率。其中,Ne表示中性,An表示高興,Co表示輕蔑,Di表示厭惡,F(xiàn)e表示害怕,Ha表示高興,Su表示驚訝。
表1 實驗結果的混淆矩陣 (%)
此外,將本文方法與HOG 3D[16]、Cov3D[17]、Inception[18]、IACNN[19]、DTAGN[20]等傳統(tǒng)經(jīng)典人臉表情識別方法進行了準確率的對比,對比結果如表2所示。
表2 人臉表情識別方法對比
實驗結果表明,加強了對特征空間的約束,使用隔離損失的方法準確率獲得了提升。將隔離損失與多分類損失和中心損失進行實驗對比,基于隔離損失的方法效果最好。可見,加大不同類特征之間的距離約束,可以提取更具判別性的特征,提升識別的準確率。
對特征進行可視化,從特征空間分布的角度驗證了隔離損失有效地減小了類內(nèi)特征差異,且增大了類間特征之間的距離。
對網(wǎng)絡結構全連接層的特征利用t-SNE[21]對高維向量進行降維可視化,結果如圖3所示。
圖3 表情特征分布
圖3中(a)、(b)、(c)所示分別為以多分類損失、中心損失、隔離損失作為損失函數(shù),學習之后的特征空間分布。圖3(b)相比于圖3(a)而言,同一類的特征分布更為聚集,說明中心損失可以有效減小類內(nèi)特征差異。而圖3(c)不僅相較于圖3(a)特征更為聚集,而且相對于圖3(b)聚類簇也更為分散,重疊部分小,說明隔離損失可以在減小類內(nèi)特征差異的同時,增大類間特征距離,使特征更具判別性。
本文針對人臉表情識別領域存在的特征判別性不足這一問題進行改進,提出了一種新的損失函數(shù)——隔離損失,用于改進特征分布,使同一類的特征更為聚集,不同類的特征更為遠離。為了驗證理論,提出了卷積神經(jīng)網(wǎng)絡的模型,結合隔離損失,進行了多組對比實驗。實驗結果表明,該方法能夠提升特征的判別性,并且取得很好的識別準確率。此項研究能夠讓人臉表情識別在現(xiàn)實場景下取得更為魯棒的效果,對于人臉表情識別的應用具有重要意義。
[1] EKMAN P, FRIESEN W V. Constants across cultures in the face and emotion[J]. Journal of Personality and Social Psychology, 1971, 17(2): 124-129.
[2] MOLLAHOSSEINI A, GRAITZER G, BORTS E, et al. Expressionbot: an emotive lifelike robotic face for face-to-face communication[C]//2014 14th IEEE-RAS International Conference on Humanoid Robots (Humanoids). IEEE, 2014: 1098-1103.
[3] GROSS R, MATTHEWS I, COHN J, et al. Multi-pie[J]. Image and Vision Computing, 2010, 28(5): 807-813.
[4] PANTIC M, VALSTAR M, RADEMAKER R, et al. Web-based database for facial expression analysis[C]//2005 IEEE International Conference on Multimedia and Expo. IEEE, 2005.
[5] LYONS M, AKAMATUS S, KAMACHI M, et al. Coding facial expressions with gabor wavelets[C]// Proceedings of the Third IEEE International Conference on Automatic Face and Gesture Recognition. IEEE, 1998: 200-205.
[6] MAVADATI S M, MAHOOR M H, BARTLETT K, et al. Disfa: a spontaneous facial action intensity database[J]. IEEE Transactions on Affective Computing, 2013, 4(2): 151-160.
[7] KRIZHEVSKY A, SUTSKEVER I, HINTON G E. Imagenet classification with deep convolutional neural networks[C]//Advances in Neural Information Processing Systems, 2012: 1097-1105.
[8] SZEGEDY C, LIU W, JIA Y, et al. Going deeper with convolutions[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2015: 1-9.
[9] TOSHEV A, SZEGEDY C. Deeppose: human pose estimation via deep neural networks[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2014: 1653-1660.
[10] TAIGMAN Y, YANG M, RANZATO M A, et al. Deepface: closing the gap to human-level performance in face verification[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2014: 1701-1708.
[11] KAHOU S E, PAL C, BOUTHILLIER X, et al. Combining modality specific deep neural networks for emotion recognition in video[C]//Proceedings of the 15th ACM on International Conference on Multimodal Interaction, 2013: 543-550.
[12] WEN Y, ZHANG K, LI Z, et al. A discriminative feature learning approach for deep face recognition[C]//European Conference on Computer Vision. Springer International Publishing, 2016: 499-515.
[13] LUCEY P, COHN J F, KANADE T, et al. The extended cohn-kanade dataset (ck+): a complete dataset for action unit and emotion-specified expression[C]//2010 IEEE Computer Society Conference on Computer Vision and Pattern Recognition Workshops (CVPRW). IEEE, 2010: 94-101.
[14] SARAGIH J M, LUCEY S, COHN J F. Face alignment through subspace constrained mean-shifts[C]//2009 IEEE 12th International Conference on Computer Vision. IEEE, 2009: 1034-1041.
[15] GOODFELLOW I J, ERHAN D, CARRIER P L, et al. Challenges in representation learning: a report on three machine learning contests[C]//International Conference on Neural Information Processing. Springer, Berlin, Heidelberg, 2013: 117-124.
[16] KLASER A, MARSZAEK M, SCHMID C. A spatio-temporal descriptor based on 3d-gradients[C]// 19th British Machine Vision Conference. British Machine Vision Association, 2008: 275: 1-10.
[17] SANIN A, SANDERSON C, HARANDI M T, et al. Spatio-temporal covariance descriptors for action and gesture recognition[C]//2013 IEEE Workshop on Applications of Computer Vision (WACV). IEEE, 2013: 103-110.
[18] MOLLAHOSSEINI A, CHAN D, MAHOOR M H. Going deeper in facial expression recognition using deep neural networks[C]//2016 IEEE Winter Conference on Applications of Computer Vision (WACV). IEEE, 2016: 1-10.
[19] MENG Z, LIU P, CAI J, et al. Identity-aware convolutional neural network for facial expression recognition[C]//2017 12th IEEE International Conference on Automatic Face & Gesture Recognition (FG 2017). IEEE, 2017: 558-565.
[20] JUNG H, LEE S, YIM J, et al. Joint fine-tuning in deep neural networks for facial expression recognition[C]// 2015 IEEE International Conference on Computer Vision (ICCV). IEEE, 2015: 2983-2991.
[21] MAATEN L, HINTON G. Visualizing data using t-SNE[J]. Journal of Machine Learning Research, 2008, 9: 2579-2605.