杜杏菁,孫炳剛
(華北科技學(xué)院 計(jì)算機(jī)學(xué)院,北京 東燕郊 065201)
情感識別大致可分為三個(gè)階段:感知、認(rèn)知、自主智能。感知智能如語音識別等技術(shù)已經(jīng)相當(dāng)成熟,應(yīng)用到相關(guān)領(lǐng)域,取得較好的效果。認(rèn)知智能如人臉識別、姿態(tài)識別、人體跟蹤等技術(shù)也比較成熟,應(yīng)用到了各種識別、監(jiān)控、支付等場所。自主智能正隨著互聯(lián)網(wǎng)、物聯(lián)網(wǎng)、移動網(wǎng)絡(luò)、大數(shù)據(jù)及GPU計(jì)算機(jī)硬件、深度學(xué)習(xí)等技術(shù)而快速發(fā)展。
表情識別是最直接、有效的情感識別模式,分靜態(tài)圖像表情識別和動態(tài)序列表情識別,靜態(tài)圖像表情識別是圖片表情識別,涉險(xiǎn)崗位人員情緒實(shí)時(shí)監(jiān)測是表情識別在現(xiàn)實(shí)場景中的驗(yàn)證和應(yīng)用,是預(yù)防失控情緒引發(fā)的重大傷害事件發(fā)生的措施,是社會和諧發(fā)展、城鎮(zhèn)智能化的技術(shù)支撐?;谏疃葘W(xué)習(xí)卷積神經(jīng)網(wǎng)絡(luò)人臉表情識別技術(shù),對涉險(xiǎn)崗位人員異常情緒識別,提高識別率,設(shè)計(jì)異常情緒評估與應(yīng)急預(yù)警系統(tǒng),推動表情識別和情緒監(jiān)控技術(shù)的廣泛應(yīng)用。
表情是面部肌肉活動呈現(xiàn)的一種情緒指標(biāo),是人生理和心理的綜合反映,能夠傳遞情感,是情感最直接有效的識別模式,表達(dá)了個(gè)體情緒狀態(tài),是一種非語言交際形式。面部表情最常見的有七類:‘中性、高興、吃驚、悲傷、憤怒、厭惡、恐懼’,后來人們又提出了‘復(fù)合表情’。面部表情傳遞的情緒信息占55%,聲音傳遞的情緒信息占38%,語言傳遞的情緒信息僅占7%[1-2]。面部表情中含有的情緒信息最多,圖像采集方便,是基于生物特征情緒識別中比較便捷的方法。
MIT開發(fā)的情感機(jī)器人通過生物傳感器識別情感[3]。IBM公司通過手部血壓計(jì)溫度傳感器判斷情感[4]。中科院王兆其研究虛擬人表情和動作,高文研究多功能感知技術(shù)[5]。深圳安視寶產(chǎn)品屬于自體原發(fā)非主觀控制數(shù)據(jù)分析情感[6]。北京科技大學(xué)李敏嘉等研究了基于皮膚電反應(yīng)及心電圖傳感器的情緒監(jiān)測體域網(wǎng)[7]。科思創(chuàng)動通過攝像頭捕捉臉部可觀測數(shù)據(jù),直接輸出預(yù)警結(jié)果。哈爾濱工程大學(xué)研制了可模仿再現(xiàn)人臉表情的機(jī)器人H&F Robot-II。香港中文大學(xué)研究了深度學(xué)習(xí)人臉表情識別。百度發(fā)布了raven H智能音箱和raven R情感機(jī)器人。
人臉表情識別不斷有新成果出現(xiàn),其識別算法可分為:Fisher線性判別法、局部特征分析法(PCA)、獨(dú)立分量分析(ICA)、隱馬爾科夫模型法、卷積神經(jīng)網(wǎng)絡(luò)、多任務(wù)分類法等。表情識別分為整體識別與局部識別、變形提取與運(yùn)動提取、幾何特征與紋理特征[8]。識別過程分為圖像預(yù)處理、特征提取、表情分類識別[9]。表情特征主要有灰度特征、運(yùn)動特征、頻率特征[10]。表情識別包括分類模型設(shè)計(jì)與訓(xùn)練、模型應(yīng)用與決策[11]。模型設(shè)計(jì)與訓(xùn)練方法有線性法、支持向量機(jī)、隱馬爾科夫模型、物理建模、圖像編碼、神經(jīng)網(wǎng)絡(luò)等。
近年來,以卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行表情識別的研究成為熱門,Su H等利用多角度卷積神經(jīng)網(wǎng)絡(luò)(MvCNN),實(shí)現(xiàn)了多姿態(tài)物體識別[12]。2015年何凱明團(tuán)隊(duì)提出殘差網(wǎng)絡(luò)[13],不再學(xué)習(xí)完整的輸出F(x),而是學(xué)習(xí)殘差H(x)-x,解決信息傳遞過程中的丟失和損耗問題[14]。Ghosh等提出聯(lián)合視覺和聽覺信息的情緒識別[15],YIN H等采用文本、圖像、語音三種信息融合法[16],ZADEH提出記憶融合網(wǎng)絡(luò)實(shí)現(xiàn)多特征信息序列同步[17],李壽山等提出多任務(wù)融合學(xué)習(xí)網(wǎng)方法。Hu J等提出了SE-Net表情識別網(wǎng)絡(luò)[18],獲取特征的依賴關(guān)系,提升了卷積神經(jīng)網(wǎng)絡(luò)的性能。WOO S等人提出了識別網(wǎng)絡(luò)CBAM[19]。Hua等提出了不同深度子網(wǎng)卷積神經(jīng)網(wǎng)絡(luò)模型[20]。呂寶糧等進(jìn)行了腦電和眼睛雙模態(tài)深度學(xué)習(xí)DNN情緒分類[21]。王喆等利用語音和面部表情特征進(jìn)行情緒分類[22]。貴州大學(xué)盧涵宇等將遷移模型用到表情識別訓(xùn)練中[23],建立基于遷移學(xué)習(xí)的深度學(xué)習(xí)模型,對要進(jìn)行遷移學(xué)習(xí)的表情數(shù)據(jù)預(yù)訓(xùn)練網(wǎng)絡(luò)進(jìn)行微調(diào),進(jìn)行參數(shù)和知識的遷移。劉健用Inception結(jié)構(gòu)遷移到FER2013數(shù)據(jù)庫訓(xùn)練中[24],丁劍飛利用遷移MobileNets網(wǎng)絡(luò)結(jié)合SVM迭代多次后提高識別率[25],王瑞瓊將InceptionV3遷移到CK+數(shù)據(jù)庫訓(xùn)練提升訓(xùn)練效果[26]。
2013年后,各種表情識別競賽從現(xiàn)實(shí)場景收集大量訓(xùn)練數(shù)據(jù),推動了表情識別技術(shù)從實(shí)驗(yàn)室走向真實(shí)場景中。合肥工業(yè)大學(xué)的姜明星等提出了時(shí)空局部三值方向角模式(SLTOP)和表情、姿態(tài)的云加權(quán)決策融合分類方法[27],該方法首先對視頻圖像進(jìn)行預(yù)處理,得到表情和姿態(tài)的序列,提取SLTOP特征,結(jié)合灰度共生矩陣降低特征的稀疏性。王曉華等對VLBP算法進(jìn)行改進(jìn),將紋理特征與3DHOG特征融合[28],但該方法沒有分析表情與姿態(tài)對情感識別貢獻(xiàn)的大小分析。付曉峰等提出了多尺度時(shí)空局部方向角模式,有效的捕捉人臉表情三維空間的時(shí)空特征[29],但該方法獲得的特征較稀疏,限制了特征空間的分類性能?;趧討B(tài)序列的人臉表情特征學(xué)習(xí)算法出現(xiàn)了卷積神經(jīng)網(wǎng)絡(luò)(CNN)、深度置信網(wǎng)絡(luò)(DBN)、深度自編碼(DAE)、遞歸神經(jīng)網(wǎng)絡(luò)(RNN)等。
結(jié)合人臉表情的紋理特征、運(yùn)動特征,研究改進(jìn)的RNN模型??紤]表情序列空間和時(shí)間信息的RNN結(jié)合C3D方法,利用RNN在時(shí)間序列變化上建模,利用C3D在2D卷積基礎(chǔ)上沿著時(shí)間軸增加時(shí)間維度,形成3D卷積,其輸入是經(jīng)過預(yù)處理后的視頻序列,設(shè)置3-4層卷積層,降低過擬合度,利用隨機(jī)梯度下降法對模型參數(shù)進(jìn)行優(yōu)化[30]。結(jié)合應(yīng)用環(huán)境及性質(zhì),對異常情緒進(jìn)行識別。用訓(xùn)練好的分類模型對預(yù)處理后的動態(tài)視頻序列進(jìn)行異常表情或非異常表情進(jìn)行分類。
設(shè)計(jì)四層結(jié)構(gòu):數(shù)據(jù)采集層采用網(wǎng)絡(luò)攝像機(jī)實(shí)時(shí)采集視頻流,幀頻率25-30。支持層經(jīng)過采集層獲得動態(tài)圖像序列,收集表情樣本,分類訓(xùn)練,收集視頻序列驗(yàn)證測試樣本,在GPU系統(tǒng)進(jìn)行深度學(xué)習(xí)網(wǎng)絡(luò)模型訓(xùn)練。情緒監(jiān)測驗(yàn)證系統(tǒng)實(shí)現(xiàn)情緒監(jiān)測中間層各功能。最上層是分類結(jié)果及應(yīng)急預(yù)警應(yīng)用層。
異常表情識別與應(yīng)急預(yù)警過程如圖1所示。
將開心、中性兩種表情樣本中去掉,選取訓(xùn)練樣本包含‘生氣、厭惡、恐懼、傷心、驚訝’五種,分別對應(yīng)于數(shù)字標(biāo)簽和中英文:0 anger 生氣、1 disgust 厭惡、2 fear 恐懼、3 sad 傷心、4 surprised 驚訝。建立文件夾存放各自對應(yīng)的樣本圖片。從前面五種負(fù)面表情樣本中挑選表情極嚴(yán)重的樣本,單獨(dú)形成一種類別,其數(shù)字標(biāo)簽和中英文為:‘5 cnce 失控情緒’。將上面0-4五種負(fù)面表情樣本作為輸入,訓(xùn)練表情分類器,監(jiān)測失控情緒,找出失控表情樣本,并進(jìn)行標(biāo)注。
人臉檢測與表情識別研究可在現(xiàn)有公開數(shù)據(jù)集上進(jìn)行訓(xùn)練模型和驗(yàn)證測試。下載并整理了FER2013數(shù)據(jù)集,包含35887張人臉圖片,其中訓(xùn)練集28709張、驗(yàn)證集3589張、測試集3589張。每張圖片的像素為48×48。將emotion與pixels分開,形成label.csv和data.csv。轉(zhuǎn)換訓(xùn)練、測試、驗(yàn)證數(shù)據(jù)為圖片,轉(zhuǎn)換后分成0-6類,分別對應(yīng)著不同表情的圖片。數(shù)據(jù)集中train中的28709張圖片,前24000圖片作為訓(xùn)練數(shù)據(jù)集,其他4709張圖片作為驗(yàn)證數(shù)據(jù)集,分別放在train、val文件夾中。建立data-label對照表,遍歷train和val文件夾中的所有文件,將jpg格式的圖片名和索引label寫入對照表中,做為卷積網(wǎng)絡(luò)程序的輸入。
長短記憶單元(LSTM)是循環(huán)神經(jīng)網(wǎng)絡(luò)的改進(jìn)形式。通過記憶單元保存時(shí)間維度的歷史信息,因此能夠長期記住前面歷史,這些記憶單元通過各種門選擇信息的通過、禁止、舍棄。視頻經(jīng)預(yù)處理后的動態(tài)幀序列作為3DCNN、RNN網(wǎng)絡(luò)的輸入,3DCNN提取某時(shí)刻圖像的外觀和運(yùn)動信息,側(cè)重提取局部時(shí)域特征,LSTM提取動態(tài)幀序列的全局時(shí)間信息。基于兩種網(wǎng)絡(luò)的優(yōu)勢,我們采用兩種網(wǎng)絡(luò)聯(lián)合,充分利用時(shí)域在局部和全局的特征信息。
LSTM-SVM網(wǎng)絡(luò)結(jié)構(gòu)有兩部分構(gòu)成,LSTM從輸入中獲取特征,SVM進(jìn)行特征分類輸出。首先訓(xùn)練LSTM網(wǎng)絡(luò),將預(yù)處理的動態(tài)序列輸入網(wǎng)絡(luò),然后獲得調(diào)整后的特征參數(shù),輸出的信息作為SVM的輸入,進(jìn)行表情特征分類。
LSTM的輸出層為softmax邏輯回歸網(wǎng)絡(luò),包括記憶單元和控制記憶單元狀態(tài)的門結(jié)構(gòu),通過遺忘門丟掉相關(guān)度第的歷史特征,輸入門決定記憶單元對特征的敏感程度,輸出門用于輸出信息。
LSTM記憶單元狀態(tài)更新和輸出的過程如下:
第一步,刪除低關(guān)聯(lián)度歷史信息,如公式(1)所示。
ft=σ(Ufht-1+Wfxt+bf)
(1)
第二步,根據(jù)輸入數(shù)據(jù)、歷史記錄更新,如公式(2)所示。
it=σ(Uiht-1+Wixt+bi)
(2)
第三步,輸出t時(shí)刻的信息,如公式(3)所示。
ot=σ(Uoht-1+Woxt+bo)
ht=ot×tanh(Ct)
(3)
其中,Uf、Ui、Uc、Uo是隱含狀態(tài)h對應(yīng)的門權(quán)重矩陣,Wf、Wi、Wc、Wo是輸入狀態(tài)x對應(yīng)的門權(quán)重矩陣,b是對應(yīng)門的偏置向量,σ為激活函數(shù),tanh為雙曲正切激活函數(shù)。
支持向量機(jī)(SVM)用于表情二分類,通過特征空間上最大間隔進(jìn)行線性分類,添加核函數(shù)轉(zhuǎn)換為非線性分類,求解劃分訓(xùn)練數(shù)據(jù)且?guī)缀伍g隔最大的超平面。
超平面表示為:w·x+b=0,w為直線的斜率,b為直線的截距。數(shù)據(jù)集的幾何間隔定義見式(4)。
(4)
用核函數(shù)K(x,y)代替內(nèi)積,解得非線性支持向量機(jī),見式(5)。
(5)
非線性支持向量機(jī)的學(xué)習(xí)具體步驟如下:
首先,輸入訓(xùn)練集;
其次,輸出分離超平面和分類決策函數(shù);
然后,選取適當(dāng)核函數(shù)K和懲罰參數(shù)C,構(gòu)造并求解凸二次規(guī)劃問題。分類決策函數(shù)可用式(6)表示。
(6)
(7)
最后,設(shè)置懲罰函數(shù)C和幾何間隔γ,γ可設(shè)置成1。
構(gòu)建四層情緒監(jiān)測結(jié)構(gòu)模型,即視頻數(shù)據(jù)采集層、支撐層、功能實(shí)現(xiàn)層和應(yīng)用層。如圖2所示。數(shù)據(jù)采集層采用網(wǎng)絡(luò)攝像機(jī)實(shí)時(shí)采集視頻流,幀頻率25-30,壓縮格式,黑白自動平衡,支持ONVIF、RTSP協(xié)議,光照感光0.1 lux。支撐層經(jīng)過采集層獲得動態(tài)圖像序列,收集表情樣本,分類訓(xùn)練,收集視頻序列檢驗(yàn)、驗(yàn)證樣本,在GPU系統(tǒng)進(jìn)行深度學(xué)習(xí)訓(xùn)練網(wǎng)絡(luò)模型。在Intel I7酷睿4/8核CPU實(shí)現(xiàn)情緒監(jiān)測的中間各功能層。最上層是分類結(jié)果及應(yīng)急預(yù)警應(yīng)用層。
圖2 異常情緒應(yīng)急預(yù)警系統(tǒng)層次結(jié)構(gòu)
整理FER2013數(shù)據(jù)集,訓(xùn)練集28709張、驗(yàn)證集3589張、測試集3589張。每張圖片的像素為48×48。將emotion與pixels分開,形成label. csv和data.csv。轉(zhuǎn)換訓(xùn)練、測試、驗(yàn)證數(shù)據(jù)為圖片,轉(zhuǎn)換后分成0-6類,分別對應(yīng)著不同表情的圖片。數(shù)據(jù)集中train中的28709張圖片,前24000圖片作為訓(xùn)練數(shù)據(jù)集,其他4709張圖片作為驗(yàn)證數(shù)據(jù)集,分別放在train、val文件夾中。建立data-label對照表,遍歷train和val文件夾中的所有文件,將jpg格式的圖片名和索引label寫入對照表中,做為卷積網(wǎng)絡(luò)程序的輸入。
采用深度學(xué)習(xí)卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行特征提取和分類模型訓(xùn)練,優(yōu)化參數(shù),調(diào)整模型結(jié)構(gòu),使用驗(yàn)證樣本對模型進(jìn)行驗(yàn)證。視頻人臉表情識別是一個(gè)動態(tài)識別過程,使用3D-LSTM-SVM網(wǎng)絡(luò)模型,將視頻中N幀圖像分別對應(yīng)N個(gè)CNN提取特征,每層CNN與LSTM相連,將視頻流中各幀表情特征逐個(gè)提取,并通過LSTM-SVM分類識別,最終判斷是否為異常情緒。網(wǎng)絡(luò)模型如圖3所示。
圖3 異常表情識別模型
分類判別器輸入圖像大小為256×256×3,卷積核為3×3,設(shè)計(jì)四層卷積,濾波器數(shù)量分別為32、64、128、256,輸出圖像大小為32×32×256,利用全連接層進(jìn)行表情分類識別。通過神經(jīng)元參數(shù),輸出隱含層信息,將隱含層信息輸入到SVM分類器。卷積網(wǎng)絡(luò)模型設(shè)計(jì)見表1。
表1 卷積神經(jīng)網(wǎng)絡(luò)層次
考慮到系統(tǒng)的準(zhǔn)確率,在保證功能的情況下,調(diào)整Conv2D的參數(shù)。filters參數(shù)是過濾器的個(gè)數(shù),kernel_size卷積核的尺寸,Strides步長是上下左右滑動的長度,默認(rèn)為1。Padding只有兩個(gè)值valid和same,valid代表圖像邊緣為空,而same表示圖像邊緣用“0”填充。activation激活函數(shù)關(guān)鍵字,表示經(jīng)過本次卷積后,再運(yùn)行一次激活函數(shù)。sigmoid相對來說,計(jì)算量較大,進(jìn)行反向傳播時(shí),會出現(xiàn)梯度消失情況。ReLU則緩解了過擬合問題,softmax用于分類。首先修改卷積核的個(gè)數(shù)8、16、32、64、128,修改卷積核的尺寸3×3、5×5,步長1、2、3,找到最優(yōu)的解,然后通過不同padding值,以及不同的激活函數(shù)達(dá)到最優(yōu)目的,修改卷積層個(gè)數(shù),找到模型性訓(xùn)練的最高準(zhǔn)確率和效率。卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練模型的參數(shù)輸出見表2。
表2 param輸出
在FRE2013數(shù)據(jù)集上,通過Covariance Pooling、Soft Label等方法進(jìn)行識別比較,得到的結(jié)果見表3。
表3 FER2013-DB數(shù)據(jù)集上的識別精度
(1) 將某時(shí)間窗口的一系列幀作為輸入,使用3DCNN模型,輸入n幀序列與3D濾波器做卷積,整體網(wǎng)絡(luò)與局部特征網(wǎng)絡(luò)結(jié)合訓(xùn)練,捕捉表情變化的過程信息。訓(xùn)練LSTM分類器學(xué)習(xí)表情特征的時(shí)間演變,連接低層的CNN網(wǎng)絡(luò)捕捉時(shí)空特征信息,完成異常情緒識別及應(yīng)急預(yù)警系統(tǒng)設(shè)計(jì)。
(2) 使用FER2013數(shù)據(jù)集對系統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)模型進(jìn)行多次深度學(xué)習(xí)后,最高識別效率達(dá)到70.04%.
(3) 將應(yīng)急預(yù)警系統(tǒng)設(shè)計(jì)成四層,通過異常情緒識別,完成語音視頻的預(yù)警處理。