韓保金,任福繼
(1.合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院,安徽合肥 230601;2.德島大學(xué)先端技術(shù)科學(xué)教育部,德島7708502,日本)
人臉表情識(shí)別是人類情緒狀態(tài)識(shí)別的有效技術(shù)之一,表情識(shí)別技術(shù)廣泛應(yīng)用于智能問答、在線學(xué)習(xí)、用戶線上體驗(yàn)等智能化人機(jī)交互系統(tǒng)中,具有巨大的市場(chǎng)潛力與應(yīng)用背景,成為了人工智能領(lǐng)域的研究熱點(diǎn)[1].
人臉表情識(shí)別根據(jù)研究方法的不同,分為傳統(tǒng)方法與深度學(xué)習(xí)方法,傳統(tǒng)方法包括Gabor 小波、局部二值模式(LBP,Local binary patterns)[2]、方向梯度直方圖(HOG,Histogram of Gradient)等.Gabor 小波,可獲得最佳的局部化和類人式視覺接收?qǐng)瞿P?局部二值模式具有旋轉(zhuǎn)不變性和灰度不變性等顯著的優(yōu)點(diǎn).方向梯度直方圖對(duì)圖像幾何和光學(xué)形變都能保持很好的不變性,允許有一些細(xì)微的動(dòng)作變化并不影響檢測(cè)效果.李文輝等[3]提出了一種多通道Ga?bor 人臉識(shí)別方法:依據(jù)各通道特征可分離性判據(jù)確定特征提取區(qū)域,計(jì)算通道權(quán)值,采用模糊加權(quán)規(guī)則融合多通道的識(shí)別結(jié)果.基于特征的中性直方圖(包括灰度直方圖)特征和典型的表情特征,Mlakar 等[4]提出一種有效的特征選擇系統(tǒng)應(yīng)用于人臉表情識(shí)別系統(tǒng).Kwong等[5]提出了關(guān)鍵人臉檢測(cè)、顯著性映射、局部二值模式和方向梯度直方圖的12 種可能組合,以及6種機(jī)器學(xué)習(xí)分類算法,共生成72個(gè)模型.伴隨而來的又有許多輔助人臉表情識(shí)別的方法,如湯紅忠等[6]提出的人臉驗(yàn)證方法,判斷是否為同一個(gè)身份.這樣為以后處理人臉表情識(shí)別時(shí)可加上身份驗(yàn)證,從而提高識(shí)別正確率.綜上所述,傳統(tǒng)方法各有優(yōu)點(diǎn)且取得了較好的實(shí)驗(yàn)結(jié)果,但是由于傳統(tǒng)方法中提取的特征均在人工選定區(qū)域內(nèi),這樣就使得提取出來的特征只能在特定空間中,在沒有額外訓(xùn)練的情況下,很難形成其它特征用于提高人臉表情識(shí)別率.同時(shí),由于人臉姿態(tài)、圖片光照、攝影角度與不同膚色的人種等各種外界因素的改變對(duì)于識(shí)別正確率也造成了一些干擾,為了提高識(shí)別正確率需要在實(shí)驗(yàn)中加入更多的數(shù)據(jù)量,以提取充分的信息.
隨著計(jì)算機(jī)技術(shù)的發(fā)展,計(jì)算機(jī)軟硬件在性能上得到了顯著提升,為深度學(xué)習(xí)的提出與應(yīng)用創(chuàng)建了環(huán)境,其中以卷積神經(jīng)網(wǎng)絡(luò)為主的一系列網(wǎng)絡(luò)變體在理論與實(shí)際應(yīng)用中得到了廣泛的研究與應(yīng)用.其優(yōu)勢(shì)在于不用針對(duì)特定的圖像數(shù)據(jù)集或分類方式提取具體的人工特征,而是用類人式的視覺處理機(jī)制對(duì)圖像進(jìn)行抽象化處理,自動(dòng)進(jìn)行特征提取并篩選,這就能實(shí)現(xiàn)批量式的圖像處理,從而完成了對(duì)圖像自動(dòng)化處理的操作,免去了大量的人工勞動(dòng)且相較于之前的正確率得到了提升.卷積神經(jīng)網(wǎng)絡(luò)是一種有監(jiān)督的學(xué)習(xí)模型,具有局部連接、權(quán)值共享、下采樣的特點(diǎn),能夠有效地挖掘出數(shù)據(jù)局部特征,對(duì)圖像的平移縮放、旋轉(zhuǎn)都有較好的穩(wěn)定性.它能以原始數(shù)據(jù)作為輸入,通過卷積、池化與非線性激活函數(shù)等一系列操作,用于提取數(shù)據(jù)集中的特征.常用于圖像分類的CNN(Convolutional Neural Networks)[7-8]結(jié)構(gòu)模型種類繁多,如AlexNet[9]、VGG、ResNet[10]、BDBN.AlexNet 網(wǎng)絡(luò)模型創(chuàng)新性地采用ReLU 激活函數(shù),加快了模型的收斂速度.VGG-Net模型使用較小3*3 卷積核代替大卷積核,同時(shí)增加了模型深度.ResNet 模型解決了深度網(wǎng)絡(luò)的退化問題.TANG等[11]提出一種基于表情識(shí)別的課堂智能教學(xué)評(píng)價(jià)方法,該方法具有實(shí)時(shí)性、客觀性和細(xì)粒度的特點(diǎn),該方法充分考慮了學(xué)生的情緒狀態(tài),將情緒狀態(tài)模型與傳統(tǒng)的教學(xué)評(píng)價(jià)方法相結(jié)合,利用經(jīng)典的卷積神經(jīng)網(wǎng)絡(luò)AlexNet 完成了人臉表情識(shí)別的預(yù)訓(xùn)練,并在相應(yīng)的數(shù)據(jù)集上取得了良好的效果.
FEI 等[12]提出通過一種新的解決方案來處理面部圖像并解釋情緒的時(shí)間演變過程,從AlexNet 的完全連通的第6 層提取深層特征,并利用標(biāo)準(zhǔn)的線性判別分類器來獲得最終的分類結(jié)果.SARKAR 等提出[13]一種基于VGGNet 的卷積神經(jīng)網(wǎng)絡(luò)和一種新的處理技術(shù),所提出的方法可顯著提高數(shù)據(jù)集的性能,與不同數(shù)據(jù)集比較也證明了該方法的優(yōu)越性.TRIPATHI 等[14]提出了一種基于語音特征并在聚焦損失下訓(xùn)練的殘差卷積神經(jīng)網(wǎng)絡(luò)(ResNet)來識(shí)別語音情感.
上述研究方法針對(duì)情感分類問題從多個(gè)方向進(jìn)行了改進(jìn),如網(wǎng)絡(luò)深度、激活函數(shù)、損失函數(shù)等,但沒有使用能夠提取特征信息較豐富的網(wǎng)絡(luò)結(jié)構(gòu)且對(duì)于冗余特征也未做處理.
本文針對(duì)人臉表情識(shí)別中提取的特征信息豐富度較低與冗余特征未被處理等問題,進(jìn)行了兩個(gè)方面的改進(jìn):1)選擇了能夠提取較豐富特征信息的卷積神經(jīng)網(wǎng)絡(luò)作為基礎(chǔ);2)增加了多層感知機(jī),通過標(biāo)定不同特征的權(quán)重來提取主要特征,抑制冗余特征.
本文主要的研究框架是基于Xception 模型構(gòu)建,如圖1所示,其框架由3個(gè)主要部分組成,分別為輸入層,中層和輸出層.輸入層主要作用是用來不斷下采樣,減少空間維度.中層的主要作用是為了不斷學(xué)習(xí)關(guān)聯(lián)關(guān)系,優(yōu)化特征.輸出層的主要作用為最終匯總,整理特征,交由全連接層(FC,fully connected layer)進(jìn)行表達(dá).
圖1 Xception 模型的主要網(wǎng)絡(luò)模塊示意圖[15]Fig.1 Diagram of main network module of Xception model[15]
Xception 算法是在inceptionv3 基礎(chǔ)上進(jìn)行改進(jìn)的,把inceptionv3 中的3*3 模塊全部換成了depth?wise separable convolution(深度可分離卷積).通常標(biāo)準(zhǔn)卷積操作將特征圖的空間相關(guān)性與通道間相關(guān)性一并處理,而深度可分離卷積則將空間與通道信息處理過程完全分開.Depthwise卷積的主要作用
為將每個(gè)輸入特征通道單獨(dú)卷積,若輸入特征圖數(shù)量為n,卷積核大小為m*m,這樣每個(gè)輸入特征圖都將對(duì)應(yīng)一個(gè)獨(dú)立的m*m 卷積核進(jìn)行卷積,輸出n 個(gè)特征圖.而Pointwise 卷積使用1*1 的標(biāo)準(zhǔn)卷積來關(guān)聯(lián)特征通道之間的相關(guān)性輸出特征.其結(jié)構(gòu)如圖2所示.
圖2 深度可分離卷積結(jié)構(gòu)圖[16]Fig.2 Architecture of depth separable convolution[16]
深度可分離卷積可以在保留較高準(zhǔn)確率的情況下減少大量的模型參數(shù)和計(jì)算量.雖然深度可分離卷積減少了參數(shù)量,但是Xception 模型的總參數(shù)量與InceptionV3 相差不大,主要原因?yàn)閄ception模型旨在提高分類效果,在網(wǎng)絡(luò)其他位置增加了參數(shù)量.
多層感知機(jī)(multilayer perceptron,MLP)由感知機(jī)發(fā)展而來,其主要特征是有多個(gè)神經(jīng)元層.其基本結(jié)構(gòu)包括輸入層、隱含層與輸出層,其隱含層的數(shù)量可多可少,輸入層到隱含層可看作一個(gè)全連接層,隱含層到輸出層可看作一個(gè)分類器.
圖3 所示的多層感知機(jī)模型中,輸入和輸出個(gè)數(shù)分別為4 和3,中間的隱藏層中包含了5 個(gè)隱藏單元(hidden unit).由于輸入層不涉及計(jì)算,所以圖3中的多層感知機(jī)的層數(shù)為2.由圖3 可見,隱藏層中的神經(jīng)元和輸入層中各個(gè)輸入完全連接,輸出層中的神經(jīng)元和隱藏層中的各個(gè)神經(jīng)元也完全連接.因此,多層感知機(jī)中的隱藏層和輸出層都是全連接層.
圖3 多層感知機(jī)結(jié)構(gòu)圖Fig.3 Structure diagram of multilayer perceptron
由圖1,輸入層在不斷下采樣,減少空間維度,同時(shí)也在保持原始特征的學(xué)習(xí),這樣就可以提取更深層的特征避免了原始特征的丟失.中層在不斷學(xué)習(xí)關(guān)聯(lián)關(guān)系,優(yōu)化特征,同時(shí)也在學(xué)習(xí)輸入層中所學(xué)習(xí)的特征,如此既能學(xué)習(xí)到中層特征也能學(xué)習(xí)到輸入層中的特征,進(jìn)而能夠獲得較豐富的特征信息.由圖3可以直觀看出多層感知機(jī)的結(jié)構(gòu),輸入層與隱藏層直接相連,隱藏層與輸出層直接相聯(lián),而且多層感知機(jī)中隱藏層的參數(shù)隨著訓(xùn)練的進(jìn)行隨時(shí)變動(dòng),更加有利于輸入層信息量與輸出層信息量達(dá)到盡量相一致,同時(shí)又可以對(duì)特征進(jìn)行加權(quán)處理,從而加強(qiáng)了重要特征的權(quán)重.
將由Xception 網(wǎng)絡(luò)模型提取出的特征向量送入多層感知機(jī)中,并利用softmax 函數(shù)對(duì)所提取的特征向量進(jìn)行權(quán)重學(xué)習(xí),從而得到一組最優(yōu)的權(quán)重分布.通過訓(xùn)練集對(duì)網(wǎng)絡(luò)進(jìn)行有監(jiān)督的訓(xùn)練,不斷地學(xué)習(xí)圖像中的內(nèi)容.在訓(xùn)練過程中,通過不斷地調(diào)整MLP中的層數(shù)與層內(nèi)的各參數(shù),最終確定在層數(shù)為3 時(shí),整個(gè)模型效果最好,所以本文提出了[(Xception+3lay)如下圖4(a)所示的網(wǎng)絡(luò)結(jié)構(gòu)],為對(duì)比網(wǎng)絡(luò)效果,還作出了圖4(b)(Xception+2lay)的結(jié)構(gòu)作為一種對(duì)比網(wǎng)絡(luò)結(jié)構(gòu).
圖4 增加lay結(jié)構(gòu)的輸出層Fig.4 Add the output layer of lay structure
為了評(píng)估本文提出的算法,本節(jié)將在三個(gè)公開的面部表情數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),這三個(gè)數(shù)據(jù)集分別是日本女性面部表情庫(kù)(JAFFE)、擴(kuò)展的Cohnkanade 庫(kù)(CK+)表情庫(kù)和MMI 數(shù)據(jù)集.由于本文實(shí)驗(yàn)針對(duì)靜態(tài)圖像,因此截取視頻序列((CK+)表情庫(kù)與MMI 表情庫(kù))的表情變化的三個(gè)峰值作為圖像樣本,及對(duì)JAFFE 數(shù)據(jù)庫(kù)的表情對(duì)其眼部周圍添加噪聲,所有圖片縮放為48*48.如圖5 所示為處理后照片的形式,前三張為(CK+)表情庫(kù)處理后的照片形式,中間三張為JAFFE 表情庫(kù)處理后的照片形式,后三張為MMI表情庫(kù)處理后的照片形式.如表1所示,各個(gè)表情數(shù)據(jù)集的分布與對(duì)應(yīng)情感類圖像數(shù)量,其中CK+圖像總數(shù)量為981 張,JAFFE 圖像總數(shù)量為639 張.MMI 圖像總數(shù)量為609 張,形成的總圖片數(shù)為2229張.
表1 JAFFE、CK+和MMI樣本分布Tab.1 Sample distribution of JAFFE、CK+and MMI
圖5 處理后照片的形式Fig.5 Form of processed photos
實(shí)驗(yàn)中,在訓(xùn)練階段,采用隨機(jī)切割44*44 的圖像,并將圖像進(jìn)行隨機(jī)鏡像,然后送入訓(xùn)練.在測(cè)試階段,避免訓(xùn)練集中的圖像進(jìn)入測(cè)試集中.將圖片在左上角、左下角、右上角、右下角、中心進(jìn)行切割并做鏡像操作,這樣的操作使得所要訓(xùn)練的數(shù)據(jù)集的數(shù)量擴(kuò)大了10 倍,再將這10 張圖片送入模型中.然后將得到的概率值取平均,最大的值即為對(duì)應(yīng)表情類別,這種方法有效地降低了誤識(shí)別率.
實(shí)驗(yàn)需用相關(guān)環(huán)境如下:操作系統(tǒng)為18.04.1-Ubuntu 版本,顯卡為12 G 顯存Nvidia GeForce GTX1080Ti 一塊,CPU 為Intel(R)Xeon(R)CPU E5-2620 v3@2.40 GHz,Python版本為Python3.6.10,深度學(xué)習(xí)框架安裝pytorch1.6.0,TensorFlow 版本為1.14.0.實(shí)驗(yàn)使用GPU 加快模型計(jì)算速度,減少訓(xùn)練時(shí)間,選擇小批次帶動(dòng)量參數(shù)的隨機(jī)梯度下降法(stochastic gradient descent,SGD)作為模型參數(shù)優(yōu)化器(Optimizer).學(xué)習(xí)率更新采用固定周期縮減策略,將初始學(xué)習(xí)率設(shè)置為0.01;其余相關(guān)設(shè)置見表2,本實(shí)驗(yàn)所需相關(guān)參數(shù)是在實(shí)驗(yàn)中不斷調(diào)試后才最終確定.為了擴(kuò)大數(shù)據(jù)集并增強(qiáng)模型泛化能力,本文將采用十折交叉法,將JAFFE、CK+和MMI 數(shù)據(jù)集上的樣本總量大致平均分為10 份,每次試驗(yàn)從中選取其中9份即樣本總量的90%作為訓(xùn)練樣本,剩余的被用作測(cè)試.
表2 相關(guān)參數(shù)設(shè)置Tab.2 Related parameter settings
為了驗(yàn)證本文所提出方法的有效性,將本文方法與Xception 和Xception+2lay 作對(duì)比分析.1)在三個(gè)數(shù)據(jù)集上使每個(gè)模型由隨機(jī)參數(shù)開始訓(xùn)練,直至收斂,并且保證三個(gè)模型在相同條件下完成訓(xùn)練.2)在模型訓(xùn)練過程中,訓(xùn)練集每迭代完一個(gè)周期,對(duì)測(cè)試數(shù)據(jù)集進(jìn)行一次測(cè)試,達(dá)到所需訓(xùn)練周期后,迭代終止.3)為了保證實(shí)驗(yàn)數(shù)據(jù)的可靠性,實(shí)驗(yàn)重復(fù)進(jìn)行了十次,計(jì)算平均值作為識(shí)別結(jié)果,表3 為對(duì)比數(shù)據(jù)的結(jié)果.
表3 消融實(shí)驗(yàn)對(duì)比Tab.3 Comparison of ablation experiments
由表3 可以得出,三個(gè)數(shù)據(jù)集在Xception、Xcep?tion+2lay 與本文所提算法表現(xiàn)都良好,但前兩個(gè)網(wǎng)絡(luò)沒有本文所提網(wǎng)絡(luò)的效果好.從單個(gè)分支來看,在CK+數(shù)據(jù)集上Xception、Xception+2lay 與本文提出的算法相差不大且分類正確率是遞增的狀態(tài),可推測(cè)多層感知機(jī)確實(shí)能提高特征信息利用率.三個(gè)網(wǎng)絡(luò)在JAFFE 數(shù)據(jù)集上的表現(xiàn)差異較大.前兩個(gè)網(wǎng)絡(luò)結(jié)構(gòu)表現(xiàn)不佳,一方面是由于JAFFE 數(shù)據(jù)集本身數(shù)據(jù)量較少,提取特征信息中含有較多冗余信息,另一方面也可得出前兩個(gè)網(wǎng)絡(luò)無法有效地除去冗余特征,導(dǎo)致識(shí)別正確率表現(xiàn)不佳.而本文所提出的網(wǎng)絡(luò)結(jié)構(gòu)中含多層感知機(jī),能夠有效減少冗余特征,所以即使在有較多冗余特征的情況下也能表現(xiàn)出較好的結(jié)果.在MMI 數(shù)據(jù)集上,總體識(shí)別率并不高,一方面是由于個(gè)體表情之間差異較大,另一方面可能是由于遮擋物(如化妝、配戴眼鏡)導(dǎo)致的識(shí)別率總體一般.但是本文所提方法與前兩種方法相比,具有明顯優(yōu)勢(shì),這就從側(cè)面說明多層感知機(jī)能提取重要特征,提高正確識(shí)別率.
由圖6 可知,在CK+數(shù)據(jù)集總體正確識(shí)別率為98.9%,在JAFFE 數(shù)據(jù)集總體正確識(shí)別率為98.9%,在MMI 數(shù)據(jù)集總體正確識(shí)別率為80.1%.在表情分類中,高興與驚訝的識(shí)別效果最好,而害怕與傷心表情的識(shí)別效果較低,出現(xiàn)這種結(jié)果,主要是由于高興與驚訝表情的變化較為明顯,而害怕與悲傷的變化不太明顯,圖像中的表情反應(yīng)的特征上可以看出,高興與驚訝表情圖像所提取的特征差異較大,易于區(qū)分,從而為以后識(shí)別正確率高奠定了基礎(chǔ).而害怕與悲傷圖像所提取的特征差異較小,在分類過程中易出現(xiàn)混淆,這樣就導(dǎo)致其分類正確率相對(duì)較低一些.CK+數(shù)據(jù)集與JAFFE 的正確率相對(duì)于MMI數(shù)據(jù)集要高一些,這是因?yàn)镸MI 數(shù)據(jù)集中人臉遮擋物所致和個(gè)體表情之間差異較大的原因所致.
圖6 CK+,JAFFE,MMI表情分類混合矩陣Fig.6 Mixed matrix of CK+,JAFFE and MMI expression classification
本次采用了不同方法與本文方法進(jìn)行對(duì)比,表4給出了對(duì)比結(jié)果.從表4 中可看出Lenet-5 在CK+、JAFFE 與MMI 正確率分別為85.31%、82.67% 與68.644%;本文所提算法正確率最高,由此可得本文所提算法是一種性能優(yōu)良的網(wǎng)絡(luò)模型.文獻(xiàn)[2]提出了一種基于特征局部紋理編碼算子——中心對(duì)稱局部梯度編碼,然后通過訓(xùn)練一臺(tái)極限學(xué)習(xí)機(jī)來估計(jì)預(yù)期的值.這樣通過局部紋理與極限學(xué)習(xí)相結(jié)合,可以提高局部特征利用率,但是由于極限學(xué)習(xí)的訓(xùn)練速度慢,易陷入局部極小值對(duì)于學(xué)習(xí)率較敏感,所以在訓(xùn)練后的效果上可能提升不高.其中文獻(xiàn)[7]提取圖像的多對(duì)角HOG 特征,并與CNN 合并提出了一種優(yōu)化算法的分類器融合方法,通過迭代取得了很好的結(jié)果.文獻(xiàn)[8]提出了基于靜態(tài)圖像的雙通道加權(quán)混合深度卷積神經(jīng)網(wǎng)絡(luò).文獻(xiàn)[9]提出了一種基于多方向梯度計(jì)算HOG(moo-HOG)特征和深度學(xué)習(xí)特征的分類器迭代融合了面部表情識(shí)別方法(AlexNet).文獻(xiàn)[7]、[9]都是通過傳統(tǒng)方法與卷積神經(jīng)網(wǎng)絡(luò)結(jié)合起來,由于提取的特征過于單一,所以可以適當(dāng)改進(jìn)提取特征方法.文獻(xiàn)[17]提出一種表達(dá)式分類利用概率圖模型提高小尺度樣本集學(xué)習(xí)算法的準(zhǔn)確性的算法.文獻(xiàn)[18]提出了一種基于奇異值分解的共聚類特征選擇策略,利用該策略尋找表情特征中具有較高識(shí)別能力的最顯著區(qū)域.文獻(xiàn)[19]提出了一種基于局部的分層雙向遞歸神經(jīng)網(wǎng)絡(luò)(PHRNN)來分析時(shí)序序列的面部表情信息.文獻(xiàn)[20]提出了一種具有注意機(jī)制的卷積中立網(wǎng)絡(luò)(CNN),它能夠感知人臉的遮擋區(qū)域,并將焦點(diǎn)集中在最具辨別性的非遮擋區(qū)域,針對(duì)不同的ROI,介紹了ACNN的兩種版本:基于補(bǔ)丁的ACNN(pACNN)和基于全局局部的ACNN(gACNN).pACNN 只關(guān)注局部面片.gACNN 將補(bǔ)丁級(jí)的局部表示與圖像級(jí)的全局表示集成在一起.文獻(xiàn)[21]提出了一種期望最大化算法來可靠地估計(jì)情感標(biāo)簽,揭示了現(xiàn)實(shí)世界中的人臉往往表現(xiàn)出復(fù)合甚至混合的情感.文獻(xiàn)[22]提出了一個(gè)多任務(wù)的深度框架,借助關(guān)鍵點(diǎn)特征識(shí)別人臉表情.
表4 與其他方法對(duì)比表Tab.4 Comparison with other methods
本文所提出的方法,在CK+、JAFFE 和MMI 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,相比于其他常用模型,本文方法的識(shí)別效果最好;在分支消融實(shí)驗(yàn)結(jié)果與其它方法的結(jié)果對(duì)比中發(fā)現(xiàn),Xception網(wǎng)絡(luò)對(duì)于表情分類來說確實(shí)有一定的優(yōu)勢(shì),增加了多層感知機(jī)后可以有效提高分類正確率.以上都是針對(duì)靜態(tài)圖片,而隨著視屏廣泛在日常生活中出現(xiàn),如何把語音與圖像相結(jié)合進(jìn)行情感分析將是下一步要做的工作.