實驗報告: Face Service方法回顧與實驗分析 【OpenCV測試方法源碼】

來源:互聯網
上載者:User

標籤:

 

趁著還未工作,先把過去做的東西整理下出來~  

Github源碼:https://github.com/Blz-Galaxy/OpenCV-Face-Recognition

(涉及個人隱私,源碼不包含測試樣本,請諒解~)

對實驗結果更感興趣的朋友請直接看 第5章

 

【摘要】這是一篇關於Face Service方法的實驗報告。報告首先回顧了Face Service研究的發展曆程及基本分類;隨後對Face Service技術方法發展過程中一些經典的流行的方法進行了詳細的闡述;最後作者通過設計實驗對比了三種方法的識別效果並總結了Face Service所面臨的困難與挑戰。一些能反映方法效能的實驗資料同樣會在報告中展現,以便於更直觀的瞭解其特點。 

 

【關鍵詞】Face Service;局部二值模式(LBP);線性判別(LDA);主成分分析(PCA)

註: 該報告所使用的方法描述來源於現有文獻,這裡僅以論文格式進行呈現。

 1 引言

 

        簡單來說,Face Service就是利用電腦分析人臉視頻或者映像,並從中提取出有效識別資訊,最終判別人臉對象的身份。它是基於生物識別技術技術的最要身份識別方法之一,涉及到電腦圖形學、電腦視覺、模式識別、人工智慧、計算智能等技術。對於Face Service問題的研究已有幾十年的時間,在理論研究和實際開發方面都取得了一定的成果,並在不斷的發展與完善。另外,基於人臉映像的電腦視覺和模式識別問題也成為近些年研究的熱點問題。其中包括臉部偵測,Face Service,人臉表情識別等各類識別問題。


        人臉與人體的其他生物識別特徵(指紋、虹膜等)一樣與生俱來,其生物識別特徵內在的穩定性和唯一性使其成為了作為身份識別的理想依據。與其他生物識別技術系統相比,Face Service系統具有直接、友好、方便等特點,容易被使用者接受。因此,其在資訊安全、刑事偵破、出入口控制等領域都有著廣泛的應用前景。

  

1.1 Face Service發展曆程

        關於Face Service的研究最早始於心理學家們在20世紀50年代的工作,而真正從工程應用的角度來研究它則開始於20世紀60年代。最早的研究者是Bledsoe,他建立了一個半自動的Face Service系統,主要是以人臉特徵點的間距、比率等參數為特徵。早期的Face Service方法有兩大特點:

        1)大多數識別方法是基於組件的,它們利用人臉的幾何特徵進行識別,提取的資訊是人臉主要器官特徵資訊及其之間的幾何關係。這類方法比較簡單,但是很容易丟失人臉的有用資訊,從而在視角、表情等變化的情況下識別能力差。鑒於這種情況,後來出現了效能較優的模板匹配方法,即根據映像庫中的人臉模板與待識別人臉模板在灰階上的相似程度來實現Face Service,這類方法在一定時期內佔據主流。

        2)Face Service研究主要是在較強約束條件下的人臉Image Recognition。假設映像背景單一或無背景,人臉位置已知或很容易獲得,因此對現實情境產生的影像處理效果不佳。 

        90年代中期以來,Face Service方法向著整體識別和組件分析相結合的趨勢發展。研究人員開始逐漸認識到Face Service演算法必須能夠充分地利用人臉的各種特徵資訊,融合人臉的形狀拓撲結構特徵、局部灰階特徵和全域灰階分布特徵等多種特徵。因此,出現了很多新的演算法,這些演算法是將原先單一的演算法結合起來,共同完成人臉的識別。灰階和形狀分離的可變形模型方法就是其中之一。90年代後期,一些商業性的Face Service系統開始逐漸進入市場,Face Service技術成為當今國際安全防範最重要的手段之一。但是,這些技術和系統離實用化還有一定的距離,效能和準確率有待提高。1991年Turk和Pentland [1]、[2] 首次提出著名的“特徵臉”(Eigenface)方法,利用主成分分析(Principal Component Analysis,PCA)取得了不錯的識別效果;Belhumer [3] 在他的論文中,成功地將Fisher判別準則應用到了人臉分類當中,提出了Fisherface方法;從此基於子空間和統計特徵的Face Service技術成了一種主流的技術,這種基於線性子空間的技術主要包括主成分分析、線形判別分析(Linear Discriminant Analysis,LDA)等方法。總體來說,這一階段的基於機器學習方法的Face Service技術得到了迅速的發展,在一些識別系統裡面獲得了不錯的識別效果。最近幾年,Face Service的研究有了新的發展,基於機器學習的理論,研究者提出了許多新穎的方法,其中包括遺傳演算法(Genetic Algorithm,GA)、AdaBoost、貝葉斯分類器、支援向量機(Support Vector Machine,SVM)等方法。 

        2000年以後,Face Service方法的效能雖然有了一定的提高,但仍與人們的要求還有一定的差距,現有方法對光照、年齡、表情、姿態、距離等條件的變化比較敏感,當某些條件發生變化時,識別效果很不理想。目前,Face Service技術仍只能用於某些對識別準確率要求不高的場合。

 

1.2 Face Service方法分類

        Face Service從不同的角度有不同的分類方法,報告基於Face Service的發展過程將其分為基於幾何特徵、基於代數特徵和基於機器學習三類Face Service方法。

1.2.1 基於幾何特徵的Face Service方法

        基於幾何特徵的方法是將人臉用一個幾何特徵向量的表示,根據模式識別中層次聚類的思想設計分類器達到識別目的。通常採用的幾何特徵有人臉的五官如眼睛、鼻子、嘴巴等的局部形狀特徵。臉型特徵以及五官在臉上分布的幾何特徵。提取特徵時往往要用到人臉結構的一些先驗知識。識別所採用的幾何特徵是以人臉器官的形狀和幾何關係為基礎的特徵向量,本質上是特徵向量之間的匹配,其分量通常包括人臉指定兩點間的歐式距離、曲率、角度等[9] 。

        基於幾何特徵的識別方法比較簡單、容易理解,但所使用的能量函數中各種代價的加權係數的選擇是經驗性的,沒有形成統一的特徵提取標準;從映像中抽取穩定的特徵較困難,特別是特徵受到遮擋時;對較大的表情變化或姿態變化的魯棒性較差。

1.2.2 基於代數特徵的方法

        基於代數特性的方法通常是將空間映像的像素點變換投影空間[10] ,用一定數量的基本映像對人臉映像進行線性編碼。

        1)主成分分析(PCA)。PCA方法最早由Sirovitch和Kirby[5]、[6] 引人Face Service領。主成分分析是多元統計分析中用來分析資料的一種方法,它是一種用較少數量的特徵對樣本進行描述以達到降低特徵空間維度方法,其基礎是KL展開式。Turk等人[1]、[2] 首先提出了基於KL展開式的Face Service方法,即特徵臉(Eigenface)法。

        2)獨立分量分析(ICA)。獨立分量分析是一種對多變數資料進行非正交線性座標變換的方法,座標軸方向由可以觀察到的混合資料的二階和高階統計資訊確定,變換的目的是使變換後的變數間相互獨立[4] 。與PCA方法不同的是ICA方法要求特徵空間的各個分量間統計獨立。

1.2.3 基於機器學習的方法

        在基於幾何特徵的方法中,人臉的特徵是預先定義好的;而在基於機器學習的方法中,人臉的特徵和類別利用統計分析和機器學習的技術從樣本中學習來的。學習所得的人臉特徵和類別存在於由各種演算法所保證的分布規律、模型和判別函數中,並被用於人臉的檢測和識別。

        基於學習的分類器是現今比較流行的技術,有很多研究者在從事該研究,主要包括人工神經網路,支援向量機,隱馬爾可夫模型(Hidden Markow Model,HMM)[7],貝葉斯決策和AdaBoost演算法等技術。

 2. 特徵臉方法

 

        特徵提取是Face Service系統中最為重要的一個組成部分。主成分分析方法(PCA)是應用最廣泛的一種特徵提取方法之一,它是一種統計學方法,在訊號處理、模式識別、數位影像處理等領域已經得到了廣泛的應用。特徵臉方法是從主成分分析匯出的一種Face Service和描述技術。它將包含人臉的映像地區看作一隨機向量,採用K-L變換得到正交K-L基,對應其中較大特徵值的基具有與人臉相似的形狀,因此又被稱為特徵臉。利用這些基的線性組合可以描述、表達和逼近人臉映像,所以可進行Face Service與合成。識別過程就是將人臉影像地圖到由特徵臉組成的子空間上,並比較其在特徵臉空間中的位置。

 

2.1 人臉空間的建立

    假設一幅人臉映像包含N個像素點,它可以用一個N維向量Γ表示。這樣,訓練樣本庫就可以用Γi(i=1,...,M)表示。共變數矩陣C的正交特徵向量就是組成人臉空間的基向量,即特徵臉。

    將特徵值由大到小排列:λ1≥λ2≥...≥λr ,其對應的特徵向量為μk。這樣每一幅人臉映像都可以投影到由u1, u2, ..., ur組成的子空間中。因此,每一幅人臉映像對應於子空間中的一點。同樣,子空間的任意一點也對應於一幅映像。

 

2.2 特徵向量的選取

        雖然共變數矩陣Ω最多有對應於非零特徵值的k(k遠小於M)個特徵向量,但是通常情況下,k仍然很大,而事實上,根據應用的要求,並非所有的特徵向量都有需要保留,而特徵空間投影的計算速度是直接與建立子空間所用的特徵向量的數目相關,若考慮到計算時間的因素,可以適當的減去一些資訊量少的特徵向量,而且去掉這些特徵向量之後不一定不利於分類結果,有的情況下反而能夠提高識別效能。

 

2.3 預測識別

        有了這樣一個由“特徵臉”組成的降維子空間,任何一幅人臉映像都可以向其投影得到一組座標係數,這組係數表明了該映像在子空間中的位置,從而可以作為Face Service的依據。換句話說,任何一幅人臉映像都可以表示為這組“特徵臉”的線性組合,其加權係數即是K-L變換的展開係數,也可以稱為該映像的代數特徵。因此,在獲得特徵臉之後,就可以對每一類別的典型樣本進行投影,由此得到每個人臉的投影特徵從而構成人臉特徵向量,作為下一步識別匹配的搜尋空間。

        輸入映像及其在人臉空間上的投影(重構映像),人臉映像在人臉空間中的投影變化不明顯而非人臉映像的投影變化明顯。因此,檢測一幅映像中是否存在人臉的基本思想是,計算該映像中任意位置處的局部映像與人臉空間之間的距離ε。其中,ε是局部映像是否為人臉的度量。因此,只要計算給定映像任意一點上的ε,就可以得到映射圖ε(x,y) 。

 

3 線性判別分析

 

        線性判別分析(linear/fisher discrimination analysis,LDA)思想是將多維空間上的樣本投影到一條直線上,形成一維特徵空間。在該直線上樣本的投影具有最佳可分性,即同類模式儘可能的密集,不同類模式儘可能分開。

        LDA實質上就是多維模式空間到一維特徵空間的映射,利用類的成員資訊形成一組特徵向量,特徵向量體現了不同的人臉變化,稱此特徵空間為Fisherface。該方法以訓練樣本的類內散布矩陣與類間散布矩陣為基礎構造最優投影空間。與PCA相比,LDA更好地反映了不同人臉之間的差異性,即增加了類間差異,但卻忽略了同一個體由於光照、姿態等因素的不同而產生的類內差異。與基於K -L變換的Face Service方法相比,基於Fisher的Face Service方法能夠抑製圖像之間的與識別資訊無關的差異,同時能夠提取出異類之間有益於識別的特徵,因此具有更加優越的識別效能。

        Fisherfaces方法被Belhumeu等人提出,它是由Fisher線性判別式(Fisher’s lineardiscriminant,FLD)思想派生而來,同時考慮類間離散度和類內離散度,使這兩者的比率達到最大。Belhumeur的實驗證明,Fisherfaces的效能優於Eigen-faces。但即便如此,Fisherfaces還是存在兩個明顯的問題,即小樣本問題(樣本數目小於樣本維數),以及多數實際問題屬於非線性可分,傳統的Fisher線性分析在這些問題上不能取得良好的結果[9]。因此,一系列Fisherfaces的改進方法也被提出。

        在數學上,Fisher鑒別準則最終轉化為求取散布矩陣特徵值的問題。但是對Face Service的應用來說,由於通常沒有足夠的訓練樣本來保證類內離散度矩陣Sw為滿秩,無法直接求解,因此需要加入一定的條件或策略才行,這裡就不作具體介紹了。

 

4 局部二值模式

 

        LBP運算元是執行紋理描述的最好的方法之一,它已經廣泛用於各種應用軟體,並且被證明有很高的判別能力、計算效率及不變形單調灰階水平變化的優勢,能適用與各種複雜的映像分析任務。使用LBP作為人臉表示的想法是由於臉部能被看做由微模組組成,這種組成能很好的用LPB運算表述出來。

 

4.1 基本的LBP運算元

        局部二值模式是一種灰階範圍內的紋理描述方法,最初LBP運算元定義為在3×3的窗戶,以視窗的中心像素為閾值,將周圍8個像素的灰階值與其比較,大於中心像素則標記為1,否則為0。這樣3×3周圍的8個點可以得到一個8位無符號的位元,這個位元轉換為一個十進位整數,即該視窗的LBP值,用這個值來反映該地區的紋理資訊。基本的LBP計算見圖1。

圖1 基本的LBP運算元

        LBP可以用不同尺寸的鄰域來表示,採用圓形領域結合雙線性插值,鄰域的半徑R和像素數目P可以任意選取,用符號(P,R)表示像素的領域關係。我們可以用式子LBP 表示LBP運算(上標u2表示使用統一模式)[8]、[11]。圓形鄰域的執行個體參見圖2。

圖2 (8,1)、(16,2)、(8,2)鄰域

 4.2 LBP人臉描述

        LBP方法進行人臉描述,這一過程包括使用紋理描述符對人臉局部進行描述,在將其組合起來成一個整體。人臉映像被劃分為幾個局部地區,紋理描述符從這些單獨的地區提取出來,這些描述符串聯起來組成了人臉的整體描述。

        把臉部地區分成確定的m份,每個地區單獨做長條圖計算,m個長條圖的計算結果組合到一起形成空間增強長條圖,空間增強長條圖的大小為m×n,其中n為單個長條圖的大小。在空間增強長條圖中,我們能有效有效對臉部進行三個不同層次的描述,這三個層次是:長條圖的LBP標誌包含的資訊組成一個像素級;一個小的地區上的標誌集合起來組成一個地區級;這些地區的長條圖串連在一起構成完整的人臉。

 5 實驗對比

 

        為了更好的瞭解各種Face Service演算法的效能與效果,這裡通過openCV對PCA、Fisher線性判別、LBP三種演算法進行了測試。實驗使用的人臉圖片共560張,由28位同學提供,其中每人20張(10張用於訓練,10張用於測試)。圖3與圖4分別展示了前6位同學的訓練樣本與測試樣本執行個體。

圖3 訓練樣本(部分)

圖4 測試樣本(部分)

       

        圖5顯示了28位同學提供的樣本分別在三種識別演算法下的識別情況。

圖5 三種方法的匹配效果對比

 

        其中24號樣本在PCA、Fisher演算法下的正確匹配數量少於一半。27號樣本(參見圖6)由於拍照環境過於複雜,在有限的訓練樣本中無法正確匹配。

 

圖6 27號的訓練樣本(上)與測試樣本(下)

 

表1 三種演算法的識別率比較

 

表2 三種演算法的效能對比

        表1給出了三種演算法對於每組樣本的識別比例,經過統計可以得出,在上述的樣本空間裡主成分分析方法的識別率為91.0714%;Fisher線性判別方法的識別率為89.6429%;局部二值模式下的識別率為90.3571%。此外,表2還結合了樣本訓練的時間與預測所有測試樣本的時間,給出了三種演算法在效能上的對比。從中,我們發現PCA方法的總體表現較為出色。

 

6 總結與展望

 

       綜合比較目前常用的幾種Face Service方法,通過分析可以看出,每種方法都有各自優缺點,應根據具體的識別任務和條件選擇合適的識別方法。由於Face Service的複雜性,僅單獨使用任何一種現有的方法一般都不會取得很好的識別效果,將各種Face Service方法組合是今後研究的一種趨勢。而如何有效地與基於其它生物識別特徵識別方法結合來提高識別效率也是一個重要的研究方向。

 

        目前,Face Service技術已經從理論走向了實用,在特殊場合已經得到了廣泛應用,但是限制其應用的最主要難題是:人臉姿態、光照變化、表情變化所導致的識別效果不理想。對於姿態的變化,採用通用3D模型和形變模型的方法是目前較好的選擇;對於光照變化,熵映像是處理光照變化的一個有效方法,結合映像變形技術可以更好地處理光照和姿態的變化;對於表情變化,採用同一個體和不同個體的映像進行彈性變形的機率模型方法獲得了較好的識別效果,也可以採用3D模型和形變模型進行識別。而隨著真三維擷取技術的發展,Face Service技術有望取得突破性的進展並得到廣泛的應用。

 

致謝

        課程的學習讓我對影像處理的知識體系有了比較全面的認識,為今後相關問題的解決提供了廣闊的思路。此外,各位同學的報告與展示也讓我收穫良多。在此,我向提供人臉圖片樣本的同學們表示感謝。(涉及個人隱私,源碼不包含樣本)

 

 參考文獻

[1] Turk M, Pentland A. Eigenfaces for recognition[J]. Journal of cognitive neuroscience, 1991, 3(1): 71-86.

[2] Turk M A, Pentland A P. Face recognition using eigenfaces[C]//Computer Vision and Pattern Recognition, 1991. Proceedings CVPR‘91., IEEE Computer Society Conference on. IEEE, 1991: 586-591.

[3] Belhumeur P N, Hespanha J P, Kriegman D. Eigenfaces vs. fisherfaces: Recognition using class specific linear projection[J]. Pattern Analysis and Machine Intelligence, IEEE Transactions on, 1997, 19(7): 711-720.

[4] Bartlett M, Lades H, Sejnowski T. Independent component representations for face recognition. Proceeding of the SPIE Symposium on Electronic Imaging: Human Vision and Electronic Imaging[M]. SPIE Press, 1998.3299.

[5] Sirovich L, Kirby M. Low-dimensional procedure for the characterization of human face[ J]. Journal of the Optical Society of America, 1987, 4(3): 519-524.

[6] Kirby M, Sirovich L. Application of the Karhunen-Loeve procedure for the characterization of human faces[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence,1990,12(1):103-108.

[7] Samaria F, Young S. HMM based architecture for face identification[J]. Image and ComputerV ision, 1994, 12(8): 537-543.

[8] T. Ahonen, A. Hadid, M. Pietikainen. Face description with local binary patterns: Application to face recognition[J]. IEEE Trans. Pattern Anal. 2006, 28(5): 2037-2041.

[9] 吳巾一,周德龍. Face Service方法綜述[J]. 電腦應用研究, 2009, 26(9): 3205-3209.

[10] 段錦著. 人臉自動機器識別[M]. 北京: 科學出版社, 2009.

[11] 黃非非. 基於LBP的Face Service研究[D]. 天津: 天津大學, 2009.

 

實驗報告: Face Service方法回顧與實驗分析 【OpenCV測試方法源碼】

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.