1. 程式人生 > >人臉識別技術發展及實用方案設計

人臉識別技術發展及實用方案設計

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1

作者 | 汪彪

責編 | 何永燦

人臉識別技術不但吸引了Google、Facebook、阿里、騰訊、百度等國內外網際網路巨頭的大量研發投入,也催生了Face++、商湯科技、Linkface、中科雲從、依圖等一大波明星創業公司,在視訊監控、刑事偵破、網際網路金融身份核驗、自助通關係統等方向創造了諸多成功應用案例。本文試圖梳理人臉識別技術發展,並根據作者在相關領域的實踐給出一些實用方案設計,期待能對感興趣的讀者有所裨益。

概述

通俗地講,任何一個的機器學習問題都可以等價於一個尋找合適變換函式的問題。例如語音識別,就是在求取合適的變換函式,將輸入的一維時序語音訊號變換到語義空間;而近來引發全民關注的圍棋人工智慧AlphaGo則是將輸入的二維佈局影象變換到決策空間以決定下一步的最優走法;相應的,人臉識別也是在求取合適的變換函式,將輸入的二維人臉影象變換到特徵空間,從而唯一確定對應人的身份。

一直以來,人們都認為圍棋的難度要遠大於人臉識別,因此,當AlphaGo以絕對優勢輕易打敗世界冠軍李世乭九段和柯潔九段時,人們更驚歎於人工智慧的強大。實際上,這一結論只是人們的基於“常識”的誤解,因為從大多數人的切身體驗來講,即使經過嚴格訓練,打敗圍棋世界冠軍的機率也是微乎其微;相反,絕大多數普通人,即便未經過嚴格訓練,也能輕鬆完成人臉識別的任務。然而,我們不妨仔細分析一下這兩者之間的難易程度:在計算機的“眼裡”,圍棋的棋盤不過是個19x19的矩陣,矩陣的每一個元素可能的取值都來自於一個三元組{0,1,2},分別代表無子,白子及黑子,因此輸入向量可能的取值數為3361;而對於人臉識別來講,以一幅512x512的輸入影象為例,它在計算機的“眼中”是一個512x512x3維的矩陣,矩陣的每一個元素可能的取值範圍為0~255,因此輸入向量可能的取值數為256786432。雖然,圍棋AI和人臉識別都是尋求合適的變換函式f,但後者輸入空間的複雜度顯然遠遠大於前者。

對於一個理想的變換函式f而言,為了達到最優的分類效果,在變換後的特徵空間上,我們希望同類樣本的類內差儘可能小,同時不同類樣本的類間差儘可能大。但是,理想是豐滿的,現實卻是骨感的。由於光照、表情、遮擋、姿態等諸多因素(如圖1)的影響,往往導致不同人之間的差距比相同人之間差距更小,如圖2。人臉識別演算法發展的歷史就是與這些識別影響因子鬥爭的歷史。

640?wx_fmt=jpeg

圖1 人臉識別的影響因素

640?wx_fmt=png

圖2 姿態導致不同人相似度比同人更高

人臉識別技術發展

早在20世紀50年代,認知科學家就已著手對人臉識別展開研究。20世紀60年代,人臉識別工程化應用研究正式開啟。當時的方法主要利用了人臉的幾何結構,通過分析人臉器官特徵點及其之間的拓撲關係進行辨識。這種方法簡單直觀,但是一旦人臉姿態、表情發生變化,則精度嚴重下降。

1991年,著名的“特徵臉”方法[1]第一次將主成分分析和統計特徵技術引入人臉識別,在實用效果上取得了長足的進步。這一思路也在後續研究中得到進一步發揚光大,例如,Belhumer成功將Fisher判別準則應用於人臉分類,提出了基於線性判別分析的Fisherface方法[2]。

21世紀的前十年,隨著機器學習理論的發展,學者們相繼探索出了基於遺傳演算法、支援向量機(Support Vector Machine, SVM)、boosting、流形學習以及核方法等進行人臉識別。 2009年至2012年,稀疏表達(Sparse Representation)[3]因為其優美的理論和對遮擋因素的魯棒性成為當時的研究熱點。

與此同時,業界也基本達成共識:基於人工精心設計的區域性描述子進行特徵提取和子空間方法進行特徵選擇能夠取得最好的識別效果。Gabor[4]及LBP[5]特徵描述子是迄今為止在人臉識別領域最為成功的兩種人工設計區域性描述子。這期間,對各種人臉識別影響因子的針對性處理也是那一階段的研究熱點,比如人臉光照歸一化、人臉姿態校正、人臉超分辨以及遮擋處理等。也是在這一階段,研究者的關注點開始從受限場景下的人臉識別轉移到非受限環境下的人臉識別。LFW人臉識別公開競賽在此背景下開始流行,當時最好的識別系統儘管在受限的FRGC測試集上能取得99%以上的識別精度,但是在LFW上的最高精度僅僅在80%左右,距離實用看起來距離頗遠。

2013年,MSRA的研究者首度嘗試了10萬規模的大訓練資料,並基於高維LBP特徵和Joint Bayesian方法[6]在LFW上獲得了95.17%的精度。這一結果表明:大訓練資料集對於有效提升非受限環境下的人臉識別很重要。然而,以上所有這些經典方法,都難以處理大規模資料集的訓練場景。

2014年前後,隨著大資料和深度學習的發展,神經網路重受矚目,並在影象分類、手寫體識別、語音識別等應用中獲得了遠超經典方法的結果。香港中文大學的Sun Yi等人提出將卷積神經網路應用到人臉識別上[7],採用20萬訓練資料,在LFW上第一次得到超過人類水平的識別精度,這是人臉識別發展歷史上的一座里程碑。自此之後,研究者們不斷改進網路結構,同時擴大訓練樣本規模,將LFW上的識別精度推到99.5%以上。如表1所示,我們給出了人臉識別發展過程中一些經典的方法及其在LFW上的精度,一個基本的趨勢是:訓練資料規模越來越大,識別精度越來越高。如果讀者閱讀有興趣瞭解人臉識別更細節的發展歷史,可以參考文獻[8][9]。

0?wx_fmt=jpeg

表1 人臉識別經典方法及其在LFW上精度對比

技術方案

要在實用中實現高精度的人臉識別,就必須針對人臉識別的挑戰因素如光照、姿態、遮擋等進行鍼對性的設計。例如,針對光照和姿態因素,要麼在收集訓練樣本時力求做到每個個體覆蓋足夠多的光照和姿態變化,要麼設計出行之有效的預處理方法以補償光照和姿態帶來的人臉身份資訊變化。圖3給出了作者在相關領域的一些研究成果[10][11]。

0?wx_fmt=jpeg

表2 較為正常的人臉識別訓練集

表2給出了本文用到的訓練資料集,其中前3個是當前最主流的公開訓練資料集,最後一個為私有業務資料集。表3出給了效能驗證的兩個資料集及測試協議,其中LFW是目前最主流的非受限人臉識別公開競賽。我們注意到,大多數訓練集都有較大噪聲,如果不進行相應清洗操作,則訓練會較難收斂。本文給出了一種快速可靠的資料清洗方法,如表4所示。

640?wx_fmt=jpeg

表3 本文用到的測試集

640?wx_fmt=jpeg

表4 一種快速可靠的訓練資料清洗方法

圖4給出了一套行之有效的人臉識別技術方案,主要包括多patch劃分、CNN特徵抽取、多工學習/多loss融合,以及特徵融合模組。

640?wx_fmt=png

圖4 人臉識別技術方案

  • 多patch劃分主要是利用人臉不同patch之間的互補資訊增強識別效能。尤其是多個patch之間的融合能有效提升遮擋情況下的識別效能。當前,在LFW評測中超過99.50%的結果大多數是由多個patch融合得到。

  • 經過驗證較優秀的人臉特徵抽取卷積神經網路包括:Deep-ID系列、VGG-Net、ResNet、Google Inception結構。讀者可以根據自己對精度及效率的需求選擇合適的網路。本文以19層resnet舉例。

  • 多工學習主要是利用其他相關資訊提升人臉識別效能。本文以性別和種族識別為例,這兩種屬性都是和具體人的身份強相關的,而其他的屬性如表情、年齡都沒有這個特點。我們在resnet的中間層引出分支進行種族和性別的多工學習,這樣CNN網路的前幾層相當於具有了種族、性別鑑別力的高層語義資訊,在CNN網路的後幾層我們進一步學習了身份的細化鑑別資訊。同時,訓練集中樣本的性別和種族屬性可以通過一個baseline分類器進行多數投票得到。

  • 多loss融合主要是利用不同loss之間的互補特性學習出適當的人臉特徵向量,使得類內差儘可能小,類間差儘可能大。當前人臉識別領域較為常用的集中loss包括:pair-wise loss、triplet loss、softmax loss、center loss等。其中triplet loss直接定義了增大類內類間差gap的優化目標,但是在具體工程實踐中,其trick較多,不容易把握。而最近提出的center loss,結合softmax loss,能較好地度量特徵空間中的類內、類間差,訓練配置也較為方便,因此使用較為廣泛。

  • 通過多個patch訓練得到的模型將產生多個特徵向量,如何融合多特徵向量進行最終的身份識別也是一個重要的技術問題。較為常用的方案包括:特徵向量拼接、分數級加權融合以及決策級融合(如投票)等。

640?wx_fmt=jpeg

表5 資料清洗前後識別模型效能對比

表5給出了訓練資料清洗前後在測試集上的效能對比結果。據此可以得到以下結論:

  • 資料的清洗不但能加快模型訓練,也能有效提升識別精度;

  • 在西方人為主的訓練集MSCeleb1M上訓練得到的模型,在同樣以西方人為主的測試集LFW上達到了完美的泛化效能;但是在以東方人為主的業務測試集的泛化效能則有較大的下滑;

  • 在以東方人為主的業務訓練集訓練得到的模型,在東方人為主的業務測試集上效能非常好,但是在西方人為主的測試集LFW上相對MSCeleb1M有一定差距;

  • 將業務訓練集和MSCeleb1M進行合併,訓練得到的模型在LFW和業務資料上都有近乎完美的效能。其中,基於三個patch融合的模型在LFW上得到了99.58%的識別精度。

由此,我們可以知道,為了達到儘可能高的實用識別效能,我們應該儘可能採用與使用環境相同的訓練資料進行訓練。同樣的結論也出現在論文[12]中。

實際上,一個完整的人臉識別實用系統除了包括上述識別演算法以外,還應該包括人臉檢測,人臉關鍵點定位,人臉對齊等模組,在某些安全級別要求較高的應用中,為了防止照片、視訊回放、3D列印模型等對識別系統的假冒攻擊,還需要引入活體檢測模組;為了在視訊輸入中取得最優的識別效果,還需要引入影象質量評估模組選擇最合適的視訊幀進行識別,以儘可能排除不均勻光照、大姿態、低分辨和運動模糊等因素對識別的影響。另外,也有不少研究者和公司試圖通過主動的方式規避這些因素的影響:引入紅外/3D攝像頭。典型的實用人臉識別方案如圖5所示。

640?wx_fmt=jpeg

圖5 實用人臉識別方案流程圖

總結

本文簡單總結了人臉識別技術的發展歷史,並給出了實用方案設計的參考。雖然人臉識別技術在LFW公開競賽中取得了99%以上的精度,但是在視訊監控等實用場景下的1:N識別距離真正實用還有一段路要走,尤其是在N很大的情況下。未來,我們還需要在訓練資料擴充、新模型設計及度量學習等方面投入更多的精力,讓大規模人臉識別早日走入實用。

參考文獻 
[1]Turkand M A, Pengland A P. Eigenfaces for recognition [J]. Journal of Cognitve Neuroscience, 1991, 3(1): 71-86. 
[2]Belhumeur P, Hespanha J, Kriegman D. Eigenfaces vs. fisherfaces: Recognition using class specific linear projection [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1997, 19(7): 711-720. 
[3]Liu C, Wechsler. Gabor feature based classification using enhanced fisher linear model for face recognition [J]. IEEE Transactions on Image Processing, 2002, 11(4): 467-476. 
[4]Ahonen T, Hadid A, Pietikäinen M. Face description with local binary patterns: Application to face recognition [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2006, 28(12): 2037-2041. 
[5]Wright J, Yang A, Ganesh A, Sastry S, Ma Y. Robust face recognition via sparse representation [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2009, 31(2): 210-227. 
[6]Chen D, Cao X, Wen F, Sun J. Blessing of dimensionality: high-dimensional feature and its efficient compression for face verification [C]. IEEE International Conference on Computer Vision and Pattern Recognition, 2013. 
[7]Sun Y, Wang X, Tang X. Deep learning face representation by joint identification-Verification [C]. 
[8]Zhao W, Chellappa R, Rosenfeld A, Phillips P J. Face recognition: A literature survey [J]. ACM Computing Surveys, 2003, 35(4): 399-458. 
[9]Li S Z, Jain A K. Handbook of face recognition (2nd Edition) [M]. Springer-Verlag, 2011. 
[10]Wang B, Li W, Yang W, Liao Q. Illumination normalization based on Weber’s law with application to face recognition [J]. IEEE Signal Processing Letters, 2011, 18(8): 462-465. 
[11]Wang Biao, Feng X, Gong L, Feng H, Hwang W, Han J. Robust Pose normalization for face recognition under varying views [C]. ICIP, 2015, 
[12]Kan M. Domain Adaptation for face recognition: Targetize source domain briged by common subspace, IJCV, 2014.

作者簡介:汪彪,阿里巴巴集團iDST視覺計算組演算法專家。2013年從清華大學電子工程系博士畢業後加入北京三星研究院任責任研究員及開發組長。2016年加入阿里巴巴。從事人臉識別方向研究及開發近10年,累計釋出論文/專利20餘篇。

熱文精選

640?wx_fmt=png