(東華大學(xué)信息科學(xué)與技術(shù)學(xué)院,上海 201620)
隨著人工智能的飛速發(fā)展,人機(jī)交互和機(jī)器視覺成為研究熱點(diǎn)。面部表情識別作為一種新興的生物特征識別技術(shù),在模式識別和人工智能領(lǐng)域受到關(guān)注。生物學(xué)家Darwin[1]2003 年就已經(jīng)對表情開始研究。1972 年,兩位美國科學(xué)家Ekamn[2]創(chuàng)造性提出將高興、驚訝、恐懼、悲傷、憤怒、厭惡作為人類6 種基本表情。
目前,人臉特征提取方法有Gabor 濾波器[3]、尺度不變特征轉(zhuǎn)換(SIFT)[4]、梯度直方圖(HOG)[5]、線性判別分析(LDA)[6]和局部二值模式(LBP)[7]等。文獻(xiàn)[8]將SIFT 特征應(yīng)用到人臉表情識別,取得78.43% 的識別結(jié)果;文獻(xiàn)[9]將LBP 與Gabor 兩種特征相結(jié)合,取得98% 的識別結(jié)果。雖然這些特征提取方法識別效果較好,但存在特征提取方法維度大、對光照比較敏感等問題。
在點(diǎn)跟蹤法中,經(jīng)典的ASM 和AAM 廣泛應(yīng)用在人臉表情識別中。胡珍珍[10]采用AAM 算法對人臉關(guān)鍵點(diǎn)建模,使用最小距離分類器對人臉表情進(jìn)行研究;Cristinacce等[11]提出一種AAM 算法與特征相應(yīng)成對增強(qiáng)算法相結(jié)合的方法,檢測鼻尖、嘴角和眼眶等局部區(qū)域的邊緣特征及特征點(diǎn);Michel 等[12]在面部標(biāo)記22 個(gè)關(guān)鍵點(diǎn),通過跟蹤22點(diǎn)在各個(gè)表情中和中性表情中的位移實(shí)現(xiàn)人臉識別。但在面部22 個(gè)關(guān)鍵點(diǎn)中,眉毛上面只標(biāo)記了2 個(gè)關(guān)鍵點(diǎn),并且這2 個(gè)關(guān)鍵點(diǎn)只存在于眉頭,這些關(guān)鍵點(diǎn)并不能完全表示眉毛的動(dòng)態(tài)變化。為彌補(bǔ)關(guān)鍵點(diǎn)分布不均勻問題,本文通過AAM 算法對人臉進(jìn)行68 個(gè)關(guān)鍵點(diǎn)檢測,利用關(guān)鍵點(diǎn)提取人臉幾何特征。
提取人臉特征點(diǎn)后,還需使用合適的分類器對特征進(jìn)行分類。李郭宇等[13]將LBP 算法與BP 神經(jīng)網(wǎng)絡(luò)相結(jié)合實(shí)現(xiàn)人臉表情分類;黃忠等[14]將SIFT 算法與SVM 算法相結(jié)合實(shí)現(xiàn)人臉表情分類;齊興[15]結(jié)合主方向和SVM 算法實(shí)現(xiàn)人臉表情分類。本文使用改進(jìn)的貝葉斯算法用于人臉表情識別,通過實(shí)驗(yàn)驗(yàn)證算法的可行性。
ASM 算法和AAM 算法是典型的關(guān)鍵點(diǎn)跟蹤算法,AAM 算法實(shí)現(xiàn)關(guān)鍵點(diǎn)定位,該模型包含模型建立和匹配兩個(gè)步驟。
首先,建立外觀模型和紋理模型,手工標(biāo)記訓(xùn)練數(shù)據(jù)中人臉圖像的68 個(gè)特征點(diǎn),將關(guān)鍵坐標(biāo)作為形狀的特征向量,表示為xi=(xi1,yi1,…,xi68,yi68),其中xik和yik,k∈1,…,68 為特征點(diǎn)坐標(biāo)值。對標(biāo)記好的特征向量使用普氏分析法實(shí)現(xiàn)所有訓(xùn)練樣本對齊,然后使用PCA 算法進(jìn)行降維,得到n 個(gè)形狀的特征向量Pn=[p1,…,pn],則形狀模型可表示為:
其中,S0是平均形狀模型,bn是形狀參數(shù)。
然后,對樣本形狀和平均形狀進(jìn)行三角仿射變換實(shí)現(xiàn)紋理歸一化,對歸一化后的紋理結(jié)果進(jìn)行PCA 降維,得到m 個(gè)紋理特征向量Tm=[t1,…,tm],則紋理模型可表示為:
其中是平均紋理模型,am為紋理參數(shù)。
其中,W(x;p)是圖像與模型T(x)的仿射變換,p是形變參數(shù),迭代更新p使公式(3)的值最小。圖1 是圖像定位結(jié)果。
人臉表情細(xì)節(jié)主要集中于眼睛、眉毛、嘴巴等局部區(qū)域[16],經(jīng)過統(tǒng)計(jì)和實(shí)驗(yàn)選擇嘴高、嘴寬、眼高、眉毛高度之和、眉毛寬度之和、嘴巴最小外接矩形面積、眉頭和眼頭距離、眉頭距離、唇珠和嘴角高度、兩眼睛最小外接矩形面積等10 個(gè)幾何特征作為圖像提取特征??紤]到個(gè)體的差異性,本文使用幾何特征變化率Gv作為分類樣本數(shù)據(jù),計(jì)算公式如下:
其中,G 是有表情時(shí)幾何特征,G0對應(yīng)的是無表情幾何特征。
Fig.1 Face positioning圖1 人臉定位
Fig.2 Facial expression feature extraction圖2 人臉表情特征提取
樸素貝葉斯模型(NBC)來自概率論,有著堅(jiān)實(shí)的數(shù)學(xué)理論基礎(chǔ)。貝葉斯分類算法以貝葉斯公式作為理論基礎(chǔ)計(jì)算每個(gè)屬性屬于某一類別的概率。樸素貝葉斯定理是基于各個(gè)屬性之間相互獨(dú)立假設(shè)的分類方法,具體如下:
(1)訓(xùn)練樣本由n 維特征向量X={X1,X2,…Xn}表示,描述具有n 個(gè)屬性A 的n 維度,則有A={A1,A2,…An},表示樣本n 個(gè)屬性。
(2)已知有m 個(gè)類別,則類別集合C={c1,c2,…cm}。P(Ci)是先驗(yàn)概率,當(dāng)有一個(gè)未知數(shù)據(jù)樣本向量X 時(shí),樸素貝葉斯方法計(jì)算在X 條件下后驗(yàn)概率的最大類別。貝葉斯公式如下:
(3)由于P(X) 是常數(shù),所以在計(jì)算后驗(yàn)概率時(shí)只需計(jì)算P(X|Ci)P(Ci)即可。先驗(yàn)概率,其中N 是訓(xùn)練樣本數(shù)量,是訓(xùn)練樣本中類別Ci的數(shù)量。
(4)樸素貝葉斯因?yàn)閷傩蚤g獨(dú)立性假設(shè),所以計(jì)算P(X|Ci)公式如下:
當(dāng)屬性是連續(xù)屬性時(shí),Ai是連續(xù)值,則假設(shè)屬性服從正態(tài)分布,即,其中分別是類別Ci中的均值和標(biāo)準(zhǔn)差。
(5)對于未知樣本 X 類別,計(jì)算每個(gè)類別的P(X|Ci)P(Ci),最后概率最大的那個(gè)類別則是樣本X 的預(yù)測類別,即:
樸素貝葉斯訓(xùn)練簡單,分類效果好,但也存在以下不足:①樸素貝葉斯在屬性之間的獨(dú)立性假設(shè)在實(shí)際數(shù)據(jù)中往往是不成立的;②對于連續(xù)屬性值往往使用高斯函數(shù)直接估計(jì)屬性條件密度,但和實(shí)際條件密度可能有較大差別,影響分類效果;③貝葉斯算法決策將后驗(yàn)概率最大作為分類類別,主觀性太強(qiáng)。根據(jù)以上樸素貝葉斯模型缺點(diǎn),本文將從屬性獨(dú)立性、估計(jì)概率密度函數(shù)和分類決策3個(gè)方面優(yōu)化算法。
(1)根據(jù)不同屬性對分類結(jié)果的影響賦予不同權(quán)重值Wi,將樸素貝葉斯分類器擴(kuò)展為加權(quán)的樸素貝葉斯分類器,根據(jù)屬性重要度分配不同權(quán)值,削弱屬性獨(dú)立性假設(shè)。
(2)在估計(jì)屬性條件密度時(shí),使用高斯函數(shù)作為屬性條件密度函數(shù),根據(jù)不同屬性權(quán)值直接調(diào)節(jié)高斯函數(shù),見公式(8)[17]。其中是在類別Ci下的某一屬性數(shù)量,是類別Ci的數(shù)量。
(3)找出后驗(yàn)概率最大的類別,基于KNN 算法對貝葉斯算法進(jìn)行決策判斷,將加權(quán)樸素貝葉斯分類器得到的各個(gè)類別概率作為訓(xùn)練樣本進(jìn)行二次學(xué)習(xí)。
選擇專門用于人臉表情研究的CK+數(shù)據(jù)集和JAFFE數(shù)據(jù)集進(jìn)行建模和實(shí)驗(yàn),對常見的憤怒、輕蔑、厭惡、恐懼、快樂、悲傷、驚喜7 種表情進(jìn)行研究,不包括中性表情。
圖像預(yù)處理包括圖像灰度化和圖像尺寸歸一化以及人臉對齊。圖像灰度化使用加權(quán)灰度化方法。數(shù)據(jù)集中人臉會傾斜,通過普氏分析法將傾斜的人臉轉(zhuǎn)正并歸一化圖像大小,圖3 為普氏分析法處理后的效果。
在CK+和JAFFE 數(shù)據(jù)集中,將80% 的數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),20% 的數(shù)據(jù)作為測試數(shù)據(jù),步驟如下:①對人臉進(jìn)行灰度化處理后提取關(guān)鍵點(diǎn)坐標(biāo);②利用關(guān)鍵點(diǎn)坐標(biāo)信息提取人臉幾何特征,然后利用無表情幾何特征計(jì)算人臉表情幾何特征變化率,變化率即分類樣本數(shù)據(jù);③利用信息增益算法計(jì)算屬性重要權(quán)值。各屬性權(quán)值如表1 所示;④利用公式(8)得到表情后驗(yàn)概率,各個(gè)表情的后驗(yàn)概率作為二次學(xué)習(xí)訓(xùn)練樣本,利用KNN 算法實(shí)現(xiàn)表情最終分類。
Fig.3 Platts analysis treatment effect圖3 普氏分析法處理效果
Table 1 Attribute importance表1 屬性重要度
Kohavi[18]曾對各種常用的分類準(zhǔn)確性估計(jì)方法進(jìn)行綜合實(shí)驗(yàn)與統(tǒng)計(jì)分析,認(rèn)為基于10 折交叉有效性驗(yàn)證是所有驗(yàn)證方法中可靠性最高的。因此,本文分類驗(yàn)證采用10折交叉有效性驗(yàn)證方法。從表2 和表3 可以看出,快樂表情各評價(jià)指標(biāo)均達(dá)到90% 以上,這是由于快樂表情在數(shù)據(jù)集中有較明顯的表現(xiàn)形式。在JAFFE 數(shù)據(jù)集上查準(zhǔn)率、召回率、F 值以及準(zhǔn)確率達(dá)84%、86%、85%、95%。在CK+數(shù)據(jù)集上查準(zhǔn)率、召回率、F 值以及準(zhǔn)確率達(dá)88%、90%、89%、98%。CK+的識別效果比JAFFE 數(shù)據(jù)好,這是由于JAFFE 訓(xùn)練比CK+訓(xùn)練數(shù)據(jù)量少的緣故。
Table 2 JAFFE WNBC -KNN algorithm表2 JAFFE WNBC-KNN 算法
Table 3 CK+WNBC -KNN algorithm表3 CK+WNBC-KNN 算法
Fig.4 Different average index comparison algorithm圖4 不同算法平均指標(biāo)對比
圖4 是本文方法提取的特征分別在NBC、WNBC、WN?BC-KNN 數(shù)據(jù)庫中表情指標(biāo)的平均值。從圖4 可以看出,在CK+數(shù)據(jù)中,WNBC 優(yōu)于NBC,WNBC-KNN 優(yōu)于WN?BC。JAFFE 數(shù)據(jù)集中,WNBC 和NBC 各個(gè)指標(biāo)持平,在JAFFE 數(shù)據(jù)集上WNBC 效果不太明顯。但是,在JAFFE數(shù)據(jù)集上WNBC-KNN 分類效果提高30%,這是由于JAFFE 訓(xùn)練比CK+訓(xùn)練數(shù)據(jù)量少,改進(jìn)后的算法對小數(shù)據(jù)影響會更明顯的緣故。
針對傳統(tǒng)的圖像特征提取具有較高維度而影響后續(xù)分類效率問題,本文使用AAM 算法定位68 個(gè)關(guān)鍵點(diǎn),利用68 個(gè)關(guān)鍵點(diǎn)坐標(biāo)提取人臉幾何特征,利用不同表情在幾何特征上的差異提取人臉幾何特征。針對樸素貝葉斯算法的不足提出WNBC-KNN 算法,利用信息增益率計(jì)算人臉幾何特征屬性權(quán)值,利用屬性權(quán)值直接調(diào)節(jié)屬性概率密度函數(shù),最終在分類決策時(shí)利用K 近鄰進(jìn)行二次學(xué)習(xí)。為進(jìn)一步提升樸素貝葉斯在人臉表情分類上的性能,后續(xù)可在條件概率密度估計(jì)方面進(jìn)行改進(jìn)與創(chuàng)新。