一種人臉表情的識別方法
【技術領域】
[0001] 本發明的技術方案涉及用于識別圖形的方法,具體地說是一種人臉表情的識別方 法。
【背景技術】
[0002] 人臉表情識別是計算機視覺領域一個富有挑戰性的研究課題,在心理學、人機交 互研究等方面具有重要意義。近年來,人臉表情識別技術發展迅速,主流的方法有Gabor濾 波法、主動形狀模型ASM(ActiveShapeModels)、主成分分析PCA(PrincipalComponent Analysis)和紋理特征法。Gabor小波可以從不同尺度和不同方向上提取人臉表情的紋理 特征,但是其計算過程產生的高維數有可能導致計算機內存的耗盡,并且計算過程相當耗 時。ASM算法能直觀地反應表情的變化,但是模型的構建相當復雜,在一定程度上影響了算 法的自動化程度。PCA算法可以提取表情圖像的全局紋理特征,但是它很難避免處理數據 時產生的協方差矩陣維數過高問題。二元主成分分析2DPCA是PCA的拓展算法,在一定程 度上解決了上述問題,但是它是在水平方向上提取圖像的特征,而忽略了垂直方向上的特 點。局部二值模式LBP算子最早是由Ojala等人提出的,它能夠有效地描繪圖像局部紋理信 息,LBP及其擴展特征被應用于人臉表情檢測,有突出的表現,其缺點是當光照變化劇烈時, LBP的可靠性會下降。針對LBP的局限性,付曉峰等人將中心化二值模式(CBP)應用到表情 識別,CBP特點是采用"對角原則",即計算對角元素的灰度值,將中心點像素加入到傳統的 LBP算子中去,且賦予中心點像素最高權值。但是,CBP與LBP同樣存在是只利用周邊像素 亮度變化信息,而沒有考慮人臉表情的區域性的局部信息,導致表情的識別率不高的缺陷。
[0003] 總之,現有的人臉表情識別方法存在因識別背景復雜導致的紋理描述不精細,識 別率不高的缺陷。
【發明內容】
[0004] 本發明所要解決的技術問題是:提供一種人臉表情的識別方法,是一種使用中心 對稱三值模式(CenterSymmetricalTernaryPatterns,以下簡稱CSTP)算法提取表情紋 理特征的人臉表情的識別方法,克服了現有技術識別背景復雜導致的紋理描述不精細,識 別率不高的缺陷。
[0005] 本發明解決該技術問題所采用的技術方案是:一種人臉表情的識別方法,是一種 使用CSTP算法提取人臉表情紋理特征的人臉表情的識別方法,具體步驟如下:
[0006] 第一步,人臉表情圖像預處理:
[0007] 采用已經進行了人臉檢測和幾何歸一化的人臉表情庫中的人臉表情圖像,并在原 數據庫上應用如下的公式(1)進行高斯濾波處理,由此完成人臉表情圖像預處理,
[0009]其中(X,y)是像素點坐標,〇是方差;
[0010] 第二步,提取每一人臉表情圖像的子塊上的人臉表情紋理特征:
[0011] 對第一步預處理完成的人臉表情圖像進行分塊,將其分成5X5個非重疊的子塊, 利用CSTP算法提取每一人臉表情圖像子塊上的人臉表情紋理特征,步驟如下;
[0012] (1)計算在(P,R)鄰域內關于中心像素對稱的像素對差Agi:
[0013] Agi=g「gi+p/2,i= 〇, 1,…,P/2-1 (2),
[0014] 其中,g是像素,P是周圍鄰域個數,R是半徑,R= 2 ;
[0015] (2)統計該(P,R)鄰域的像素對差的均值$ :
[0020] 其中,t為閾值參數,是經驗值,tG(〇,I),t隨光照的變化而調整;
[0021] (4)提取每一像素的CSTP人臉表情紋理特征:
[0024] CSTP的編碼過程是,從左上角順時針起,當周圍像素點的灰度值gl與以中心像素 為對稱的g1+P/2的差值Agi大于U,則該位編碼為1,當Agi小于L,則該位編碼為-1 ;把編 碼中的所有" -1"清為" 〇 ",稱為正模式,把編碼中的" 1"清為" 〇 ",然后把" -1"置為" 1",稱 為負模式,在完成正、負兩個模式的編碼后對正負模式進行相應的"或"運算,每個子塊內的 每一像素都進行CSTP的特征提取,即提取每一像素的CSTP人臉表情紋理特征,統計每個子 塊的CSTP直方圖H就是提取的每一人臉表情圖像子塊上的人臉表情紋理特征;
[0025] 第三步,確定人臉表情圖像最終的人臉表情紋理特征:
[0026] (1)計算第二步中的每一人臉表情圖像子塊的信息熵Ej:
[0028] 其中,C表示第j個子塊第i級像素出現的概率,m代表級數,取256 ;
[0029] (2)計算每一人臉表情圖像子塊的權值Wj:
[0031] 其中,n為每一人臉表情圖像子塊個數;
[0032] (3)計算每一人臉表情圖像各個子塊加權后的直方圖向量供5
[0033]
[0034] 其中H,是利用第二步提取的每一人臉表情圖像第j個子塊的直方圖;
[0035]串聯每一人臉表情圖像各個子塊加權后的直方圖向量P作為最終的人臉表情紋 理特征;
[0036] 第四步,完成人臉表情的識別:
[0037] 采用SVM Kernel Methods工具箱訓練SVM分類器,具體流程如下:
[0038] (1)輸入訓練樣本和測試樣本提取到的人臉表情紋理特征,該人臉表情紋理特征 是經過上面的第二步和第三步后所得,根據這些人臉表情紋理特征樣本構造出訓練樣本人 臉表情紋理特征矩陣和測試樣本人臉表情紋理特征矩陣分別對應的訓練和測試類別樣本 矩陣,類別樣本矩陣中的值為樣本的分類類別;
[0039] (2)針對局部人臉表情紋理特征采用高斯核函數,核數設為8,拉格朗日因子c= 100,二次最優方法的調節參數A= 10 7,首先將訓練樣本人臉表情紋理特征矩陣和訓練類 別樣本矩陣送入svmmulticlassoneagainstall函數得到支持向量、權重和偏置,再將訓練 樣本紋理特征矩陣、支持向量、權重、偏置和高斯函數送入svmmultival函數中進行訓練, 最后將測試樣本紋理特征矩陣、支持向量、權重、偏置和高斯函數送入svmmultival函數中 進行預測,由此完成人臉表情的識別,在JAFFE庫中實驗得到生氣、厭惡、害怕、高興、中性、 傷心和驚訝7種表情,而CMU-AMP庫中實驗得到生氣、高興和驚訝3種表情,由此完成人臉 表情的識別。
[0040] 上述人臉表情識別方法,所述的SVM分類器是公知的。
[0041] 本發明的有益效果是:與現有技術相比,本發明的突出的實質性特點和顯著進步 如下:
[0042] (1)本發明方法擺脫了對中心像素的依賴性,克服了現有技術識別背景復雜導致 的紋理描述不精細,識別性能低的缺陷,對局部紋理描述的更加精細,"或"運算增強了表情 的重要信息,使得整個人臉表情紋理特征空間樣本的表征和分類性能得到進一步增強和提 尚;
[0043](2)本發明方法通過計算每個子塊的信息熵構造各個子塊自適應加權后的特征向 量,將自適應加權后的各個子塊特征向量串連起來作為人臉表情圖像最終的人臉表情紋理 特征,融合了局部特征和全局特征,提高了表情識別的性能。
【附圖說明】
[0044] 下面結合附圖和實施例對本發明進一步說明。
[0045] 圖1是本發明方法的流程示意框圖。
[0046] 圖2 (a)是人臉表情預處理后JAFFE庫中的人臉表情圖像。
[0047] 圖2 (b)是人臉表情預處理后CMU-AMP庫中的人臉表情圖像。
[0048] 圖3 (a)是CSTP三值化示意圖。
[0049] 圖3 (b)是CSTP"或"運算示意圖。
[0050] 圖4(a)是本發明方法中JAFFE庫中CSTP取不同t值下的識別率示意圖。
[0051] 圖4(b)是本發明方法中CMU-AMP庫中CSTP取不同t值下的識別率示意圖。
【具體實施方式】
[0052] 圖1所示實施例表明,本發明人臉表情的識別方法的流程是:人臉表情圖像預處 理一提取每一人臉表情圖像的子塊上的人臉表情紋理特征一確定人臉表情圖像最終的人 臉表情紋理特征一完成人臉表情的識別。
[0053] 更詳細地說,上述提取每一人臉表情圖像的子塊上的紋理特征中包括:計算在 (P,R)鄰域內關于中心像素對稱的像素對差Agl-統計該(P,R)鄰域的像素對差的均值 41-設定上限值U和下限值L-提取每一像素的CSTP紋理特征;上述確定人臉表情圖像 最終的紋理特征中包括:計算上一步中的每一人臉表情圖像子塊的信息熵E,-計算每一人 臉表情圖像子塊的權值Wj^計算每一人臉表情圖像各個子塊加權后的直方圖向量識。
[0054] 圖2是本發明方法中的人臉表情圖像預處理后的示意圖,其中:圖2(a)所示實施 例顯示在本發明方法中人臉表情預處理后JAFFE庫中的人臉表情圖像,分別是生氣、厭惡、 害怕、高興、中性、傷心和驚訝7種表情。圖2(b)所示實施例顯示在本發明方法中人臉表情 預處理后的CMU-AMP庫中的人臉表情圖像,分別是驚訝、生氣和高興3種表情。
[0055] 圖3所示實施例說明在本發明方法中子塊內每一像素進行CSTP紋理特征提取定 義如下:
[0058] 圖3(a)是CSTP三值化示意圖,其中從左至右,該圖第一個圖像子塊中有九個小 方塊,每個小方塊里的數值代表了每個像素的灰度值,第一個圖像子塊中相同樣式圓圈 內的兩個像素代表一個像素對,共4個像素對,分別為(251,178)、(135, 90)、(53, 23)和 (246, 198)。從左上角順時針方向計算該鄰域內關于中心像素對稱的像素對差Agi,其數值 如該圖第二個圖像子塊中含有數值的四個小方塊所示,從左上角順時針方向看分別是73、 45、30、48 ;接著統計第二個圖像子塊中含有數值的四個小方塊的像素對差的均值,利 用和閾值t求出上限值U和下限值L,最后根據公式(12)判斷3種模式(_1、0、1),其結 果如該圖第三個圖像子塊中含有數值的4個小方塊所示為1、0、_1、0。
[0059] 圖3(b)是CSTP或運算示意圖,直觀上將圖3(a)第三個圖像子塊中含有數值的4 個小方塊按順時針變成一個列向量形式,拆分成正、負兩個模式分別進行加權;上面一行列 向量編碼中的-1部分由〇代替,定義為正模式,二進制編碼為1000,加權轉變成十進制為 8 ;下面一行列向量編碼中的1部分由0代替,-1取絕對值,定義為負模式,二進制編碼為 0010,加權轉變成十進制為2 ;最后進行"或"運算,二進制編碼為1010,加權轉變成十進制 為10 或"運算增強表情信息,防止其在特征提取過程中一些重要信息的丟失。
[0060] 圖4 (a)所示實施例顯示JAFFE數據庫中的CSTP中閾值t與人臉表情平均識別率 的關系,該圖顯示了JAFFE數據庫中不同的CSTP中閾值t取值與人臉表情的平均識別率的 對應關系,當JAFFE數據庫中的CSTP中閾值t取0. 5和0. 7時,效果最好,