王俊峰,木特力甫·馬木提,阿力木江·艾沙,3,努爾畢亞·亞地卡爾,3,庫爾班·吾布力,3+
(1.新疆大學(xué) 信息科學(xué)與工程學(xué)院,新疆 烏魯木齊 830046;2.新疆大學(xué) 圖書館,新疆 烏魯木齊 830046;3.新疆大學(xué) 新疆多語種信息技術(shù)重點(diǎn)實(shí)驗(yàn)室,新疆 烏魯木齊 830046)
隨著硬件計(jì)算能力的迅速提升和優(yōu)秀深度學(xué)習(xí)模型的加持,卷積神經(jīng)網(wǎng)絡(luò)在目標(biāo)分類任務(wù)上取得了很多非常好的成果,在人臉表情識(shí)別中應(yīng)用深度學(xué)習(xí)方法也已成為研究者的主要選擇。然而關(guān)于表情局部特征和粒度的關(guān)系、哪種粒度最具有區(qū)別性以及如何在多粒度之間融合表情特征信息研究者投入較少的精力,此外自然場景下人臉表情數(shù)據(jù)集一般存在錯(cuò)誤樣本標(biāo)簽、不確定性和背景復(fù)雜等問題。為了降低這些因素的影響,本文基于深度卷積神經(jīng)網(wǎng)絡(luò)提出多粒度與自修復(fù)融合的人臉表情識(shí)別模型,模型首先采用拼圖生成器生成不同粒度的表情圖像,其次利用漸進(jìn)式的訓(xùn)練過程在不同訓(xùn)練階段學(xué)習(xí)不同粒度圖像之間互補(bǔ)的特征信息,并通過自修復(fù)方法避免網(wǎng)絡(luò)模型過度擬合錯(cuò)誤樣本圖像,有效緩解這些消極因素的影響。
關(guān)于人臉表情識(shí)別的研究可以追溯到上世紀(jì)七十年代,相關(guān)研究從最初使用少量小型的表情數(shù)據(jù)集和一些傳統(tǒng)圖像特征提取算法轉(zhuǎn)變?yōu)楫?dāng)前使用海量大型的表情數(shù)據(jù)集和機(jī)器學(xué)習(xí)、深度學(xué)習(xí)方法,大型數(shù)據(jù)集和優(yōu)秀的深度學(xué)習(xí)算法極大地推動(dòng)了人臉表情識(shí)別的發(fā)展。
Ding等[1]提出一種雙局部二值模式(double local binary pattern,DLBP)來檢測視頻中的峰值表情幀,并基于LBP和Taylor展開的Taylor特征模式(TFP),從Taylor特征圖中提取有效的人臉特征,方法優(yōu)于單獨(dú)使用LBP的效果,且具有實(shí)時(shí)的特點(diǎn)。侯小紅等[2]提出結(jié)合Harris-SIFT特征點(diǎn)檢測和LBP紋理特征的表情識(shí)別方法,采用Harris過濾SIFT提取特征點(diǎn)來獲取更加有效的人臉表情特征。Rahul等[3]提出一種結(jié)合Gabor特征和改進(jìn)的隱馬爾可夫模型(hidden markov model,HMM)表情識(shí)別方法,該方法首先使用Gabor方法提取面部表情豐富區(qū)域的表情特征,如:鼻子、嘴巴、眉毛和眼睛等,其次采用主成分分析法(principal component analysis,PCA)進(jìn)行降維,最后使用兩層的HMM進(jìn)行測試,該方法具有效率高和魯棒性強(qiáng)的優(yōu)勢。Zhao等[4]提出一種基于三維卷積神經(jīng)網(wǎng)絡(luò)(3D convolutional neural network,3DCNN)的模型,利用3DCNN提取圖像序列中靜態(tài)和動(dòng)態(tài)特征,并且從光流序列中提取動(dòng)態(tài)特征,使用不同圖像對的構(gòu)造方法,獲取面部肌肉運(yùn)動(dòng)密集光流:普通光流和累積光流,使用累積光流能夠獲取更多的面部運(yùn)動(dòng)信息。
隨著GPU硬件計(jì)算能力的快速提升與深度學(xué)習(xí)方法的出現(xiàn),優(yōu)秀的深度學(xué)習(xí)模型近年來在國內(nèi)外受到眾多研究者的青睞,研究者在人臉表情識(shí)別方向引入新的深度學(xué)習(xí)模型,推動(dòng)人臉表情識(shí)別取得長足進(jìn)步。與傳統(tǒng)人臉表情識(shí)別方法相比,深度學(xué)習(xí)方法在大批量數(shù)據(jù)處理方面和優(yōu)秀的擬合能力上有著無可比擬的優(yōu)勢,然而深度學(xué)習(xí)也存在一些不足之處,如:訓(xùn)練和調(diào)參過程繁瑣、模型過擬合等問題。
利用注意力機(jī)制有效提取表情關(guān)鍵區(qū)域特征也是表情識(shí)別的一個(gè)重要研究方向。Xie等[5]提出具有顯著表情區(qū)域注意力的深度多路徑卷積神經(jīng)網(wǎng)絡(luò)(DAM-CNN)模型,模型利用基于注意力的顯著表情區(qū)域描述符(SERD)自適應(yīng)地估計(jì)不同圖像區(qū)域?qū)τ谌四槺砬樽R(shí)別任務(wù)的重要性,并使用多路徑抑制網(wǎng)絡(luò)(MPVS-Net)區(qū)分與表情無關(guān)的信息?;诰矸e神經(jīng)網(wǎng)絡(luò)的HoloNet模型[6]通過使用CReLU代替ReLU,減少了冗余信息并增強(qiáng)低卷積層中的非飽和性和非線性,將殘差結(jié)構(gòu)和CReLU激活函數(shù)結(jié)合構(gòu)造中間層,增加網(wǎng)絡(luò)深度獲得更高的準(zhǔn)確率和效率。Kurup等[7]提出一種縮減特征的半監(jiān)督情感識(shí)別算法和新的特征選擇方法,首先提取面部圖像特征,并將特征進(jìn)行縮減,然后將具有可用標(biāo)記和未標(biāo)記數(shù)據(jù)的半監(jiān)督訓(xùn)練應(yīng)用于深度信念網(wǎng)絡(luò)(deep belief network,DBN),最后在選擇特征時(shí)去除不提供信息的特征。Zhang等[8]提出了基于生成對抗網(wǎng)絡(luò)(generative adversarial network,GAN)的端到端表情識(shí)別模型,能夠擴(kuò)充人臉表情數(shù)據(jù)集樣本數(shù),模型驗(yàn)證GAN方法在生成人臉表情上具有良好的性能,對擴(kuò)大數(shù)據(jù)集規(guī)模有積極作用。
目前應(yīng)用深度學(xué)習(xí)的人臉表情識(shí)別方法性能表現(xiàn)十分突出,但是很多方法存在著一些局限性,而且一些表情數(shù)據(jù)集存在錯(cuò)誤標(biāo)注、復(fù)雜背景和模糊等問題,致使準(zhǔn)確率難以滿足現(xiàn)實(shí)需求。為了進(jìn)一步提升人臉表情識(shí)別的效果,本文基于深度卷積神經(jīng)網(wǎng)絡(luò)提出多粒度與自修復(fù)融合的人臉表情識(shí)別方法。具體來說,首先使用拼圖生成器生成不同粒度的圖像,利用漸進(jìn)式的訓(xùn)練過程學(xué)習(xí)不同粒度圖像之間相互補(bǔ)充的表情特征信息,利用自修復(fù)方法避免網(wǎng)絡(luò)過度擬合錯(cuò)誤樣本圖像,對錯(cuò)誤樣本進(jìn)行嚴(yán)格的重新標(biāo)注。實(shí)驗(yàn)結(jié)果表明方法具有有效性,在AffectNet數(shù)據(jù)集和RAF-DB數(shù)據(jù)集上進(jìn)行驗(yàn)證,取得了競爭性的識(shí)別結(jié)果。
研究者發(fā)現(xiàn)拼圖游戲可以應(yīng)用于表征學(xué)習(xí)的自我監(jiān)督任務(wù)中,根據(jù)這一想法,使用拼圖生成方法生成不同粒度的合成圖像,將拼圖圖像輸入到網(wǎng)絡(luò)模型不同的訓(xùn)練階段,迫使模型學(xué)習(xí)到多粒度級別的表情圖像特征信息。具體而言,首先將要訓(xùn)練的大小為3×W×H表情圖像平均劃分為N×N個(gè)圖像塊,劃分好的圖像塊大小為3×(W/N)×(H/N), 將劃分的圖像塊隨機(jī)打亂順序,然后再重新組合成為3×W×H原始大小圖像,以N值為8,4,2,1大小粒度拼圖生成圖像為例,使用拼圖生成方法生成的多粒度圖像如圖1所示。
圖1 多粒度圖像生成
使用拼圖生成圖像訓(xùn)練模型,目的是為了學(xué)習(xí)不同粒度圖像的互補(bǔ)特征[9]。在訓(xùn)練時(shí),采用漸進(jìn)式訓(xùn)練策略進(jìn)行訓(xùn)練。具體來說,首先訓(xùn)練網(wǎng)絡(luò)低層,然后依次添加網(wǎng)絡(luò)層進(jìn)行訓(xùn)練。由于網(wǎng)絡(luò)低層的感受野和表征能力是有限的,通過漸進(jìn)式訓(xùn)練使模型在網(wǎng)絡(luò)低層從局部區(qū)域?qū)W習(xí)到區(qū)別性的表情特征信息。與訓(xùn)練整個(gè)網(wǎng)絡(luò)相比,這種訓(xùn)練策略在網(wǎng)絡(luò)淺層提取特征圖后,逐步輸入網(wǎng)絡(luò)深層,可以從局部細(xì)節(jié)信息學(xué)習(xí)到全局的區(qū)別特征信息。
在每個(gè)訓(xùn)練階段完成后計(jì)算交叉熵?fù)p失(cross entropy loss),對每個(gè)階段的交叉熵?fù)p失求和作為總的損失值。因此在每個(gè)訓(xùn)練階段對所有參數(shù)進(jìn)行了優(yōu)化,有助于模型中的每個(gè)訓(xùn)練階段起到協(xié)同的作用
(1)
由于獲得的多粒度信息可能會(huì)傾向于相似區(qū)域,直接使用漸進(jìn)式訓(xùn)練不利于表情特征的提取,因此通過引入拼圖生成方法在每個(gè)訓(xùn)練階段提取不同粒度級別的圖像特征信息來緩解這個(gè)問題。
模型在最后訓(xùn)練階段使用自修復(fù)方法來抑制表情數(shù)據(jù)的不確定性,避免模型過度擬合不確定的表情圖像[10]。具體而言,將不同粒度圖片逐漸訓(xùn)練提取特征信息后,使用原圖訓(xùn)練時(shí)批次輸入的表情圖像經(jīng)過主干網(wǎng)絡(luò)提取得到[B,3072]特征向量,其中B為批處理樣本數(shù)BatchSize,使用注意力機(jī)制得到圖像注意力得分,對注意力得分依次從高到低排序、高低分組和正則化加權(quán),使高重要性組的平均分值高于低重要性組平均分值,同時(shí)將主干網(wǎng)絡(luò)提取的特征經(jīng)Softmax預(yù)測,在低重要性組樣本中當(dāng)預(yù)測最大概率Pmax的樣本標(biāo)簽不是給定標(biāo)簽時(shí),將最大預(yù)測概率Pmax和給定標(biāo)簽概率Plabel進(jìn)行比較,二者差別超過閾值δ2時(shí)則認(rèn)為給定標(biāo)簽錯(cuò)誤,然后對標(biāo)簽進(jìn)行修改,自修復(fù)模塊如圖2所示。
圖2 自修復(fù)模塊
具體而言,首先將主干網(wǎng)絡(luò)輸出的[B,3072]特征向量依次輸入到全連接層和Sigmoid激活函數(shù),得到批次圖像中每個(gè)圖像的分值αi。考慮到將分值權(quán)重直接與損失相乘會(huì)導(dǎo)致有些圖像的損失為零,因此采用加權(quán)交叉熵?fù)p失LWCE,如式(2)所示
(2)
LRR定義為排序正則化損失,其中δ1是LRR損失函數(shù)的參數(shù),M和N為高重要性組和低重要性組樣本數(shù),αi為樣本得分,αH,αL為兩組得分的平均值,如式(3)所示,LRR損失高重要性組和低重要性組樣本區(qū)分度更加明顯。模型的總損失為Lall,其中γ為LWCE和LRR二者的比例系數(shù),具體如式(4)所示
(3)
Lall=γLWCE+(1-γ)LRR
(4)
為了有效提取表情特征信息以及消除表情圖像不確定因素的影響,本文提出多粒度與自修復(fù)融合的人臉表情識(shí)別方法。在訓(xùn)練模型前,首先對人臉表情數(shù)據(jù)集進(jìn)行簡單的離線預(yù)處理操作,包括尺度與灰度歸一化等,采用主流的深度學(xué)習(xí)殘差網(wǎng)絡(luò)ResNet作為主干網(wǎng)絡(luò),通過多次實(shí)驗(yàn)測試后使用層數(shù)為50層的ResNet50模型作為本文模型的主干網(wǎng)絡(luò)[11]。
圖3 多粒度與自修復(fù)融合模型
實(shí)驗(yàn)環(huán)境:CPU為Intel(R) Core(TM) i9-7980XE CPU,顯卡為NVIDIA GeForce RTX 2080 Ti 22G,硬盤為256G SSD的主機(jī)。實(shí)驗(yàn)使用Windows10電腦操作系統(tǒng),使用Pytorch深度學(xué)習(xí)框架搭建網(wǎng)絡(luò)模型,其中Pytorch的版本為1.5.1,使用的CUDA版本為10.1版本,使用Python3.7編程語言。
數(shù)據(jù)預(yù)處理:使用兩個(gè)自然場景下的人臉表情數(shù)據(jù)集:AffectNet數(shù)據(jù)集和RAF-DB數(shù)據(jù)集,數(shù)據(jù)集部分樣本如圖4和圖5所示。RAF-DB表情數(shù)據(jù)集包括7類表情,共計(jì)15 339個(gè)表情樣本,其中12 271個(gè)用于訓(xùn)練,3068個(gè)用于測試。AffectNet數(shù)據(jù)集[12]是從網(wǎng)絡(luò)搜集的樣本廣泛的大批量表情數(shù)據(jù)集,實(shí)驗(yàn)使用一些研究者對AffectNet數(shù)據(jù)集進(jìn)行篩選整理更為均勻的7類表情數(shù)據(jù)集,共計(jì)24 530個(gè)樣本,其中訓(xùn)練集22 077個(gè)樣本,測試集2453個(gè)樣本。在訓(xùn)練前對數(shù)據(jù)進(jìn)行離線預(yù)處理操作,將輸入圖像設(shè)置為224×224大小像素的圖像,使用Normalize進(jìn)行批歸一化,為避免網(wǎng)絡(luò)出現(xiàn)過度擬合的問題,對數(shù)據(jù)進(jìn)行了數(shù)據(jù)增廣處理,并對多種數(shù)據(jù)增廣方法的效果進(jìn)行驗(yàn)證。
圖4 AffectNet數(shù)據(jù)集
圖5 RAF-DB數(shù)據(jù)集
參數(shù)設(shè)置:在設(shè)定參數(shù)上本文通過對每個(gè)參數(shù)進(jìn)行實(shí)驗(yàn)選去最佳值,排序正則化損失參數(shù)δ1設(shè)置為0.15,修改標(biāo)簽概率閾值δ2設(shè)置為0.2。此外每個(gè)批次樣本數(shù)量BatchSize設(shè)置為64,在預(yù)訓(xùn)練模型網(wǎng)絡(luò)時(shí)學(xué)習(xí)率Learning-Rate設(shè)置為0.0002,其它卷積模塊和全連接層初始學(xué)習(xí)率LearningRate設(shè)置為0.002,采用余弦退火算法來更新學(xué)習(xí)率,從而加快網(wǎng)絡(luò)的收斂速度。
實(shí)驗(yàn)采用VGG13、VGG16、VGG19、ResNet18、ResNet34和ResNet50基本深度學(xué)習(xí)網(wǎng)絡(luò)模型在兩個(gè)數(shù)據(jù)集上驗(yàn)證多粒度在網(wǎng)絡(luò)模型中的有效性,實(shí)驗(yàn)采用1×1(原圖)、2×2、4×4、8×8這4種粒度圖像分4個(gè)階段進(jìn)行驗(yàn)證,表1和表2分別為多粒度模塊在RAF-DB數(shù)據(jù)集和AffectNet數(shù)據(jù)集上的實(shí)驗(yàn)效果。表1和表2實(shí)驗(yàn)結(jié)果表明使用不同深度的深度學(xué)習(xí)模型,隨著網(wǎng)絡(luò)深度的不斷增加網(wǎng)絡(luò)的識(shí)別效果也越來越好,在網(wǎng)絡(luò)模型中加入多粒度模型識(shí)別效果比單獨(dú)使用原始網(wǎng)絡(luò)的整體性能表現(xiàn)更好,在每個(gè)網(wǎng)絡(luò)模型上準(zhǔn)確率都有一定的提升。在RAF-DB數(shù)據(jù)集上ResNet18模型提升最高,可以達(dá)到3.61%,其它模型最少也可以提升0.2%。在AffectNet數(shù)據(jù)集上由于其數(shù)據(jù)噪聲較大的原因,實(shí)驗(yàn)結(jié)果提升不是很明顯,但是準(zhǔn)確率最高仍然可以提升1.22%。因此,實(shí)驗(yàn)結(jié)果表明在不同的深度學(xué)習(xí)網(wǎng)絡(luò)模型中添加多粒度模塊可以有效提升人臉表情識(shí)別的準(zhǔn)確率。
表1 在RAF-DB數(shù)據(jù)集上多粒度的影響/%
表2 在AffectNet數(shù)據(jù)集上多粒度的影響/%
對于多粒度方法的驗(yàn)證,采用按4個(gè)訓(xùn)練階段逐步輸入多粒度圖像驗(yàn)證其效果,由于網(wǎng)絡(luò)輸入圖片的大小為3×224×224,根據(jù)不同大小的圖像劃分大小合適的粒度,劃分太小可能會(huì)造成準(zhǔn)確率的下降。因此模型選擇經(jīng)過拼圖生成器按照1×1(原圖)、2×2、4×4和8×8分塊打亂順序重新排列生成的圖像,通過實(shí)驗(yàn)驗(yàn)證不同粒度逐步輸入模型按階段訓(xùn)練是否對識(shí)別結(jié)果有積極作用。
在RAF-DB數(shù)據(jù)集和AffectNet數(shù)據(jù)集驗(yàn)證不同粒度逐步輸入模型漸進(jìn)訓(xùn)練對網(wǎng)絡(luò)模型的提升作用。表3實(shí)驗(yàn)結(jié)果表明分階段漸進(jìn)訓(xùn)練的影響在兩個(gè)數(shù)據(jù)集上準(zhǔn)確率的變化趨勢是一致的,隨著多粒度圖像訓(xùn)練階段的增加,在兩個(gè)數(shù)據(jù)集上模型的準(zhǔn)確率均是逐步提升的,分別可以提升3.05%和4.69%,然而當(dāng)增加到一定程度后模型的準(zhǔn)確率反而呈下降趨勢。
表3 漸進(jìn)訓(xùn)練的影響/%
經(jīng)分析,由于輸入圖片的大小為224×224,圖像被劃分過小的粒度時(shí),圖像的特征被過分打散,不利于特征的提取。因此不同的粒度逐步輸入對識(shí)別結(jié)果有促進(jìn)作用,但是不是隨著層次一直有效的。實(shí)驗(yàn)結(jié)果表明分3個(gè)階段多種粒度訓(xùn)練時(shí)效果最好,其輸入分別為1×1、2×2和4×4的粒度圖像。
為了學(xué)習(xí)到圖像更深層次的特征,模型采用了深層次的經(jīng)典深度學(xué)習(xí)基本網(wǎng)絡(luò)。相比于數(shù)據(jù)集的數(shù)據(jù)量,模型容易出現(xiàn)過擬合現(xiàn)象,因此使用Pytorch深度學(xué)習(xí)框架下數(shù)據(jù)增廣方法對表情數(shù)據(jù)進(jìn)行擴(kuò)充,數(shù)據(jù)增廣的方法種類很多,實(shí)驗(yàn)采用翻轉(zhuǎn)、隨機(jī)遮擋、旋轉(zhuǎn)和顏色變換4種數(shù)據(jù)增廣方法,并且依次添加組合驗(yàn)證數(shù)據(jù)增廣方法對識(shí)別結(jié)果的影響。表4實(shí)驗(yàn)結(jié)果表明在多粒度模塊下逐漸添加選擇的4種不同數(shù)據(jù)增廣方法在表情識(shí)別結(jié)果上效果顯著,提升幅度較大,最高可以提升3.03%,說明使用數(shù)據(jù)增廣方法降低了模型過擬合問題,而且在模型中使用數(shù)據(jù)增廣方法擴(kuò)充了數(shù)據(jù)規(guī)模,增加了模型的泛化作用。
表4 數(shù)據(jù)增廣方法的影響/%
由于自然場景下低質(zhì)的人臉圖像、模糊的表情以及標(biāo)簽標(biāo)記的主觀因素等不確定性是表情數(shù)據(jù)集好壞的重要指標(biāo),對實(shí)驗(yàn)結(jié)果造成很大的干擾。為了解決這一問題,采用自修復(fù)模塊來抑制表情數(shù)據(jù)的不確定性,避免過度擬合不確定的人臉圖像,同時(shí)添加多粒度模塊更有效的提取表情不同區(qū)域的細(xì)節(jié)信息。在添加使用數(shù)據(jù)增廣方法和多粒度模塊的條件下通過實(shí)驗(yàn)對自修復(fù)模塊效果進(jìn)行了驗(yàn)證,表5實(shí)驗(yàn)結(jié)果表明融合模型在RAF-DB數(shù)據(jù)集和AffectNet數(shù)據(jù)集上最高準(zhǔn)確率分別達(dá)到87.10%和63.94%,與不使用自修復(fù)模塊相比分別提升2.78%和0.51%。此外,融合模型的運(yùn)行耗時(shí)略有增加,但準(zhǔn)確率提升明顯,結(jié)果表明模型在RAF-DB數(shù)據(jù)集和AffectNet數(shù)據(jù)集上均達(dá)到很好的識(shí)別效果。
表5 自修復(fù)模塊的影響/%
表6和表7是本方法分別在RAF-DB數(shù)據(jù)集和AffectNet數(shù)據(jù)集上與近年國內(nèi)外其它方法的對比結(jié)果。實(shí)驗(yàn)結(jié)果表明本方法在RAF-DB數(shù)據(jù)集上和AffectNet數(shù)據(jù)集的準(zhǔn)確率均達(dá)到很高的準(zhǔn)確率,超過多數(shù)現(xiàn)有方法,驗(yàn)證了本文模型在人臉表情識(shí)別方向上的有效性。因此針對自然場景下的人臉表情識(shí)別,本文模型在每個(gè)組成部分都有效的情況下,具有較高的準(zhǔn)確率和良好的魯棒性。
表6 在RAF-DB數(shù)據(jù)集上與其它方法的對比/%
表7 在AffectNet數(shù)據(jù)集上與其它方法的對比/%
本文針對表情圖像哪種粒度最具有區(qū)別性以及如何在多粒度之間融合信息,以及在自然場景下所建立的數(shù)據(jù)集通常存在錯(cuò)誤數(shù)據(jù)、不確定樣本的問題,提出基于多粒度與自修復(fù)融合的人臉表情識(shí)別模型。本研究發(fā)現(xiàn)在人臉表情識(shí)別任務(wù)上多粒度可以有效提取表情特征信息,在漸進(jìn)訓(xùn)練過程中逐步添加不同粒度圖像并不是一直有效,將多粒度與自修復(fù)融合后能夠降低表情數(shù)據(jù)集的不確定因素,同時(shí)也有效提取了表情圖像的特征信息,進(jìn)一步完善了人臉表情識(shí)別方法,提升了人臉表情識(shí)別的準(zhǔn)確率。由于本文主要研究如何利用深度學(xué)習(xí)構(gòu)建自然場景下的表情識(shí)別,在遠(yuǎn)距離、側(cè)臉和低質(zhì)量、低像素等復(fù)雜表情圖像方面沒有太多涉及,存在一些不足和改進(jìn)之處,有待進(jìn)一步深入研究。