1. 程式人生 > >人臉識別雜談

人臉識別雜談

Gabor 及 LBP 特徵描述子是迄今為止在人臉識別領域最為成功的兩種人工設計區域性描述子。

對各種人臉識別影響因子的針對性處理也是那一階段的研究熱點,比如人臉光照歸一化、人臉姿態校正、人臉超分辨以及遮擋處理等。

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

 

人臉識別領域的研究關鍵詞主要集中在人臉識別、特徵提取、稀疏表示、影象分類、神經網路、目標檢測、人臉影象、人臉檢測、影象表示、計算機視覺、姿態估計、人臉確認等領域。

計算機視覺(CV)界三大頂級國際會議:

ICCV: IEEE International Conference on Computer Vision

CVPR:IEEE Conference on Computer Vision and Pattern Recognition

ECCV:European Conference on Computer Vision

ACCV:Asian Conference on Computer Vision

FG:IEEE International Conference on Automatic Face and Gesture Recognition

目前的人臉檢測方法可分為三類,分別是基於膚色模型的檢測、基於邊緣特徵的檢測、基於統計理論方法,下面將對其進行簡單的介紹:

1、基於膚色模型的檢測:膚色用於人臉檢測時,可採用不同的建模方法,主要有高斯模型、高斯混合模型,以及非引數估計等。利用高斯模型和高斯混合模型可以在不同顏色空間中建立膚色模型來進行人臉檢測。通過提取彩色影象中的面部區域以實現人臉檢測的方法能夠處理多種光照的情況, 但該演算法需要在固定攝像機引數的前提下才有效。Comaniciu 等學者利用非引數的核函式概率密度估計法來建立膚色模型,並使用 mean-shift 方法進行區域性搜尋實現了人臉的檢測和跟蹤。這一方法提高了人臉的檢測速度,對於遮擋和光照也有一定的魯棒性。該方法的不足是和其他方法的可結合性不是很高,同時,用於人臉檢測時,處理複雜背景和多個人臉時存在困難。

 

為了解決人臉檢測中的光照問題,可以針對不同光照進行補償,然後再檢測影象中的膚色區域。這樣可以解決彩色影象中偏光、背景複雜和多個人臉的檢測問題,但對人臉色彩、位置、尺度、旋轉、姿態和表情等具有不敏感性。

 

2、基於邊緣特徵的檢測:利用影象的邊緣特徵檢測人臉時,計算量相對較小,可以實現實時檢測。大多數使用邊緣特徵的演算法都是基於人臉的邊緣輪廓特性,利用建立的模板(如橢圓模版)進行匹配。也有研究者採用橢圓環模型與邊緣方向特徵,實現簡單背景的人臉檢測。Fröba 等採用基於邊緣方向匹配(Edge-Orientation Matching,EOM)的方法,在邊緣方向圖中進行人臉檢測。該演算法在複雜背景下誤檢率比較高,但是與其他的特徵相融合後可以獲得很好的效果。

 

3、 基於統計理論方法:本文重點介紹基於統計理論方法中的Adaboost人臉檢測演算法。Adaboost演算法是通過無數次迴圈迭代來尋求最優分類器的過程。用弱分類器Haar特徵中任一特徵放在人臉樣本上,求出人臉特徵值,通過更多分類器的級聯便得到人臉的量化特徵,以此來區分人臉和非人臉。Haar功能由一些簡單黑色白色水平垂直或旋轉45°的矩形組成。目前的Haar特徵總的來說廣義地分為三類:邊緣特徵、線特徵以及中心特徵。

 

這一演算法是由劍橋大學的 Paul Viola 和 Michael Jones 兩位學者提出,該演算法優點在於不僅計算速度快,還可以達到和其他演算法相當的效能,所以在人臉檢測中應用比較廣泛,但也存在著較高的誤檢率。因為在採用 Adaboost 演算法學習的過程中,最後總有一些人臉和非人臉模式難以區分,而且其檢測的結果中存在一些與人臉模式並不相像的視窗。

 

 人臉識別主要方法

 

人臉識別技術的研究是一個跨越多個學科領域知識的高階技術研究工作,其包括多個學科的專業知識,如影象處理、生理學、心理學、模式識別等知識。在人臉識別技術研究的領域中,目前主要有幾種研究的方向,如:一種是根據人臉特徵統計學的識別方法,其主要有特徵臉的方法以及隱馬爾科夫模型(HMM,Hidden Markov Model)方法等;另一種人臉識別方法是關於連線機制的,主要有人工神經網路(ANN,Artificial Neural Network)方法和支援向量機(SVM,Support Vector Machine)方法等;還有一個就是綜合多種識別方式的方法。

基於特徵臉的方法

 

特徵臉的方法是一種比較經典而又應用比較廣的人臉識別方法,其主要原理是把影象做降維演算法,使得資料的處理更容易,同時,速度又比較快。特徵臉的人臉識別方法,實際上是將影象做 Karhunen-Loeve 變換,把一個高維的向量轉化為低維的向量,從而消除每個分量存在的關聯性,使得變換得到的影象與之對應特徵值遞減。在影象經過 K-L 變換後,其具有很好的位移不變性和穩定性。所以,特徵臉的人臉識別方法具有方便實現,並且可以做到速度更快,以及對正面人臉影象的識別率相當高等優點。但是,該方法也具有不足的地方, 就是比較容易受人臉表情、姿態和光照改變等因素的影響,從而導致識別率低的情況。

 

 基於幾何特徵的方法

 

基於幾何特徵的識別方法是根據人臉面部器官的特徵及其幾何形狀進行的一種人臉識別方法,是人們最早研究及使用的識別方法,它主要是採用不同人臉的不同特徵等資訊進行匹配識別,這種演算法具有較快的識別速度,同時,其佔用的記憶體也比較小,但是,其識別率也並不算高。該方法主要做法是首先對人臉的嘴巴、鼻子、眼睛等人臉主要特徵器官的位置和大小進行檢測,然後利用這些器官的幾何分佈關係和比例來匹配,從而達到人臉識別。

 

基於幾何特徵識別的流程大體如下:首先對人臉面部的各個特徵點及其位置進行檢測, 如鼻子、嘴巴和眼睛等位置,然後計算這些特徵之間的距離,得到可以表達每個特徵臉的向量特徵資訊,例如眼睛的位置,眉毛的長度等,其次還計算每個特徵與之相對應關係,與人臉資料庫中已知人臉對應特徵資訊來做比較,最後得出最佳的匹配人臉。基於幾何特徵的方法符合人們對人臉特徵的認識,另外,每幅人臉只儲存一個特徵,所以佔用的空間比較小; 同時,這種方法對光照引起的變化並不會降低其識別率,而且特徵模板的匹配和識別率比較高。但是,基於幾何特徵的方法也存在著魯棒性不好,一旦表情和姿態稍微變化,識別效果將大打折扣。

 

基於深度學習的方法

 

深度學習的出現使人臉識別技術取得了突破性進展。人臉識別的最新研究成果表明,深度學習得到的人臉特徵表達具有手工特徵表達所不具備的重要特性,例如它是中度稀疏的、對人臉身份和人臉屬性有很強的選擇性、對區域性遮擋具有良好的魯棒性。這些特性是通過大資料訓練自然得到的,並未對模型加入顯式約束或後期處理,這也是深度學習能成功應用在人臉識別中的主要原因。

 

深度學習在人臉識別上有 7 個方面的典型應用:基於卷積神經網路(CNN)的人臉識別方法,深度非線性人臉形狀提取方法,基於深度學習的人臉姿態魯棒性建模,有約束環境中的全自動人臉識別,基於深度學習的視訊監控下的人臉識別,基於深度學習的低解析度人臉識別及其他基於深度學習的人臉相關資訊的識別。

 

其中,卷積神經網路(Convolutional Neural Networks,CNN)是第一個真正成功訓練多層網路結構的學習演算法,基於卷積神經網路的人臉識別方法是一種深度的監督學習下的機器學習模型,能挖掘資料區域性特徵,提取全域性訓練特徵和分類,其權值共享結構網路使之更類似於生物神經網路,在模式識別各個領域都得到成功應用。CNN 通過結合人臉影象空間的區域性感知區域、共享權重、在空間或時間上的降取樣來充分利用資料本身包含的區域性性等特徵,優化模型結構,保證一定的位移不變性。

 

利用 CNN 模型,香港中文大學的 Deep ID 專案以及 Facebook 的 Deep Face 專案在 LFW 資料庫上的人臉識別正確率分別達 97.45%和 97.35%只比人類視覺識別 97.5%的正確率略低。在取得突破性成果之後,香港中文大學的 DeepID2 專案將識別率提高到了 99.15%。Deep ID2 通過學習非線性特徵變換使類內變化達到最小,而同時使不同身份的人臉影象間的距離保持 恆定,超過了目前所有領先的深度學習和非深度學習演算法在 LFW 資料庫上的識別率以及人類在該資料庫的識別率。深度學習已經成為計算機視覺中的研究熱點,關於深度學習的新算 法和新方向不斷湧現,並且深度學習演算法的效能逐漸在一些國際重大評測比賽中超過了淺層 學習演算法。

 

基於支援向量機的方法

 

將支援向量機(SVM)的方法應用到人臉識別中起源於統計學理論,它研究的方向是如何構造有效的學習機器,並用來解決模式的分類問題。其特點是將影象變換空間,在其他空間做分類。

 

支援向量機結構相對簡單,而且可以達到全域性最優等特點,所以,支援向量機在目前人臉識別領域取得了廣泛的應用。但是,該方法也和神經網路的方法具有一樣的不足,就是需要很大的儲存空間,並且訓練速度還比較慢。

 

其他綜合方法

 

以上幾種比較常用的人臉識別方法,我們不難看出,每一種識別方法都不能做到完美的識別率與更快的識別速度,都有著各自的優點和缺點,因此,現在許多研究人員則更喜歡使用多種識別方法綜合起來應用,取各種識別方法的優勢,綜合運用,以達到更高的識別率和識別效果。

 

人臉識別三大經典演算法

 

特徵臉法(Eigenface)

 

徵臉技術是近期發展起來的用於人臉或者一般性剛體識別以及其它涉及到人臉處理的一種方法。使用特徵臉進行人臉識別的方法首先由 Sirovich 和 Kirby(1987)提出(《Low- dimensional procedure for the characterization of human faces》),並由 Matthew Turk 和 Alex Pentland 用於人臉分類(《Eigenfaces for recognition》)。首先把一批人臉影象轉換成一個特徵向量集,稱為“Eigenfaces”,即“特徵臉”,它們是最初訓練影象集的基本元件。識別的過程是把一副新的影象投影到特徵臉子空間,並通過它的投影點在子空間的位置以及投影線的長度來進行判定和識別。

 

將影象變換到另一個空間後,同一個類別的影象會聚到一起,不同類別的影象會聚力比較遠,在原畫素空間中不同類別的影象在分佈上很難用簡單的線或者面切分,變換到另一個空間,就可以很好的把他們分開了。Eigenfaces 選擇的空間變換方法是 PCA(主成分分析), 利用 PCA 得到人臉分佈的主要成分,具體實現是對訓練集中所有人臉影象的協方差矩陣進行本徵值分解,得到對應的本徵向量,這些本徵向量就是“特徵臉”。每個特徵向量或者特徵臉相當於捕捉或者描述人臉之間的一種變化或者特性。這就意味著每個人臉都可以表示為這些特徵臉的線性組合。

 

區域性二值模式(Local Binary Patterns,LBP)

 

區域性二值模式(Local Binary Patterns LBP)是計算機視覺領域裡用於分類的視覺運算元。LBP 一種用來描述影象紋理特徵的運算元,該運算元由芬蘭奧盧大學的 T.Ojala 等人在 1996 年提 出 ( 《 A comparative study of texture measures with classification based on featured distributions》)。2002 年, T.Ojala 等人在 PAMI 上又發表了一篇關於 LBP 的文章(《Multiresolution gray-scale and rotation invariant texture classification with local binary patterns》)。這一文章非常清楚的闡述了多解析度、灰度尺度不變和旋轉不變、等價模式的改進的 LBP 特徵。LBP 的核心思想就是:以中心畫素的灰度值作為閾值,與他的領域相比較得到相對應的二進位制碼來表示區域性紋理特徵。

 

LBP 是提取區域性特徵作為判別依據的。LBP 方法顯著的優點是對光照不敏感,但是依然沒有解決姿態和表情的問題。不過相比於特徵臉方法,LBP 的識別率已經有了很大的提升。

 

Fisherface

 

線性鑑別分析在降維的同時考慮類別資訊,由統計學家 Sir R. A. Fisher1936 年發明(《The use of multiple measurements in taxonomic problems》)。為了找到一種特徵組合方式,達到最大的類間離散度和最小的類內離散度。這個想法很簡單:在低維表示下,相同的類應該緊緊的聚在一起,而不同的類別儘量距離越遠。1997 年,Belhumer 成功將 Fisher 判別準則應用於人臉分類,提出了基於線性判別分析的 Fisherface 方法(《Eigenfaces vs. fisherfaces: Recognition using class specific linear projection》)。

 

 經典論文

 

Sirovich,L.,&Kirby,M.(1987).Low-dimensional procedure for the characterization of human faces.Josa a,4(3),519-524. 研究證明任何的特殊人臉都可以通過稱為 Eigenpictures 的座標系統來表示。Eigenpictures 是面部集合的平均協方差的本徵函式。

 

Turk,M.,&Pentland,A.(1991).Eigenfaces for recognition.Journal of cognitive neuroscience, 3(1), 71-86. 研究開發了一種近實時的計算機系統,可以定位和追蹤人的頭部,然後通過比較面部特徵和已知個體的特徵來識別該人。該方法將面部識別問題視為二維識別問題。識別的過程是把一副新的影象投影到特徵臉子空間,該特徵空間捕捉到已知面部影象之間的顯著變化。重要特徵稱為特徵臉,因為它們是面集的特徵向量。

 

Ojala,T.,Pietikäinen,M.,&Harwood,D.(1996).A comparative study of texture measures with classification based on featured distributions.Pattern recognition,29(1),51-59. 研究對不同的圖形紋理進行比較,並提出了用來描述影象紋理特徵的 LBP 運算元。

 

Ojala,T.,Pietikainen,M.,&Maenpaa,T.(2002).Multiresolution gray-scale and rotation invariant texture classification with local binary patterns.IEEE Transactions on pattern analysis and machine intelligence,24(7),971-987. 研究提出了一種理論上非常簡單而有效的灰度和旋轉不變紋理分類方法,該方法基於區域性二值模式和樣本和原型分佈的非引數判別。該方法具有灰度變化穩健、計算簡單的特點。

 

Fisher,R.A.(1936).The use of multiple measurements in taxonomic problems.Annals of eugenics,7(2),179-188. 研究找到一種特徵組合方式,以達到最大的類間離散度和最小的類內離散度。解決方式為:在低維表示下,相同的類應該緊緊的聚在一起,而不同的類別儘量距離越遠。

 

Belhumeur,P.N.,Hespanha,J.P.,&Kriegman,D.J(1997).Eigenfaces vs.fisherfaces:Recognition using class specific linear projection. Yale University New Haven United States. 研究基於 Fisher 的線性判別進行面部投影,能夠在低維子空間中產生良好分離的類,即使在光照和麵部表情的變化較大情況下也是如此。廣泛的實驗結果表明, 所提出的“Fisherface”方法的誤差率低於哈佛和耶魯人臉資料庫測試的特徵臉技術。

 

常用的人臉資料庫

 

主要介紹以下幾種常用的人臉資料庫:

 

ERET人臉資料庫

 

http://www.nist.gov/itl/iad/ig/colorferet.cfm

 

由 FERET 專案建立,此影象集包含大量的人臉影象,並且每幅圖中均只有一個人臉。該集中,同一個人的照片有不同表情、光照、姿態和年齡的變化。包含 1 萬多張多姿態和光照的人臉影象,是人臉識別領域應用最廣泛的人臉資料庫之一。其中的多數人是西方人,每個人所包含的人臉影象的變化比較單一。

 

CMU Multi-PIE人臉資料庫

 

http://www.flintbox.com/public/project/4742/

 

由美國卡耐基梅隆大學建立。所謂“PIE”就是姿態(Pose),光照(Illumination)和表情(Expression)的縮寫。CMU Multi-PIE 人臉資料庫是在 CMU-PIE 人臉資料庫的基礎上發展起來的。包含 337 位志願者的 75000 多張多姿態,光照和表情的面部影象。其中的姿態和光照變化影象也是在嚴格控制的條件下采集的,目前已經逐漸成為人臉識別領域的一個重要的測試集合。

 

YALE人臉資料庫(美國,耶魯大學)

 

http://cvc.cs.yale.edu/cvc/projects/yalefaces/yalefaces.html

 

由耶魯大學計算視覺與控制中心建立,包含 15 位志願者的 165 張圖片,包含光照、表情和姿態的變化。

 

Yale 人臉資料庫中一個採集志願者的 10 張樣本,相比較 ORL 人臉資料庫 Yale 庫中每個物件採集的樣本包含更明顯的光照、表情和姿態以及遮擋變化。

 

 YALE人臉資料庫 B

 

ttps://computervisiononline.com/dataset/1105138686

 

包含了 10 個人的 5850 幅在 9 種姿態,64 種光照條件下的影象。其中的姿態和光照變化的影象都是在嚴格控制的條件下采集的,主要用於光照和姿態問題的建模與分析。由於採集人數較少,該資料庫的進一步應用受到了比較大的限制。

 

MIT人臉資料庫

 

由麻省理工大學媒體實驗室建立,包含 16 位志願者的 2592 張不同姿態(每人 27 張照片),光照和大小的面部影象。

 

ORL人臉資料庫

 

https://www.cl.cam.ac.uk/research/dtg/attarchive/facedatabase.html

 

由英國劍橋大學 AT&T 實驗室建立,包含 40 人共 400 張面部影象,部分志願者的影象包括了姿態,表情和麵部飾物的變化。該人臉庫在人臉識別研究的早期經常被人們採用,但由於變化模式較少,多數系統的識別率均可以達到 90%以上,因此進一步利用的價值已經不大。

 

ORL 人臉資料庫中一個採集物件的全部樣本庫中每個採集物件包含10 幅經過歸一化處理的灰度影象,影象尺寸均為 92×112 ,影象背景為黑色。其中採集物件的面部表情和細節均有變化,例如笑與不笑、眼睛睜著或閉著以及戴或不戴眼鏡等,不同人臉樣本的姿態也有變化,其深度旋轉和平面旋轉可達 20 度。

 

 BioID人臉資料庫

 

https://www.bioid.com/facedb/

 

包含在各種光照和複雜背景下的 1521 張灰度面部影象,眼睛位置已經被手工標註。

UMIST影象集

 

由英國曼徹斯特大學建立。包括 20 個人共 564 幅影象,每個人具有不同角度、不同姿態的多幅影象。

 

年齡識別資料集IMDB-WIKI

 

https://data.vision.ee.ethz.ch/cvl/rrothe/imdb-wiki/

 

包含 524230 張從 IMDB 和 Wikipedia 爬取的名人資料圖片。應用了一個新穎的化迴歸為分類的年齡演算法。本質就是在 0-100 之間的 101 類分類後,對於得到的分數和 0-100 相乘, 並將最終結果求和,得到最終識別的年齡。