郭文強,李夢然,侯勇嚴,肖秦琨
(1.陜西科技大學電子信息與人工智能學院,西安 710021;2.陜西科技大學電氣與控制工程學院,西安 710021;3.西安工業(yè)大學電子信息工程學院,西安 710021)
隨著人工智能技術的快速發(fā)展,智能化系統(tǒng)對人臉特征識別的性能要求日益提高。人臉面部表情在日常生活交流中扮演重要的角色[1-2],是人們在用非語言形式交流時傳遞情感信息和表達情緒的有效方式,蘊含豐富的情感資源。在早期人類面部表情研究中,文獻[3]通過對面部肌肉運動與人類表情的關系進行研究,提出面部動作編碼系統(tǒng)FACS,并根據不同的動作單元組合定義出開心、悲傷、生氣、厭惡、恐懼和驚訝6 種人類的基本表情[4]。后期的人類表情識別研究均是在6 種基本表情基礎上進行的[5-6],但這些基本表情僅是最基本的面部表現方式,不能涵蓋人類所有的心理和情感。如疼痛雖然不屬于上述6 種基本的面部表現方式,但它也是人類表情的一種[7]。因此,利用人類面部肌肉運動信息進行疼痛識別是一種可行方案。
疼痛表情識別技術對于無法通過自然語言表達疼痛狀態(tài)的特殊人群(如嬰幼兒患者、癡呆病患與重癥病人)的診療和護理具有重要的臨床意義,該技術在醫(yī)療領域[8-10]中具有廣闊的應用前景,已經逐漸成為研究的熱點。文獻[11]提出一種基于概率潛在語義分析(Probabilistic Latent Semantic Analysis,PLSA)模型的疼痛表情識別方法。該方法采用光流技術提取疼痛表情特征,利用詞包模型將面部運動信息轉換為視覺文字來表示疼痛表情,但是將PLSA 模型用于表情識別時,樣本數據的增加使得模型中的參數也呈線性增長,導致容易出現模型的過擬合問題。文獻[12]提出一種基于監(jiān)督型局部保留映射(Supervised Local Preserving Mapping,SLPP)和多核支持向量機(Multiple Kernels Support Vector Machines,MKSVM)的疼痛表情識別方法,采用SLPP 算法提取疼痛表情特征,并利用MKSVM 識別痛覺表情。文獻[13]利用主動外觀模型(Active Appearance Model,AAM)提取形狀和外觀特征,再用SVM 識別疼痛表情。文獻[14]在紋理描述子LBP 的基礎上,使用其變體新紋理描述符細長二元模式提取痛苦特征,并采用SVM 對痛苦表情進行識別。上述方法都使用SVM 對表情進行識別,但SVM 通常用于二值分類問題,當用于表情多分類問題時,存在不能有效識別表情多樣性的局限性。文獻[15]提出一種基于局部二值體(Local Binary Volume,LBV)三維卷積層的卷積神經網絡,將其用于時間圖像序列的面部表情識別。雖然LBV 三維卷積層的訓練參數數量和傳統(tǒng)三維卷積層相比較少,但是該方法僅直接在圖像序列上執(zhí)行表情識別,并未提取人臉面部特征,導致疼痛識別的準確率降低。貝葉斯網絡(Bayesian Network,BN)利用概率圖模型的方式能夠清楚地表達分析對象的結構和機理關系,使得問題得以簡化,具有一定的直觀性和靈活性[16],這說明BN 在描述和推理不確定性問題上具有一定的優(yōu)勢。針對表情識別模型建模精度較低以及表情狀態(tài)的不確定性問題,采用BN 進行表情分類是有效的途徑之一。
本文提出一種融合約束局部神經域(Constrained Local Neural Field,CLNF)模型和BN 模型的疼痛表情識別方法。利用CLNF 模型對疼痛表情圖像進行面部特征點定位,得到攜帶疼痛信息的面部活動單元(Action Unit,AU),對相關AU 加標簽處理得到樣品數據集。通過對AU 標簽數據樣本以及約束擴展參數集進行變權重融合,訓練得到BN 模型,再使用聯(lián)合樹推理算法進行推理,從而實現疼痛表情的有效識別。
在構建表情識別模型過程中,先對獲取的疼痛表情幀圖像進行預處理,再進行表情特征提取。即對提取出感興趣的面部表情區(qū)域圖像去除冗余信息,利用CLNF 模型對圖像進行特征點定位。
為提高表情的識別效果,采用V-J(Viola-Jones)算法對圖像進行人臉檢測。利用Harr-like 特征表示人臉的共同特性,然后在積分圖思想的基礎上建立一種稱為積分圖像的特征,通過快速計算獲取幾種不同的矩形特征。利用AdaBoost 算法對矩形特征進行選取,選出人類面部最具有代表性的特征,接著進行弱分類器的訓練,并計算相應的權重,通過不斷更新訓練進行迭代,將弱分類器按照加權表決的方式進行組合后得到一個強分類器。接下來對數個強分類器進行串聯(lián),建立一個具有級聯(lián)結構的層級分類器。
在對疼痛表情圖像進行預處理時,可裁剪出感興趣的面部區(qū)域,也能去除額外的背景信息。人臉疼痛表情檢測流程如圖1 所示,圖中的表情幀圖像來源于UNBC-McMaster Shoulder Pain 數據庫[17]。
圖1 人臉疼痛表情檢測流程Fig.1 Procedure of face pain expression detection
1.2.1 CLNF 模型
CLNF 模型是在約束局部模型(Constrained Local Model,CLM)基礎上進行改進得到的,兩者均使用相同的框架[18]。該模型通過對人臉的位置進行初始化,獲取每張圖像人臉的特征點,將特征點在其鄰域位置內進行搜索匹配,實現人臉面部特征點的檢測。檢測過程主要包括模型構建和點擬合2 個階段。模型構建階段又可分為點分布模型(Point Distribution Model,PDM)構建和Patch 模型構建這2 個構建步驟。PDM 構建是基于非剛性形狀和剛性全局變換參數對人臉特征點進行定位,而Patch 模型構建則是對人臉上每一個特征點周圍的圖像塊區(qū)域進行建模。
1)PDM 模型構建。在對PDM 模型進行構建時,其形狀模型函數可用式(1)表示:
假設有m張圖像,每張圖像有n個特征點,每個特征點的坐標假設為(xi,yi),每張圖像上的n個特征點坐標組成的向量用x=[x1y1x2y2…xn yn]T表示,則所有圖像的人臉表情平均值可用式(2)進行求解。
采用主成分分析(Principal Component Analysis,PCA)方法對X與X,進行分析,獲取形狀變化的決定性成分,即特征向量Φj及對應的特征值λj。將特征值按大小順序進行排序,選取其中最大的q個特征值,將其對應的特征向量按照列排放方式進行組合,得到的矩陣Φ作為所有樣本變換的基,其可對每個樣本的任意變換進行表述。
m維權重向量B決定圖像中哪些特征點起關鍵作用,具體可通過式(4)得出:
因此,點分布模型可用式(5)表示:
其中:s、R、h分別用來表示縮放量、旋轉矩陣和平移量,旋轉矩陣R由旋轉參數w控制表示人臉表情圖像的平均值,Φi為形狀變化主成分矩陣,B為對應的權重向量,其主要針對非剛性形狀參數而變化。整個點分布模型的形狀可用P={s,w,h,B}描述。
2)Patch 模型構建。在PDM 模型構建完成后,可以對檢測到的人臉圖像進行初始化,得到人臉形狀模型。接下來讓每個點在其周圍的鄰域范圍內進行最佳匹配特征點搜尋,對候選匹配點鄰域位置內的圖像塊實現Patch 建模。CLNF 模型包括一個基于局部神經域(Local Neural Field,LNF)[19]的新型Patch 模型。LNF 是一種無向圖模型,表示輸入(感興趣區(qū)域中的像素強度值)和輸出結果(Patch 排列概率)間的復雜非線性關系。圖2 表示LNF 的結構模型圖,圖中的實線表示頂點特征,用fk表示。虛線表示邊緣特征,用gk與lk分別表示相似性和稀疏度。從輸入向量xi到相關輸出向量yi,中間通過頂點特征fk和神經層相連接。LNF 的新型Patch 模型通過學習輸出向量的邊緣特征情況進而獲取輸入像素(相鄰和較遠距離)間的關系。
圖2 LNF 結構模型Fig.2 LNF structure model
LNF 根據連續(xù)輸入向量x對連續(xù)輸出向量y的條件概率進行建模,模型滿足條件概率分布[19],具體如下式所示:
其中:X={x1,x2,…,xn}表示一組輸入變量,xi∈?m表示Patch 模型感興趣區(qū)域內的矢量化像素強度;Y={y1,y2,…,yn}表示一組輸出變量,yi∈?,n表示Patch 模型可能區(qū)域的估計量;是一個歸一化函數,Ψ為勢函數。
在勢函數Ψ的表達式(7)中,fk為頂點特征,其表示輸入xi通過單神經網絡層到輸出yi的映射關系;θk表示第k個神經元的權重;fk對應的αk表示神經元k的可靠度;邊緣特征gk用來表示輸出yi和yj(直線關系情況)之間的相似性,邊緣特征lk可用來表示輸出yi和yj(距離較遠關系情況)之間的稀疏約束,βk和γk的含義為邊緣特征關系對應的可靠度。對這些不同可靠度的響應進行加權處理時,可看出模型輸出結果并不是僅有y參與計算,還有y在網格結構之間的關系,即邊緣特征也參與計算。
1.2.2 基于CLNF 模型的疼痛表情特征點定位
步驟1先對給定圖像進行檢測,確定出該圖像中是否存在人臉以及人臉的位置和大小。再按照如圖1 所示的流程對圖像進行預處理,去除部分不相關的信息,得到實驗所需的面部區(qū)域圖像。
步驟2按照如圖3 所示的關鍵特征點檢測流程對裁取后的面部區(qū)域圖像進行關鍵特征提取。
圖3 關鍵特征點檢測流程Fig.3 Procedure of key feature point detection
1)在PDM 模型的基礎上得到形狀模型,在表情圖像上標記出關鍵特征點坐標,利用式(2)求取圖像平均臉,并得到相應的形狀變化矩陣。圖3 所示表情(雙唇緊閉時的表情有65 個特征點,當為嘴巴張開或露出牙齒時的表情有68 個特征點)的形狀變化矩陣可由式(8)表示,再進一步得到形狀變化主成分構成的矩陣以及對應的權重系數。
2)在表情圖像上標定特征點之后,接下來在每個特征點的周圍區(qū)域實現Patch 建模,以獲取面部紋理特征。在已建立的LNF Patch 模型基礎上,完成最佳匹配點的搜尋,經過對Patch 模型可能區(qū)域輸入量與輸出量之間非線性關系的分析,得到提取特征點更詳盡的面部信息,進而更快速精準地定位關鍵特征點。
3)利用線性邏輯回歸的方法進行擬合優(yōu)化,實現面部特征關鍵點的提取。
1.2.3 疼痛表情相關AU 的獲取
由面部特征提取的關鍵點可進一步獲取與疼痛表情相關的AU。其中可能與疼痛有關的信息集中[20]在以下11 個AU 上:AU4(眉毛降低)、AU6(臉頰升高)、AU7(眼角收緊)、AU9(鼻子褶皺)、AU10(上唇升高)、AU12(唇角拉伸)、AU20(嘴唇水平伸展)、AU25(雙唇分開)、AU26(下巴下垂)、AU27(嘴巴張開)、AU43(閉起眼睛)。文獻[21]于1992 年開始發(fā)現并證實了AU4、AU6、AU7、AU9、AU10、AU43 這6 個動作單元攜帶了大量關于疼痛的信息,并定義了普卡欽所羅門疼痛強度(Prkachin and Soloman Pain Intensity,PSPI)度量公式,通過評估每個AU 的疼痛強度并對這些AU 進行求和,以得到疼痛PSPI 強度值。PSPI 度量表達式如式(9)所示:
其中,除了AU43 僅有不發(fā)生為0 和發(fā)生為1 這2 個評估值之外,其他AU 都有0~5 這6 個強度評估值,且求和式中的AU6 和AU7、AU9 和AU10 是分別取這兩組AU 動作中的疼痛程度最大值,因此PSPI 值的評估范圍為0~16。
2.6 真菌對抗菌藥物的敏感性 培養(yǎng)出白色念珠菌292株,占分離細菌株的11.50%。對氟康唑、伊曲康唑、伏立康唑、兩性霉素B、5-氟胞嘧啶均敏感。
圖4 展示了攜帶大量疼痛信息的6 個AU 在人臉面部的表現情況。
圖4 6 個不同的疼痛AUs 在面部上的表現情況Fig.4 Expression of six different pain AUs on the face
每種PSPI 狀態(tài)值可用6 個AU 在不同強度評估值下的組合來表現,當PSPI 值分別為1、2、4、6 時,AU 強度評估值的組合情況如表1~表4 所示。當PSPI 值為其他狀態(tài)值時,AU 評估值的組合情況與表1 類似。
表1 PSPI=1 時AU 評估值組合情況Table 1 Combination of AU evaluation values when PSPI=1
表2 PSPI=2 時AU 評估值組合情況Table 2 Combination of AU evaluation values when PSPI=2
表3 PSPI=4 時AU 評估值組合情況Table 3 Combination of AU evaluation values when PSPI=4
表4 PSPI=6 時AU 評估值組合情況Table 4 Combination of AU evaluation values when PSPI=6
BN 可定義為一個有向無環(huán)圖(Directed Acyclic Graph,DAG)與一個條件概率表(Conditional Probability Tables,CPTs)構成的集合。其中,DAG 中的每個節(jié)點都表示一個隨機變量,而有向邊可用來描述變量間的條件依賴關系。CPTs 可由DAG 中每個節(jié)點事件發(fā)生與否的概率來獲得,表中的每個元素都與DAG 中唯一的節(jié)點對于其所有直接父節(jié)點的聯(lián)合條件概率相對應,CPT 中的概率值表示變量間條件關系的強弱。貝葉斯網絡包括學習模塊和推理模塊兩大模塊,而學習模塊又包含結構學習和參數學習。結構學習是指找到與實際問題最匹配的BN 結構,即發(fā)現這些變量之間的關系。參數學習是指在結構學習完成的前提條件下,確定BN 模型中每個網絡節(jié)點的CPT,參數學習決定了節(jié)點變量間的具體量化關系。
2.1.1 貝葉斯網絡結構構建
在疼痛表情識別中,由于表情狀態(tài)的不確定性、涉及到的相關疼痛AU 狀態(tài)的不確定性以及表情與AU 之間概率關系強弱的不確定性的影響,本文選擇利用具有較強的處理不確定性問題能力的概率圖模型BN 來完成疼痛表情的建模推理。
圖5 所示為構建的疼痛表情識別BN 模型。其中,Pain Expression 節(jié)點表示表情疼痛程度PSPI 狀態(tài),每個AU 節(jié)點表示的是可能當某種疼痛表情發(fā)生時的相關活動單元強度評估值狀態(tài)。子節(jié)點中除了AU43 節(jié)點有2 種狀態(tài)之外,其余AU 節(jié)點均有6 種狀態(tài),Pain Expression 節(jié)點按照疼痛PSPI 計算值有17 種狀態(tài),可以將最終的表情疼痛程度劃分為以下4 種狀態(tài):不痛(PSPI=0)、微弱疼痛(PSPI=1~5)、中度疼痛(PSPI=6~10)、強烈疼痛(PSPI=11~16)。
圖5 疼痛表情識別BN 模型Fig.5 BN model for pain expression recognition
不同的疼痛表情狀態(tài)可用多種不同的AU 強度評估值組合表示,AU 組合表示形式如表5 所示。
表5 不同疼痛表情狀態(tài)的AU 評估值組合Table 5 Combination of AU evaluation values of different pain expression states
2.1.2 貝葉斯網絡參數學習
BN 模型的參數估計可用式(10)表示:
其中,θijk是在第i個節(jié)點Xi的父節(jié)點Pa(Xi)取值為j的條件下,Xi取值為k時條件概率參數的取值。
在樣本數據充足的情況下,通常采用最大似然估計(Maximal Likelihood Estimate,MLE)方法[22]學習BN 參數。在實際應用中,用式(11)估計每個參數的最大似然估計:
其中,Nijk表示樣本中第i個節(jié)點取值為k及其父節(jié)點取值為j時訓練數據出現的頻數,Nij表示父節(jié)點Pa(Xi)取第j個組合狀態(tài)的頻數,即,ri表示每個子節(jié)點變量的取值數,η為一個接近于0 的很小常數,c=qi?ri,qi表示父節(jié)點變量的取值。
基于變權重融合進行參數學習的基本思想是根據數據的變化情況,不斷調整參數估計中各學習數據集的權重系數,最終加權融合確定出參數估算結果?;诩訖嗳诤系膮祵W習問題可以轉化為如式(12)、式(13)的問題。
其中,ωi(t)為權重系數,θijk(ωi(t))為對應的數據集合,d和T取不為0 的自然數。
由文獻[23]可知BN 參數估算如式(14)所示:
其中,θprior表示由先驗知識得到的參數集,θdata表示由樣本數據集得到的參數集,ω和(1-ω)分別表示參數集的權重系數,θ表示最終的參數學習結果。
本文選擇基于變權重融合的方法進行BN 參數學習,可以通過先計算樣本數據和約束擴展參數集的權重,再求出加權融合后的參數估算值。隨著數據量的變化,權重可以作出相應的調整,因此能夠獲得更好的學習效果。
根據BN 結構模型中Pain Expression 節(jié)點狀態(tài)與AU 節(jié)點狀態(tài)的關系,并結合領域專家的經驗可獲取以下類似的約束:P(AU43=0|PSPI=1)>P(AU43=1|PSPI=1)。該含義為在表情疼痛程度PSPI=1 的條件下,AU43 強度評估值為0 的概率大于其強度評估值為1 的概率。將該約束條件引入BN 參數學習機制,并通過改變權重加權的方式與樣本數據融合進行參數學習,從而縮小尋優(yōu)空間,并提高參數估算的精度。
基于以上分析,利用BN 建模方法進行疼痛表情識別的具體步驟為:
步驟1根據上文得到疼痛表情識別所需的關鍵特征點,將攜帶大量疼痛信息的AU 特征點經過加標簽(疼痛強度評估值)后構成樣本數據集D。
步驟2判斷貝葉斯網絡是否已構建結構模型,若已構建,則繼續(xù)后續(xù)步驟;否則根據2.1.1 節(jié)描述構建疼痛表情識別貝葉斯網絡模型。
步驟3完成貝葉斯網絡參數建模。
1)根據樣本數據集D統(tǒng)計Nijk,再根據式(11)計算得出參數集(s)。
2)結合領域專家經驗確定出約束集合Ω,并通過Bootstrap 方法[24]進行參數擴展得到Q組候選參數集θijk(Ω)。
3)利用貝葉斯網絡變權重參數計算方法式(15)進行加權融合,并計算得出參數學習結果。
步驟4利用聯(lián)合樹推理方法進行貝葉斯網絡推理,得出面部疼痛表情PSPI 狀態(tài)值,判別表情疼痛程度屬于不痛、微弱疼痛、中度疼痛、強烈疼痛4 種狀態(tài)的哪種狀態(tài),即得到最終疼痛表情識別結果。
實驗使用UNBC-McMaster Shoulder Pain 數據庫[17],該數據庫公開數據包含25 位志愿者的200個視頻序列,視頻分辨率為320×240,共有48 398 張圖片,包括13 名女性的24 361 張表情圖像幀和12 名男性的24 037 張表情圖像幀。本文實驗的軟件環(huán)境為Windows7 系統(tǒng)下的MATLAB R2014a,處理器為Intel?Celeron?CPU N3160@1.60 GHz。
為了驗證CLNF 模型與BN 建模方法相結合后的識別疼痛表情性能,實驗選取4 000 幅圖像樣本作為訓練集,并分為10 組,每組包含400 幅圖像,依次分別進行10 次訓練實驗。在剩下的圖像樣本中隨機選取1 000 張圖像作為測試集,并將判別每種疼痛表情類型時的概率置信度取0.7。
根據本文所提方法獲取實驗所需的疼痛表情AU 狀態(tài)樣本集,結合領域專家經驗確定出約束集合Ω,再利用圖5 所示的BN 結構進行疼痛表情識別。表6 為以AU43 為例得到BN 參數模型的約束集合。
表6 AU43 節(jié)點狀態(tài)參數的約束集合Table 6 Constraint sets of AU43 node state parameter
采用本文方法對不同等級的疼痛表情進行識別,結果如表7 所示。從表7 可以看出,本文方法對不同級別的疼痛表情識別率均在85%以上,說明本文方法可有效對疼痛表情進行識別。
表7 本文方法對不同疼痛表情類型的識別率Table 7 Recognition rate of different pain expression types by the proposed method %
為驗證本文方法的有效性,實驗對本文方法與PLSA模型[11]、SLPP+MKSVM[12]、AAM+SVM[13]、ELBP+SVM[14]、LBVCNN[15]的平均識別率進行對比,結果如表8 所示。從表8 可以看出,與其他5 種方法相比,本文方法可顯著提高疼痛表情識別率。這是因為本文方法通過CLNF 模型有效提取疼痛表情特征,再利用相關AU 進行BN 建模更能有效描述出表情的狀態(tài),并充分利用建模參數間的約束關系與樣本數據集進行變權重融合參數學習,縮小參數尋優(yōu)空間,從而提高識別率并使得分類更加明確。
表8 6 種方法的平均識別率對比Table 8 Comparison of average recognition rate of six methods %
為了進一步驗證本文方法的性能,實驗對不同方法的運行時間進行對比,結果如圖6 所示。從圖6 可以看出,本文方法的運行速度比其他5 種方法快。
圖6 6 種方法的運行時間對比Fig.6 Comparison of running time of six methods
除此之外,實驗還引入了皮爾遜相關系數(Pearson Correlation Coefficient,PCC)與平均絕對誤差(Mean Absolute Error,MAE)2 個評價指標對不同方法進行對比分析。PCC 是對不同變量間的相關程度進行衡量,計算方法如式(16)所示:
其中,n為樣本數量,、yi分別表示變量、y的i點預測值和實際值,分別表示樣本中元素的平均值。PCC 的取值范圍為-1~1,計算數值的絕對值越大,則預測值與實際值的相關性越高。
MAE 是對預測值與實際值之間絕對誤差的平均值進行衡量,計算方法如式(17)所示,且MAE 的取值范圍為0~+∞,其數值越小,則該方法的效果越好。
表9 給出了6 種方法的PCC 與MAE 對比結果。從中可以看出,本文方法的PCC 取值較大,而MAE取值較低,這說明該方法可以準確地得出疼痛表情的識別結果。
表9 6 種方法的PCC 和MAE 對比Table 9 Comparison of PCC and MAE of six methods
通過數據庫上的實驗結果以及與其他方法的對比結果可知,本文方法具有一定的應用價值,但是通過BN 進行建模分類存在計算較為復雜的局限性。在實驗過程中,本文未考慮部分個體特征如不同人的臉型以及相鄰疼痛強度之間的差異對識別結果造成的影響,而這些均可作為輔助判斷疼痛表情的依據。
針對在疼痛表情識別過程中,用于建模的有效疼痛特征樣本數量較少的問題,本文將CLNF 模型與BN 模型相結合,提出一種疼痛表情識別方法。由約束局部神經域方法獲取疼痛表情關鍵特征點,再進一步得到AU 標簽樣本集以及BN 條件概率之間的約束集合。利用變權重融合方法進行BN 模型參數估算,通過BN 推理實現疼痛表情的識別。在UNBC-McMaster Shoulder Pain 數據庫上的實驗結果表明,該方法可有效提高疼痛表情識別準確性與分類效率。下一步將通過研究相同表情下的不同人臉面部形狀,以及相鄰疼痛強度水平差異對疼痛表情識別準確性的影響,以得到魯棒性更強的識別模型。