李云紅 聶夢瑄 蘇雪平 周小計 何琛



摘要:針對人臉識別準確率易受人臉表情變化影響的問題,提出了一種分區域特征提取的人臉識別算法。首先,在預處理圖像上標記出14個人臉關鍵點,并將人臉圖像劃分為表情易變區域和不變區域;然后,分別用Gabor+LBP和Gabor+分塊LBP兩種特征提取通道對表情不變區域和易變區域進行特征提取;最后,將所得的特征直方圖級聯,并進行身份驗證。經FERET(face recognition technology),LFW(labled faces in the wild)及自制人臉數據庫驗證,文中算法準確率分別達到了99.14%,98.5%,96.52%。在FERET數據庫中,該文算法準確率較DeepID和Gabor+分塊LBP算法分別提高了1.88%和3.6%,F1(調和平均數)分別提高了1.8%和2.86%。實驗結果表明,分區域特征提取的人臉識別算法對人臉表情變化具有很強的魯棒性。
關鍵詞:分區域特征;人臉易變區域;人臉不變區域;特征直方圖
中圖分類號:TP391.4
DOI:10.16152/j.cnki.xdxbzr.2020-05-015
Face recognition algorithm based on regional feature extraction
LI Yunhong, NIE Mengxuan, SU Xueping, ZHOU Xiaoji, HE Chen
(School of Electronics and Information, Xi′an Polytechnic University, Xi′an 710048, China)
Abstract: In order to solve the problem that the accuracy of face recognition is easily affected by the change of facial expression, a face recognition algorithm based on feature extraction by region is proposed. Firstly, on the processing image? 14? key points of people face is marked, and the face image is divided into expression variable region and invariable region. And then respectively using Gabor+LBP and Gabor+block LBP? two kinds of feature extraction channel for expression invariant region and mutable region to extract feature. Finally, the feature histogram is cascaded and the authentication is carried out. Verified by FERET(face recognition technology), LFW(labled faces in the wild) and self-made Face database, the accuracy reached 99.14%, 98.5% and 96.52%, respectively. In the FERET database, the accuracy of the algorithm in this paper is 1.88% and 3.6% higher than? DeepID and Gabor+block LBP algorithm, and the F1(harmonic average) is 1.8% and 2.86% higher. Experiments show that the face recognition algorithm based on regional feature extraction is robust to face expression changes.
Key words: subregional features; face variant region; face invariant region; feature histograms
人臉識別由于其方便快捷,且具有非侵犯性等特點,已被廣泛應用于安檢系統、打卡簽到等方面。人臉識別技術發展至今,在剛性條件下識別準確率已經有了大幅度的提升,但是在非剛性條件下,人臉表情不同、噪聲干擾、以及光照變化等因素[1-6]對識別結果產生了不可預測的影響。張敦鳳等人提出的分塊特征提取算法能夠提取到人臉的絕大部分特征信息,避免了特征丟失的風險[7]。但沒有考慮到表情變化對面部不同區域提取到的特征的影響,進而導致識別準確率無法進一步提高。宿鵬等人提出的Gabor+分塊LBP雖然能夠提取到表達人臉特征的信息,但未考慮到特征丟失和表情變化對人臉識別精度的影響[8]。Gong等人提出的算法能夠識別同一個人不同年齡段的人臉特征,但未考慮光照等因素的變化[9]。Sun等人提出的基于聯合識別-驗證的深度學習人臉表示方法能夠增大類間間距,縮小類內間距[10],但當一個人表情發生變化時識別準確率會有明顯的下降。要提高人臉識別的準確率必須同時考慮識別效率[11-13]、光照以及人臉表情變化等因素[14-16]。
針對以上問題,本文提出了一種分區域特征提取的人臉識別算法,算法流程圖如圖1所示。實驗結果表明,該算法可以有效地降低表情變化對識別準確率的影響,并且增強了識別準確率對光照變化的魯棒性。
1 本文算法
1.1 圖像預處理網絡
圖像預處理采用卷積神經網絡,將訓練集中每幅人臉圖像經過預處理網絡進行多次迭代,以獲取最佳網絡參數來表達人臉關鍵點位置信息。首先,搜集整理1 000張人臉圖像,其中,300張作為測試集,700張作為訓練集。手工標注訓練集中人臉圖片的關鍵點,包括額頭、眉毛、眼睛、鼻尖、臉頰、嘴角、下巴等共14個關鍵點。然后,用處理后的訓練集對預處理網絡進行訓練,獲得能夠表達關鍵點位置信息的最優參數。最后,使用測試集對預處理網絡進行驗證。
將訓練集中的人臉圖像輸入到預處理網絡,得到人臉關鍵點預測位置。通過歐式距離初步定位每一個預測的關鍵點坐標,如式(1)所示。其中,Li表示第i個預測關鍵點定位與真實位置的歐氏距離,yi表示經過預處理網絡后得到的第i個人臉關鍵點預測位置,yi表示手工標記的第i個人臉關鍵點位置。網絡經過多次迭代,直至Li的值小于設定的閾值。
Li=‖yi-yi ‖22。(1)
對14個關鍵點得到的歐氏距離求和,使每幅人臉圖像各自具有整體效果最優的關鍵點定位。如式(2)所示,ai代表不同關鍵點所占的權重,表1為不同關鍵點所占權重,L表示使每幅人臉圖像中14個關鍵點定位整體效果最優的歐氏距離。
L=∑14i=1aiLi。(2)
對測試集中所有人臉圖像利用式(3)求平均關鍵點定位效果最優的歐氏距離,其中,N表示訓練集中包含的人臉圖像數量。整個預處理過程要使式(3)中Y值最小化,以獲取平均效果最優關鍵點位置信息的預處理網絡參數,表2為網絡主要參數值。
Y=1N∑Ni=1L。(3)
經過訓練后的預處理網絡對人臉圖像的處理效果如圖2所示,在表情和光照變化的情況下預處理網絡能夠準確地標記出不同表情時的關鍵點位置信息,但當關鍵點部位有遮擋時,例如鏡片反光,這部分標記出的關鍵點位置與真實位置略有偏差。
1.2 人臉區域分割
由于人臉不同區域的變化對提取到特征的相似度會產生很大的影響,所以,有必要對面部特征進行分區域提取。通常對于面部區域劃分的準確性極大地依賴面部關鍵點定位的準確程度。經過預處理后的每張人臉圖像對眉毛、眼睛、鼻子、嘴巴等關鍵點進行了標注,可依據關鍵點位置的差異將人臉分為表情易變區域和不變區域。例如額頭、鼻子、臉頰等部位受表情變化的影響較小,可將其歸為不變區域,而眉毛、眼睛、嘴巴等部位受表情變化的影響較大,可將其歸為易變區域。
由于易變區域和不變區域邊界較模糊,無法準確地進行區域分割。因此,本文采用邊緣重疊分割法,即將分割線作為模糊帶,使其成為兩個相鄰區域的交集。這種區域分割方法雖然增加了數據的冗余性,但避免了邊緣特征丟失的問題,從而有效地解決了邊緣區域難劃分的問題。
1)水平分割邊界的確定:假設對左右眉毛關鍵點標注的坐標分別為(x1,y1)和(x2,y2),對左右眼睛關鍵點標注的坐標分別為(m1,n1)和(m2,n2)。分別對左右兩邊眉毛和眼睛求垂直方向的中間點坐標,如式(4)和(5)所示。把兩點的連線作為一條水平分割邊界,并且將這條水平分割線作為模糊帶處理。
(xa,ya)=(x1+m12,y1+n12),(4)
(xb,yb)=(x2+m22,y2+n22)。(5)
若人臉表情變化較大,致使某兩對關鍵點中心位置的連線不處于同一條水平分割線。可將兩個中心的點分開處理,讓其縱坐標不變,橫坐標變化從而得到兩條水平分割線,對應的人臉區域分割圖如圖3所示,圖3中眉毛與眼睛兩對關鍵點對應的中心點雖然不處于同一條水平分割線,但是分開處理兩個中心點也能很好的區分表情易變區域和表情不變區域。
若只能確定一個中間點,比如下巴和嘴下角的關鍵點。設嘴下角關鍵點坐標為(x3,y3),下巴關鍵點坐標為(m3,n3)可以得到中間點的位置如公式(6)所示。過中間點作水平線作為水平分割線。
(xc,yc)=(x3+m32,y3+n32) (6)
2)垂直分割邊界的確定:垂直分割線是由兩個橫坐標相鄰的關鍵點得到一個中心點位置,再過中心點做垂線。假設左右眼睛關鍵點標注的坐標分別為(p1,q1)和(p2,q2),鼻子關鍵點的坐標為(a1,b1)。分別求左眼和右眼到鼻子的水平中心點,如式(7)和(8)所示。分別經過兩個中心點作x軸的垂線,垂線即就是垂直分割邊界,把垂直分割邊界作為模糊帶處理。
(xd,yd)=(p1+a12,q1+b12),(7)
(xe,ye)=(p2+a12,q2+b12)。(8)
若相鄰的關鍵點屬于同類特征(比如嘴角的4個關鍵點同屬于嘴部特征),則不對其進行水平分割或垂直分割。屬于異類關鍵點,則分別對每兩個相鄰的關鍵點進行水平分割或垂直分割:若是上下相鄰的兩個關鍵點,則計算水平分割線;若是左右相鄰的兩個關鍵點,則計算垂直分割線。
圖4為針對人臉不同表情進行區域分割的示意圖。根據已標注的14個關鍵點可將人臉圖像分為多個區域,將包含眼部、嘴巴、眉毛關鍵點的區域歸為表情易變區域,將包含鼻子、額頭、臉頰、下巴關鍵點的區域歸為表情不變區域。還有一部分子區域不包含關鍵點,經過統計這些區域大部分都落在額頭、臉頰、下巴、鼻梁等區域,所以,將這部分區域也劃分為表情不變區域。
1.3 Gabor算法
Gabor算法的原理和人類視覺系統中單細胞對光照刺激的反應很類似。它可以有效地提取到輸入圖像的頻域信息和局部空間信息。Gabor算法對輸入圖像的邊緣信息非常敏感,而且該算法具有多尺度和多方向的特性,能夠有效地減弱光照變化和噪聲干擾對人臉特征提取的影響。由于Gabor算法的優勢,使得它被廣泛應用于圖像特征提取的過程中。
式(9)為二維Gabor核函數的定義式。其中:u和v分別代表選取核函數尺度和方向的數量;z是圖像像素坐標點;σ表示標準差;ku,v表示選取的尺度參數和方向參數的乘積。Gabor核函數是復函數,可分為實部和虛部。實部濾波可平滑圖像,減少光照敏感度。虛部濾波能有效描述圖像邊緣信息。
gu,v(z)=
‖ku,v‖2σ2e(-‖ku,v‖2·‖z‖22σ2)eiku,vz-e-σ22。(9)
選取不同尺度和方向的卷積核對輸入圖像特征提取的效果不同。圖5為Gabor卷積核尺度和方向參數的變化與識別準確率的關系圖。根據實驗結果可知,尺度參數設置為5,方向參數設置為8,可以最大限度提取到圖像的特征信息。所以,對輸入圖像進行特征提取,共得到40張特征提取圖。再把提取到的特征進行融合,最終得到圖像的多尺度和多方向的特征信息。圖5為Gabor卷積核尺度和方向參數的變化與識別準確率關系圖。
1.4 分塊LBP算法
由上一步可知,Gabor特征提取實部和虛部各有40個濾波器,對輸入圖像進行處理后的信息量是原來的40倍。因為用Gabor算法提取到的特征包含了大量的冗余信息,所以需要對提取的特征進行降維操作。
傳統的LBP算法是將輸入的特征信息進行降維后再與數據庫中人臉特征作對比,判斷是否屬于同一人。但是這種方法忽略了提取到的特征的位置信息。其實,特征出現位置的不同代表了不同的含義,比如頭發和眉毛經過LBP算法處理產生的十進制數字有很大概率是相同的,但由于它們的位置不同,所以代表了不同的含義。通過使用分塊LBP算法可以根據特征出現位置的不同,把相似的特征信息進一步的細化,以區分相似特征之間的不同,很大程度上提高了人臉識別的準確率。
理想情況下,對輸入特征越細化(分塊數越多),越能表達臉部的精細特征。但隨著分塊數的增加會成倍地增加計算量,造成識別速度和識別準確率下降等情況。所以,要權衡識別準確率和識別速度兩者之間的關系,在保證識別準確率的情況下使分塊數盡可能小。實驗選取了不同分塊數進行識別準確率的測試,與文獻[8]的實驗結果不同,本文實驗數據表明,當分塊數為2×2時,在保證識別速度的情況下,可以有效地提高識別準確率。圖6為在不同影響因素下分塊LBP的分塊數量選取與識別準確率的關系圖。由于表情易變區域會隨表情變化產生較大的改變,因此,本文對該區域采用Gabor+分塊LBP進行特征提取,從而細化易變區域的每個部分。對表情不變區域直接采用Gabor+LBP進行特征提取。
Gabor可以從多個方向提取到輸入圖像不同尺度的特征信息,從而避免光照和噪聲等因素的影響,但存在特征冗余問題。而分塊LBP算法可以減少數據維度,并區分相似特征。把兩種特征提取方法進行級聯,使其優勢互補,可以減少光照、噪聲以及表情變化對人臉識別準確率的影響。
1.5 線性判別法
選取的判別方法不同,得到的識別準確率也有所不同。為了能夠盡量區分同類和異類特征之間的差異,以提高識別準確率,本文選取經典的LDA(linear discriminant analysis)算法。該算法對空間中分布的特征具有最佳可分離性,使用此方法得到的新空間中樣本的類間散布矩陣最大,并且類內散布矩陣最小。因此,LDA算法是一種有效的特征提取方法。
LDA算法的核心是將高維數據映射到子分類空間。新的分類空間既要保證類內間距足夠小,又要保證類間間距足夠大。假設模式1為X1=(x1,x2,…,xk),模式2為X2=(xk+1,xk+2,…,xn),Ni為各模式中所含的樣本數量,各模式樣本均值為i。經過映射矩陣H后變換為z=(z1,z2,…,zn)。即就是z=HTx。其映射的具體步驟如下:
1) 設樣本數據中xi的均值為Xi,xi為一維列向量,則中心點為xi,其中Ni為xi樣本的數目。
xi=1Ni∑x∈Xix,i=1,2。(10)
2) 中心點經過H變換得到zi,zi就是樣本集Xi的中心點的投影。其中,類內間距JH是由樣本各點到中心點距離的平方和來表示,Si表示類內散度。
zi=HTxi=1Ni ∑x∈XiHTx=1Ni ∑z∈Ziz,i=1,2,(11)
JH=HTSHH=HT∑ci=1SiH,(12)
Si=∑x∈Xi(x-xi)(x-xi)T,i=1,2。(13)
類間距離JB主要是由兩個不同類中心點之間的距離來衡量,與類內距離計算方式類似。
JB=|zi-zj|2=HT(xi-xj)(xi-xj)TH,(14)
SB=(xi-xj)(xi-xj)T,(15)
JB=HT∑ci=1SBH。(16)
其中,SB表示類間散度。
設目標函數為J(H),通過求導使目標函數J(H)取最大值。最后得到的人臉特征信息具有最佳類內間距和類間間距,
J(H)=JBJH=HTSBHHTSHH。(17)
2 實驗結果與分析
選用LBP+SVM,HOG+HFA,LF-CNN,DeepID,Gabor+分塊LBP作為對比算法與本文算法分別在FERET和LFW數據庫上進行對比實驗。在測試集樣本數量為600時,觀察每種算法識別準確率、查準率、召回率、F1(調和平均數)的差異,進而判斷本文提出算法的優劣,實驗結果如表3、表4所示。
從表3中可以得出本文算法的準確率均高于對比算法。Gabor+分塊LBP算法準確率與本文算法相差3.6%。本文算法的召回率相較于LF-CNN算法低1.64%,但從整體來看,本文算法的調和平均數最高,超出LF-CNN算法3.94%,且本文算法的識別耗時在對比算法中最低。
從表4中可以得出本文算法的準確率均高于對比算法。DeepID算法準確率與本文算法相差0.89%。本文算法的召回率相較于DeepID算法低0.81%,但從整體來看,本文算法的調和平均數最高,超出DeepID算法2.54%,且本文算法的識別耗時在對比算法中最低。
本文算法主要針對光照和表情變化時人臉識別準確率的變化,由于FERET和LFW數據庫光照變化不大,因此,本文自制了一個表情和光照變化比較大的數據集進行驗證,此數據集包含50個人共300幅人臉圖像,實驗結果如表5所示。圖7~9為使用本文算法輸入人臉圖像的識別結果。
從表5可以得出本文算法的準確率均高于對比算法。 對比算法中表現最好的Gabor+分塊LBP算法準確率與本文算法相差2.87%。 本文算法的召回率相較于Gabor+分塊LBP算法低0.78%, 但從整體來看, 本文算法的調和平均數最高, 超出Gabor+分塊LBP算法0.85%。 本文算法的識別耗時也比Gabor+分塊LBP算法低0.22 s。
由圖7和圖8可以看出,當輸入人臉圖像在光照、表情變化較大時仍能精確匹配到對應的人臉圖像。由圖9可以看出,輸入人臉圖像丟失了某個關鍵點時,例如閉眼丟失掉眼部關鍵點,也能得到正確的匹配結果。
3 結 語
本文提出了一種分區域特征提取的人臉識別算法,通過預處理網絡得到人臉14個關鍵點位置信息,把預處理后的人臉圖像劃分為易變區域和不變區域,并用Gabor+分塊LBP和Gabor+LBP算法分別提取表情易變區域和不變區域的特征信息,最后把得到的級聯特征直方圖利用線性判別法進行人臉識別。并在光照和人臉姿態變化的數據庫中進行識別率驗證,實驗結果表明,分區域特征提取的人臉識別算法對人臉不同表情具有很好的辨識度,同時能夠有效地減少光照和噪聲對輸入圖像的干擾,提高了非剛性條件下的識別準確率,是一種有效的人臉識別算法。分區域特征提取的人臉識別算法也面臨著由于遮擋影響了關鍵點的定位,導致對人臉的區域分割產生誤差,使識別率下降的問題。在接下來的工作中,將主要針對預處理網絡中因遮擋導致關鍵點定位不準確的問題展開研究。
參考文獻:
[1] 郭夢麗,達飛鵬,鄧星,等.基于關鍵點和局部特征的三維人臉識別[J].浙江大學學報(工學版),2017,51(3):584-589.
GUO M L, DA F P, DENG X, et al. Three-dimensional face recognition based on key points and local features[J].Journal of Zhejiang University (Engineering Science),2017,51(3):584-589.
[2] 阮凱,邱衛根.多信息融合的深度學習人臉表情識別算法研究[J].計算機工程與應用,2019,55(5):192-196.
RUAN K, QIU W G. Study on deep learning facial expression recognition algorithm based on multi-information fusion[J].Computer Engineering and Applications,2019,55(5):192-196.
[3] HE L X, LI H Q, ZHANG Q, et al. Dynamic feature matching for partial face recognition[J].IEEE Transactions on Image Processing, 2019, 28(2):791-802.
[4] WANG L P,LUO A W.A joint matrix minimization approach for multi-image face recognition[J].Science China Mathematics,2018,61(7):1337-1352.
[5] ZHAO J,ZHANG C,ZHANG S L, et al.Pre-detection and dual-dictionary sparse representation based face recognition algorithm in non-sufficient training samples[J].Journal of Systems Engineering and Electronics,2018,29(1):196-202.
[6] ZHANG C,GU Y Z,HU K L,et al.Face recognition using SIFT features under 3D meshes[J].Journal of Central South University,2015,22(5):1817-1825.
[7] 張敦鳳,高寧化,王姮,等.基于分塊LBP融合特征和SVM的人臉識別算法[J].傳感器與微系統,2019,38(5):154-156.
ZHANG D F, GAO N H, WANG H, et al. Face recognition algorithm based on segmented LBP fusion feature and SVM[J].Sensors and Microsystems,2019,38(5):154-156.
[8] 宿鵬. 基于LBP的人臉識別算法研究[D].哈爾濱:哈爾濱理工大學,2019.
[9] GONG D H, LI Z F, LIN D H, et al. Hidden factor analysis for age invariant face recognition[C]∥2013 IEEE International Conference on Computer Vision. Sydney:IEEE, 2013:2872-2879.
[10]SUN Y, WANG X G, TANG X O.Deeplearning face representation by joint identification-verification[EB/OL].2014:arXiv:1406.4773[cs.CV].https://arxiv.org/abs/1406.4773.
[11]ZHANG K P, ZHANG Z P, LI Z F, et al. Joint face detection and alignment using multitask cascaded convolutional networks[J].IEEE Signal Processing Letters, 2016, 23(10):1499-1503.
[12]HAMESTER D, BARROS P, WERMTER S. Face expression recognition with a 2-channel convolutional neural network[C]∥2015 International Joint Conference on Neural Networks(IJCNN). Killarney:IEEE, 2015:1-8.
[13]CHENG J C,LI Y L,WANG J L, et al.Exploiting effective facial patches for robust gender recognition[J].Tsinghua Science and Technology,2019,24(3):333-345.
[14]BONG K, CHOI S, KIM C, et al. Low-power convolutional neural network processor for a face-recognition system[J].IEEE Micro, 2017, 37(6):30-38.
[15]LIU J,JING X J,LIAN Z F, et al.Local Gabor dominant direction pattern for face recognition[J].Chinese Journal of Electronics,2015,24(2):245-250.
[16]WANG Q C, WANG B B, HAO X J, et al. Face recognition by decision fusion of two-dimensional linear discriminant analysis and local binary pattern[J]. Frontiers of Computer Science, 2016, 10(6):1118-1129.
(編 輯 李 靜)