国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

人臉識別經典算法一 特征臉方法(Eigenface)

2020-01-04 15:41:08
字體:
來源:轉載
供稿:網友

這篇文章是擼主要介紹人臉識別經典方法的第一篇,后續會有其他方法更新。特征臉方法基本是將人臉識別推向真正可用的第一種方法,了解一下還是很有必要的。特征臉用到的理論基礎PCA在另一篇博客里:特征臉(Eigenface)理論基礎-PCA(主成分分析法) 。本文的參考資料附在最后了^_^

步驟一:獲取包含M張人臉圖像的集合S。在我們的例子里有25張人臉圖像(雖然是25個不同人的人臉的圖像,但是看著怎么不像呢,難道我有臉盲癥么),如下圖所示哦。每張圖像可以轉換成一個N維的向量(是的,沒錯,一個像素一個像素的排成一行就好了,至于是橫著還是豎著獲取原圖像的像素,隨你自己,只要前后統一就可以),然后把這M個向量放到一個集合S里,如下式所示。

人臉識別,特征臉方法,Eigenface

人臉識別,特征臉方法,Eigenface

步驟二:在獲取到人臉向量集合S后,計算得到平均圖像Ψ,至于怎么計算平均圖像,公式在下面。就是把集合S里面的向量遍歷一遍進行累加,然后取平均值。得到的這個Ψ其實還挺有意思的,Ψ其實也是一個N維向量,如果再把它還原回圖像的形式的話,可以得到如下的“平均臉”,是的沒錯,還他媽的挺帥啊。那如果你想看一下某計算機學院男生平均下來都長得什么樣子,用上面的方法就可以了。

人臉識別,特征臉方法,Eigenface

人臉識別,特征臉方法,Eigenface

步驟三:計算每張圖像和平均圖像的差值Φ,就是用S集合里的每個元素減去步驟二中的平均值。

人臉識別,特征臉方法,Eigenface

步驟四:找到M個正交的單位向量un,這些單位向量其實是用來描述Φ(步驟三中的差值)分布的。un里面的第k(k=1,2,3...M)個向量uk是通過下式計算的,

人臉識別,特征臉方法,Eigenface

 

當這個λk(原文里取了個名字叫特征值)取最小的值時,uk基本就確定了。補充一下,剛才也說了,這M個向量是相互正交而且是單位長度的,所以啦,uk還要滿足下式:

人臉識別,特征臉方法,Eigenface

上面的等式使得uk為單位正交向量。計算上面的uk其實就是計算如下協方差矩陣的特征向量:

人臉識別,特征臉方法,Eigenface

其中

人臉識別,特征臉方法,Eigenface

對于一個NxN(比如100x100)維的圖像來說,上述直接計算其特征向量計算量實在是太大了(協方差矩陣可以達到10000x10000),所以有了如下的簡單計算。

步驟四另解:如果訓練圖像的數量小于圖像的維數比如(M<N^2),那么起作用的特征向量只有M-1個而不是N^2個(因為其他的特征向量對應的特征值為0),所以求解特征向量我們只需要求解一個NxN的矩陣。這個矩陣就是步驟四中的AAT,我們可以設該矩陣為L,那么L的第m行n列的元素可以表示為:

人臉識別,特征臉方法,Eigenface

一旦我們找到了L矩陣的M個特征向量vl,那么協方差矩陣的特征向量ul就可以表示為:

人臉識別,特征臉方法,Eigenface

這些特征向量如果還原成像素排列的話,其實還蠻像人臉的,所以稱之為特征臉(如下圖)。圖里有二十五個特征臉,數量上和訓練圖像相等只是巧合。有論文表明一般的應用40個特征臉已經足夠了。論文Eigenface for recognition里只用了7個特征臉來表明實驗。

人臉識別,特征臉方法,Eigenface

步驟五:識別人臉。OK,終于到這步了,別繞暈啦,上面幾步是為了對人臉進行降維找到表征人臉的合適向量的。首先考慮一張新的人臉,我們可以用特征臉對其進行標示:

人臉識別,特征臉方法,Eigenface

其中k=1,2...M,對于第k個特征臉uk,上式可以計算其對應的權重,M個權重可以構成一個向量:

人臉識別,特征臉方法,Eigenface

perfect,這就是求得的特征臉對人臉的表示了!

那如何對人臉進行識別呢,看下式:

人臉識別,特征臉方法,Eigenface

其中Ω代表要判別的人臉,Ωk代表訓練集內的某個人臉,兩者都是通過特征臉的權重來表示的。式子是對兩者求歐式距離,當距離小于閾值時說明要判別的臉和訓練集內的第k個臉是同一個人的。當遍歷所有訓練集都大于閾值時,根據距離值的大小又可分為是新的人臉或者不是人臉的兩種情況。根據訓練集的不同,閾值設定并不是固定的。

后續會有對PCA理論的補充^_^.已補充理論:特征臉(Eigenface)理論基礎-PCA(主成分分析法)

參考資料:

1、Eigenface for Recognition

2、特征臉維基百科

3、Eigenface_tutorial

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到python教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永和县| 靖远县| 伊宁市| 泽州县| 凤山市| 青岛市| 北安市| 平阳县| 山东| 温泉县| 正安县| 肃宁县| 海安县| 泽库县| 定结县| 滕州市| 洛川县| 米脂县| 长乐市| 宜兰县| 宿州市| 余庆县| 基隆市| 祁连县| 邯郸市| 芮城县| 嵩明县| 芜湖县| 庄浪县| 竹北市| 金乡县| 革吉县| 商都县| 江源县| 焦作市| 德钦县| 淄博市| 循化| 彭阳县| 皋兰县| 五寨县|