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