人脸识别-特征脸方法
特征臉EigenFace的思想是把人臉從像素空間變換到另一個空間,在另一個空間中做相似性的計算。EigenFace是一種基于統(tǒng)計特征的方法,將人臉圖像視為隨機向量,并用統(tǒng)計方法辨別不同人臉特征模式。EigenFace的基本思想是,從統(tǒng)計的觀點,尋找人臉圖像分布的基本元素,即人臉圖像樣本集協(xié)方差矩陣的特征向量,以此近似的表征人臉圖像,這些特征向量稱為特臉。 EigenFace選擇的空間變換方法是PCA,主成分分析。PCA也常被稱為特征臉方法。是一種基于人臉特征提取的人臉識別核心技術(shù)。它廣泛的被用于預(yù)處理中以消去樣本特征維度之間的相關(guān)性。
EigenFace方法利用PCA得到人臉分布的主要成分,具體實現(xiàn)是對訓(xùn)練集中所有人臉圖像的協(xié)方差矩陣進行本征值分解,得對對應(yīng)的本征向量,這些本征向量(特征向量)就是“特征臉”。每個特征向量或者特征臉相當于捕捉或者描述人臉之間的一種變化或者特性。這就意味著每個人臉都可以表示為這些特征臉的線性組合。
下面就直接給出基于特征臉的人臉識別實現(xiàn)過程:
1)將訓(xùn)練集的每一個人臉圖像都拉長一列,將他們組合在一起形成一個大矩陣A。假設(shè)每個人臉圖像是MxM大小,那么拉成一列后每個人臉樣本的維度就是d=MxM大小了。假設(shè)有N個人臉圖像,那么樣本矩陣A的維度就是dxN了。
2)將所有的N個人臉在對應(yīng)維度上加起來,然后求個平均,就得到了一個“平均臉”。你把這個臉顯示出來的話,還挺帥的哦。
3)將N個圖像都減去那個平均臉圖像,得到差值圖像的數(shù)據(jù)矩陣Φ。
4)計算協(xié)方差矩陣C=ΦΦT。再對其進行特征值分解。就可以得到想要的特征向量(特征臉)了。
5)將訓(xùn)練集圖像和測試集的圖像都投影到這些特征向量上了,再對測試集的每個圖像找到訓(xùn)練集中的最近鄰或者k近鄰啥的,進行分類即可。
另外,對于步驟4),涉及到求特征值分解。如果人臉的特征維度d很大,例如256x256的人臉圖像,d就是65536了。那么協(xié)方差矩陣C的維度就是dxd=65536x65536。對這個大矩陣求解特征值分解是很費力的。那怎么辦呢?如果人臉的樣本不多,也就是N不大的話,我們可以通過求解C’=ΦTΦ矩陣來獲得同樣的特征向量。可以看到這個C’=ΦTΦ只有NxN的大小哦。如果N遠遠小于d的話,那么這個力氣就省得很值了。那為什么求解C’=ΦTΦ矩陣的特征向量可以獲得C=ΦΦT的特征向量?
其中,ei是C’=ΦTΦ的第i個特征向量,vi是C=ΦΦT的第i個特征向量,由證明可以看到,vi=Φei。所以通過求解C’=ΦTΦ的特征值分解得到ei,再左乘Φ就得到C=ΦΦT的特征向量vi了。也就是我們想要的特征臉。特征臉算法原理
將 N 個尺寸為 WH 的人臉圖像(訓(xùn)練集)分別按行級聯(lián)成 N 個 WH 維的特征向量,,,(零均值),訓(xùn)練樣本協(xié)方差為。
選定 M 個基向量z1z2,…,zM(正交基),M≤N,該基向量構(gòu)成 M 維的特征空間。計算每個訓(xùn)練樣本相對于每個基向量的投影,并對每個基向量投影進行累加求和,則第 k 個特征向量可以表示為 。約束條件為
所有的訓(xùn)練樣本可以由M維的特征向量表示為,i=1,2,…,N。最大投影系數(shù)(特征值)對應(yīng)的特征向量(總共有 M 個)認為是對訓(xùn)練樣本的最好簡約表示(可以是前幾個),則與最大投影系數(shù)對應(yīng)的基向量認為是有效的特征臉。將待識別人臉Γ歸一化零均值,向量化之后投影到特征向量,得到 Π=uTΓ。利用 k 近鄰分類器根據(jù)訓(xùn)練樣本和待識別人臉的投影特征向量進行判別:
(1)
式(1)中:D 為兩種模式之間的距離;Ф 為特征模版;П為測試人臉的模式。
總結(jié)
以上是生活随笔為你收集整理的人脸识别-特征脸方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [转载]使用 Apache Geroni
- 下一篇: 车联网TBOX国六OBD排放终端远程在线