張洋銘,吳 凱,王藝凡,利 節
(1.復雜系統仿真總體重點實驗室,北京 100020;2.重慶科技學院 智能技術與工程學院,重慶 400000)
面部表情是人際交往過程中表達情感和含意的重要手段之一[1]。近年來,面部表情識別在虛擬現實、智能教育系統、醫療衛生和數據驅動動畫等領域都取得了較大進展[2-4]。面部表情識別主要是根據給定的人臉圖像來識別人臉的情緒和情感態度(如中性、憤怒、厭惡、恐懼、開心、傷心和驚嘆)[5]。一方面因在訓練過程中表情標注主觀性強,歧義較大,訓練數據集標注難度大,導致可訓練樣少,甚至公開數據集均是缺乏多樣性的小數據樣本,導致訓練困難和識別準確度不高。目前眾多數據增強的預處理方法(比如隨機裁剪,隨機翻轉等)可以解決數據樣本缺失導致準確度不能提高的問題[6],但采用具體模型適用于面部表情數據集的,才可以最大程度上提高識別的準確率。
筆者主要研究通過隨機數據增強策略并結合基于特征的方法以提高人臉面部表情識別準確度,通過VGG19網絡提取面部表情特征并進行準確識別。其中數據增強是采用5種數據增強方式(圖像旋轉、圖像平移、圖像縮放、圖像翻轉、圖像投射)隨機權重結合,通過實驗結果得出了哪種數據增強的分配策略更適用于面部表情識別,即在保證可訓練的數據集具有多樣性的同時,得到更加準確的識別模型并掌握其權重的分布情況。
VGG在2014年由牛津大學著名研究組VGG(visua geometry group)提出,斬獲該年Imagenet競賽中定位任務(localization task)的第一名和分類任務(classification task)的第二名[7-8]。VGG19的結構如下圖1它是由16個stride為1,padding為1的3×3卷積核與5個size為2,stride為2的maxpool層加上3個全連接層最后添加一個soft-max層組成的。VGG 19連續使用多個3×3卷積堆疊以便于優化并取代大體積的卷積核。多層非線性層在增加網絡深度時,可以保證更復雜的模型學習而且代價更小(以至于達到參數更少的目標)。簡單地來說,在VGG中,用3個3×3卷積核代替7×7的卷核,用2個3×3卷積核代替5×5的卷積核。其主要目的在于是在同一感受野的條件下,提高卷積網絡的深度,在一定程度上提高神經網絡提取特征的效果[9]。

圖1 VGG19結構圖Fig. 1 The structure diagram of VGG19
將輸入圖像并行通過窮舉法策略,進行隨機分配權重的5種數據增強方式,再將其送入到面目表情檢測識別網絡中通過采用數據增強策略以達到可提高面目表情識別準確率的目的。整體結構框圖如圖2所示。將原始數據X通過隨機分配權重W1~W5得到分配后的圖像數據X1~X5,將其并行通過5種數據增強的圖像變換并結合原始數據組成新的數據集Y。將新的數據集Y送入到圖像特征提取VGG19網絡模型中,進行后續的面目表情識別處理。

圖2 隨機權重分布的數據增強結構圖Fig. 2 Data enhancement structure diagram of random weight distribution
圖像旋轉是指將圖像以其中某一個點為旋轉中心旋轉一定角度,對圖像對齊起著極其重要作用。以矩陣變換來表示設點P0(x0,y0)逆時針旋轉θ角后對應點為那么,旋轉前后點P(x0,y0)的坐標分別為P(x,y)
(1)
(2)
圖像的平移操作就是將圖像所有的像素點坐標分別加上水平與垂直操作上的偏移量。對于平移變換假設水平偏移量為dx,垂直偏移量為dy,則平移變換的坐標映射為
(3)
其逆變換為
(4)
x1與y1的矩陣變換可表示為式(5)
(5)
圖像縮放是指對圖像的大小進行調整的過程,是一種非平凡的過程,需要高效率,平滑和清晰,縮小圖像稱為下采樣,放大圖像稱為上采樣。
(6)
圖像的翻轉變換是從A(x,y)(二維坐標)到B(u,v)(二維坐標)的一種線性變換,其數學表達式為

(7)
式(7)分別為水平翻轉,垂直翻轉,對角線翻轉。且通過圖像的翻轉變換,可以使圖像達到180°的翻轉效果這樣就可以加大其樣本的多樣性。
將一張圖像投影到一個新的平面為圖像的透射變換,其使用的變換公式為
(8)

將5種數據增強方法進行基于隨機權重分配策略結合其結果Y可表示為
Y=W1XR+W2XT+W3XZ+W4XF+W5XP,
(9)
式中W1~W5分別表示5種數據增強方式的隨機權重分布。W1~W5X分別表示進行并行處理圖像數據。RX1為進行隨機旋轉的圖像樣本;TX2為隨機圖像平移的圖像樣本;ZX3為隨機圖像縮放的樣本;FX4為隨機圖像仿射變換的圖像樣本;PX5代表隨機透射變換的圖像樣本。
Fer2013人臉面部表情數據集是人臉面目表情研究中最常用的數據集之一并且在研究當中占據了很高的地位,Fer2013數據集已經為使用者劃分好了訓練集,驗證集和測試集。Fer2013數據集包含35 887張人臉圖片,其中訓練集28 709張,驗證集3 589張,測試集3 589張。并該數據集中的圖像均是灰度圖像并且大小為48x48.樣本被劃分為0=anger(生氣)、1=disgust(厭惡)、2=fear(恐懼)、3=happy(開心)、4=sad(傷心)、5=surprised(驚訝)、6=normal(中性)7類。
在Cohn-Kanade基礎上擴充數據集產生了CK+數據集,并在2010年發布。該數據集有20%的圖像數據當作測試集并用于測試模型,80%的圖像數據用于訓練模型。圖3,4分別展示了Fer2013和CK+人臉表情數據集對應的7種表情。

圖3 Fer2013數據集的7種表情圖像Fig. 3 Seven facial expressions of Fer2013 dataset

圖4 CK+數據集的7種表情圖像Fig. 4 Seven facial expressions of ck+ dataset
訓練與測試數據集按8∶2劃分此整體數據集,并將訓練集圖像基于遺傳算法的隨機分配策進行權重的劃分,并每次均采用相同的訓練方式和識別網絡架構進行實驗。為驗證其結果的通用性,實驗中將使用的模型為VGG19,Resnet,Googlenet,為了提高模型的整體識別能力,通過微調將模型調整到最佳結構。訓練的初始權重參數設置為Epoch=30時,batchsize=128,學習率為0.001,優化算法采用隨機梯度下降(SGD),并在每訓練1個Epoch后便用此權重測試一次測試集,并記錄每次實驗的精準度。
通過隨機算法生成不同的數據預處理子策略權重配比,比較實驗結果準確度得出哪種比例數據預處理子策略配比方式更適用于面目表情識別網絡并可以提升識別準確度。通過大量的等同條件重復實驗,選取識別準確率最高的6種子策略權重配比方式,結果如表1所示。通過對比實驗可看出圖像旋轉和圖像平移2種數據增強子策略的權重比例增加,可一定程度上提高其模型的面目表情識別的準確率。

表1 在Fer2013和CK+ 數據集上數據預處理子策略配比最優權重
為了驗證實驗的正確性,手動將數據預處理子策略配比方式調成1∶ 1∶ 1∶ 1∶ 1的形式,通過將數據預處理子策略的任意一種子策略手動調成2,實驗結果如表2所示。

表2 在Fer2013和CK+ 數據集上不同權重分配策略,準確度測試比較
繼續采用相同的數據預處理子策略權重配比方式,運用不同的網絡結構在Fer2013訓練集上訓練表情識別模型,其性能在測試集上的結果比較如表3,驗證了其隨機權重分配策略的通用性。但是,表情識別領域可能存在更好的權重分配策略,在今后的工作中將進一步深入探究。

表3 采用不同網絡結構與相同權重分配策略,平均準確度測試比較
筆者提出了一種在現有的表情識別算法訓練和識別的網絡架構基礎上增加了一種隨機權重分配進行數據增強的預處理方式,解決了由于在訓練過程中表情標注主觀性強,歧義較大,導致可訓練樣本缺少,識別準確度不高等問題。實驗結果表明,文中提出的方法可提高圖像的數據庫質量,提高分類器的性能和面目表情識別的準確率。