基于PCA算法的人臉識別研究
1 人臉識別的發展及現狀
人臉識別的研究已經有很長的歷史,在19世紀,法國人Galton就曾對此問題進行了研究,他用一組數字代表不同的人臉側面特征來實現對人臉側面圖像的識別。國內外對于人臉識別的研究發展,分別經歷了三個階段:傳統的人機交互式階段、機器自動識別初級階段、機器自動識別高級階段。
1.1 傳統的人機交互式階段
第一階段是以Bertilion為代表,主要研究人臉識別所需要的面部特征,該階段的識別依賴于人的操作。這些人臉識別方法都需要利用操作員的某些先驗知識,仍然擺脫不了人的干預。
1.2 自動識別初級階段
第二階段主要是采用機器自動識別的手段進行識別,20世紀90年代以來,隨著高速度高性能計算機的出現,人臉識別方法有了重大突破,進入了真正的機器自動識別階段,人臉識別研究也得到了前所未有的重視。
1.3 機器自動識別高級階段
第三階段是真正利用機器進行對人臉的自動識別,隨著計算機的大型化、高速化和人臉識別的方法的發展,提出了許多人臉自動識別的系統。
2 PCA算法的原理
PCA(主成分分析)算法是人臉識別中比較新的一種算法,該算法的優點是識別率高,識別速度快。
2.1 PCA算法介紹
2.1.1 PCA原理
令x為表示環境的m維隨機向量。假設x均值為零,即:
E[x]=O.
令w表示為m維單位向量,x在其上投影。這個投影被定義為向量x和w的內積,表示為:
而主成分分析的目的就是尋找一個權值向量w使得表達式E[y2]的值最大化:
根據線性代數的理論,可以知道滿足式子值最大化的訓應該滿足下式:
即使得上述式子最大化的w是矩陣Cx的最大特征值所對應的特征向量。
2.1.2 主成分的求解步驟
在PCA中主要的是要求出使得方差最大的轉化方向,其具體的求解步驟如下:
(1)構建關聯矩陣:Cx=E[x*xT],Cx∈Pn*n.
在實際應用中,由于原始數據的數學期望不容易求解,我們可以利用下式來近似構造關聯矩陣:
(其中x1,x2,…,xN,是各個原始灰度圖像所有象素點對應的向量,N是原始圖像的個數)
(2)先計算出Cx的各個特征值
(3)把特征值按大小排序
(4)計算出前m個特征值對應正交的特征向量構成w。
(5)將原始數據在特征向量w上進行投影,即可獲得原始圖像的主特征數據。
評論