李 帥,席志紅
(哈爾濱工程大學 信息與通信工程學院,黑龍江 哈爾濱 150001)
人臉識別技術具有與人友好性、實時準確性、非接觸性和更能被人們接受等優點。然而采用機器實現人臉的自動識別依賴于對人臉圖像的處理,而且在不同視角、光照條件以及年齡變化下,同一個人的人臉圖像有很大的差別,因此人臉自動識別技術的研究是一個具有挑戰性的課題。本文研究如何實現具有年齡跨度的人臉圖像匹配功能的人臉識別系統,目的是從系統角度提升跨年齡識別的準確率。
在研究跨年齡人臉識別問題中,主要有2個研究方向。年齡模擬法[1-3]是利用年齡影響過程的漸進性,構建一個年齡影響下的人臉特征變化模型,用它生成一個近似目標年齡的人臉圖像,再進行人臉匹配。Patterson等[4]對人臉圖像的年齡估計進行了研究。Cootes等[5]首次將主動形狀模型(Active Appearance Models,AAM)應用于建立人臉統計模型,并建立了年齡與人臉特征參數的關系表達式。判決法[6-8]被學者們提出,其主要思想是尋找到人臉圖像不隨年齡變化穩定的特征。文獻[9]使用梯度方向金字塔GOP作為判決特征。雖然判決法相對年齡模擬法在算法上得到提升,但沒有在人臉識別系統的各個環節上進行優化。本文在特征算法和人臉識別系統的各個環節進行優化,即人臉檢測、人臉預處理和人臉識別算法。
人臉識別系統主要包括圖像采集、人臉檢測、圖像預處理、特征提取和人臉圖像特征匹配五部分,實現過程如圖1所示。

圖1 人臉識別系統實現過程
(1)人臉數據庫
人臉數據庫是指包含多張人臉圖像并且其中包含同一個人在不同年齡段的多張圖像的數據庫。因此,通常情況下,年齡數據庫是年齡不變性人臉識別算法訓練和測試的數據來源。用于對本文所提系統進行訓練和測試的人臉年齡數據庫是FG-NET數據庫和MORPH-II數據庫。
(2)人臉檢測
對得到的任意圖像進行分析,通過某種算法判斷圖像中是否有人臉,確定其位置范圍、旋轉角度、數量或者姿勢,然后根據以上信息剪裁出人臉區域。
(3)圖像預處理
對人臉圖像進行歸一化、人臉矯正及濾除噪聲等操作,此步驟是人臉識別的重要步驟,將為下一步提取特征提供保證。歸一化的目的是把圖像中的背景、頭發等無用的干擾信息去除。
(4)特征提取
特征提取的主要目的是用特征向量的形式表征出預處理后的人臉圖像信息。特征提取是整個人臉識別系統中的關鍵階段,好壞直接影響人臉識別算法的性能,而且由于人臉面部含有大量視覺信息,只有提取出本質信息,機器才能對其進行分類和識別。
(5)人臉圖像特征匹配
對提取出的人臉圖像特征進行相似度對比,根據相似度對比結果實現人臉識別,或者通過分類器,針對人臉圖像特征,采用某種分類方式實現人臉圖像的分類,最終實現人臉識別。人臉識別分為兩大類:第1類是1∶1人臉匹配,其中一張圖像是系統中的人臉圖片,另一張是用戶給定的待識別人臉圖像,匹配結果是判別待識別的圖像是否和系統中給定的圖像是同一個人。第2類是1∶N人臉匹配,把用戶給定的一張人臉圖像和系統中所有的人臉模板進行匹配,用來確定這張人臉圖像在已知數據庫中的身份。本文采用第2類人臉匹配,從跨年齡人臉數據庫中選取多組同一人的2張圖片作為測試集,目的是判斷模型是否能準確匹配。
通常人臉圖像采集階段獲得的圖像幀,不能直接進行后續操作,這是由于受到環境、采集條件等各種影響,人臉圖像的姿態、表情位置等有一定差異,而且人臉圖像中的背景等干擾會對后續的人臉識別帶來不必要的計算量。因此,有必要對人臉圖像進行人臉檢測。
人臉檢測是基于視覺的人與電腦、人與機器人等所有人機交互系統的首要步驟,屬于目標檢測領域中特定類別目標的檢測。人臉檢測的核心問題是一個二分類的問題,即實現一副圖像中人臉和背景的區分。人臉識別的主要目的是標注出人臉在人臉圖像中的具體位置,并將其提取出來。然而,實際采集到的人臉圖像中人臉姿態存在多樣性的問題,給后續的人臉特征提取和人臉識別帶來困難。因此,人臉對齊技術也是人臉檢測的重要研究內容。
從歷史發展的總體趨勢來看,深度學習的快速發展對人臉檢測的發展起到了質的推動作用。基于深度學習的人臉檢測方法基本分為2種:基于區域提名,如R-CNN,Faster R-CNN系列;基于端到端,如SSD等。Faster R-CNN系列具有很高的檢測性能,但速度很慢,無法滿足人臉檢測實時性的特點。SSD系列算法速度快,但在GPU實時性受限,依然有待提高。
鑒于深度學習模型下的人臉檢測算法在速度和實時性上有待提高,本文采用GitHub上的人臉檢測項目libfacedetection。它是由于仕琪[10]發布的一個二進制庫,專門應用于人臉檢測。通過調用其提供的4套接口函數,如表1所示,可以實現人臉檢測。本文采用該項目中的facedetect_multiview_reinforce函數進行人臉檢測,主要原因是采用該函數進行人臉檢測時,檢測效果好且檢測速度快,而且對于有一定偏角的人臉圖像,該函數也能檢測到人臉。
表1 libfacedetection提供的4個接口函數(x64)

接口函數耗時/msfacedetect_frontal2.41facedetect_frontal_surveillance3.37Facedetect_multiview5.81Facedetect_multiview_surveillance9.15
在進行人臉對齊之前,需要對人臉的關鍵點進行檢測。人臉關鍵點包括面部輪廓、眼睛、鼻子、眉毛的形狀以及嘴的四周。接著對檢測圖像進行映射或仿射變換,就可以得到不同人臉姿態下的正臉人臉圖像,方便后續的人臉特征提取和人臉識別。由于彩色人臉圖像中的背景干擾會大大增加人臉識別的復雜度,因此有必要對進行對齊處理后的人臉圖像采用灰度化處理操作。
在不同姿態下的人臉檢測如圖2所示,第1張圖是原圖,第2張圖是人臉檢測效果圖,第3張圖是關鍵點檢測效果圖,第4張圖是人臉對齊及灰度化處理效果圖。從圖2 (a)可以看出,有一定偏斜角度的人臉圖像,經過人臉對齊處理后,得到了正臉的人臉圖像。從圖2 (b)可以看出,檢測出了有俯仰角度的人臉圖像,但并沒有得到正臉人臉圖像。而且,當俯仰角度增加到特定值時,檢測不出人臉圖像。
由于光照等影響,檢測后的人臉圖像亮度不一且含有噪聲等干擾。因此,需要進行濾除噪聲等預處理操作。人臉圖像預處理的目的是把圖像中期望突出的人臉特征顯著地表達出來,減弱其他不必要的特征。本文人臉預處理的目的主要針對光照、局部陰影,去噪和光亮部分對人臉識別的影響,給出解決方案。
冪律變換[11]也叫非線性的灰度變換,它的目標是擴大圖像陰影區域和光亮區域的動態范圍,增強對比度,使陰影部分的紋理更加清晰。物體光強一般包括具有光滑連續函數的光照和物體表面反射(通常攜帶物體便面的信息)不受光照影響的物體信息可以通過數學公式得到。采用式(1)對原圖像上每一個像素點進行乘積運算。效果圖如圖3所示,圖3(a)表示處理前的圖,低光部分的細節經過冪律變換后可以被清楚顯示,如圖3(b)表示。
I=c(I′)r,
(1)
式中,I′為圖像的灰度階,用二維矩陣表示;r∈[0,1]為用戶定義的參數,r一般取值為[0,0.5]時,取得很好的效果;c為比例系數;I為冪律變化后的灰度階。

圖3 冪律變換前后人臉圖像的變化(r=0.4,c=0.8)
冪律變換并不能移除所有強梯度的影響(如陰影效應),光照的梯度引起的陰影區域中,大部分是低頻信息,而且其中含有很多有用的信息。但是,這些信息卻難以和其他信息區分開。
差分高斯濾波器可以方便地實現上述2種功能。當空間頻率中低頻區存在很多混淆信息時,差分高斯濾波器能很好地濾除混淆信息。濾波器的寬度由高斯分布參數sigma決定。通過設置參數sigma可以調整濾波器的效果。
由于圖像的邊界會產生高亮和無用信息,以及小的黑暗區域,所以需要把圖像強度標準化,再進行歸一化處理[12]。如式(2)~式(4)所示。
(2)
(3)
(4)
式中,α為強抗壓指數,用來減小梯度階I中較大的值帶來的影響;τ為閾值,用來截斷第一截斷變化后仍然存在的較大的值。
預處理的效果圖如圖4所示,第1張是灰度處理后的圖,第2張是冪律變化處理后的圖,第3張是差分高斯濾波處理后的圖,第4張是對比度歸一化處理后的圖。由圖4可知,經過3個階段的處理后,可以得到人臉圖像清晰的紋理信息,為以后的人臉特征提取和人臉識別帶來了方便。

圖4 預處理3個階段的效果實例
VGGNet是由牛津大學視覺幾何組(Visual Geometry Group VGG)研發的。通過在AlexNet模型上進行改進,VGGNet模型的卷積核都采用3×3的尺寸,最大池化層采用2×2的尺寸,使模型結構更簡潔。VGGNet系列的模型層數有16~19層,這里的層數指的是卷集層和全連接層的個數。整個網絡有5段(Block)卷積,每一段內有1~3個卷積層,而且,每一個卷積層內的卷積核的數量相等,Block1~Block5的每一個卷積層的卷積核的數量分別為64,128,256,512,512,更多的卷積層能夠增加模型的非線性擬合能力。
網絡模型都采用3×3的卷積核(除了A-LRN網絡模型的Bolck1中的第2層采用LAN層,C網絡模型的Bolck3,Bolck4,Bolck4中的第3層采用1×1的卷積核)。
池化層的最大池化尺寸為2×2,更小的池化核和更小的卷積核在對圖片進行卷積處理時,能夠更好地提取圖像細節特征,保留圖像原始特征。
VGGNet的以上特點,對圖像類問題具有極強的優勢。
本文所提系統是基于深度卷積神經網絡的年齡不變性人臉識別算法,實現模型如圖5所示。

圖5 人臉識別系統實現模型
首先采用水平鏡像變換和隨機裁剪等數據增強策略實現訓練數據的擴增,然后采用微調策略訓練改進的VGG16網絡模型,并利用訓練后的網絡模型提取出訓練數據的人臉圖像特征,應用于改進EM迭代算法中,從而計算出人臉圖像特征的線性模型參數,最終得到線性模型。在測試過程中,利用訓練后的改進VGG16網絡模型提取測試數據的人臉圖像特征,接著基于提取出的人臉圖像特征,根據線性模型,提取出測試數據的身份特征,進行人臉匹配和實現人臉識別。
在模型訓練結束后,接著要根據訓練好的模型來提取人臉圖像特征。首先輸入數據庫中選取的訓練數據或測試數據的一張人臉圖像到深度卷積神經網絡,經過卷積、池化操作等反復過程,最終進入到全連接層,并由全連接層輸出該人臉圖像的特征向量。深度卷積神經網絡的特征可視化如圖6所示。該圖片的全連接層提取的特征如圖7(a)所示,左圖是該圖片在數據庫中的原圖,右圖是改進VGG網絡模型的全連接層提取的高維特征。與圖7(b)相比,對于不同的人,全連接層提取的高維特征也不同。

圖6 深度卷積神經網絡特征可視化示例

圖7 全連接層提取特征
EM算法由Dempser,Laird和Rubin(1997)[5]提出,是一種對參數進行極大似然估計的迭代優化算法,屬于機器學習領域中非常簡單實用的學習算法。本文利用EM算法求隱式似然函數,從全連接層得到的特征進行10次訓練,得到不隨年齡變化的人臉特征。
由于本文通過人臉特征提取方法得到了人臉圖像的特征向量,即給定一對測試集probe和gallery的人臉圖像身份特征輸入(xp,xg),因此采用度量方法中的余弦距離來計算xp,xg的匹配分數。余弦距離也成為余弦相似度函數,通過計算向量xp,xg的夾角的余弦值,來衡量身份特征輸入(xp,xg)的相似度,完成人臉識別,即:
(5)
如果身份特征向量xp,xg的方向一致,那么它們之間的夾角接近于零,余弦距離接近于1,那么xp,xg就是相似的。反之,當夾角的余弦值越小,則身份特征差異越大,如圖8所示。圖8(a)中,xp,xg的余弦距離較大,則xp,xg相似的概率高,而圖8(b)中,xp,xg的余弦距離較小,則xp,xg差異較大,因此,通過計算向量夾角的余弦值,可以衡量身份特征輸入對的相似度。

圖8 余弦距離
本文提出的人臉識別系統在MORPH-II和FG-NET數據庫上進行仿真,以驗證其有效性。
MORPH-II人臉數據庫是研究年齡不變性的人臉識別經常使用的人臉數據庫,從2003-2007年統計了大約55 000張圖片,約13 000個人,年齡從16~77歲不等。FG-NET數據庫中有82個人,總計1 002張圖片。其中每個人平均有12張照片,最少一個人有6張照片,最多一個人有18張照片。照片的年齡范圍在0~69歲。2個數據庫作為研究跨年齡人臉識別常用的公開數據庫。
選擇數據庫中的8 000個人,每個人挑選2張年齡差距最大的圖片,共16 000張圖片作為訓練數據,訓練數據在每個年齡段的照片數目是均等的。在剩下的數據中,同樣選擇8 000個人,每個人年齡最小的照片放在測試數據的gallery集中,相對應地,此人的年齡最大的照片放在測試數據的probe集中。通過對訓練集每個人的年輕和年老的人臉圖像都采取數據增強策略,得到288倍的訓練集,用于深度卷積神經網絡的參數的訓練。然后,采用數據增強前的訓練數據,進行改進EM迭代算法,得到人臉圖像特征的線性模型參數,最后采用本文提出的方法在測試數據上進行人臉識別實驗。
與其他算法[13-15]在MORPH-II數據庫下的識別率進行對比,如表2所示,本文提出的算法識別率均有較大幅度的提高。
表2 在數據庫MORPH-II上算法識別率

算法識別率/%Method(2015)[13]87.13CARC (2015)[14]92.80HFA (2013)[15]91.14本文人臉識別系統95.01
如圖9所示,本文所提人臉識別系統在rank-2和rank-3的準確率分別達到了98.5%,99.4%,這基本上達到了跨年齡人臉識別的實用要求。如在追尋失蹤兒童系統中,假設系統可以推薦前10,甚至前20的人臉圖像,會大大提高失蹤兒童尋回的成功率。

圖9 本文人臉識別系統在MORPH-II數據庫上的CMC曲線
選取與測試集不同的另外40個人的80張圖片作為訓練集。選取FG-NET數據庫中40個人的80張圖片作為測試集。
由于FG-NET數據庫的年齡跨度較大,且數據庫的容量有限,過去的仿真實驗得到的準確率提升有限,如表3所示。本文提出的人臉識別系統相比于其他算法略有提升,達到80%。如圖10所示,CMC曲線反映出,本文提出的人臉識別系統對FG-NET數據庫中的跨度較大的年齡人臉圖像,能夠達到95%的累計匹配率。
表3 在FG-NET數據庫上算法識別率對比

算法識別率/%FaceVACS[16]26.4Park et al.(2010)[3]37.4Li et al.(2011)[14]47.5HFA (2013)[15]69.0本文人臉識別系統80.0

圖10 本文人臉識別系統在FG-NET數據庫上的CMC曲線
本文實現了跨年齡人臉識別系統,從人臉檢測、人臉預處理和人臉特征提取等環節進行了優化,在MORPH-II和FG-NET跨年齡人臉數據庫,分別實現95.01%和80%的人臉識別準確率,證明了本文提出的人臉識別系統對人臉圖像的年齡干擾具有很好的魯棒性。其中應用卷積神經網絡進行訓練,提取特征等,是實現跨年齡人臉識別高準確率的關鍵。其次,人臉檢測與預處理從光照、噪聲的角度進行優化,為人臉圖像特征的提取提供了必要保障。此外,人臉識別常用的CMC曲線從另一個角度衡量本文人臉識別系統的匹配分類有效性。