張士豹 王文韜
摘? 要:針對目前人臉表情識別的準(zhǔn)確率偏低、訓(xùn)練速度較慢、泛化能力弱等問題,提出了改進的VGGNet,添加BN算法和PReLU激活函數(shù),在圖像預(yù)處理時加入高斯濾波和直方圖均衡化,并且使用FER2013、AffectNet、JAFFE、CK+四種數(shù)據(jù)集進行比較分析。最終的實驗結(jié)果表明,該模型在四種數(shù)據(jù)集上的識別準(zhǔn)確率都有所提高,在四種數(shù)據(jù)集上的準(zhǔn)確率達(dá)到73.52%、84.66%、94.28%、95.26%。在測試集上的泛化能力較強,訓(xùn)練速度也變快。
關(guān)鍵詞:卷積神經(jīng)網(wǎng)絡(luò);激活函數(shù);BN算法;表情識別
中圖分類號:TP391.4;TP183? ? ? ? ? ? ? 文獻(xiàn)標(biāo)識碼:A文章編號:2096-4706(2021)23-0100-04
Research on Facial Expression Recognition Based on Improved VGG Model
ZHANG Shibao, WANG Wentao
(Nanjing University of Information Science & Technology, Nanjing? 210044, China)
Abstract: In view of the low accuracy, slow training speed, and weak generalization ability of facial expression recognition at present. An improved VGGNet is proposed, adds Batch Normalization (BN) algorithm and PReLU activation function. Gaussian filtering and histogram equalization are used in image preprocessing, and four data sets of FER2013, AffectNet, JAFFE, CK+ are used for comparative analysis. The final experimental results show that the recognition accuracy of the model has been improved on the four data sets, and the accuracy of the mode on the four data set has reached 73.52%, 84.66%, 94.28% and 95.26%. The generalization ability of the model on the test sets is strong, and the training speed is also faster.
Keywords: convolutional neural network; activation function; BN algorithm; facial expression recognition
0? 引? 言
人臉表情識別是人臉識別技術(shù)的分支。隨著計算機技術(shù)發(fā)展,人臉表情識別可以實現(xiàn)對人臉表情的理解,有效改變?nèi)伺c計算機的關(guān)系。人臉表情識別技術(shù)在人機交互、心理學(xué)、在線學(xué)習(xí)、廣告營銷、機器人制造、智能制造、動畫合成等領(lǐng)域有很廣泛的應(yīng)用。
人臉表情識別有兩大類方法:對人臉表情進行特征提取和深度學(xué)習(xí)的方法。何穎等人[1]融合了局部方向模式(LDP)和中心二值化模式(CBP)對全臉和局部特征進行提取,并引入HOSVD進行精確匹配,準(zhǔn)確率提高了17%。張慶等人[2]提出循環(huán)鏈碼編碼的人臉表情幾何特征提取算法,比經(jīng)典LBP特征鑒別方法準(zhǔn)確率提高約10%。Lajevardi等人[3]使用Gabor濾波器、log Gabor濾波器、局部二值模式(LBP)算子、高階局部自相關(guān)(HLAC)和HLACL的方法對選定的幀進行處理以生成臉部特征,并比較其準(zhǔn)確性。雖然新的特征提取的方法可以提高準(zhǔn)確率但其誤差依然比深度學(xué)習(xí)方法要大。深度學(xué)習(xí)方法則是以人工神經(jīng)網(wǎng)絡(luò)為架構(gòu),通過多層處理以及誤差反向傳播對人臉特征進提取的。近年來隨著深度學(xué)習(xí)的廣泛應(yīng)用,人臉表情識別也通過使用深度學(xué)習(xí)方法來提高泛化性和魯棒性并取得很好的效果。
Minaee等[4]提出了一種基于ACN的深度學(xué)習(xí)方法,該方法能夠?qū)W⒂谌四樀闹匾糠郑⒃诙鄠€數(shù)據(jù)集上實現(xiàn)了顯著的改進。Jiao等[5]提出了一種基于融合的VGG網(wǎng)絡(luò)集成方案。利用4個對MEC數(shù)據(jù)集進行微調(diào)的VGGFace模型集成,對驗證數(shù)據(jù)的精度分別為51.06%。Zhong等[6]提出了一種基于ResNet和SENet的簡化高效神經(jīng)網(wǎng)絡(luò)。FFE2013和CK+數(shù)據(jù)庫上的識別準(zhǔn)確率分別為74.14%和95.25%。與VGG相比提高了模型的精度,而且減小了模型的尺寸,在模型參數(shù)的大小和識別精度方面與現(xiàn)有方法相比具有競爭力。程換新等[7]設(shè)計了一種基于卷積神經(jīng)網(wǎng)絡(luò)(CNN)和長短期記憶神經(jīng)網(wǎng)絡(luò)(LSTM)的方法,使用3個數(shù)據(jù)集驗證模型準(zhǔn)確性,所提出的模型具有較強的泛化能力。
本文則在VGGNet網(wǎng)絡(luò)的基礎(chǔ)上,在輸入層加入Batch Normalization操作,使每層神經(jīng)網(wǎng)絡(luò)輸入是相同分布,加快訓(xùn)練速度,提高學(xué)習(xí)率,并且在激活函數(shù)上使用自適應(yīng)PReLU來提高收斂速度、降低錯誤率。將改進VGG網(wǎng)絡(luò)在FER2013、AffectNet、JAFFE、CK+四個數(shù)據(jù)集上的運行結(jié)果和原始VGGNet、ResNet、MobileNet進行對比分析,準(zhǔn)確率有所提升。
1? VGGNet網(wǎng)絡(luò)及其改進
1.1? VGGNet網(wǎng)絡(luò)
VGGNet是由Karen等[8]于2014年提出的,主要是通過提高網(wǎng)絡(luò)深度來提高網(wǎng)絡(luò)性能,用堆疊的小卷積核來替代大的卷積核,在相同感知野下能提高網(wǎng)絡(luò)深度。VGGNet根據(jù)網(wǎng)絡(luò)深度不同可以分為VGG16和VGG19。其基本結(jié)構(gòu)包括卷積層、池化層、全連接層,VGG網(wǎng)絡(luò)模型具體形式如圖1所示。
1.2? VGGNet網(wǎng)絡(luò)的改進
改進的VGGNet網(wǎng)絡(luò)在原始網(wǎng)絡(luò)框架的基礎(chǔ)上,對圖像進行預(yù)處理,添加BN(Batch Normalization)算法以及PReLU激活函數(shù),來提高模型收斂速度以及解決梯度消失和網(wǎng)絡(luò)深度加深,進行訓(xùn)練時會引起數(shù)據(jù)參數(shù)變動過大問題。
高斯濾波是一種簡單、快速的線性平滑去噪方法。根據(jù)我們選擇的窗口大小及窗口內(nèi)任何像素與中心像素點的距離,利用高斯函數(shù)進行權(quán)值分配。其中Wху表示的是中心像素(x,y)的鄰域,ωd表示權(quán)重因子,會根據(jù)距離的遠(yuǎn)近而變化。
(1)
高斯濾波的權(quán)重因子是根據(jù)二維的高斯分布而確定的:
(2)
直方圖均衡化(Histogram Equalization)也稱直方圖平坦化。直方圖均衡化的本質(zhì)是對圖像進行非線性拉伸,使動態(tài)范圍得到了增加。直方圖均衡化的目的是使圖像灰度的概率密度變平坦,讓整個圖像的灰度值近似于均勻分布。這樣圖像會有較高對比度和豐富的細(xì)節(jié)。具體的方法是通過讀取圖像畫出直方圖,通過直方圖得到變換函數(shù),利用變換函數(shù)即可實現(xiàn)直方圖均衡化。如圖2所示為經(jīng)過高斯去噪和直方圖均衡化的結(jié)果。
經(jīng)過高斯去噪和直方圖均衡化后的數(shù)據(jù)依然不能滿足pytorch中卷積神經(jīng)網(wǎng)絡(luò)API的設(shè)計,因此還需將圖像數(shù)據(jù)進行reshape以及將numpy數(shù)據(jù)類型轉(zhuǎn)化為tensor數(shù)據(jù)類型。為了避免數(shù)據(jù)輸入模型后會因數(shù)據(jù)不匹配而報錯,所以要將數(shù)據(jù)指定為torch.FloatTensor型。
BN是在數(shù)據(jù)輸入前對網(wǎng)絡(luò)做歸一化處理,可以改善網(wǎng)絡(luò)梯度,減少對初始化的強烈依賴。E(x(k))和Var(x(k))是一批訓(xùn)練數(shù)據(jù)各神經(jīng)元輸入值的平均值和方差。對于式(3)會產(chǎn)生數(shù)據(jù)分布的破話,需要使用式(4)進行線性變換對公式的魯棒性進行優(yōu)化,這樣使神經(jīng)元有γ、β這兩個參數(shù)。
(3)
(4)
BN算法在解決網(wǎng)絡(luò)訓(xùn)練收斂速度慢及模型精度低的情況下有很好的效果,同時也克服了內(nèi)部協(xié)變量偏移和梯度消失等問題。
PReLU是LReLU的改進版本。PReLU的特點是收斂速度快,用于反向傳播訓(xùn)練,相對于LReLU、ReLU來說增加了極少量的參數(shù)。當(dāng)不同的通道使用相同參數(shù)時,模型參數(shù)便更少。PReLU的計算公式為:
(5)
yi是激活函數(shù)在第i個通道輸入,αi是激活函數(shù)在負(fù)軸上的斜率。上面的公式也可表示為:
(6)
2? 實驗過程及結(jié)果分析
2.1? 數(shù)據(jù)集介紹
人臉表情識別將人臉表情分為七種離散標(biāo)簽:開心、悲傷、驚訝、害怕、厭惡、生氣、中立。但Extended Cohn-Kanade Dataset(CK+)[9]除了上述七個表情以外,還增添了輕蔑這個表情。
FER2013[10]是用于kaggle競賽的人臉表情識別數(shù)據(jù)集,通過Google引擎搜索,存放在.csv文件中,有三列數(shù)據(jù),分別為:圖像種類、圖像像素點、圖像用途。共35 887張圖片。
AffectNet[11]的圖片總數(shù)達(dá)18萬張,并且提供離散及連續(xù)的兩種表情標(biāo)簽,但目前提供標(biāo)簽的只有4.5萬張圖片。該數(shù)據(jù)集圖片數(shù)也是目前真實狀態(tài)下表情識別圖片數(shù)最多的數(shù)據(jù)集。
TheJapanese Female Facial Expression (JAFFE) Dataset[12]是日本學(xué)者選取10名女性實驗者通過做不同表情得到的數(shù)據(jù)集,每個女性都做七類表情并且每個表情做3次或4次,雖然數(shù)據(jù)量很小,大約200多張,但每張圖片分辨率較高,為256×256。
Extended Cohn-Kanade Dataset(CK+)是比其他數(shù)據(jù)集多一類表情(輕蔑)的數(shù)據(jù)集,數(shù)據(jù)集以視頻形式給出,視頻分辨率有640×490和640×480兩種。實驗者通過提取最后幾幀作為實驗樣本。該數(shù)據(jù)集合JAFFE一樣也是由實驗者通過做不同表情得到的數(shù)據(jù)集,但參與者是JAFFE的10倍以上。
2.2? 實驗設(shè)計與結(jié)果
將上述的人臉表情識別數(shù)據(jù)集按照6∶2∶2的比例劃分為訓(xùn)練集、測試集、驗證集。通過訓(xùn)練集得到神經(jīng)元內(nèi)部參數(shù),驗證集來調(diào)整外置參數(shù),測試集則用來評估模型泛化能力及模型好壞評估。數(shù)據(jù)的batch size設(shè)置為128,epoch設(shè)置為50,learning rate設(shè)置為0.01,損失函數(shù)使用交叉熵?fù)p失函數(shù),采用自適應(yīng)矩估計(Adam)的訓(xùn)練策略。實驗使用FER2013、AffectNet、JAFFE、CK+這四種數(shù)據(jù)集,通過VGG16、ResNet、MobileNet以及改進的VGG16四種方法進行實驗結(jié)果的對比分析。
圖像在輸入訓(xùn)練器前,需要對數(shù)據(jù)進行預(yù)處理,數(shù)據(jù)集在經(jīng)過圖像預(yù)處理前后準(zhǔn)確率對比。可以看出在經(jīng)過預(yù)處理后兩個數(shù)據(jù)集的準(zhǔn)確率均有所提高,說明預(yù)處理的效果是有效的。
為了說明訓(xùn)練過程,以FER2013數(shù)據(jù)集為例,展示改進后的VGG16的運行結(jié)果。改進后的損失函數(shù)及準(zhǔn)確率隨著epoch的改變,如圖3所示。由圖3可知在經(jīng)過50個epoch后訓(xùn)練集和驗證集的loss都降到1以內(nèi),準(zhǔn)確率均超過0.75。說明改進的VGG16的分類效果較好。
在這種情況下,只能看到整體的準(zhǔn)確率是不夠的,還需要具體查看分類器對哪種表情分類效果較好,以及了解分類器出現(xiàn)誤分類比較嚴(yán)重的情況。為此需要對實驗的結(jié)果繪制混淆矩陣如表2所示。其中按行排列的表情是真實的表情類別,按列排列的則是分類器輸出的表情類別。從表中可以看出整體分類效果較好,都超過80%。對驚訝的表情分類效果較差,最容易將驚訝歸類為恐懼,不過這也符合實際情況,在某些情況下人也很難將這兩種表情區(qū)分開。對開心這個表情的識別較好,在現(xiàn)實中開心這個表情也容易跟其他表情區(qū)分開。
將不同的神經(jīng)網(wǎng)絡(luò)方法應(yīng)用在四種數(shù)據(jù)集進行訓(xùn)練后,把訓(xùn)練的模型保存下來。將測試集代入模型,得到測試集的準(zhǔn)確率如表3所示。從表中可以看出CK+和JAFFE這兩個數(shù)據(jù)集在不同網(wǎng)絡(luò)的分類結(jié)果較好。但FER2013在所有的網(wǎng)絡(luò)模型的準(zhǔn)確率均不高,沒有超過80%,效果最好的模型是改進VGG16達(dá)到75.52%,這與FER2013的圖像分辨率較低有關(guān)。從表中可以看出改進的VGG16在不同數(shù)據(jù)集的效果都比其他神經(jīng)網(wǎng)絡(luò)要好,在FER2013提升的效果不是太高,在JAFFE的提升較好。
3? 結(jié)? 論
本文對VGG16模型進行改進,加入BN算法,使輸入分布服從均值為0方差為1的分布,避免了梯度消失問題,對參數(shù)調(diào)整效率也變高。同時引入PReLU激活函數(shù),在保留有部分小于0的信息又達(dá)到了激活函數(shù)的目的,小于0的部分的斜率也是可學(xué)習(xí)的,比ReLU具有更好的激活效果。在圖像預(yù)處理方面也通過高斯去噪、直方圖均衡化處理使人臉表情識別效果更好。關(guān)于人臉識別的數(shù)據(jù)集有很多,本文選擇FER2013、AffectNet、JAFFE、CK+四種數(shù)據(jù)集并使用ResNet、MobileNet、VGG16、改進的VGG16四種方法進行比較分析。實驗結(jié)果表明改進的模型識別的準(zhǔn)確率比其他三種模型要高,泛化能力也較強。
雖然目前的很多人臉識別方法的準(zhǔn)確率較高,在各個方面也有好的應(yīng)用。但目前人臉識別在遮擋、人臉側(cè)面、強光照射等方向研究較少,此外人臉標(biāo)簽?zāi)壳搬槍κ请x散的標(biāo)簽的研究,如何在人臉連續(xù)標(biāo)簽進行研究也是未來值得研究的方向。
參考文獻(xiàn):
[1] 何穎,陳淑鑫,王豐.基于HOSVD分類的非特定人臉表情識別算法 [J].計算機仿真,2021,38(10):193-198.
[2] 張慶,代銳,朱雪瑩,等.基于鏈碼的人臉表情幾何特征提取 [J].計算機工程,2012,38(20):156-159.
[3] LAJEVARDI S M,HUSSAIN Z M. Automatic facial expression recognition:feature extraction and selection [J].Signal,Image and Video Processing,2012,6:159-169.
[4] MINAEE S,MINAEI M,ABDOLRASHIDI A. Deep-Emotion:Facial Expression Recognition Using Attentional Convolutional Network [J/OL]. arXiv:1902.01019 [cs.CV].[2021-11-03].https://arxiv.org/abs/1902.01019v1.
[5] JIAO Z J,QIAO F C,YAO N M,et al. An Ensemble of VGG Networks for Video-Based Facial Expression Recognition [C]//2018 First Asian Conference on Affective Computing and Intelligent Interaction.Beijing:[s.n.],2018:1-6.
[6] ZHONG Y X,QIU S H,LUO X S,et al. Facial Expression Recognition Based on Optimized ResNet [C]//2020 2nd World Symposium on Artificial Intelligence(WSAI).Guangzhou:IEEE,2020:84-91.
[7] 程換新,王雪,程力,等.基于CNN和LSTM的人臉表情識別模型設(shè)計 [J].電子測量技術(shù),2021,44(17):160-164.
[8] SIMONYAN K,ZISSERMAN A. Very Deep Convolutional Networks for Large-Scale Image Recognition [J/OL].arXiv:1409.1556 [cs.CV].[2021-11-03].https://arxiv.org/abs/1409.1556.
[9] 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.San Francisco:IEEE,2010:94-101.
[10] GOODFELLOW I J,ERHAN D,CARRIER P L,et al. Challenges in representation learning:A report on three machine learning contests [J] Neural Networks,2015,64:59-63.
[11] MOLLAHOSSEINI A,HASANI B,MAHOOR M H. Affectnet:A Database for Facial Expression,Valence,and Arousal Computing in the Wild [J].IEEE Transactions on Affective Computing,2019,10(1):18-31.
[12] LYONS M J,KAMACHI M,GYOBA J. Coding Facial Expressions With Gabor Wavelets (IVC Special Issue) [J/OL].arXiv:2009.05938 [cs.CV].[2021-11-03].https://arxiv.org/abs/2009.05938.
作者簡介:張士豹(1996—),男,漢族,安徽滁州人,助教,碩士在讀,研究方向:圖像處理;王文韜(1998—),男,漢族,江蘇蘇州人,助教,碩士在讀,研究方向:圖像處理。