人臉識別算法初次瞭解

人臉識別算法初次瞭解

這是轉載別人的帖子,認爲好,你們一塊學習http://www.cnblogs.com/guoyiqi/archive/2011/07/28/2129300.html

前言   

    在寫此文以前,先扯點東西。我一直在找一個東西,讓我思考,讓我久久的深陷當中,永久的,不斷的思考。如今,我意識到,這個東西便是算法。我一直在找一家合適的公司,能讓個人興趣無比放肆的,自由馳騁。html

    ok,因爲在一家公司的面試過程當中,面試官提到過這我的臉識別算法,因爲在此以前,不曾有過了解,因此,特做此番學習與研究。有不論什麼問題,歡迎不吝指正。謝謝。面試

第一部分、人臉識別算法綜述

    人臉識別,特指利用分析比較人臉視覺特徵信息進行身份鑑別的計算機技術。算法

概述數據庫

    廣義的人臉識別實際包含構建人臉識別系統的一系列相關技術,包含人臉圖像採集、人臉定位、人臉識別預處理、身份確認以及身份查找等;而狹義的人臉識別特指經過人臉進行身份確認或者身份查找的技術或系統。安全

    人臉識別是一項熱門的計算機技術研究領域,它屬於生物特徵識別技術,是對生物體(通常特指人)自己的生物特徵來區分生物體個體。生物特徵識別技術所研究的生物特徵包含臉、指紋、手掌紋、虹膜、視網膜、聲音(語音)、體形、我的習慣(好比敲擊鍵盤的力度和頻率、簽字)等,對應的識別技術就有人臉識別、指紋識別、掌紋識別、虹膜識別、視網膜識別、語音識別(用語音識別可以進行身份識別,也可以進行語音內容的識別,僅僅有前者屬於生物特徵識別技術)、體形識別、鍵盤敲擊識別、簽字識別等。網絡

    人臉識別的優點在於其天然性和不被被測個體察覺的特色。ide

    所謂天然性,是指該識別方式同人類(甚至其它生物)進行個體識別時所利用的生物特徵一樣。好比人臉識別,人類也是經過觀察比較人臉區分和確認身份的,另外具備天然性的識別還有語音識別、體形識別等,而指紋識別、虹膜識別等都不具備天然性,因爲人類或者其它生物並不經過此類生物特徵差異個體。函數

    不被察覺的特色對於一種識別方法也很是重要,這會使該識別方法不使人反感,並且因爲不easy引發人的注意而不easy被欺騙。人臉識別具備這方面的特色,它全然利用可見光獲取人臉圖像信息,而不一樣於指紋識別或者虹膜識別,需要利用電子壓力傳感器採集指紋,或者利用紅外線採集虹膜圖像,這些特殊的採集方式很是easy被人察覺,從而更有可能被假裝欺騙。性能

困難學習

    儘管人臉識別有很是多其它識別沒法比擬的長處,但是它自己也存在不少困難。人臉識別被以爲是生物特徵識別領域甚至人工智能領域最困難的研究課題之中的一個。人臉識別的困難主要是人臉做爲生物特徵的特色所帶來的。人臉在視覺上的特色是:

  1. 不一樣個體之間的差異不大,所有的人臉的結構都類似,甚至人臉器官的結構外形都很是類似。這種特色對於利用人臉進行定位是有利的,但是對於利用人臉區分人類個體是不利的。
  2. 人臉的外形很是不穩定,人可以經過臉部的變化產生很是多表情,而在不一樣觀察角度,人臉的視覺圖像也相差很是大,另外,人臉識別還受光照條件(好比白天和夜晚,室內和室外等)、人臉的很是多遮蓋物(好比口罩、墨鏡、頭髮、鬍鬚等)、年齡等多方面因素的影響。

    在人臉識別中,第一類的變化是應該放大而做爲區分個體的標準的,而第二類的變化應該消除,因爲它們可以表明同一個個體。一般稱第一類變化爲類間變化(inter-class difference),而稱第二類變化爲類內變化(intra-class difference)。對於人臉,類內變化每每大於類間變化,從而使在受類內變化干擾的狀況下利用類間變化區分個體變得異常困難。

技術細節

    通常來講,人臉識別系統包含圖像攝取、人臉定位、圖像預處理、以及人臉識別(身份確認或者身份查找)。系統輸入一般是一張或者一系列含有未肯定身份的人臉圖像,以及人臉數據庫中的若干已知身份的人臉圖象或者對應的編碼,而其輸出則是一系列類似度得分,代表待識別的人臉的身份。

眼下人臉識別的算法可以分類爲:

  • 基於人臉特徵點的識別算法(Feature-based recognition algorithms)。
  • 基於整幅人臉圖像的識別算法(Appearance-based recognition algorithms)。
  • 基於模板的識別算法(Template-based recognition algorithms)。
  • 利用神經網絡進行識別的算法(Recognition algorithms using neural network)。

 應用

人臉識別的應用主要有:

  1. 門禁系統:受安全保護的地區可以經過人臉識別辨識試圖進入者的身份。
  2. 攝像監視系統:在好比銀行、機場、體育場、商場、超級市場等公共場所對人羣進行監視,以達到身份識別的目的。好比在機場安裝監視系統以防止恐怖分子登機。
  3. 網絡應用:利用人臉識別輔助信用卡網絡支付,以防止非信用卡的擁有者使用信用卡等。
  4. 學生考勤系統:香港及澳門的中、小學已開始將智能卡配合人臉識別來爲學生進行天天的出席點名記錄。
  5. 相機:新型的數碼相機已內建人臉辨識功能以輔助拍攝人物時對焦。

第二部分、本身主動人臉識別基本原理

   人臉識別通過通過這麼多年來的發展,取得了很是大的發展,涌現出了大量的識別算法。這些算法的涉及面很是普遍,包含模式識別、圖像處理、計算機視覺、人工智能、統計學習、神經網絡、小波分析、子空間理論和流形學習等衆多學科。因此很是難用一個統一的標準對這些算法進行分類。依據輸入數據形式的不一樣可分爲基於靜態圖像的人臉識別和基於視頻圖像的人臉識別。因爲基於靜態圖像的人臉識別算法相同適用於基於視頻圖像的人臉識別,因此僅僅有那些使用了時間信息的識別算法才屬於基於視頻圖像的人臉識別算法。接下來分別介紹兩類人臉識別算法中的一些重要的算法。

特徵臉

   特徵臉方法利用主份量分析進行降維和提取特徵。主份量分析是一種應用十分普遍的數據降維技術,該方法選擇與原數據協方差矩陣前幾個最大特徵值相應的特徵向量構成一組基,以達到最佳表徵原數據的目的。因爲由主份量分析提取的特徵向量返回成圖像時,看上去仍像人臉,因此這些特徵向量被稱爲「特徵臉」。

   在人臉識別中,由一組特徵臉基圖象張成一個特徵臉子空間,不論什麼一幅人臉圖象(減去平均人臉後)均可投影到該子空間,獲得一個權值向量。計算此向量和訓練集中每個人的權值向量之間的歐式距離,取最小距離所相應的人臉圖像的身份做爲測試人臉圖像的身份。

   下圖給出了主份量分析的應用樣例。圖中最左邊的爲平均臉,其它的爲相應 7 個最大特徵值的特徵向量。

   主份量分析是一種無監督學習方法,主份量是指向數據能量分佈最大的軸線方向,所以可以從最小均方偏差意義下對數據進行最優的表達。但是就分類任務而言,由主份量分析獲得的特徵卻不能保證可以將各個類別最好地區分開來。

   線性鑑別分析是一種著名的模式識別方法,經過將樣本線性變換到一個新的空間,使樣本的類內散佈程度達到最小,同一時候類間散佈程度達到最大,即著名的 Fisher 準則。

標準特徵臉
同一我的不一樣圖像之間的的特徵臉
不一樣人的圖像之間的特徵臉

   Lades 等人針對畸變不變性的物體識別問題提出了一種基於動態鏈接結構的彈性圖匹配方法,並將其應用於人臉識別。所有人臉圖像都有類似的拓撲結構。人臉均可表示成圖,圖中的節點是一些基準點(如眼睛,鼻尖等),圖中的邊是這些基準點之間的連線。

   每個節點包括 40 個 Gabor 小波(一種數字信號變換方法)係數,包括相位和幅度,這些係數合起來稱爲一個 Jet ,這些小波係數是原始圖像和一組具備 5 個頻率、 8 個方向的 Gabor 小波卷積(一種數字信號處理算子)獲得的。這樣每幅圖就像被貼了標籤同樣,當中的點被 Jets 標定,邊被點之間的距離標定。因此一張人臉的幾何形狀就被編碼爲圖中的邊,而灰度值的分佈被編碼爲圖中的節點。例如如下圖所看到的:

 

彈性圖匹配方法中人臉的彈性束圖表示

   爲了識別一張新的人臉,需要從該人臉中找到基準點,提取出一我的臉圖,這可用彈性圖匹配獲得。彈性圖匹配的目的是在新的人臉中找到基準點,並且提取出一幅圖,這幅圖和現有的人臉束圖之間的類似度最大。通過彈性圖匹配後,新的人臉的圖就被提取出來了,此圖就表徵了新的人臉,用它做爲特徵進行識別。進行識別時,計算測試人臉和現有人臉束圖中的所有人臉之間的類似度,類似度最大的人臉的身份即爲測試人臉的身份。

   由於該方法利用 Gabor 小波變換來描寫敘述面部特徵點的局部信息,所以受光照影響較小。此外,在彈性匹配的過程當中,網格的形狀隨着特徵點的搜索而不斷變化,所以對姿態的變化也具備必定的自適應性。該方法的主要缺點是搜索過程當中代價函數優化的計算量巨大,於是形成識別速度較慢,致使該方法的有用性不強。

3D 形態模型

   人臉本質上是 3D 空間中的一個表面,因此原則上用 3D 模型能更好地表徵人臉,特別是處理人臉的各類變化,如姿式、光照等。 Blanz 等人提出了一種基於 3D 形態模型的方法,該方法將形狀和紋理用模型參數編碼,同一時候提出了一個能從單張人臉圖像還原模型參數的算法。形狀和紋理參數可用來進行人臉的識別。爲了處理由於這些參數致使的圖像之間差別的極端情形,通常是預先產生一個通用的模型。而進行圖像分析時,給定一張新的圖像,通常的作法是用通用模型去擬合新的圖像,從而依據模型來參數化新的圖像。

基於視頻圖像的識別算法

   一個典型的基於視頻圖像的人臉識別系統通常都是本身主動檢測人臉區域,從視頻中提取特徵,最後假設人臉存在則識別出人臉的身份。在視頻監控、信息安全和出入控制等應用中,基於視頻的人臉識別是一個很是重要的問題,也是眼下人臉識別的一個熱點和難點。基於視頻比基於靜態圖像更具優越性,因爲 Bruce 等人和 Knight 等人已證實,當人臉被求反或倒轉時,運動信息有助於(熟悉的)人臉的識別。儘管視頻人臉識別是基於靜態圖像的人臉識別的直接擴展,但通常以爲視頻人臉識別算法需要同一時候用到空間和時間信息,這類方法直到近幾年才開始受到重視並需要進一步的研究和發展。眼下視頻人臉識別還有很是多困難和挑戰,詳細來講有下面幾種:

   視頻圖像質量比較差:視頻圖像一般是在戶外(或室內,但是採集條件比較差)獲取的,一般沒實用戶的配合,因此視頻人臉圖像經常會有很是大的光照和姿態變化。另外還可能會有遮擋和假裝。

   人臉圖像比較小:相同,由於採集條件比較差,視頻人臉圖像一般會比基於靜態圖像的人臉識別系統的預設尺寸小。小尺寸的圖像不但會影響識別算法的性能,而且還會影響人臉檢測,切割和關鍵點定位的精度,這一定會致使整我的臉識別系統性能的降低。

   視頻人臉識別起源於基於靜態圖像的人臉識別,即識別系統本身主動的檢測和切割出人臉,而後用基於靜態圖像的識別方法進行識別。對這類方法的一個提升是增長了人臉跟蹤。在這類系統中,經過利用姿態和從視頻中預計到的深度信息合成一個虛擬的正面人臉。這個階段的另一個能提升識別率的方法是利用視頻中充裕的幀圖像,基於每幀圖像的識別結果,使用 」 投票 」 機制。投票方法可以是肯定的,但是機率投票方法通常來講更好。投票機制的一個缺點是計算結果的代價比較昂貴。

   視頻人臉識別的第二個發展階段是利用多模態信息。因爲人類一般會利用多種信息識別人的身份,因此一個多模態系統將比僅僅利用人臉的識別系統性能更好。更重要的是利用多模態信息提供了一種方法,它能全面解決那些僅僅靠人臉沒法識別的任務。好比,在一個全然沒有配合的環境(比方搶劫),歹徒的臉一般是蒙着的,這時惟一能進行無人臉識別的方法就是分析歹徒軀體的運動特性。除了指紋,人臉和聲音是最常用於身份識別的信息。它們已經被用於很是多多模態身份識別系統。 1997 年以來,每兩年,就會召開一個專門關於基於視頻和語音身份識別的國際會議。

   近期幾年,視頻人臉識別進入第三個發展階段,這個階段方法的特色是同一時候採用空間信息(在每幀中)和時間信息(比方人臉特徵的運動軌跡)。差異於機率投票方法的一個很是大的不一樣之處在於,此類方法是在時間和空間的聯合空間中描寫敘述人臉和識別人臉的。

   視頻圖像的一個很重要的特性是它的時間連續性,以及由此產生的人臉信息的不肯定性。在人臉跟蹤和識別中利用時間信息是視頻人臉識別算法和基於靜態圖像的人臉識別算法的最大差異。眼下這類算法大體可分爲兩類:

  1. 跟蹤 - 而後 - 識別,這類方法首先檢測出人臉,而後跟蹤人臉特徵隨時間的變化。當捕捉到一幀符合必定標準(大小,姿式)的圖像時,用基於靜態圖像的人臉識別算法進行識別。這類方法中跟蹤和識別是單獨進行的,時間信息僅僅在跟蹤階段用到。識別仍是採用基於靜態圖像的方法,沒用到時間信息。
  2. 跟蹤 - 且 - 識別,這類方法中,人臉跟蹤和識別是同一時候進行的,時間信息在跟蹤階段和識別階段都用到。

以上內容整理自下面兩個地方

  1. http://zh.wikipedia.org/wiki/%E4%BA%BA%E8%84%B8%E8%AF%86%E5%88%AB。
  2. http://b2museum.cdstm.cn/identification/rlsb-2.htm。

第三部分、人臉識別算法的實現   

    這個東西,由於剛剛接觸,還不知怎麼實現。只是,卻是,有人作了我的臉檢測與特徵定位的程序,效果圖例如如下:

相關文章
相關標籤/搜索