唐海濤,吳果林,陳迪三,朱新波,秦鵬
(1. 桂林航天工業(yè)學院 理學院,廣西 桂林 541004;2.廣西師范大學漓江學院 理工學院,廣西 桂林 541006)
生物信息識別的長足發(fā)展,促使人臉表情識別受到了當前學術界和工業(yè)界的極大重視, 尤其是笑臉的識別與研究,譬如在可移動數(shù)碼相機、情緒管理等方面都迫切的需要提升機器自動識別笑容的準確率和實時性[1]。針對笑臉識別問題,Serre[2]等人提出了生物啟發(fā)模型BIM。
(Biologically Inspired Model),用以模擬高層次仿真生物的視覺感知特征;并最終在數(shù)據(jù)庫上的識別實驗中證明了其可行性和識別準確率;李芹[3]等人提出一種改進標準模型的S2層模版提取方法及匹配算法,并在ORL及Yale標準人臉庫獲得人臉識別較高的準確率;何聰[4]等人引入生物啟發(fā)模型BIM對笑臉進行識別研究,同時結合一種四領域聯(lián)合最大化操作和AdaBoost 算法模型最終實現(xiàn)笑臉識別,獲得了較好的笑臉識別準確率,但該模型同時也存在運算量大、未充分考慮結構信息等不足之處。
為了進一步降低笑臉識別計算量、增強笑臉識別的實時性能,本文提出了結合 Dlib 的矢量特征實時笑臉檢測方法,并給出了詳細模型的整體設計,具體包括:(1)人臉數(shù)據(jù)預處理;(2)人臉關鍵點與笑容的相關性分析,以此獲得構成矢量的關鍵支撐點;(3)矢量特征模型有監(jiān)督學習以及識別。
本文結合 Dlib 的矢量特征實時笑臉檢測模型(以下簡稱矢量特征識別模型)包括Dlib人臉識別庫、人臉對齊、關鍵點相關性分析和矢量特征識別模型;其中圖像數(shù)據(jù)的預處理包括人臉識別和對齊(即提取人臉對齊后的關鍵點);接著對提取到的人臉關鍵點進行笑臉關鍵點相關性分析,依據(jù)相關性系數(shù)大小選取與笑臉呈顯著或者高度相關的人臉關鍵點;最后依據(jù)獲取的人臉關鍵點有選擇性的組合特征向量,并通過數(shù)據(jù)集的訓練獲得實時笑臉檢測識別的特征依據(jù),綜上完成笑臉實時檢測識別模型的構建。
實時笑臉檢測模型流程。
Step.1 輸入原始圖像數(shù)據(jù);
Step.2 基于Dlib 對圖像數(shù)據(jù)進行人臉關鍵點提??;
Step.3 將獲得人臉關鍵點圖像進行人臉對齊,未獲得人臉關鍵點識別圖像判為“未知類型”;
Step.4 將獲得人臉對齊的圖像數(shù)據(jù)集分為兩部分,分別為訓練集、測試集,未獲得人臉對齊的圖像判為“未知類型”;
Step.5 提取對齊后圖像的 68 個人臉關鍵點;并將其關鍵點進行笑臉相關性分析;
Step.6 選擇相關性系數(shù)較高的多個人臉關鍵定位候選點;
Step.7 將多個人臉關鍵定位候選點自由組合為矢量,對多個矢量統(tǒng)計分析,并最終獲得矢量特征識別模型;
Step.8 將測試集輸入生成矢量特征識別模型,實現(xiàn)笑臉實時檢測。
本文數(shù)據(jù)來自加利福尼亞大學的機器概念實驗室收集的4000張分為“笑”和“不笑”的GENKI4K數(shù)據(jù)集,其每張圖片擁有不同的尺度、光照變化、姿勢、頭部姿態(tài)等。
本文人臉定位采用Dlib 識別工具包進行檢測,該工具包開源且廣泛應用在工業(yè)和學術界,如圖像處理、機器人、嵌入式設備、移動電話和大型高性能計算環(huán)境等。因笑臉檢測對人臉關鍵點定位需求,本文采用工具包中的HOG+SVM方法對人臉進行定位,具體效果參考圖1識別定位效果圖。
圖1 Dlib人臉關鍵點定位效果圖
本文主要通過獲取左右兩眼中心點與水平方向的斜率且同時進行仿射變換實現(xiàn)人臉對齊。首先,通過Dlib算法獲取人臉 68 個關鍵點,且同時根據(jù)關鍵點的標記選取左眼關鍵點(37,28,39,40,41,42)和右眼關鍵點(43,44,45,46,47,48),具體見人臉關鍵點標記圖2;其次,通過計算左眼中心點EyeCentorleft、右眼中心點EyeCentorright 的坐標值以及兩眼中心坐標值EyeCentor(后續(xù)旋轉的基準點,即為(Eleft+Eright)/2),上述坐標值詳細計算公式如下。
圖2 人臉對齊后效果圖
其中Xi表示關鍵點的X坐標值;Yj表示關鍵點的Y坐標值,如37號關鍵點的坐標表示:(X37,Y37);同時round函數(shù)表示對所求浮點數(shù)值進行四舍五入且保留整數(shù)部分數(shù)值,int函數(shù)用于將一個字符串或數(shù)字轉換為整型,便于后續(xù)展開相關數(shù)值計算。
最后,計算左眼中心點EyeCentorleft與右眼中心點Eye Centorright 坐標連線與水平方向的夾角θ,并以EyeCentor 為基點,將整體圖片順時針旋轉θ ,圖片整體旋轉的實現(xiàn)則采用仿射旋轉變換完成,其中旋轉變換公式的坐標點,表示變換前的坐標點。綜上,即完成全部人臉對齊處理流程,詳細效果圖參見圖2。
經人臉定位、人臉對齊的數(shù)據(jù)預處理后,考慮到存在部分或者少數(shù)人臉定位關鍵點之間必然會存在一些與笑臉表情特征相關性極低的關鍵點,故先對預處理后的人臉關鍵圖像數(shù)據(jù)點進行相關性分析,為后續(xù)的矢量特征生成提供支撐。
為了完成相關性分析,我們的對預處理后的圖像數(shù)據(jù)做如下說明。
(1)為便于計算坐標點與笑臉屬性標簽的相關性系數(shù),我們引入標簽數(shù)值化,把“笑”和“不笑”兩類別屬性標簽轉化為向量形式,其中“笑”對應類別向量(1,0),“不笑”對應類別向量(0,1);
(2)相關性計算過程中先獲取所有圖片的某一個關鍵點與對應類別向量的夾角值(記為θ),然后根據(jù)生成的屬性數(shù)值矩陣(含類別屬性)計算屬性間相關性系數(shù),最后根據(jù)不同等級相關性程度大小劃分提取相關系數(shù)相對較大(≥0.8即高度相關)的屬性[5-6]。
經相關性分析,選擇相關性系數(shù)>=0.9人臉關鍵點作為影響笑臉表情特征的關鍵屬性,其中關鍵屬性點共計包含41個,非關鍵屬性共計27個。
式中threld表示為是否笑臉的判別閾值(通過訓練實驗數(shù)據(jù)集獲取,最終threld值為0.405)。本文實驗結合GENKI4K原始數(shù)據(jù)(預處理后共3799張,有效識別圖片為3775張),基于矢量特征模型最終在所有有效人臉對齊數(shù)據(jù)集上實現(xiàn)笑臉識別準確率為92.90%,表1是具體實際數(shù)據(jù)和擬合預測數(shù)據(jù)統(tǒng)計表。
表1 矢量特征模型對人臉識別結果統(tǒng)計表
本文主要研究結合Dlib的矢量特征在實時笑臉識別中的應用,實驗結果表明,矢量特征識別模型在實際預測中具有較好的準確性;同時,本文的笑臉識別模型在保持較高準確率的同時也實現(xiàn)了單張圖片識別響應時間僅約6ms,具有較好的實時性能.下一步的工作重點主要進行多表情特征的綜合識別,比如哭泣、痛苦、恐慌、憤怒等表情識別,同時在多類型表情識別基礎上再引入多標簽特征形成更豐富的識別表達,以此提高識別算法的健壯性和泛化能力。