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

基于PCA與深度學習的表情識別算法

2023-08-10 07:02:02馮開平羅立宏
計算機應用與軟件 2023年7期
關鍵詞:深度特征

區 健 馮開平 羅立宏

1(廣東工業大學計算機學院 廣東 廣州 510006)2(廣東工業大學藝術與設計學院 廣東 廣州 510090)

0 引 言

今天,由于技術的進步和無處不在的傳播,我們大部分時間都花在了與計算機和手機的交互上。它們在我們的生活中起著至關重要的作用,并且現有的大量軟件接口都是非語言的、原始的和簡潔的。通過人臉表情識別期望用戶的感受和情感狀態可以大大改善人機交互(HCI)體驗[1-2]。

在面部表情識別中,表情一般分為7類[3],包括生氣、厭惡、害怕、高興、悲傷、驚訝和中性。現在的表情識別任務集中在圖像預處理、特征提取和分類三大塊,從原始數據中抽離特征用于分類這一步驟有著至關重要的作用,它直接影響了表情識別的性能。傳統的特征提取方法主要有局部特征二值模式(Local Binary Patterns)、主成分分析(Principal Component Analysis)、尺度不變特征變換(Scale-invarialt Feature Transform)等。Ma等[4]提出了一種基于塊LGBP,以接收過完備字典。通過稀疏表示,從每個最小子塊中的殘差值中獲取類別殘差向量。通過殘差向量類別中的大量最小殘值來測試表情類別。蔡則蘇等[5]提出了一種基于PCA的特征提取算法,通過PCA提取人臉特征并將特征加入哈希表中進行分類,對復雜數據集進行降維并揭示了數據集中某些潛在的隱含信息。傳統方法大多采用手工提取,雖然具有較高的準確率,但是過程中會包含對分類沒有作用的特征,或者忽略了對分類具有重大作用的特征。隨著近些年來深度學習的不斷發展,將卷積神經網絡應用到表情識別分類的問題引發了眾多學者的研究和探討。深度學習方法與傳統方法最大的不同就是深度學習將特征提取和分類兩大塊結合在了一起,這極大地減少了因人工干預而導致的誤差,并且通過局部感知的方法提取特征可以細化提取出人工提取難以提取到的關鍵點和特征。Szegedy等[6]提出了GoogLeNet架構,卷積神經網絡結構深度高達27層,是ILSVRC2014分類挑戰賽冠軍,將Top5的錯誤率降低至6.67%。He等[7]提出了ResNet架構,在ILSVRC2015中獲得優勝,ResNet在其內部殘差塊使用了內部跳躍連接,緩解了在深度網絡中增加深度帶來的梯度消失問題。深度學習的方法取得了比傳統方法更高的識別率,但也帶來了一些無法忽視的問題:圖像預處理過于耗時、網絡深度和寬度過高導致計算復雜度過大、梯度彌散(梯度越到后面越容易消失),難以優化模型、訓練數據集有限容易產生過擬合。

針對以上問題,本文提出了一種以主成分分析特征圖作為輸入的改進的輕量卷積神經網絡結構。首先通過主成分分析方法對圖像進行降維重構,摒棄了自然采集圖像下出現的許多與面部表情無關的冗余信息,降低預處理成本;然后本文設計了一種輕量卷積網絡結構,降低由于網絡深度寬度導致的高計算成本和梯度彌散問題;最后與現有的人臉表情識別方法進行對比,在與現實環境相符合的FER2013公開數據集上進行實驗。結果表明,本文方法有效地提高了人臉表情的識別率。

1 基本理論

1.1 主成分分析法

PCA通過線性變換將訓練圖像變為一組各維度都線性無關的數據,使得這一組數據盡可能多地反映訓練圖像的信息[8-9]。PCA的目標是找到數據中最主要的信息,去除噪聲和冗余,并將復雜的數據降維,發掘出隱藏在復雜數據背后的簡易結構。訓練圖像可看作一個復雜的高維數據矩陣,可用PCA對該圖像進行降維重構,得出降維后的樣本圖像。

PCA的處理步驟如下:

1) 把每幅圖像看作一個矩陣X,表達式如下:

2) 求取圖像樣本矩陣的協方差矩陣S,如下:

3) 求協方差矩陣的特征值和特征向量:解特征方程|λ-Sr|=0或采用SVD方法(本文采用SVD),求特征值λ1≥λ2≥…≥λl以及對應的特征向量a1,a2,…,al,其中l表示特征向量的個數,協方差矩陣的特征向量表示為A=(a1,a2,…,an)。

4) 將協方差矩陣的特征向量按特征值的大小進行排列組合,并取前k個向量作為投影到k維空間的投影矩陣。

5) 投影矩陣與圖像樣本矩陣的點積生成最終的主成分矩陣,訓練圖像的主成分矩陣為ATX。

1.2 卷積神經網絡

前饋式網絡(Feedforward Neural Work,FNN)是一種簡單的神經網絡,神經元按照各層分布排列,各層神經元只和前一層的神經元相連。單通道且各層間沒有反饋,是目前發展最快、應用最廣的神經網絡之一。卷積神經網絡(Convolutional Neural Network,CNN)是一種特殊的前饋式網絡,它具有深度結構并包含卷積計算,是深度學習的代表算法之一,它包含了卷積層、池化層、全連接層、輸出層等多個結構。卷積神經網絡通過端對端的方式,對圖像進行特征提取和分類,極大減少了人工干預,適用于大規模的數據訓練。以下是卷積神經網絡結構詳解。

1.2.1卷積層

卷積層由若干個卷積單元組成,卷積單元通過反向傳播算法得到最佳化參數,用于提取特征圖。將用可訓練的卷積核應用到上一層的表情特征圖的所有點上,通過將卷積核在輸入特征圖上滑動,生成經過濾波處理的特征圖,并經過激活函數激活后輸出給下一層。表情特征圖的處理公式為:

Ci=f(Ci-1*Ki+bi)

(3)

式中:Ci為第i層輸出的特征圖;f為激活函數;Ki為第i層與第i-1層對應的卷積核;bi為偏置向量。

1.2.2池化層

池化層主要是對參數進行壓縮,是圖像的下采樣層[10]。池化層一方面能對特征圖進行降維,減少網絡計算量,另一方面可以提取主要特征,放棄次要特征,防止網絡過擬合,提高模型泛化能力。本文采用最大池化與平均池化兩種方式,最大池化是選擇池化區域中最大的數作為該池化區域的輸出,平均池化則是對池化區域的所有數求和取平均值。池化公式為:

Ci=f(down(p(Ci-1)+bi))

(4)

式中:Ci為第i層輸出的特征圖;f為激活函數;p為池化方式;down為下采樣函數;bi為偏置向量。

1.2.3全連接層

全連接層將自身的每一個神經元與上一層的神經元進行連接,將所有特征排列成一個向量,作為神經網絡的“分類器”。基于這個特性,全連接層的參數是整個卷積神經網絡最多的一層,占比高達80%以上。其計算公式為:

xout=f(xin*K+b)

(5)

式中:xin為輸入的元素,xout為輸出元素;f為激活函數;K為全連接層的卷積核;b為偏置向量。

1.2.4輸出層

本文采用SoftMax函數進行輸出層的表情分類,SoftMax函數,又稱歸一化函數。它是邏輯二分類器sigmoid函數的擴展,適用于多分類問題。SoftMax函數接收全連接層輸出的向量作為輸入,把每一維的數轉換為(0,1)區間的某一實數,進行分類。對于輸入圖像x,其是類別i的概率公式為:

式中:p表示x是類別i的概率;w表示權重值;k表示總的類別數,k∈{0,1,2,3,4,5,6}。

2 算法描述

2.1 圖像預處理

人臉表情圖像在采集的過程中,會存在采光過高、背景復雜、無用冗余信息過多等問題。因為在用卷積神經網絡訓練之前,需要對圖像進行補光、人臉定位等預處理。

2.1.1 FER2013數據集

FER2013人臉表情數據集由35 886幅人臉表情圖片組成,其中,測試圖包含了28 708幅圖片,驗證圖和測試圖各為3 589幅。每幅圖的尺寸固定為48×48像素,且均為灰度圖像。共有7種表情,分別對應0-6的數字標簽,具體表情對應的標簽如下:0,生氣;1,厭惡;2,害怕;3,高興;4,悲傷;5,驚訝;6,中性。該數據集的圖像具有不同的角度、光照、姿勢、遮擋物,并且分辨率較低,使得FER2013對比其他公開數據集數據更加齊全,同時也更加符合生活場景。圖1為FER2013數據集中的7種表情圖像例子。

圖1 FER2013數據集的7種表情類別圖例

2.1.2 JAFEE數據集

JAFEE數據集包含213幅圖像,是十位日本女性的7種面部表情(與FER20213數據集中的表情標簽相同),每個人每種表情大約有3到4幅圖像[10]。圖像源自于實驗室采集,是像素為256×256的靜態灰度圖。圖2為JAFEE數據集中的7種表情圖像樣例。

圖2 JAFEE數據集的7種表情類別圖例

在數據集中的預處理如下:

1) 將數據集的原始圖像進行PCA降維重構,獲取表情識別的關鍵部分:鼻子、眼睛、嘴巴。忽略掉與表情識別無關的面部區域,去除多余信息,降低模型訓練成本。效果如圖3所示。

圖3 PCA降維重構圖像

2) 數據增強。為了保證訓練模型的精度,防止神經網絡過擬合,加強神經網絡的泛化能力,需要對數據進行數據增強處理。本文采用的數據增強方式是旋轉變換、上下左右移動、隨機水平翻轉、傾斜、縮放的方式,將數據集圖片擴充到近十倍,具體參數如表1所示。

表1 數據增強參數

2.2 改進的輕量卷積神經網絡架構

盧官明等[11]設計的7層CNN模型在用于人臉表情識別上要優于一般的傳統方法,但識別率與其他深層的卷積模型相比依然達不到一個理想的效果,而在GoogLeNet與VGG16等分別具有27層與16層,在數據量小的數據集中會導致特征圖分辨率降低,出現梯度彌散、學習特征不夠魯棒等問題,而且深度過高導致計算成本過大,實時性不足。

為此,本文提出了一種改進的輕量卷積神經模型:

1) 在輸入層加一層步長為1的1×1卷積。

2) Conv2-1層和Conv2-2層的卷積核為64個,Conv2-1和Conv2-2層的卷積核尺寸為5×5;Conv3-1層和Conv3-2層的卷積核為64個,Conv3-1層和Conv3-2層層的卷積核尺寸為5×5。

3) 池化層不包含學習參數,P4層采用最大值池化(MaxPooling2D),P7層采用平均池化(AveragePooling2D),池化核大小均為(2,2),池化步長為2。

4) 在每個卷積層的后邊均加入PReLU激活函數[12]。全連接層Fc1和Fc2后均添加Dropout函數,參數設置為0.5。

輕量神經網絡結構如圖4所示。

圖4 輕量神經網絡結構示意圖

該網絡結構一共含有9層,包括5層卷積層、2層池化層和2層全連接層,受文獻[13]的啟發,網絡在輸入層中加入一層1×1的卷積層增加非線性表示,增加網絡深度,提高模型特征表達能力;該模型在初始層較大的堆疊卷積層使用5×5卷積核,在后兩層堆疊卷積層使用3×3卷積核,可有效降低參數量并保證模型空間特征信息的提取能力;在堆疊卷積層中加入PReLU函數,在ReLU激活函數的基礎上加入參數,參數由模型訓練得出,可提高網絡的非線性表征,解決梯度彌散問題,加快模型收斂速度。對最后一層卷積得出的深度卷積采用平均全局池化操作(Golbal Average Pooling),最大程度保留局部信息,替代一層1×4 096的全連接層,減少參數量,降低計算成本;剩余兩層連接層神經元個數分別為2 048、1 024。全連接層中加入一層參數為0.5的Dropout層[13]。全連接層神經元經過dropout之后,一半的神經元個數置0,可有效防止過擬合現象,加快訓練速度,增強神經網絡模型的泛化能力,最后輸入到輸出層,實現人臉表情的分類。

該網絡結構參數設置如表2所示。

表2 卷積神經網絡結構參數

3 實驗與結果

3.1 實驗環境

本文方法使用硬件信息如下:GPU是NVIDA GeForce GTX960,CPU為Intel(R)Core(TM) i5-2300@2.80Hz,內存為8 GB;實驗基于Python3.6.5下的TensorFlow2.0深度學習框架來進行,操作系統為Windows 10。為了保證實驗的嚴謹性,實驗采用的是十折交叉驗證法,將經過擴充的公開數據集分為10份,9組作為訓練集,1組作為測試集,進行10次實驗,將10次實驗結果取平均值。這樣既保證了實驗結果的有效性,也可以讓每份樣本都可以作為測試集和訓練集,避免某些數據噪聲過大而影響最終的識別效果。作為CNN中的超參數設置如表3所示。

表3 CNN超參數

3.2 實驗結果與分析

經過200個epoch的訓練后,計算十折交叉驗證后,FER2013數據集上的準確率為69.07%,得到的識別率曲線圖5所示,JAFFE數據集上的準確率為98.23%,得到的識別率曲線如圖6所示。

圖5 FER2013數據集的準確率曲線圖

圖6 JAFFE數據集的準確率曲線圖

由圖5、圖6可以看出,經過大概40個epoch之后,模型就達到了一個比較好的識別效果。經過200個epoch之后,識別率保持一個穩定的狀態,不再發生太大的波動,說明此時模型得到了充分的收斂。由圖中改進CNN與輕量CNN的曲線對比可知,經過結構改進的CNN識別率上優于輕量CNN。而經過PCA和數據增強的預處理之后,本文方法識別率要高于改進的純輕量CNN方法。

為了比較本文所提出的方法性能,與其他現有的主流模型和方法進行了對比實驗。FER2013數據集的對比結果如表4所示。

表4 不同算法在FER2013數據集的識別率結果對比

在FER2013數據集中,文獻[14]采用的是類VGG結構網絡,通過不斷堆疊卷積層和池化層構建深度網絡,但因其結構只有10層,未達到VGG-16的深度和寬度,導致難以精確地提取人臉表情特征,識別率較低。文獻[15]是采用了8×8的卷積核的深度網絡結構,達到了肉眼識別65±5%[20]的效果,但選用的卷積核過大導致提取空間特征信息能力下降,識別率不夠理想。文獻[16-18]采用的均是多網絡融合的深度網絡框架,與單網絡相比,性能并沒有提升。說明針對FER2013數據集,多網絡融合并不是一個很好的選擇,使用單網絡反而能取得較好的識別率。文獻[19]提出了一種緊湊型的深度學習框架,使用了更少的參數情況下達到了較好的識別效果,達到66.51%。

為了進一步驗證模型的有效性和泛化能力,本文給出了JAFEE數據集中與其他現有模型的對比,如表5所示。

表5 不同算法在JAFFE數據集的識別率結果對比

在JAFFE數據集中,主流方法文獻中大多采用的是特征融合的深度網絡結構,文獻[22]采用的是多分辨率特征融合的方法,文獻[23]采用的是局部特征融合的方法,文獻[24]采用的是LBP特征與CNN卷積層融合的方法,文獻[23]和文獻[24]的方法原理上相似,均為通過擯棄與表情特征無關的一些特征向量以達到提高表情識別率的目的,而通過調整分辨率的方法則無法去除這些冗余的信息,因此文獻[23]和文獻[24]的識別率提升明顯,達到了97%。從表4、表5的識別率對比可以看出,本文提出的通過PCA降維重構獲得主成分特征圖像作為輸入,并通過輕量CNN訓練實現特征提取與分類的表情識別算法,具有更好的表情識別能力,一定程度上提高了表情識別率,在FER2013數據集和JAFFE數據集上達到了69.07%和98.23%的識別率。表6、表7分別為本文方法在FER2013數據集和JAFFE數據集上的混淆矩陣。

表6 FER2013數據集混淆矩陣

表7 JAFFE數據集混淆矩陣

表6、表7的混淆矩陣顯示了害怕、生氣、悲傷這三類表情的識別率明顯比其他四類表情低。輕微的生氣臉部會有輕微變動,無表情易于中性混淆;過分的生氣則會伴隨嘴巴張大、眉毛緊鎖和鼻子皺起等現象,與害怕和悲傷產生混淆。而害怕與悲傷最容易混淆,亦是兩表情中具有相同的眉毛特性、嘴角向兩邊拉伸以及眼睛緊緊閉起等特征。高興和驚訝最具識別率是因為它們各自具有獨特的標識:高興表情大部分嘴角翹起,眼瞼收縮;驚訝表情則會眼睛睜大,嘴巴張開。由于JAFFE數據集是在實驗室的環境中進行,所以高興、驚訝這兩類非常具有辨識度的表情達到了最高識別率,而FER2013數據集是競賽數據集,數據來源復雜,并不能達到實驗數據集的精度,而且數據集中一些復雜的表情圖像亦帶來了一些混淆,如驚訝般的高興、害怕般的厭惡等,增大了表情識別的難度。

4 結 語

本文方法在圖像預處理上采用了PCA降維重構法,去除與表情無關的冗余特征,降低了深度模型在特征提取上的預處理時間成本,并用數據增強的方法擴充了數據集,加強了模型的泛化能力并防止過擬合。設計了改進的輕量級神經網絡,降低深度模型的深度和寬度,在FER2013、JAFEE公開數據集上進行了實驗,分別取得了69.07%和98.23%的識別率,一定程度上提高了表情識別率,并與其他主流方法進行對比,證明了其有效性。后續將用本方法在不同數據集中應用,并進一步調整網絡的內部框架和參數,提高神經網絡的泛化能力。

猜你喜歡
深度特征
抓住特征巧觀察
深度理解一元一次方程
新型冠狀病毒及其流行病學特征認識
如何表達“特征”
不忠誠的四個特征
當代陜西(2019年10期)2019-06-03 10:12:04
深度觀察
深度觀察
深度觀察
深度觀察
抓住特征巧觀察
主站蜘蛛池模板: 性视频一区| 色香蕉影院| 青青草原国产av福利网站| 日本成人福利视频| 国产SUV精品一区二区| 国产激情影院| 一区二区三区精品视频在线观看| 亚洲欧美成人在线视频| 亚洲免费三区| 日韩最新中文字幕| 丁香六月综合网| 亚洲V日韩V无码一区二区| 久久青草免费91观看| 久久午夜夜伦鲁鲁片无码免费| 国产在线视频欧美亚综合| 欧洲精品视频在线观看| 亚洲无线视频| 亚洲成a人片在线观看88| 麻豆精品视频在线原创| 国产真实乱人视频| 国产91丝袜在线播放动漫| 精品人妻系列无码专区久久| 久久亚洲日本不卡一区二区| 国产精品三级专区| 天天综合天天综合| 国产欧美在线| 欧美日韩北条麻妃一区二区| 国产成人精品第一区二区| 久久91精品牛牛| 亚洲欧美日韩成人高清在线一区| 国产爽爽视频| 免费看黄片一区二区三区| 亚洲人成网址| 日韩高清无码免费| 成人蜜桃网| 国产女主播一区| 四虎影院国产| 国产手机在线观看| 国产高清免费午夜在线视频| 久久中文字幕2021精品| 91久久精品国产| 久久精品一品道久久精品| 国产欧美视频综合二区| 精品一区二区三区水蜜桃| 丝袜无码一区二区三区| 91精品aⅴ无码中文字字幕蜜桃 | 在线国产三级| 波多野结衣的av一区二区三区| 欧美人与牲动交a欧美精品| 亚洲精品无码人妻无码| av在线手机播放| 日韩毛片在线视频| 一级毛片无毒不卡直接观看| 国产高清色视频免费看的网址| 91小视频在线观看免费版高清| 全午夜免费一级毛片| 国产小视频a在线观看| 免费国产小视频在线观看| 国产精品成人免费综合| 日本成人福利视频| 夜精品a一区二区三区| 久久精品人妻中文系列| 国产噜噜噜| 伊人五月丁香综合AⅤ| 国产黄在线观看| 精品国产成人a在线观看| 国产免费看久久久| 日本高清视频在线www色| 亚洲欧美综合另类图片小说区| www.狠狠| 国产一级无码不卡视频| 99re免费视频| 日本不卡在线视频| 中文字幕第4页| 亚洲人成成无码网WWW| 性喷潮久久久久久久久| 99久久精品免费看国产免费软件 | 久久九九热视频| 欧洲亚洲一区| 男女精品视频| 国产高清不卡| 亚洲制服丝袜第一页|