景晨凱 宋 濤 莊 雷 劉 剛 王 樂 劉凱倫
1(鄭州大學信息工程學院 河南 鄭州 450001) 2(河南省招生辦公室 河南 鄭州 450046)
人臉識別屬于計算機視覺的范疇,特指計算機利用分析比較人臉視覺特征信息自動進行身份鑒別的“智能”技術。相比于指紋、虹膜等傳統生物識別手段,人臉識別具有無接觸、符合人類識別習慣、交互性強、不易盜取等優勢,因此在保障公共安全,信息安全,金融安全,公司和個人財產安全上等有強烈的需求。尤其是近些年來隨著深度卷積神經網絡DCNN的引入,人臉識別的準確率得以跨越式提升,各類相關應用如人臉識別考勤、考生身份驗證、刷臉支付、人臉歸類查詢等已開始逐步投入使用,效果顯著。
對于一張靜態2D人臉圖片,影響識別的因素主要可分為基礎因素、外在因素和內在因素。基礎因素是指人臉本身具有的全局相似性,即人的五官、輪廓大致相同;外在因素是指成像質量,主要包括人與攝像設備的位置關系(距離、角度、尺度),攝影器材的性能,光照的強弱,外物(眼鏡、圍巾)遮擋等;內在因素是指個人的內部屬性,如性別、年齡變化、精神健康狀態、面部毛發、化妝整容、意外損傷等。但人類似乎天生具有面部識別能力,可以很輕松地剔除掉這些因素的影響[1],并且可以通過人的其他部位、神情、習慣等輔助手段快速確定一個人。而對于計算機,這些輔助手段由于其特征不穩定性反而容易被不法分子利用。目前大多數情況下計算機讀取的是一張靜態二維圖片,這些圖片本質上又是由繁多的多維數字矩陣組成,如一張256×256的RGB彩色圖片就有196 608個數字。可想而知,其識別任務難度巨大。幸運的是計算機可以使用人類設計的算法從圖像中提取特征或者學習到特征。計算機自動人臉識別AFR(automatic face recognition)的主要任務就是如何為減少個人內部的變化,同時擴大人外部差異制定低維有效的特征表示。
人臉識別的發展史主要上還是人臉特征表示方法的變遷史,從最初的幾何特征,到經驗驅動的“人造特征”,最后到數據驅動的“表示學習”,人臉識別已歷經了近60年的發展歷程。
英國心理學家Galton于1888年和1920年便在《Nature》上發表了兩篇關于人臉識別的論文,他將不同人臉的側面特征用一組數字代表,但并未涉及AFR問題。1965年,Bledsoe等在Panoramic Research Inc上發表了第一篇AFR的報告[2],他們用臉部器官間的間距(如兩眼之間)、比率等參數作為特征,構建了一個半自動人臉識別系統,開始了真正意義上的人臉識別研究。1965年至1990年的人臉識別研究主要基于幾何結構特征的方法以及基于模板匹配的方法。基于幾何結構特征的方法一般通過提取人眼、口、鼻等重要特征點的位置,以及眼睛等重要器官的直觀幾何形狀作為分類特征,計算量小。但當受光照變化、外物遮擋、面部表情變化等內外在因素影響時,所需特征點將無法精確定位,進而造成特征急劇變化。而基于模板匹配的方法則通過計算模板和圖像灰度的自相關性來實現識別功能,但忽略了局部特征,造成部分信息丟失。這一階段可以稱為人臉識別的初級階段,該階段的研究只適用于人臉圖像的粗略識別,無法在實際中應用。1992年Brunelli等通過實驗得出基于模板匹配的方法優于基于幾何結構特征的方法[3]的結論。
1991年到1997年是人臉識別研究的第二階段,盡管時間短暫,卻是非常重要的時期。大量的人力物力投入其中,如美國國防部發起的FERET(Face Recognition Technology Test)資助了多項人臉識別研究,并創建了著名的FERET人臉圖像數據庫,該項目極大地促進了人臉識別算法的改進及實用化,許多經典的人臉識別算法也都在這個階段產生。具有里程碑意義的研究是麻省理工學院的Turk等提出特征臉Eigenface[4],該方法是后來其他大多數算法的基準。還有基于子空間分析的人臉識別算法Fisherface[5],它首先通過主成分分析方法PCA(Principal Component Analysis)[4]將人臉降維,之后采用線性判別分析LDA(Linear Discriminant Analysis)[5]期望獲得類間差異大且類內差異小的線性子空間,但正因如此,它無法對復雜的非線性模型進行建模。基于彈性圖匹配的方法[6]是一種將幾何特征與對灰度分布信息的小波紋理分析相結合的識別算法,它利用人臉的基準特征點構造拓撲圖,使其符合人臉的幾何特征,然后獲取人臉關鍵點的特征值進行匹配。該算法能夠在局部結構的基礎上保留全局結構,而且能自動定位面部特征點,因此對角度變化具有一定的魯棒性。其缺點是時間復雜度高,實現復雜。基于模型的方法如主動表觀模型AAMs(Active Appearance Models)[7]是人臉建模方面的一個重要貢獻。AAMs將人臉圖像的形狀和紋理分別用統計的方法進行描述,然后通過PCA將二者融合來對人臉進行統計建模,該算法常用在人臉對齊上。另外比較經典的還有SVD分解[8]、人臉等密度線分析匹配[9]、隱馬爾可夫模型(Hidden Markov Model)[10]以及神經網絡等方法。總的來說,這一階段的人臉識別研究發展迅速,所提出的算法直接采用人臉圖像中所有像素的顏色或灰度值作為初始特征,然后通過在訓練數據上學習得到更具區分力的人臉表示。從技術方案上看,2D人臉圖像線性子空間判別分析、統計模式識別方法是這一階段的主流技術。這一階段的人臉識別系統在較理想圖像采集條件、用戶配合、中小規模數據庫上的情況下較為適用。
第三階段(1998年—2013年)重點研究真實條件下,以及基于其他的數據源(如視頻、近紅外和素描)的人臉識別問題,并深入分析和研究不同影響下的人臉識別,如光照不變人臉識別、姿態不變人臉識別和表情不變人臉識別等。為了克服直接使用像素灰度值對光照敏感等問題的限制,這一時期涌現出了很多對局部鄰域像素亮度或顏色值進行手工特征提取的方法,比如對人臉較為有效Gabor Face、LBP Face[11]以及基于無監督學習的特征learning Descriptors[12]等。分類識別上主要采用以線性判別分析為代表的線性建模方法[13-14],以核方法為代表的非線性建模方法[15-16]和基于3D人臉重建的人臉識別方法[17-18]。LBP特征是這一時期的典型特征描述子,其將圖像分成若干區域,在每個區域用中心值對鄰域作閾值化,將結果表示成二進制數,然后基于區域的頻率直方圖做統計。LBP特征對單調灰度變化保持不變,并對圖像中的噪聲和姿態具有一定的魯棒性。在子空間分析改進上,如針對 Eigenface 算法的缺點,中科院計算所提出的特定人臉子空間(FSS)算法[13],FSS為每個對象建立一個私有的人臉子空間,更好地描述了不同個體人臉之間的差異性。香港中文大學的王曉剛等提出的統一子空間分析[14]方法將PCA、LDA和貝葉斯子空間[19]三種子空間方法進行比較,并將三者有機結合提高了識別性能。基于3D人臉重建的人臉識別一般基于形變模型(morphable model)[18],其主要思想是首先將2D人臉圖像映射到3D模型表面,之后將這個3D模型轉到正臉提取特征。雖然對姿態變化具有魯棒性,但需要定位大量基準點,并且3D數據難以收集。值得一提的是2007年以后,LFW[20]數據庫成為真實條件下最權威的人臉識別測試基準。它的樣本來自互聯網的5 749人的13 233張名人人臉照片,采用十折平均精度作為性能評價指標。2012年Huang等首次采用深度學習的無監督的特征學習方法[21]在LFW取得了87%的識別率,與當時最好的傳統人臉識別算法相比還有一定差距。總之,這一階段提取的面部特征是人為設計或基于無監督學習的局部描述子。此后以DCNN為代表的深度學習算法的有監督學習在AFR的應用徹底顛覆了這種經驗驅動的“人造特征”范式,開啟了數據驅動的“表示學習”的革命。
2006年,Hinton等在《Science》上首次提出了深度學習的概念[22]。深度學習本質上也是一種特征學習方法,傳統方法需要有相關專業背景的專家設計特征表示方式,而深度學習各層的特征是使用一種通用的學習過程從數據中學到的。其也可以看作是使用像素灰度值特征,它把原始數據通過一些簡單的非線性的模型轉變成為更高層次的、更加抽象的表達,經過足夠多轉換的組合來學習非常復雜的函數。2012年,Hinton又帶領學生在目前最大的圖像數據庫ImageNet[23]上,將Top5的分類錯誤率26%降低至15%,在學術界一鳴驚人,并引起了工業界的強烈關注,特別是以谷歌、百度、微軟、臉譜等為首的擁有大量數據和高性能計算的科技巨頭企業。深度學習儼然已成為當今人工智能界具有統治地位的算法,而深度學習前身就是NN。由此,本節先從人工智能和NN的起源開始逐步深入分析這一算法。
1956年,John McCarthy與Marvin Minsky,Herbert Simon等在達特茅斯學院正式創立了人工智能的概念,并形成以Herbert Simon為代表的理性學派和以Marvin Minsky為代表的感性學派。NN正是感性學派的代表。1957年康奈爾大學心理學教授Rosenblatt利用神經網絡原理首次成功制作了能夠讀入并識別簡單的字母和圖像電子感知機。1959年,霍普金斯大學的Hubel和Wiesel通過觀察貓腦部視覺中樞對視網膜進入圖像的處理方式發現,提出了簡單細胞和復雜細胞的概念。這一工作對后來從事NN研究的計算機專家提供了重要的建模思路,比如神經元是分工分層對信息進行處理,不同神經元關注的對象特征不同。CNN中的卷積和池化層靈感也直接來源于視覺神經科學中的簡單細胞和復雜細胞。對于人臉圖像來說,前幾層的神經元抽象出臉部的部分特征如邊角或線條,然后經過逐層激發逐漸形成不同的形狀,如眼睛和鼻子,最后在中樞的最高層激發對整個對象產生認知的“祖母神經元”,也就是整張人臉的特征。
但好景不長,1969年Minsky在《感知機》的書中證明兩層神經網絡不能解決XOR(異或)這一個基本邏輯問題直接導致了NN研究經歷了第一次長達十幾年的寒冬。這一時期理性學派的專家系統得以盛行,感性流派雖沒有專家系統那樣成功,但也取得了一些進步。如1974年,哈佛Werbos的博士論文證明在輸入層和輸出層之間添加一個隱層,可以解決XOR問題,但并未引起重視,另外層數的增加為各個層的神經節點連接的權重選取帶來新的困難。1986年Rumelhart等在《nature》提出的反向傳播BP(back propagation)算法[24]一定程度上解決了權重選取問題。多層感知機和BP算法為NN研究點燃了新的希望,在此基礎上分支聯結主義開始流行,其核心領導者是兩位心理學家Rumelhart和McLelland和未來的“深度學習之父” Hinton。但是很快由于多層網絡訓練困難:如梯度不穩定,訓練數據和計算能力不足等問題,NN在20世紀末再次進入寒冬。值得關注的是,在此期間專家系統及NN維度的深化推動了超級計算技術的發展。這一領域衍生出的計算機集群技術成為20世紀90年代信息領域的互聯網公司的計算平臺,業務量和數據量的增加使這些網絡平臺不斷擴張,存儲和計算能力相應越來越強大,由此也產生了大量的數據,為NN的第三次復蘇埋下伏筆。
2006年,NN脫胎換骨成為深度學習,Hinton等所提出的深度信念網絡DBN(deep belief networks)[22]指出具有大量隱層的網絡具有優異的特征學習能力,而網絡的訓練可以采用非監督的逐層初始化與反向傳播實現。2012年機器學習界的泰斗Andrew Ng 等發起的Google Brain項目在包含 16 000個CPU的分布式并行計算平臺上構建一種被稱為“深度神經網絡”的類腦學習模型[25],并成功地“認識”了貓。而近些年GPU強大的并行計算能力更是加快了訓練速度,深度學習勢如破竹。深度學習能取得如今的成就,離不開三個長期專注NN領域的計算機科學家,分別是以上提到的深度學習開創者Geoffrey Hinton、CNN的重要研究與發揚者Yann LeCun以及加拿大蒙特利爾大學教授Yoshua Bengio。而DCNN是深度學習算法的一種,目前主要在計算機視覺領域取得突破進展。
1979年日本京都大學的Fukushima基于感受野概念提出了神經認知機來進行手寫字母的圖像識別,這可以看作是CNN的第一個實現網絡,也是感受野概念在神經網絡領域的首次應用。1989年LeCun選擇將BP算法用于訓練多層卷積神經網絡來識別手寫數字[26],這是CNN概念提出的最早文獻。但是建立起現代卷積網絡學科的開創性論文是1998年LeCun提出的LeNet-5[27],并且LeCun認為CNN不應看作是生物學上的神經系統原型,因此他更傾向于稱其為卷積網絡,并把網絡中的節點稱為單元。盡管如此,卷積網絡由于使用了與許多神經網絡相同的思想。因此,本文遵循慣例,把它看作是神經網絡的一種類型。
2014年,臉譜的團隊[30]和香港中文大學的團隊[31]在LFW上分別報告了97.35%和97.45%的平均分類精度,人臉識別的主要技術路線由人工設計特征與分類識別轉變為基于DCNN的端到端的自主學習特征。2015年Google的FaceNet[34]在LFW數據集上平均分類精度達到99.63%,基本上宣告了在LFW上8年性能競賽的結束。DCNN同樣使用BP算法進行有監督的學習,因此在卷積核中的權值都能得到訓練。BP算法是訓練深度網絡的核心算法,其利用鏈式求導法則求解目標函數關于多層神經網絡權值梯度。巧妙之處在于目標函數對于某層輸入的梯度可以通過向后傳播對該層輸出的導數求得,它首先從最高層的輸出一直到最底層的輸入計算目標函數對每層輸入的導數(殘差)然后一次性地求解每一層殘差對權值w和偏置b的梯度。
總結BP算法的一般形式如下:
(1) 輸入x,為輸入層設置對應的激活值h1;
(2) 前向傳播:對每層l=1,2,…,l,計算相應的zl=wlzl-1+b,hl=f(zl);
(3) 計算輸出層誤差:計算向量δl=▽hL⊙f(zl);
(4) 反向誤差傳播:對每層l=l-1,l-2,l-3,…,2,計算δl=((wl+1)Tδl+1)⊙f(zl);

DCNN被設計用來處理圖像等多維數據,其用了4個關鍵思想來利用自然信號的屬性:局部連接、權值共享、池化以及多網絡層,與人工設計的特征(LBP等)不同,其能夠端到端地自主學習到具有高層次、抽象的特征表達向量。一般情況下卷積層后面都緊隨有一個非線性激活層,如圖1、圖2所示。圖1最左側是l-1層的輸出,同樣也是l層的輸入,是一個單通道的5×5的特征映射圖,l層有一個3×3的卷積核w和一個偏置b,卷積核從l層特征映射圖的左上方以步長為1滑動,依次與對應局部位置求加權和,并與偏置b相加后得到線性輸出z,繼續傳入非線性激活函數f(x)。圖2中例子為ReLU[28-29],最終得到l層的3×3的非線性輸出。一個特征圖的各個局部共享一個卷積核,使用不同的卷積核形成新的不同的特征映射圖。使用這種局部連接、權值共享的結構基于兩方面的原因:一方面是對于人臉等圖像,一個像素與周圍的像素經常是高度相關的,能夠形成有區分性的局部特征;另一方面是自然圖像有其固有特性,一部分的統計特性與其它部分是相關的,在一個位置出現的特征也可能出現在別的位置。

圖1 卷積層運算實例

圖2 激活函數層運算實例
卷積層用來探測特征圖的局部連接,池化層則在語義上把相似的特征進行融合,池化也具有平移不變性,大量經驗驗證,加入池化層能夠提升識別率。常見的池化方式有:平均池化(取局部平均值),最小池化(取局部最小值),最大池化(取局部最大值)等。如圖3所示是最大池化操作,池化單元計算特征圖中的一個局部塊(圖3中的尺寸大小是2×2)的最大值,池化單元通過移動一行或者一列(圖3步長為1)最終提取出一個2×2的特征圖(圖3右側)。卷積層和池化層除了以上所述的優點外,還有一個直接原因就是它們大大降低了可訓練參數的同時也降低了特征圖的維度。對于圖1,如果是全連接層,則需要學習5×5+1=26個參數,而對于一個卷積核來說,則只需要學習3×3+1=10個參數,并最終使一個5×5的特征圖轉化成一個2×2的特征圖。對于輸入的多維人臉,隨著深度的增加,卷積與池化的層層疊加,神經元的數目也相應的減少,并最終形成一個特定的、緊湊的、低維度、全局性的人臉特征表達向量(一般是倒數第二層的隱藏層)用于人臉識別(通過knn分類器等),人臉驗證(計算距離)等任務。

圖3 池化層運算實例
如表1中列舉了近些年幾種比較成功的基于DCNN的人臉識別模型及在LFW上的測試情況,DCNN作為一種特征提取器,在人臉識別中的主要目的還是通過DCNN自動學習到更具區分力的人臉特征表達進而具有更強的泛化能力。這主要通過兩方面來提升:1) 通過表達能力更強的網絡結構;2) 通過更有效的損失估計。在網絡結構上,DeepFace[30],DeepID[31]和VGGFace均使用了直線型網絡結構, Deepface后面三層采用了參數不共享的卷積核,但導致了參數的膨脹;DeepId系列[31-33]則將卷積層的輸出與上一層的池化層的輸出進行融合來增強特征表達;FaceNet則采用了inception[35]局部多分支型網絡結構同時融合了多尺度的特征,并采用1×1的卷積核減少訓練參數數量。從表1中也可以看出DCNN的網絡結構正在變大變深:VGGFace16層、FaceNet22層。2015年的ResNet[36]已經達到152層;更深的網絡意味著更加強大的特征抽象能力,但同時也意味著訓練難度的加大,訓練參數的增多和計算效率的下降,文獻[37]通過對卷積核的有效分解等操作在不明顯增加參數和降低計算效率的情況下提升了網絡的特征表達能力。

表1 幾種經典的DCNN模型在LFW數據集上的測試結果
在損失估計上,有效的損失計算不但能加快網絡的訓練,而且有利于學習到更強有力的人臉特征表達,在早期DeepFace及DeepId中直接采用了softmax分類器(人臉分類信號)作為損失計算。這種情況下一般需要人臉的類別數達到一定數量(萬人),并且每一個人的樣本數也應足夠的多(數十甚至上百)的情況下較為適用。分類的數目越多,對應的樣本數越多,學習到人臉特征的區分性和泛化性就越好。但是當人臉類別數少且類內樣本不足的情況下,采用度量學習的判別式學習方法是必要的。在DeepId2則同時采用人臉確認損失和人臉分類損失作為監督信號進行聯合深度學習,使用聯合信號使類內變化達到最小,并使不同類別的人臉圖像間距保持恒定[38],其驗證信號僅考慮了一對樣本的誤差;在FaceNet中則直接放棄了softmax分類損失,采用Triplet Loss作為損失函數,通過構建三元組,將最近負樣本距離的大于最遠正樣本的距離作為目標函數,使最終的特征表示不需要額外訓練模型進行分類,人臉驗證只需直接計算倒數第二層隱層輸出的128維向量的距離即可,簡單有效。從最初的單一的多分類器到度量學習到引入,再到僅需要度量學習便可學習優異的特征,這種轉變也直接反映出了度量學習對于人臉特征學習所起到的關鍵作用。但是值得注意的是,在度量學習中樣本對的選擇是一個不可回避的重要問題,不恰當的選擇策略將很有可能引起過擬合問題。
另外還有其他的提升人臉特征表達能力的方法。如在deepid系列中也通過將人臉分割多個區域、尺度,對人臉做鏡像和反轉等作為輸入形成互補和數據增強。deepface則在三維人臉圖像對齊后再輸入到網絡便于提取更有效的特征。還有不得不重視的是DCNN作為一種非常適合大數據的算法,更多的數據依然能夠帶來更魯棒,更具抽象能力的特征。從表1也看出了這一趨勢: DeepID系列從20萬到45萬,DeepFace 的700萬, VGGFace有2 600萬,FaceNet則達到2個億。
為了解釋分析DCNN內部神經元的特性,在deepid2+[33]中研究發現通過DCNN學習得到的高層次的人臉特征是中度稀疏的、對人臉身份和人臉屬性有很強的選擇性(特定的神經元對特定的屬性會有持續的響應和抑制)、對局部遮擋具有良好的魯棒性,不過本文對此目前仍抱有懷疑態度,有待今后更深入的研究成果去證明。
雖然DCNN目前已經在人臉識別以及其他的計算機視覺任務中得以成功應用并有成為一種通用的AI算法之勢,但應用DCNN算法本身依然是一個不小的挑戰,也可以說是一個主要問題,本文主要劃分為以下四點:
1) 有監督的學習,需要大量的標記樣本 從目前的發展狀況來看,有監督的學習已經遠遠蓋過了無監督學習的風頭。而訓練深度網絡需要大量的數據,盡管網絡上有大量的數據,但都雜亂無章,需要人工標注,并且近些年的標注成本也是水漲船高。
2) 理論研究不足 深度學習包括DCNN是一個端到端的學習。神經網絡,反向傳播算法,卷積神經網絡等基本的方法原理早已存在,近些年的發展也主要得益于大數據,高性能計算以及各種網絡結構和訓練方法的改進,而實際上卻并無深層次的本質理解,大量的研究思路簡單粗糙。因此在設計DCNN結構以及在訓練當中經常碰到的過擬合問題、梯度不穩定的問題,除了遵循一些基本原則,更多需要通過經驗和直覺來進行,這種試驗性的研究思路增加了運用難度。如表2所示。

表2 訓練DCNN模型的建議
3) 局部最優解 由于深度學習算法需要學習的目標函數是非凸的,存在著大量的局部最小值。而訓練中用的梯度下降算法,理論情況下會很容易停留在一個局部最小值上面。并且如果初始值的不同,即使是同樣的訓練集也會朝著不同的方向優化,這就給最終的結果帶來了很大的不確定性。不過大量實踐證明,對于非小網絡,這個問題并不會引起太大的麻煩。
4) 訓練時間長且計算資源代價不菲 深度學習由于參數較多,相比其他機器學習算法訓練周期要長很多,近些年來其能夠流行的一大因素離不開GPU的發展。GPU成倍加快了訓練速度,但是這些GPU售價昂貴,建立大規模的GPU集群并非一般院校能夠負擔。使用浮點計算的深度網絡要求大存儲空間和大計算量,使其在手機、移動機器人等設備上的應用大大受阻。
LFW作為前些年來最流行的人臉測試數據集,識別率頻頻被刷新,如香港中文大學的DeepID2+,Google的FaceNet在2015年均取得了99%以上的識別率,這基本宣告了LFW競爭之戰的結束。在LFW上的刷分已然沒有太大意義,但現有臉部識別系統仍難以準確識別超過百萬的數據量。因此,未來急需更多更具挑戰的公開人臉數據集。這些數據集首先應當滿足大規模,標簽準確等基本條件,可以是針對特定任務(如特定的年齡層或特定的場景等)的數據集,也可以是綜合(如包括各個年齡層或者各類復雜場景等)的數據集。2015年華盛頓大學為了研究當數據集規模提升數個量級時,現有的臉部識別系統能否繼續維持可靠的識別率,發起了一個名為“MegaFace Challenge”的公開競賽,MegaFace數據集有690 572個體1 027 060張公開人臉圖像[41],難度頗大,對大規模數據的人臉識別起到了促進作用。
影響人臉識別的諸如光照、姿態、年齡、遮擋等問題并沒有得到根本解決。對特定問題的研究有助于整體人臉識別研究的進步。在CVPR2016上,就有許多關于人臉識別特定問題的研究工作,例如南加州大學的Masi關注了人臉識別中的大姿態變化問題。與當前大部分利用大量數據訓練單一模型或者矯正人臉到正臉來學習姿態不變性的方法不同,該作者通過使用五個指定角度模型和渲染人臉圖片的方法處理姿態變化[42]。中科院計算所Kan等通過嘗試移除人臉數據之間的跨模態差異性,并尋找跨模態之間的非線性的差異性和模態不變性表達解決人臉識別中的跨視圖或跨姿態問題[43]。還有意大利特倫托大學做了人臉老齡化預測的有關工作[44],這對跨越年齡的人臉識別具有很大的參考意義。
生物神經系統的連接極為復雜,既有自下而上的前饋和同層遞歸,又有自上而下的反饋和來自其他神經子系統的外部連接,目前的深度模型尚未對這些建模。去年MSRA的ResNet達到了驚人的152 層,解決了極深網絡在增加層數的同時也能保持準確率的問題,也證明了極深網絡在其他任務中也有很好的泛化性能。而芝加哥大學的Gustav提出了一個不依賴于殘差的極深架構FractalNet[45],作者稱該分形結構可以自動容納過去已有的強大結構。但是需要明白,這些網絡結構本身也是人為設計,哪個網絡結構最佳,卷積層的數量多少才合適,我們不得而知。近期的網絡剪枝,網絡簡化等工作對此進行了探討[46-47],并認為稀疏性對于卷積神經網絡應用于人臉識別效果有提升,但該研究還處于起步階段。
另外,DCNN早在20世紀80年代就已經基本成型,當時未能普及的原因之一,就是缺少高效地優化多層網絡的方法,如對多層神經網絡進行初始化的有效方法。盡管有Mini-Batch SGD、ResNet中的shortcut、 ReLU激活函數、Batch Normalization等促進表達能力和加快收斂的方法。但對此仍然缺乏一個完善的理論作指導。對于人臉識別,深度度量學習(deep metric learning)是一個最常用的方法,更好的目標函數能夠學到更具有區分力的特征。如上文提到的DeepFace和DeepID的contrastive loss度量,Facenet的triplet loss度量等都有用到deep metric learning的方法。最近的如在CVPR2016斯坦福大學提出利用訓練批處理中所有相同標簽的人臉對和不同標簽的人臉對的信息進行語義特征映射,來減少同類間距離同時增加異類間距離[48]。
在使用DCNN訓練出的模型時可以發現,在某個數據集上表現好的模型在另外一個數據集結果可能并不如意,比如使用東方人訓練出的模型去識別西方人的人臉,或者反之。這種訓練數據和應用數據之間的偏差便可通過遷移學習進行消除,簡而言之,如果這兩個領域之間有某種聯系、某種相似性,就只需小部分數據在新的領域中重新學習即可。中科院Kan等提出的對于人臉識別的領域自適應學習[49]做了相關的工作。
強化學習相對深度學習更古老,但由于計算瓶頸使它長時間處于靜默狀態,不能處理大數據。但2015年Google的DeepMind把深度學習和強化學習相結合,隱藏了很多強化學習的狀態個數,這種隱藏使得強化學習能夠應付大數據,強化學習比DCNN在圖像上面的應用更加復雜,更加契合人的行為。
大量有標簽數據是DCNN的局限性之一,無監督學習在人類和動物的學習中卻占據主導地位,但目前幾乎所有由人工智能創造的經濟價值都來自監督學習。CNN雖然與神經認知架構有點相似,但是在神經認知中并不需要類似BP算法這種端到端的監督學習算法。并且獲取大量無監督數據的成本相比有標簽數據微乎其微。各方面講,無監督學習都是未來的趨勢,代表了人工智能的一種關鍵技能。但直接從大量的無監督數據中學習確實非常困難,也許少量有監督數據與大量無監督數據結合的半監督學習是現階段需要重點研究的方向。
另外還有如增量學習、終生學習、對抗學習、注意力模型等都是未來可能應用在人臉識別甚至影響整個人工智能領域。
AFR經過幾十年的研究發展,已經逐漸成為一個成熟的研究領域。DCNN的到來,為這個領域注入了新的活力,并取得了顯著的效果,甚至說在某些數據集上已經超越人類,但是否真的超越,還言之過早。對于實際應用中的光照、抖動、模糊、遮擋、分辨率、姿態等的外在因素或性別、年齡變化、精神健康狀態、面部毛發、化妝整容、意外損傷等內在因素依然沒有得到完全解決。對于深度學習算法的內在原理,甚至還無從知曉,本質上仍然是弱人工智能。兩者的結合是歷史的必然,但未來的發展還需要計算機視覺研究者們的共同努力。
[1] 山世光.人臉識別中若干關鍵問題的研究[D].中國科學院研究生院(計算技術研究所),2004.
[2] Bledsoe W W.Man-machine facial recognition[J].Rep.PRi,1966,22.
[3] Brunelli R,Poggio T.Face recognition:Features versus templates[J].IEEE transactions on pattern analysis and machine intelligence,1993,15(10):1042-1052.
[4] Turk M,Pentland A.Eigenfaces for recognition[J].Journal of cognitive neuroscience,1991,3(1):71-86.
[5] Belhumeur P N,Hespanha J P,Kriegman D J.Eigenfaces vs.fisherfaces:Recognition using class specific linear projection[J].IEEE Transactions on pattern analysis and machine intelligence,1997,19(7):711-720.
[6] Lades M,Vorbruggen J C,Buhmann J,et al.Distortion invariant object recognition in the dynamic link architecture[J].IEEE Transactions on computers,1993,42(3):300-311.
[7] Qin H,Yan J,Li X,et al.Joint training of cascaded CNN for face detection[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition,2016:3456-3465.
[8] Hong Z Q.Algebraic feature extraction of image for recognition[J].Pattern recognition,1991,24(3):211-219.
[9] Nakamura O,Mathur S,Minami T.Identification of human faces based on isodensity maps[J].Pattern Recognition,1991,24(3):263-272.
[10] Samaria F,Young S.HMM-based architecture for face identification[J].Image and vision computing,1994,12(8):537-543.
[11] Chen D,Cao X,Wen F,et al.Blessing of dimensionality:High-dimensional feature and its efficient compression for face verification[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition,2013:3025-3032.
[12] Winder S A J,Brown M.Learning local image descriptors[C]//Computer Vision and Pattern Recognition,2007.CVPR’07.IEEE Conference on.IEEE,2007:1-8.
[13] Shan S,Gao W,Zhao D.Face identification from a single example image based on face-specific subspace (FSS)[C]//Acoustics,Speech,and Signal Processing (ICASSP),2002 IEEE International Conference on.IEEE,2002,2:II-2125-II-2128.
[14] Wang X,Tang X.A unified framework for subspace face recognition[J].IEEE Transactions on pattern analysis and machine intelligence,2004,26(9):1222-1228.
[15] Yang M H.Kernel Eigenfaces vs.Kernel Fisherfaces:Face Recognition Using Kernel Methods[C]//IEEE International Conference on Automatic Face and Gesture Recognition,2002.Proceedings.IEEE,2002:215-220.
[16] Zhou S K,Chellappa R.Multiple-exemplar discriminant analysis for face recognition[C]//Pattern Recognition,2004.ICPR 2004.Proceedings of the 17th International Conference on.IEEE,2004,4:191-194.
[17] Blanz V,Vetter T.A morphable model for the synthesis of 3D faces[C]//Proceedings of the 26th annual conference on Computer graphics and interactive techniques.ACM Press/Addison-Wesley Publishing Co.,1999:187-194.
[18] Blanz V,Vetter T.Face recognition based on fitting a 3D morphable model[J].IEEE Transactions on pattern analysis and machine intelligence,2003,25(9):1063-1074.
[19] Moghaddam B,Jebara T,Pentland A.Bayesian face recognition[J].Pattern Recognition,2000,33(11):1771-1782.
[20] Huang G B,Ramesh M,Berg T,et al.Labeled faces in the wild:A database for studying face recognition in unconstrained environments[R].Technical Report 07-49,University of Massachusetts,Amherst,2007.
[21] Huang G B,Lee H,Learned-Miller E.Learning hierarchical representations for face verification with convolutional deep belief networks[C]//Computer Vision and Pattern Recognition (CVPR),2012 IEEE Conference on.IEEE,2012:2518-2525.
[22] Hinton G E,Salakhutdinov R R.Reducing the dimensionality of data with neural networks[J].Science,2006,313(5786):504-507.
[23] Deng Jia,Dong Wei,Socher R,et al.Imagenet:A large-scale hierarchical image database[C]//Computer Vision and Pattern Recognition,2009.CVPR 2009.IEEE Conference on.IEEE,2009:248-255.
[24] Rumelhart D E,Hinton G E,Williams R J.Learning representations by back-propagating errors[J].Cognitive modeling,1988,5(3):1.
[25] Markoff J.How many computers to identify a cat? 16 000[N].New York Times,2012-06-25.
[26] LeCun Y,Boser B,Denker J S,et al.Backpropagation applied to handwritten zip code recognition[J].Neural computation,1989,1(4):541-551.
[27] LeCun Y,Bottou L,Bengio Y,et al.Gradient-based learning applied to document recognition[J].Proceedings of the IEEE,1998,86(11):2278-2324.
[28] Nair V,Hinton G E.Rectified linear units improve restricted boltzmann machines[C]//Proceedings of the 27th international conference on machine learning (ICML-10).2010:807-814.
[29] Glorot X,Bordes A,Bengio Y.Deep Sparse Rectifier Neural Networks[C]//International Conference on Artificial Intelligence and Statistics,2012.
[30] Taigman Y,Yang M,Ranzato M A,et al.Deepface:Closing the gap to human-level performance in face verification[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition,2014:1701-1708.
[31] Sun Yi,Wang Xiaogang,Tang Xiaoou.Deep learning face representation from predicting 10 000 classes[C]//Proc of the IEEE Conference on Computer Vision and Pattern Recognition,2014:1891-1898.
[32] Sun Yi,Chen Yuheng,Wang Xiaogang,et al.Deep learning face representation by joint identification-verification[C]//Advances in Neural Information Proc Systems,2014:1988-1996.
[33] Sun Yi,Wang Xiaogang,Tang Xiaoou.Deeply learned face representations are sparse,selective,and robust[C]//Proc of the IEEE Conference on Computer Vision and Pattern Recognition,2015:2892-2900.
[34] Schroff F,Kalenichenko D,Philbin J.Facenet:A unified embedding for face recognition and clustering[C]//Proc of the IEEE Conference on Computer Vision and Pattern Recognition,2015:815-823.
[35] Szegedy C,Liu W,Jia Y,et al.Going deeper with convolutions[C]//Proc of the IEEE Conference on Computer Vision and Pattern Recognition,2015:1-9.
[36] He Kaiming,Zhang Xiangyu,Ren Shaoqing,et al.Deep residual learning for image recognition[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR),2016:770-778.
[37] Szegedy C,Vanhoucke V,Ioffe S,et al.Rethinking the inception architecture for computer vision[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR),2016:2818-2826.
[38] 王曉剛,孫袆,湯曉鷗.從統一子空間分析到聯合深度學習:人臉識別的十年歷程[J].中國計算機學會通訊,2015,11(4):8-15.
[39] Glorot X,Bengio Y.Understanding the difficulty of training deep feedforward neural networks[J].Journal of Machine Learning Research,2010,9:249-256.
[40] Ioffe S,Szegedy C.Batch normalization:Accelerating deep network training by reducing internal covariate shift[C]// Proceedings of the 32nd International Conference on Machine Learning,Lille,France,2015.
[41] Kemelmachershlizerman I,Seitz S M,Miller D,et al.The MegaFace Benchmark:1 Million Faces for Recognition at Scale[C]//Computer Vision and Pattern Recognition.IEEE,2016:4873-4882.
[42] Masi I,Rawls S,Medioni G,et al.Pose-Aware Face Recognition in the Wild[C]//Proc of the IEEE Conference on Computer Vision and Pattern Recognition,2016:4838-4846.
[43] Kan M,Shan S,Chen X.Multi-view Deep Network for Cross-View Classification[C]//IEEE Conference on Computer Vision and Pattern Recognition.IEEE,2016:4847-4855.
[44] Wang W,Cui Z,Yan Y,et al.Recurrent Face Aging[C]//IEEE Conference on Computer Vision and Pattern Recognition.IEEE Computer Society,2016:2378-2386.
[45] Larsson G,Maire M,Shakhnarovich G.FractalNet:Ultra-Deep Neural Networks without Residuals[J].arXiv preprint arXiv:1605.07648,2016.
[46] Sun Y,Wang X,Tang X.Sparsifying Neural Network Connections for Face Recognition[J].Computer Science,2015:4856-4864.
[47] Han S,Pool J,Tran J,et al.Learning both weights and connections for efficient neural network[C]//Advances in Neural Information Proc Systems,2015:1135-1143.
[48] Song H O,Xiang Y,Jegelka S,et al.Deep metric learning via lifted structured feature embedding[J].arXiv preprint arXiv:1511.06452,2015.
[49] Kan Meina,Wu Junting,Shan Shiguang,et al.Domain Adaptation for Face Recognition:Targetize Source Domain Bridged by Common Subspace[J].International Journal of Computer Vision,2014,109(1-2):94-109.