趙彩敏
(許昌學院 數理學院,河南 許昌 461000)
心理學家研究發現,表情是人類交流重要的信息載體,人臉表情信息占據人類信息交流的55%,面部表情能夠表達人類復雜微妙的情緒以及人類對應的心理狀態.人臉表情由七種表情(憤怒、高興、悲傷、驚訝、厭惡、恐懼和中性)組成.人臉表情識別技術利用計算機自動識別人臉表情,獲取和分析人臉表情信息視覺特征,使計算機按照人類的思考方式進行研究然后分類.表情識別的流程一般包括人臉檢測,圖像預處理,特征提取及表情識別分類等.
人臉圖像特征的提取方法有基于紋理特征的提取算法,基于幾何特征的提取算法,基于深度學習的提取算法.而表情特征的提取直接影響表情識別的分類,所以合適的表情特征提取非常重要.紋理特征主要包含圖像灰度值信息及圖像像素等信息,常用的紋理特征提取方法有局部二值模式(Local Binary Pattern,LBP),Gabor變換特征提取以及梯度方向特征提取(Histogram of Oriented Gradient,HOG)等,此方法具有旋轉不變性,抗噪聲抵抗能力強.幾何特征提取圖像中各個特征點之間的幾何關系,此方法需要對人臉表情的特征點準確定位,因此增大了計算復雜度,導致識別時間增加;經典的幾何特征提取方法有主動形狀模型(Active Shape Models,ASM),主動外觀模型(Active Appearance Models,AAM)模型等.基于深度學習的特征提取方法,自動進行特征提取,不需要手動設計特征提取方法,具有很好的非線性表征能力,更好的得到豐富的特征信息,但是提取的特征信息大,運算量大,計算比較耗時,而且容易出現過擬合現象.經典的深度學習算法有卷積神經網絡(Convolutional Neural Network,CNN),深度置信網絡(Deep Belief Network,DBN)等.
梯度方向直方圖(HOG)在2005年由Dalal首先提出,HOG通過計算圖像的梯度,并統計分布在不同方向的梯度幅值,得到梯度方向直方圖來構成HOG特征.首次應用在人體檢測上,HOG特征能夠很好地獲得形狀輪廓信息,具有很好的檢測性能和魯棒性,被應用在剛體和可形變體等對象的檢測和識別上[1-2].最近HOG特征被廣泛應用于機器學習、模式識別和圖像處理等領域,Deniz等人首次應用HOG在人臉識別中,但是HOG特征在人臉表情識別中的研究成果相對較少,HOG特征在人臉表情識別應用中的潛力還有待挖掘.
HOG特征提取具體的計算過程如下.
首先對一幅圖像I進行Gamma矯正和顏色歸一化處理,目的是降低光照不均的影響,Gamma矯正公式.
I(x,y)=I(x,y)gamma.
(1)
歸一化后的每個像素點(x,y)處的水平梯度和垂直梯度,梯度的幅值G(x,y)和梯度的方向α(x,y)分別如下式所示.
(2)
然后將梯度方向劃分為K個均勻的區間,用Vk(x,y)表示像素點(x,y)對第K個區間的貢獻權值.其中一種簡單的權值取法是
(3)
對塊中每個單元的區間分量采用L2-norm歸一化處理.
(4)
式中,加一個較小的數ε,取ε=0.01,防止式中分母為0,導致計算結果無窮大.
HOG是一種用來描述圖像局部表象和形狀的算法.HOG將輸入圖像劃為若干重疊的均勻的block,每個block一般由相鄰的2×2個cell構成,cell是圖像被細分的多個小的細胞單元,計算每個cell單元梯度幅值和梯度方向特征,然后在這些block內對各細胞單元的梯度進行歸一化,取得最終的梯度方向向量.HOG特征能體現圖像局部區域的梯度強度和梯度方向的分布情況,很好地表征了局部區域內目標的邊緣或梯度結構,進而表征目標的形狀,對輻射差異和配準誤差有較強的穩健性,對光照變化也有較強的適應性.
改進的算法首先將JAFFE表情數據庫中256×256大小的人臉表情圖像剪切為120×120大小的圖像,將其劃分64個15×15大小的cell,相鄰2×2個cell組成一個block,將該塊在圖像中向右側或向下方移動一個cell的大小,以獲得下一個塊.因此,塊與塊之間存在著重疊,所以可以得到49個重疊的block,對每一個block求其梯度方向特征.本文取18個方向特征,也就是每360/18=20度分到一個方向.每一個block中有2×2×18個特征,總特征數為3 528個.具體過程如圖1所示.

圖1 block梯度方向特征提取過程
在圖像識別領域,有豪斯多夫距離[3],切比雪夫距離[4],馬氏距離[5],歐式距離[6]等測量圖像距離的度量方法.常用的歐式距離分類器,簡單方便,算法編程易操作,也可以取得不錯的識別結果,所以選用歐式距離作為樣本間相似度的度量來實現表情分類.歐式距離(Euclidean distance)可以計算某高維空間兩點間的距離,也稱歐幾里得度量.如果一個N維歐式空間是一個點集,它可以表示為(x1,x2,…,xn),表情的特征向量可以看作一個點集.同樣的表情,它們的特征向量之間的歐氏距離就相對很近,相反不同表情之間就存在很大距離.兩個特征向量之間的歐式距離可以定義為
(5)
其中,xi和yi分別表示輸入圖像的特征向量x和訓練圖像的特征向量y的第i個元素.因為歐式距離分類器簡單實時性強,本文選擇了歐氏距離來求取待識別表情和訓練.
實驗配置為Intel(R) Core(TM) i5-3470 CPU@3.20 GHz,內存4.00 GB,操作系統是Windows 7 64位,是基于MATLAB R2016b學習平臺.
實驗采用日本JAFFE表情數據庫,JAFFE表情數據庫共有213幅人臉表情圖像,總共七種表情(生氣、厭惡、害怕、高興、中性、悲傷和驚奇).213幅表情圖像剪貼為120×120大小的圖像.經過人臉圖像18個block梯度方向特征提取,每幅圖像得到3 528個特征數,與圖像梯度相比,梯度直方圖降低了向量長度,豐富的局部細節特征無須特征降維,由歐氏距離分類器計算,部分待識別圖像與訓練圖像之間歐式距離計算結果如圖2所示.矩陣中0代表的是待識別圖像與本身圖像之間歐氏距離計算結果,每一列除0之外的其他數據就是待識別圖像與其他圖像之間的歐氏距離計算結果,我們只需統計這一列數據中最小的數據(除0之外)即可,這便是最終的識別結果.例如第一列中第二個數據2.464 7就是人臉表情數據庫里第一幅圖像與其他圖像的最小的歐式距離計算結果,第二幅圖像是生氣,所以第一幅圖像的識別結果為生氣,識別結果是正確的.

圖2 待識別測試表情圖像與訓練圖像之間的歐氏距離
表1列出213幅圖像的識別結果,識別率的計算公式為識別率=正確識別數/測試總次數.

表1 JAFFE表情數據庫7類表情實驗結果
統計測試圖像的識別結果,得到人臉表情識別率為生氣(100%)、厭惡(96.55%)、害怕(90.63%)、高興(93.55%)、中性(100%)、悲傷(93.55%)、驚奇(100%).生氣,中性和驚奇識別率達到100%,這是因為這三種表情特征比較明顯,和其他表情圖像特征差別大;害怕的識別率相對低一些為90.63%,因為害怕和悲傷數據庫中一些表情比較相似,特征區別不太明顯,悲傷和害怕部分人臉表情圖像如圖3所示.統計可得正確識別表情個數為205,可得整體表情識別率為96.24%.最后,將此方法和其他一些常見的識別方法進行比較,結果見表2.

圖3 相似的表情圖像

表2 不同方法在JAFFE數據庫上實驗結果的比較
表情識別在特征提取和分類器兩個步驟上,分別選擇了梯度方向特征和歐氏距離分類器.實驗識別結果表明對表情圖像梯度方向直方圖進行歐式距離計算,它們的歐式距離很小,表明其相似度極高,識別率較高,梯度方向特征能夠很好地表征表情的有效特征.在以后的研究中可以考慮自建高質量的表情數據庫,融入多信息特征的識別等,以進一步提高算法的識別率和魯棒性.