自動人臉識別基本原理

2021-05-25 12:48:23 字數 1759 閱讀 8640

特徵臉方法利用主分量分析進行降維和提取特徵。主分量分析是一種應用十分廣泛的資料降維技術,該方法選擇與原資料協方差矩陣前幾個最大特徵值對應的特徵向量構成一組基,以達到最佳表徵原資料的目的。因為由主分量分析提取的特徵向量返回成影象時,看上去仍像人臉,所以這些特徵向量被稱為「特徵臉」。

在人臉識別中,由一組特徵臉基圖象張成乙個特徵臉子空間,任何一幅人臉圖象(減去平均人臉後)都可投影到該子空間,得到乙個權值向量。計算此向量和訓練集中每個人的權值向量之間的歐式距離,取最小距離所對應的人臉影象的身份作為測試人臉影象的身份。

下圖給出了主分量分析的應用例子。圖中最左邊的為平均臉,其他地為對應 7 個最大特徵值的特徵向量。

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

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

標準特徵臉

同乙個人不同影象之間的的特徵臉

不同人的影象之間的特徵臉

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

每個節點包含 40 個 gabor 小波(一種數碼訊號變換方法)係數,包括相位和幅度,這些係數合起來稱為乙個 jet ,這些小波係數是原始影象和一組具有 5 個頻率、 8 個方向的 gabor 小波卷積(一種數字訊號處理運算元)得到的。這樣每幅圖就像被貼了標籤一樣,其中的點被 jets 標定,邊被點之間的距離標定。所以一張人臉的幾何形狀就被編碼為圖中的邊,而灰度值的分布被編碼為圖中的節點。如下圖所示:

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

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

由於該方法利用 gabor 小波變換來描述面部特徵點的區域性資訊,因此受光照影響較小。此外,在彈性匹配的過程中,網格的形狀隨著特徵點的搜尋而不斷變化,因此對姿態的變化也具有一定的自適應性。該方法的主要缺點是搜尋過程中代價函式優化的計算量巨大,因而造成識別速度較慢,導致該方法的實用性不強。

人臉本質上是 3d 空間中的乙個表面,所以原則上用 3d 模型能更好地表徵人臉,特別是處理人臉的各種變化,如姿勢、光照等。 blanz 等人提出了一種基於 3d 形態模型的方法,該方法將形狀和紋理用模型引數編碼,同時提出了乙個能從單張人臉影象還原模型引數的演算法。形狀和紋理引數可用來進行人臉的識別。為了處理由於這些引數導致的影象之間差異的極端情形,通常是預先產生乙個通用的模型。而進行影象分析時,給定一張新的影象,一般的做法是用通用模型去擬合新的影象,從而根據模型來引數化新的影象。

1、 跟蹤 - 然後 - 識別,這類方法首先檢測出人臉,然後跟蹤人臉特徵隨時間的變化。當捕捉到一幀符合一定標準(大小,姿勢)的影象時,用基於靜態影象的人臉識別演算法進行識別。這類方法中跟蹤和識別是單獨進行的,時間資訊只在跟蹤階段用到。識別還是採用基於靜態影象的方法,沒用到時間資訊。

2、 跟蹤 - 且 - 識別,這類方法中,人臉跟蹤和識別是同時進行的,時間資訊在跟蹤階段和識別階段都用到。

自動人臉識別基本原理

特徵臉方法利用主分量分析進行降維和提取特徵。主分量分析是一種應用十分廣泛的資料降維技術,該方法選擇與原資料協方差矩陣前幾個最大特徵值對應的特徵向量構成一組基,以達到最佳表徵原資料的目的。因為由主分量分析提取的特徵向量返回成影象時,看上去仍像人臉,所以這些特徵向量被稱為 特徵臉 在人臉識別中,由一組特...

自動人臉識別基本原理

特徵臉方法利用主分量分析進行降維和提取特徵。主分量分析是一種應用十分廣泛的資料降維技術,該方法選擇與原資料協方差矩陣前幾個最大特徵值對應的特徵向量構成一組基,以達到最佳表徵原資料的目的。因為由主分量分析提取的特徵向量返回成影象時,看上去仍像人臉,所以這些特徵向量被稱為 特徵臉 在人臉識別中,由一組特...

openface 人臉對齊 基本原理

具體 請參考 vector arguments get arguments argc,argv faceanalysis faceanalyserparameters face analysis params arguments face analysis params.optimizeforima...