潘哲琦 付曉峰 陳旭坤
(杭州電子科技大學(xué)計(jì)算機(jī)學(xué)院 浙江省杭州市 310018)
表情是一種非語言動(dòng)作,但可以跟語言發(fā)揮類似的作用,傳達(dá)一定的信息和情緒。人工智能的發(fā)展使得對表情的感知不僅局限于人與人之間,機(jī)器也可以識別人臉表情。人臉表情識別技術(shù)日趨成熟,但是相關(guān)應(yīng)用的市場占有率還很小。人臉表情識別在人機(jī)交互、醫(yī)療[1]、通信等方面具有較大的商業(yè)價(jià)值,是學(xué)術(shù)界和工業(yè)界研究的熱點(diǎn)。近年來,深度學(xué)習(xí)以及智能設(shè)備的發(fā)展為表情識別技術(shù)的產(chǎn)生奠定了基礎(chǔ),而人臉檢測精度[2]提高更是加快了人臉表情識別的進(jìn)度。目前的人臉表情識別方法有
(1)非對稱性局部二值模式人臉表情識別,該方法通過對表情圖像光照補(bǔ)償預(yù)處理及分割出表情的關(guān)鍵區(qū)域,并加權(quán)融合局部與整體特征,大大提高了特征的鑒別能力[3];
(2)基于特征融合的人臉表情識別研究,高階自相關(guān)特征能反映圖像內(nèi)容固有的邊緣信息和細(xì)節(jié)信息,提高了算法識別率[4]等。這些方法存在一些缺陷,如所用數(shù)據(jù)集較小,沒有對實(shí)時(shí)檢測進(jìn)行實(shí)驗(yàn)。而本文采用卷積神經(jīng)網(wǎng)絡(luò)[5],搭建網(wǎng)絡(luò)結(jié)構(gòu),使用Fer2013據(jù)集在較短時(shí)間內(nèi)訓(xùn)練出驗(yàn)證準(zhǔn)確率高達(dá)90%的人臉表情識別模型。同時(shí),以表情識別為核心算法構(gòu)建了一個(gè)情緒影集剪輯系統(tǒng),擁有良好的用戶界面和交互性。將該系統(tǒng)應(yīng)用于婚宴場景的表情抓拍,并取得良好的結(jié)果。
(1)實(shí)時(shí)性是本系統(tǒng)所追求的重要目標(biāo)。要想對視頻進(jìn)行實(shí)時(shí)處理,對表情識別的速度要求很高。視頻傳輸?shù)臅r(shí)間是固定的,要讓表情識別對每一幀視頻圖像檢測時(shí)間更少,需要提高算法識別速度。
(2)應(yīng)用兼容性是應(yīng)用型系統(tǒng)的重要目標(biāo)。本系統(tǒng)運(yùn)行的軟件和硬件環(huán)境均為當(dāng)前主流配置,所以兼容性較強(qiáng)。
(3)系統(tǒng)必須達(dá)到的目標(biāo)是高準(zhǔn)確率,能夠精確檢測人臉并識別出表情種類
(4)系統(tǒng)界面設(shè)計(jì)應(yīng)站在用戶的角度進(jìn)行,清晰、準(zhǔn)確、簡潔的實(shí)現(xiàn)用戶和軟件之間的交互。界面舒適,色彩柔和。按鈕設(shè)計(jì)合理,便于用戶使用。系統(tǒng)交互性設(shè)計(jì)讓用戶擁有良好的體驗(yàn)。
系統(tǒng)總體設(shè)計(jì)如圖1 所示,系統(tǒng)總體功能分為四個(gè)模塊:讀取視頻流模塊、人臉檢測模塊、表情識別模塊、情緒影集生成模塊。整個(gè)系統(tǒng),對輸入的視頻流進(jìn)行處理,讀取一幀圖片,對圖片預(yù)處理后進(jìn)行人臉檢測,然后進(jìn)行表情識別并顯示結(jié)果。根據(jù)表情分類選擇合適的表情生成情緒影集。
圖1:系統(tǒng)總體設(shè)計(jì)
圖2:網(wǎng)絡(luò)結(jié)構(gòu)
圖3:實(shí)時(shí)視頻中人臉表情識別流程圖
圖4:訓(xùn)練集準(zhǔn)確率隨迭代次數(shù)的變化
系統(tǒng)組成模塊如下所示:
2.2.1 視頻流讀取模塊
該模塊接收來自外界(如攝像頭、本地視頻)的視頻流,對每一幀圖像進(jìn)行預(yù)處理。
表1:本文算法和其他算法識別率比較
表2:本文算法和其他算法識別速度比較
圖5:查看實(shí)時(shí)攝像視頻
圖6:表情選擇界面
2.2.2 人臉檢測模塊
該模塊對圖片進(jìn)行人臉檢測,檢測出圖片中人臉位置并裁剪出精確的人臉。
2.2.3 表情識別模塊
這是系統(tǒng)中最重要的模塊。對裁剪出的人臉進(jìn)行表情識別,并記錄結(jié)果。同時(shí)將圖片識別結(jié)果存儲在不同文件夾里。
2.2.4 情緒影集生成模塊
該模塊對于已經(jīng)存儲的各類表情進(jìn)行選擇,之后合成情緒影集。
Fer2013 是本文使用的數(shù)據(jù)集。該數(shù)據(jù)集包括35886 張圖片,分為七種表情,分別是:中性、驚訝、傷心、開心、恐懼、厭惡、生氣。首先從Fer2013.csv 中獲取人臉數(shù)據(jù),將其變?yōu)?8*48 像素圖片。再進(jìn)行灰度處理,灰度處理可以減少之后的計(jì)算量,同時(shí)又不會失去圖像的形態(tài)特征。
本文使用Opencv 自帶的Haar-Adaboost 算法。該算法先針對同一個(gè)訓(xùn)練集訓(xùn)練出不同的分類器,再把這些分類器集合起來構(gòu)成一個(gè)更強(qiáng)的最終分類器。該算法可以檢測出一張圖片有無人臉,并標(biāo)出人臉位置。
通過構(gòu)建卷積神經(jīng)網(wǎng)絡(luò)來訓(xùn)練數(shù)據(jù)集,本次使用的網(wǎng)絡(luò)結(jié)構(gòu)如圖2 所示。其中有兩個(gè)卷積層,卷積核分別是5*5*1、3*3*6。參數(shù)基于以往科學(xué)家的實(shí)驗(yàn)然后針對本實(shí)驗(yàn)不斷調(diào)整得出。激勵(lì)層使用Relu 函數(shù)作為激勵(lì)函數(shù),而且效果一般不錯(cuò),之后實(shí)驗(yàn)證明也是如此。本文使用每個(gè)塊大小為3*3、步長為2 的最大池化層,用于數(shù)據(jù)降維。全連接層用于表情分類其中參數(shù)384、192 代表輸出神經(jīng)元個(gè)數(shù)。
如圖3 所示,取出實(shí)時(shí)視頻中每一幀圖像,進(jìn)行人臉表情識別,并返回結(jié)果。一秒可以檢測98 張圖片。而視頻流一秒有25 張圖片,完全可以滿足實(shí)際應(yīng)用。鑒于視頻讀取和輸出的時(shí)間消耗,會有一點(diǎn)點(diǎn)延遲,但可以忽略。
圖7:選擇要合成的表情和圖片
圖8:播放合成影集
如圖4 所示,隨著迭代次數(shù)的增加,總的訓(xùn)練準(zhǔn)確率呈上升趨勢。但不是一直遞增,有時(shí)也會下降。Step20000 之后趨于平穩(wěn)。最后訓(xùn)練集準(zhǔn)確率達(dá)到96%。總的訓(xùn)練時(shí)長大約3 小時(shí),總體訓(xùn)練時(shí)間較少。另外平均檢測一張圖片的時(shí)間只需0.04 秒,可以對視頻流進(jìn)行實(shí)時(shí)檢測。
如表1 所示,將本文算法和其他算法的識別率進(jìn)行比較,在Fer2013 數(shù)據(jù)集上,本文算法具有一定的優(yōu)勢,具有較高的識別率。本文算法采用數(shù)據(jù)集數(shù)量大,采用卷積神經(jīng)網(wǎng)絡(luò)提取特征,最后使得識別率高。
為驗(yàn)證本文算法,將本文算法識別速度和其他算法進(jìn)行比較,如表2 所示。由表2 可見,本文算法識別速度較高,完全可以適用于實(shí)際應(yīng)用。
系統(tǒng)開發(fā)面向?qū)嶋H婚宴場景應(yīng)用,用于抓拍婚宴中人們的各類表情,并生成情緒影集??梢赃x擇本地視頻、攝像頭或者本地圖片進(jìn)行識別。識別后,可以選擇各類表情進(jìn)行合成視頻。具有識別準(zhǔn)確率高、識別速度快的特點(diǎn)。
(1)如圖5 所示查看實(shí)時(shí)攝像,并實(shí)時(shí)顯示表情種類。左下角顯示實(shí)時(shí)視頻,中間偏右顯示檢測結(jié)果和檢測每張圖片所需時(shí)間,右下角顯示每種表情的概率。左上方按鈕功能分別為:點(diǎn)擊“選擇視頻”,可以選擇視頻進(jìn)行接入;點(diǎn)擊“選擇模型”可以選擇使用的識別模型;點(diǎn)擊“攝像頭按鈕”,可以開啟本地?cái)z像頭;點(diǎn)擊“選擇圖片”可以選擇要進(jìn)行識別的圖片。
(2)在點(diǎn)擊圖5 的“合成影集”按鈕后,跳轉(zhuǎn)到表情選擇界面,如圖6 所示,可以看到有七種表情可以選擇。
(3)點(diǎn)擊圖6 任意一個(gè)表情按鈕,可以進(jìn)行圖片選擇,如圖7 所示,查看表情分類結(jié)果,并可以選擇要合成的圖片。
(5)點(diǎn)擊圖5 的“播放”按鈕,可以跳轉(zhuǎn)到播放界面,如圖8 所示,點(diǎn)擊play 按鈕,進(jìn)行播放合成的影集。點(diǎn)擊back 按鈕返回主界面。
目前表情識別的應(yīng)用在市場的占有率還很低,還有很大的發(fā)展空間。例如,可以在婚宴現(xiàn)場安裝攝像頭對歡樂的鏡頭進(jìn)行抓拍,可以在嬰兒房間里安裝攝像頭,以情緒影集的形式展現(xiàn)嬰兒一天的喜怒哀樂。與此同時(shí),在表情識別的應(yīng)用上,對個(gè)人隱私的保護(hù)、識別速度和應(yīng)對復(fù)雜環(huán)境的能力仍存在一定的改進(jìn)空間。
表情識別的應(yīng)用在醫(yī)療、心理學(xué)研究上有巨大的商業(yè)價(jià)值,目前表情識別應(yīng)用在市場的占有率還很低?;诒砬樽R別的情緒影集剪輯系統(tǒng)具有識別準(zhǔn)確率高、識別速度快的特點(diǎn),而且是針對視頻流進(jìn)行識別,未來在市場上能有較好的應(yīng)用。