999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于風格遷移的面部表情識別方法

2023-03-15 08:47:04肖世明章思遠毛政翔
計算機應用與軟件 2023年2期
關鍵詞:特征方法

肖世明 章思遠 毛政翔 黃 偉,2

1(南昌大學信息工程學院 江西 南昌 330031) 2(南昌大學信息化辦公室 江西 南昌 330031)

0 引 言

人臉面部表情是最直接、最有效的情感表達方式。Mehrabian等[1]做過研究表明,在人類日常交流的主要方式和途徑中,傳遞信息最多的是人臉表情,其次是聲音和語言,傳遞信息量分別占信息總量比重是55%、38%和7%。Ekman等[2]提出了人類共有的六類基本表情:生氣、害怕、厭惡、開心、悲傷、驚訝,而其他復雜的表情都是在此基礎上復合而成,例如驚喜就是驚訝加上開心,這也成為研究者研究人臉表情分類的共識。人臉表情識別可以應用于諸多領域,如人機交互實時表情識別、駕駛員疲勞檢測、謊言檢測等。

面部表情識別的方法一般步驟有:人臉圖像信息獲取、圖像預處理、圖像特征表示與提取、特征分類器的訓練。其中表情圖像特征的提取成為影響表情識別率的關鍵因素。面部表情特征的提取由手工提取特征[3-5,13]到淺層學習提取特征[6-7],再到如今運用廣泛的深度學習提取特征[8-12]。不管是手工提取特征或者是使用深度神經網絡提取特征,表情的識別率都受到身份、性別、年齡等屬性的影響。Zhang等[11]提出的IACNN方法考慮了身份信息等因素對面部表情識別的影響。

研究表明,對于同一個人,可以通過比較他的當前表情和他的中性表情來判斷他的表情[15]。也就是說一個人的面部表情可以分解為表情成分和中性成分[16]。根據這一研究,Kim等[17]和Lee等[18]利用需判斷的表情圖像和對應的中性表情圖像的特征差異或者圖像差異來識別面部表情。然而在這些工作中,識別面部表情的個體對應的中性表情都是可以直接獲得的。而在現實情況下,并不是每個給定個體對應的中性表情都是可以直接獲得的。為了解決這一問題,需要構建一個根據給定表情圖像生成中性表情圖像的生成器,并且該生成器不會改變個體的身份信息。隨著生成對抗網絡(Generative Adversarial Networks,GAN)[19]的提出,越來越多基于GAN的圖像生成方法被提出。一個GAN模型包括生成器和判別器兩部分,通過生成器和判別器之間的對抗訓練生成逼真的圖像。原始的GAN模型使用一個隨機向量作為輸入,缺少必要的約束,這使得生成的圖像質量參差不齊。因此,在原始GAN模型的基礎上,Zhu等[20]提出循環一致生成對抗網絡(Cycle-consistent Generative Adversarial Networks,Cycle-GAN)。Cycle-GAN可以完成非成對圖像的圖像到圖像的風格遷移。該網絡使用源空間圖像而非隨機變量作為輸入,通過結合循環一致損失和對抗損失共同訓練模型,可以無監督地學習源空間到目標空間的映射。Cycle-GAN被廣泛地應用于圖像風格遷移。

根據上述分析,本文提出一種基于風格遷移的面部表情聚類識別方法。使用Cycle-GAN訓練不同表情的生成器,將任意給定表情圖像遷移到對應中性表情圖像,生成器和表情一一對應。如圖1所示,給定含有各種隨機表情的人臉圖像,通過中性表情生成器將含有表情的圖像遷移到中性表情圖像。在這一過程中,生成的中性表情圖像不會改變原圖像的身份信息,同時生成器會學習到不同表情的成分,即將不同表情的表情成分“存儲”在對應的生成器中。

圖1 表情風格遷移示意圖

輸入一幅表情圖像到不同個數(取決于數據集表情類別數)的生成器中生成一組圖像,由于不同的生成器學習到不同的表情成分,所以這組圖像中,只有學習到輸入圖像的表情成分的生成器可以成功將該表情圖像遷移為中性表情。而其他生成的圖像則保留原表情信息,因為這些生成器中不具有該表情成分,故而不能將該表情圖像遷移為中性表情圖像。所以只要找到遷移為中性表情對應的含有該表情成分的生成器即可識別出該圖像的表情類別。在生成的圖像中,表情標簽只有中性和輸入圖像的表情標簽,這樣將面部表情識別的多分類問題轉化為二分類問題。本文使用支持向量機(Support Vector Machine,SVM)作為分類器。在做分類任務時,使用CNN卷積神經網絡提取面部表情特征用于分類。

1 基于風格遷移的中性表情生成

1.1 Cycle-GAN

Cycle-GAN模型結構如圖2所示,包含兩個生成器和兩個判別器,分別為GAB、GBA、DA、DB。Cycle-GAN可以通過學習源域(Source Domain)A與目標域(Target Domain)B之間的映射關系,從而完成圖像到圖像的風格遷移。生成器GAB學習從源域到目標域的映射f1:A→B,生成器GBA學習從目標域到源域的映射f2:B→A。判別器DA、DB分別用來判斷各自輸入的圖像是否為源域A、目標域B的真實圖像。

圖2 Cycle-GAN的網絡結構

Cycle-GAN的損失函數由兩部分組成:

1) 生成對抗損失(Generative Adversarial Loss):

LGAN(GAB,DB,A,B)=Eb∈PB[logDB(b)]+

Ea∈PA[log(1-DB(GAB(a)))]

(1)

式(1)為A→B的生成對抗損失函數,a、b分別為來自源域A、目標域B的圖像。生成器GAB盡可能生成與目標域B逼近的圖像GAB(a),判別器DB則判斷輸入圖像是否為真實的目標域B圖像。

LGAN(GBA,DA,B,A)=Ea∈PA[logDA(a)]+

Eb∈PB[log(1-DA(GBA(b)))]

(2)

式(2)為B→A的生成對抗損失函數。生成器GBA盡可能生成與源域A逼近的圖像GBA(b),判別器DA則判斷輸入圖像是否為真實的源域A圖像。

2) 循環一致損失(Cycle Consistency Loss)。

只有生成對抗損失是無法訓練模型的,因為根據上述損失函數,生成器GAB可以將所有的源域A圖像都映射為目標域B的同一幅圖像。例如可以將所有高興表情轉換為中性表情,但是這些中性表情都是同一個人。同理,生成器GBA也有同樣的問題。所以在Cycle-GAN中引入了循環一致損失函數Lcyc,公式如下:

(3)

生成器GAB和GBA分別學習f1和f2兩個映射的同時,要求GAB(GBA(b))≈b以及GBA(GAB(a))≈a。即目標域B的圖像b,經過f2映射得到圖像GBA(b),再經過f1映射得到的圖像GAB(GBA(b)),兩者之間要盡可能相似。同樣,對于源域A的圖像a,經過f1映射得到圖像GAB(a),再經過f2映射得到的圖像GBA(GAB(a)),兩者之間要盡可能相似。這樣就保證了在兩個域之間的圖像轉換不會映射為同一幅圖像。

最終網絡的所有損失加起來為:

L(GAB,GBA,DA,DB)=λ1LGAN(GAB,DB,A,B)+

λ2LGAN(GBA,DA,B,A)+λ3Lcyc(GAB,GBA)

(4)

式(4)中λ1、λ2、λ3分別為調節生成損失、對抗損失和循環一致損失所占權重的超參數。在所有的損失函數中,對于生成器來說需要最小化損失函數,對于判別器來說需要最大化損失函數。

1.2 中性表情生成方法

Cycle-GAN包含兩個生成器和兩個判別器,訓練模型時,每次只將一類表情圖像作為源域輸入到生成器Gxiy中,中性表情圖像作為目標域輸入到生成器Gyxi中。將兩個生成器生成的兩幅圖像輸入到兩個判別器中,得到兩個表示圖像真實度的數值。再通過模型定義的生成對抗損失和循環一致損失控制生成器生成更加真實且風格更加接近目標域的圖像,最終完成圖像的風格遷移。如此訓練多次(次數由數據集表情類別數而定),每次用數據集中不同的表情作為源域,目標域則同為數據集中的中性表情,得到不同表情到中性表情的生成器Gxiy。

在進行中性表情生成的時候,本文使用已經訓練好的生成器Gxiy。如圖3所示,輸入一幅身份信息為A的表情圖像到生成器Gxiy(此時xi為吃驚)中,生成對應的中性表情圖像,且保留了原身份信息。將不同的表情圖像輸入到對應不同的生成器Gxiy中,便可得到不同表情圖像對應的中性表情圖像。

圖3 中性表情生成方法

2 基于風格遷移的表情識別方法

2.1 基于CNN的面部表情特征提取

卷積神經網絡(Convolutional Neural Networks,CNN)可以有效提取圖像特征用于訓練分類器做分類任務。傳統的卷積神經網絡由三部分組成:卷積層、池化層和全連接層。卷積層用于提取和保留圖像特征。池化層對特征進行降維和抽象,可以有效減少網絡參數,避免過擬合現象。全連接層連接前面提取到的特征,根據不同的任務輸出不同的結果。

本文使用的CNN網絡結構如圖4所示。網絡包含五個卷積層和一個全連接層。每個卷積層的卷積核大小均為3×3,步幅均為1,經過每層卷積之后通道數為原來的兩倍。

圖4 CNN網絡結構及特征圖

在訓練CNN網絡時,損失函數用來計算模型輸出值與真實值之間的不一致程度,損失函數值越小,模型的魯棒性越好。本文將使用L2 loss(均方誤差)作為模型的損失函數。L2 loss的計算公式如下:

(5)

式中:N為樣本數,x(p)與y(p)分別表示模型的輸出值與目標值,P為維數。由于L2 loss取平方值的緣故,會放大較大誤差和較小誤差之間的差值,所以通過L2 loss訓練網絡可以使得提取的不同表情特征之間的距離加大,便于更好分類。

在訓練階段,輸入數據集中的單通道表情圖像,大小為128×128,經過五個卷積層之后輸出的特征圖為4×4×512。將該特征圖輸入到全連接層之后得到512維的輸出值。通過最小化損失函數使模型輸出值逼近真實值,以得到更加魯棒的表情特征。將表情圖像輸入到訓練好的CNN網絡中,得到的512維輸出值即為提取到的表情特征。

2.2 表情識別方法

本文提出一種基于風格遷移的表情識別方法。訓練把面部表情圖像遷移到中性表情圖像的生成器,生成器中“存儲”了該表情的表情成分。輸入表情圖像到所有表情生成器中,得到一組表情圖像。在該組圖像中,只有“存儲”了輸入圖像的表情成分的生成器可以成功遷移為中性表情,而剩下的圖像則保留原表情。將表情識別任務轉換為二分類任務。

本文使用SVM作為二分類器,訓練SVM時,將數據集中所有非中性表情圖像統一標記為正類,中性表情圖像標記為負類。將所有圖像輸入到訓練好的CNN模型中提取表情特征,再將提取到的表情特征用于訓練SVM做分類。

測試階段,將通過生成器生成的一組圖像輸入CNN網絡提取表情特征,提取到的表情特征用于SVM分類,最終得到識別結果。

方法的具體步驟如下:

Step1輸入面部表情圖像到不同的表情生成器Gxiy得到一組圖像。每幅圖像用image_xi表示,xi標記生成該圖像的生成器對應的表情標簽。

Step2將這一組圖像輸入到CNN網絡,提取到一組表情特征。每幅圖像對應的特征用Feat_xi表示。

Step3將提取到的表情特征輸入到SVM中做二分類,得到分類結果。取分類結果為負類(中性表情)的特征Feat_xi對應的xi為最終表情識別的結果。

3 實 驗

3.1 實驗設置與環境

Cycle-GAN同時對生成器和判別器進行訓練。訓練使用的優化器為Adam,學習率為0.000 2,動量為0.5。對于Cycle-GAN損失函數中的三個超參數:對抗損失超參數λ1,生成損失超參數λ2,循環一致損失超參數λ3,本文使用的是Zhu等[20]在實驗中設定的值,分別設為1、5、10。訓練時BatchSize為1,迭代次數為150。

在CNN網絡中,在每層卷積層之后都使用了批標準化(Batch Normalization,BN)[21]處理。批標準化之后使用的激活函數為ReLU。并且為了防止在訓練時出現過擬合,在全連接層之后,使用了舍棄概率為0.5的Dropout。

實驗使用的深度學習框架為PyTorch,GPU為NVIDIA TITAN V,顯存為12 GB。編程語言為Python 3.5,操作系統為Ubuntu 16.04。

3.2 數據集

本文實驗使用了三個面部表情識別數據集:CK+[22]、MMI[23]、RAF-DB[24]。其中CK+和MMI為實驗室環境下的表情數據集,RAF-DB為自然環境下的表情數據集,數據集圖像樣本如圖5所示。在做數據集預處理時,使用OpenCV人臉檢測算法定位人臉區域,自動裁剪出面部表情圖像。然后統一轉化為大小128×128的單通道灰度圖像。

圖5 CK+、MMI、RAF-DB數據集的圖像樣本

CK+數據集是在Cohn-Kanada Dataset基礎上擴展得到的,被廣泛地用于面部表情識別。數據集是在實驗室條件下獲取,包含了從123個人中得到的593個圖像序列,每個表情序列都為從中性表情過渡到峰值表情。數據集包括七類表情:生氣(Anger)、蔑視(Contempt)、厭惡(Disgust)、恐懼(Fear)、高興(Happy)、悲傷(Sad)、驚訝(Surprise)。實驗使用的是帶有表情標簽的327個序列,取每個序列的最后三幅圖像為該表情圖像,表情標簽和序列標簽一致。得到981幅表情圖像,不同的表情數量分布如表1所示。

表1 CK+數據集表情數量分布

MMI數據集包含236個圖像序列,從31個人中獲得。每個序列數據集包括六類基本表情:生氣(Anger)、厭惡(Disgust)、恐懼(Fear)、高興(Happy)、悲傷(Sad)、驚訝(Surprise),相比CK+數據集,少了蔑視表情。每個圖像序列從中性表情過渡到峰值表情,再從峰值表情過渡回到中性表情,峰值表情處在序列中段。實驗選取208個正臉角度的序列,取每個序列中段的3幅圖像作為表情圖像,標簽為該序列標簽。得到624幅表情圖像,不同的表情數量分布如表2所示。

表2 MMI數據集表情數量分布

RAF-DB是從網頁上抓取的大量人臉圖像,采用眾包的方式標記表情標簽的自然條件下的表情數據集。RAF-DB包含15 339幅標記了七類基本表情(憤怒(Anger)、厭惡(Disgust)、恐懼(Fear)、高興(Happy)、悲傷(Sad)、驚訝(Surprise))的圖片,和3 954幅標記了12類復合表情的圖片,實驗只用標記為基本表情的圖片。由于RAF-DB數據集存在嚴重的樣本比例失衡問題,例如高興的表情圖片有5 957幅,而恐懼的表情圖片只有355幅。所以每個表情圖片選取數量以最少的恐懼表情為標準,都為355幅。

3.3 實驗結果與分析

本文實驗在三個數據集上均采用10折交叉驗證,實驗結果取10次交叉驗證結果的平均值。為了評價本文提出的方法的有效性,每個數據集的實驗結果中均設有Baseline。Baseline的結果為本文提取表情特征的CNN網絡直接用于表情分類的結果。在使用CNN網絡進行表情分類時,在CNN網絡最后加一層輸出為6維或7維(由數據集表情類別數而定)數值的全連接層,使用交叉熵(Cross Entropy Loss)作為損失函數進行表情分類。

3.3.1CK+數據集

根據2.2節表情識別方法可知,不同表情輸入到生成器生成的中性表情的圖像質量對最終的識別結果有很大影響。圖6為在CK+數據集上的遷移效果,單數行是輸入的表情圖像,偶數行是對應表情生成的中性表情圖像。

圖6 CK+數據集上的表情遷移效果

使用本文提出的方法,在CK+數據集上的表情識別準確率達到98.47%,如表3所示。為了評估本文提出的方法在CK+數據集上的表現,將實驗結果與近幾年提出的六種表情識別方法(LBVCNN[9]、DTAGN[10]、IACNN[11]、RN+LAF+ADA[25]、ppfSVM[26]、DCMA-CNNs[12])進行對比。LBVCNN、DTAGN和ppfSVM三種方法輸入的為表情序列,訓練數據的規模遠大于本文方法使用的數據規模。可以看出,本文方法較比其他幾種方法在準確率上都有提高。

表3 不同方法在CK+數據集上的準確率對比

表4為本文方法在CK+數據集上各類表情識別的混淆矩陣,表格斜對角線的值對應各表情識別準確率,其他數值為表情識別錯誤率。通過混淆矩陣看出,蔑視表情的識別率最低,為96.39%。原因是蔑視表情在數據集中的數量較少,將該表情遷移至中性表情的生成器學習到的特征較少,生成的圖像質量偏差,從而影響準確率。

表4 CK+數據集上的混淆矩陣

3.3.2MMI數據集

使用本文提出的方法,在MMI數據集上的表情識別準確率為85.27%,如表5所示。同樣,為了評估本文方法在MMI數據集上的表現,將實驗結果同近幾年提出的表情識別方法(IACNN[11]、STM-Explet[14]、DTAGN[10]、HOG-3D[13])進行了比較。其中STM-Explet、DTAGN-Joint、HOG-3D均使用圖像序列作為輸入,以此得到表情變化的時序信息,本文方法相比于這三個方法,準確率都有顯著的提高。而對于同樣使用圖像輸入的IACNN方法,本文方法更是提升了近14百分點的準確率。

表5 不同方法在MMI數據集上的準確率對比

MMI數據集上各類表情識別的混淆矩陣如表6所示。可以看出,恐懼表情的識別率比較低,容易與厭惡表情和驚訝表情混淆。導致該現象的原因為,MMI數據集中這三種表情圖像在特征上比較相似,使得生成器學習到的表情特征也較為相似,從而影響準確率。另一方面,高興表情極易識別,準確率達到96.13%。

表6 MMI數據集上的混淆矩陣

3.3.3RAF-DB數據集

RAF-DB數據集的遷移效果如圖7所示,單數行是輸入的表情圖像,偶數行是遷移至中性的表情圖像。使用本文提出的方法,在RAF-DB數據集上的表情識別準確率為78.13%。同樣為了評估本文方法在RAF-DB數據集上的表現,將實驗結果與相關方法進行比較,實驗結果如表7所示。其中VGG、AlexNet、baseCNN、DLP-CNN[24]是RAF-DB數據集作者給出的基準方法。FsNet+TcNet[27]、Boosting-POOF[28]為當前較為先進的方法。通過表7可知,本文方法相比于數據集給出的基準方法中準確率最高的DLP-CNN方法,準確率有4%左右的提升。并且實驗結果的準確率接近于當前最好方法,證明了本文方法在自然條件下的面部表情識別效果的可靠性。

圖7 RAF-DB數據集上的表情遷移效果

表7 不同方法在RAF-DB數據集上的準確率對比

表8為RAF-DB數據集上各類表情識別的混淆矩陣。可以發現,“驚訝”“高興”和“生氣”這三類表情具有更高的識別率,而“厭惡”“恐懼”和“悲傷”這三類表情的識別率較低,容易產生混淆。

表8 RAF-DB數據集上的混淆矩陣

4 結 語

本文提出了一種基于風格遷移的面部表情識別方法。通過訓練Cycle-GAN得到將不同表情圖像遷移到中性表情圖像的生成器,即生成器學習了不同表情的表情成分。將表情圖像輸入到訓練好的生成器中得到一組圖像,該組圖像只具備中性表情和輸入圖像的表情。通過CNN網絡提取該組圖像特征用于SVM做二分類任務,得到中性表情圖像,生成該圖像對應的表情生成器即為表情識別結果。實驗結果表明該方法不僅在實驗室條件下的獲得的數據集中表現良好,在自然條件下獲得的數據集中也有較高識別率。在CK+數據、MMI數據集和RAF-DB數據集上的表情識別率分別為98.47%、85.27%和78.13%。在今后的任務中,將進一步提升表情遷移后的圖像質量和遷移效果,以便提高在更加復雜環境下的面部表情識別率。

猜你喜歡
特征方法
抓住特征巧觀察
新型冠狀病毒及其流行病學特征認識
如何表達“特征”
不忠誠的四個特征
當代陜西(2019年10期)2019-06-03 10:12:04
學習方法
抓住特征巧觀察
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
捕魚
主站蜘蛛池模板: 欧美一区国产| 亚洲乱码精品久久久久..| 久久香蕉国产线看观看亚洲片| 自慰网址在线观看| 国产在线精品99一区不卡| 国产女人18水真多毛片18精品 | a级毛片免费网站| 久久伊人久久亚洲综合| 国产精品久久自在自2021| 婷婷亚洲视频| 国产一级裸网站| 国产国产人免费视频成18| 亚洲国产成人无码AV在线影院L | 日韩精品一区二区三区大桥未久| 亚洲一区二区三区香蕉| 最新亚洲av女人的天堂| 亚洲人成色77777在线观看| 国产精品999在线| 欧美日韩国产系列在线观看| 亚洲另类国产欧美一区二区| 无码精品福利一区二区三区| 亚洲一区二区三区国产精品| 国产99视频在线| 99ri精品视频在线观看播放| 无码乱人伦一区二区亚洲一| 日韩欧美国产中文| 国产一级毛片高清完整视频版| 国产91高清视频| 久久久久久久蜜桃| 亚洲免费毛片| 亚洲天堂啪啪| 欧美成人看片一区二区三区| 亚洲第一成年免费网站| 欧美专区日韩专区| 狠狠色噜噜狠狠狠狠色综合久 | 在线亚洲小视频| 一本二本三本不卡无码| 麻豆精品在线| 日韩毛片免费观看| 国产精品专区第1页| a级毛片在线免费观看| 一本大道东京热无码av| 久草视频精品| 久久99国产乱子伦精品免| 亚洲成A人V欧美综合| 亚洲色图欧美| 成人永久免费A∨一级在线播放| 亚洲av无码专区久久蜜芽| 国产xx在线观看| 久视频免费精品6| 久夜色精品国产噜噜| 久久精品娱乐亚洲领先| 亚洲国产中文在线二区三区免| 白浆视频在线观看| 亚洲中文字幕无码mv| 国产美女91呻吟求| 一级毛片基地| 成人午夜视频在线| 欧美日韩中文国产| 国产网站免费看| 国产日韩欧美精品区性色| 精品视频在线一区| 夜夜拍夜夜爽| 久久久久九九精品影院| 这里只有精品在线播放| 伊人查蕉在线观看国产精品| 亚洲二区视频| www.91中文字幕| 成人福利在线视频免费观看| 超级碰免费视频91| 欧美激情综合| 中文字幕精品一区二区三区视频| 婷婷综合色| 国产免费黄| 亚洲国产91人成在线| 国产精品999在线| 亚洲色图欧美| 亚洲va欧美ⅴa国产va影院| 日本黄色不卡视频| 2020精品极品国产色在线观看| 亚洲狼网站狼狼鲁亚洲下载| 免费毛片全部不收费的|