雒翠萍,聶志剛
(甘肅農(nóng)業(yè)大學(xué)信息科學(xué)技術(shù)學(xué)院,甘肅 蘭州 730070)
人臉表情是人與人之間進(jìn)行情感信息傳遞和人際關(guān)系協(xié)調(diào)的主要方式。心理學(xué)家通過研究發(fā)現(xiàn),日常生活中人們通過語言進(jìn)行信息傳遞的信息量在總信息量中只占7%,然而通過人臉表情傳遞的要占到總信息量的55%。這些數(shù)據(jù)充分說明了人臉面部表情在人們?nèi)粘I罱涣髦姓加兄匾恢谩C娌勘砬槭橇私馓囟繕?biāo)對象情緒狀況的重要信息,與其他任何跡象相比,大多數(shù)人的情感表情都可以在面部觀察到[1]。
目前國內(nèi)外人臉表情識別技術(shù)發(fā)展迅猛,人臉面部表情分析在許多人機(jī)交互系統(tǒng)中具有重要的實用意義。因此,許多學(xué)者針對人臉表情識別做了大量的研究工作。美國學(xué)者Ekman[2]在20 世紀(jì)70 年代通過大量的人臉表情識別實驗,首次將表情劃分為6 種基本形式,包括悲傷、快樂、害怕、厭惡、驚訝和生氣。過去10 年許多研究學(xué)者進(jìn)行了面部表情識別研究,大多數(shù)方法都使用手工特征或淺層學(xué)習(xí)進(jìn)行面部表情識別。自2013 年以來,面部表情識別技術(shù)和真實場景情緒識別等情感識別比賽收集到了相對充足的訓(xùn)練數(shù)據(jù)集,這些數(shù)據(jù)集都是來自現(xiàn)實生活中的場景,具有極大的挑戰(zhàn)性。隨著圖像數(shù)據(jù)的增多、數(shù)據(jù)集的擴(kuò)充,深度學(xué)習(xí)網(wǎng)絡(luò)特別是卷積神經(jīng)網(wǎng)絡(luò)已經(jīng)廣泛地應(yīng)用于計算機(jī)視覺領(lǐng)域[3]。將基于卷積神經(jīng)網(wǎng)絡(luò)的深度神經(jīng)網(wǎng)絡(luò)應(yīng)用到表情識別中,可以同時提取數(shù)據(jù)集的特征和對數(shù)據(jù)集進(jìn)行分類。由于深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)的分類準(zhǔn)確率高且實用效果明顯,許多學(xué)者結(jié)合深度學(xué)習(xí)在各自的研究領(lǐng)域上不斷創(chuàng)新。Szegedy[4]提出了Google Net 網(wǎng)絡(luò)結(jié)構(gòu):一個22 層的深度學(xué)習(xí)卷積神經(jīng)網(wǎng)絡(luò)。在2014年Image Net 視覺識別挑戰(zhàn)賽(ILSVRC 14)中,這個網(wǎng)絡(luò)獲得了6.67%的TOP5 錯誤率。Chollet 等[5]在Google 提出XCEPTION 的網(wǎng)絡(luò)結(jié)構(gòu)基礎(chǔ)之上進(jìn)行改進(jìn),提出mini-Xception 框架,該模型在分類性能上有明顯的提高。在最新的人臉技術(shù)研究中,Zheng 等[6]提出了一種新的深度人臉識別網(wǎng)絡(luò),將老化引起的變化從穩(wěn)定的特定特征中分離出來,使用年齡根據(jù)任務(wù)來獲取年齡不變的特征。Chen[7]提出了一種基于條件生成對抗網(wǎng)的深度人臉細(xì)節(jié)網(wǎng),該網(wǎng)絡(luò)結(jié)構(gòu)根據(jù)復(fù)雜的面部表情使用幾何和外觀損失函數(shù),自動生成高質(zhì)量具備真實細(xì)節(jié)的三維人臉[8]。Kumawat等[9]提出了一種新的三維卷積神經(jīng)網(wǎng)絡(luò),它可以在不使用人臉標(biāo)志的情況下,對時間序列圖像進(jìn)行端到端的面部表情識別訓(xùn)練,能顯著減少可訓(xùn)練參數(shù)的數(shù)量。綜上所述,基于卷積神經(jīng)網(wǎng)絡(luò)的深度神經(jīng)網(wǎng)絡(luò)應(yīng)用于表情分類已經(jīng)成為熱門,并在各種數(shù)據(jù)集上具有很好的分類效果。本研究采用Open CV 內(nèi)置算法進(jìn)行人臉檢測,利用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行面部表情識別,實現(xiàn)對人臉最基本的7 種表情進(jìn)行識別,在面部表情特征表現(xiàn)明顯的情況下能達(dá)到較高的識別精度。
人臉表情識別主要分為4 個步驟:(1)人臉面部采集和部位檢測;(2)人臉圖像增強(qiáng);(3)人臉特征提?。唬?)人臉表情識別分類。人臉采集是指對人臉區(qū)域進(jìn)行自動檢測和人臉確定,從而獲得一定時間內(nèi)的圖像或人臉圖像序列的處理階段。面部采集可以通過兩種方式完成,即檢測頭部位置或直接檢測面部位置。確定面部位置后,下一步是提取和識別面部表情引起的面部變化。面部特征的提取可以通過一些方法來完成,使用特定形成某些幾何圖形的面部點,如眼睛或嘴?;谡麄€面部外觀特征如顏色、皺紋、面部運(yùn)動或者其他一些方法(基于混合的)。特征提取后根據(jù)不同的面部特征進(jìn)行分類,并輸出7 種基本表情的概率,選取最大概率的表情作為表情識別結(jié)果。人臉表情識別系統(tǒng)處理流程(圖1)。
圖1 人臉表情識別系統(tǒng)處理流程圖
用于訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)模型的數(shù)據(jù)集采用FER2013 數(shù)據(jù)集,該數(shù)據(jù)集是人臉表情公開數(shù)據(jù)集。用于實驗結(jié)果驗證的數(shù)據(jù)集是采用攝像頭捕獲實時視頻獲取每一幀的人臉圖像或人臉表情的圖片,通過該數(shù)據(jù)集對人臉表情識別的實驗結(jié)果進(jìn)行初步驗證。本研究使用Open CV 調(diào)用攝像頭獲取實時視頻流,通過創(chuàng)建Video Capture 對象捕獲視頻,數(shù)據(jù)集采集流程(圖2)。
圖2 人臉圖像采集流程
與面部表情無關(guān)的因素有背景、光照強(qiáng)度、身份偏差和頭部姿勢等。這些影響因素在無約束的場景中是非常常見的。因此,在進(jìn)行卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練之前,需要對訓(xùn)練數(shù)據(jù)進(jìn)行預(yù)處理,盡可能地消除無關(guān)因素的影響,包括面部對齊、數(shù)據(jù)擴(kuò)充和標(biāo)準(zhǔn)化[10]。圖像預(yù)處理是用來提高人臉表情識別性能的過程,在神經(jīng)網(wǎng)絡(luò)特征提取過程之前進(jìn)行。所有圖像的大小標(biāo)準(zhǔn)化為48 像素×48 像素后,用了數(shù)據(jù)增廣的方法。每幅圖像用不同的線性變換放大10 倍,這些變換包括水平翻轉(zhuǎn)、以介于(-30,30)之間的隨機(jī)角度旋轉(zhuǎn)、傾斜中心區(qū)域和縮放圖像的4 個角。最后,將所有圖像進(jìn)行歸一化處理,處理為0 單位方差、0 均值。
在實驗中,使用已經(jīng)訓(xùn)練過且分類效果好的模型進(jìn)行表情特征提取和表情分類。模型是由一種通用的卷積神經(jīng)網(wǎng)絡(luò)構(gòu)建框架,該框架被稱作mini-Xception。這個模型被證明在取得良好效果的同時能減少模型中80 倍的參數(shù)。因此,該模型采用龐大數(shù)據(jù)集進(jìn)行訓(xùn)練時,模型分類的準(zhǔn)確率能夠得到提升。模型基于FER2013 數(shù)據(jù)集利用Keras 框架擴(kuò)大數(shù)據(jù)集進(jìn)行訓(xùn)練,模型分類準(zhǔn)確率可從66%提高到70%。FER2013 數(shù)據(jù)集中存在像有圍巾、眼鏡、帽子等遮擋物以及人臉角度的問題。這些問題對人臉表情識別造成特征提取困難,但該數(shù)據(jù)集更加符合實際生活的場景??紤]到模型在FER2013 數(shù)據(jù)集的分類準(zhǔn)確率比較高的情況下,決定采用mini-Xception模型架構(gòu)(圖3)。
圖3 模型架構(gòu)圖
訓(xùn)練過程中是通過損失函數(shù)定義模型的效果及優(yōu)化的目標(biāo),通過監(jiān)督學(xué)習(xí)讓模型學(xué)習(xí)圖像的特征。卷積神經(jīng)網(wǎng)絡(luò)特征提取的過程檢查被看作是一個黑盒操作,提取特征數(shù)據(jù)進(jìn)行卷積模型訓(xùn)練,從而得到訓(xùn)練模型[11]。卷積神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練流程圖(圖4)。
圖4 卷積神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練流程圖
圖4中反向傳播算法是在已知分類的情況下,為給定的輸入模式訓(xùn)練某些給定的前饋神經(jīng)網(wǎng)絡(luò)的算法,通過該算法根據(jù)前一次運(yùn)行獲得的錯誤率對神經(jīng)網(wǎng)絡(luò)的權(quán)值進(jìn)行微調(diào),采用這種方法可以降低錯誤率,提高模型的可靠性。神經(jīng)網(wǎng)絡(luò)訓(xùn)練是通過反向傳播實現(xiàn)的[12]。
卷積神經(jīng)網(wǎng)絡(luò)在輸入的灰度圖中選擇感興趣區(qū)域來提取特征。將這些被提取的特征送到神經(jīng)網(wǎng)絡(luò)的分類器中,用神經(jīng)網(wǎng)絡(luò)通過在訓(xùn)練時學(xué)習(xí)到的表情特征對輸入的特征進(jìn)行分類。學(xué)習(xí)到的表情特征包括悲傷、快樂、中立、厭惡、驚訝、害怕和生氣。進(jìn)行分類時,訓(xùn)練過的模型將會預(yù)測輸入圖像在7種不同表情中的概率,在輸出表情識別結(jié)果時,選取最大概率的表情類作為識別結(jié)果。
通過實時攝像頭獲取人臉圖像,分別進(jìn)行人臉識別、面部表情識別。人臉識別中進(jìn)行人臉特征的提取,通過特征進(jìn)行人臉檢測,檢測后的人臉圖像進(jìn)行裁剪、歸一化、數(shù)據(jù)增強(qiáng)、人臉標(biāo)準(zhǔn)化等圖像預(yù)處理。經(jīng)過處理的人臉圖像進(jìn)行面部表情識別,已經(jīng)進(jìn)行了面部特征學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)模型對輸入的人臉圖像進(jìn)行特征提取。神經(jīng)網(wǎng)絡(luò)模型將提取的不同面部特征進(jìn)行分類,并輸出同一張人臉圖像上7種不同表情的概率。系統(tǒng)選取7種不同表情的概率中最大概率的表情作為識別結(jié)果。人臉表情識別結(jié)果顯示中立、悲傷的表情超過70%,厭惡、生氣、害怕的表情超過80%,高興、驚訝的表情超過90%(表1)。
表1 人臉表情識別概率 %
本研究主要通過Open CV內(nèi)置算法進(jìn)行人臉檢測,基于深度學(xué)習(xí)卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行人臉表情識別。實驗結(jié)果表明,在表情特征表現(xiàn)明顯時,基于深度學(xué)習(xí)的人臉表情識別系統(tǒng)對7種不同的表情能夠進(jìn)行準(zhǔn)確識別,識別精度都超過70%。但在表情特征不明顯或者模糊的情況下,識別結(jié)果容易混淆,即同一張人臉圖像中7種不同表情的概率比差異不大,造成識別精度不高的現(xiàn)象。因此,需要更龐大的數(shù)據(jù)集訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型,并進(jìn)一步優(yōu)化卷積神經(jīng)網(wǎng)絡(luò)模型。