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