王一朵 呂衛(wèi)東 胡陳陳 鄭江懷
(蘭州交通大學(xué) 數(shù)理學(xué)院,甘肅 蘭州 730070)
人臉識(shí)別從本質(zhì)上來說其實(shí)是生物識(shí)別的一個(gè)重要課題,它是一種基于人類的外貌以及長(zhǎng)相特征等外部信息進(jìn)行身份識(shí)別認(rèn)證的生物特征識(shí)別技術(shù),該技術(shù)最大的特點(diǎn)就是能夠防止個(gè)體信息泄露,并應(yīng)用一種間接手段即不直接接觸的方式來進(jìn)行身份的確認(rèn),在身份認(rèn)證、商業(yè)交易、安全保障等多個(gè)領(lǐng)域都得到了普遍運(yùn)用[1]。人體生物特征識(shí)別技術(shù)的定義實(shí)際上十分寬泛,它們通常與高新技術(shù)企業(yè)的發(fā)展息息相關(guān),為我們?cè)谌粘I钪锌梢愿痈咝?、安全、?zhǔn)確地進(jìn)行信息確認(rèn)提供了技術(shù)的支持與保障。
距今為止,科學(xué)家們已經(jīng)提出了很多對(duì)人臉圖像信息進(jìn)行檢測(cè)和識(shí)別的方法,但總體來看每種方法都存在利弊,以目前的研究水平還并未找到一個(gè)可以適應(yīng)于所有情況的人臉特征提取方法。因此在進(jìn)行了很多次的嘗試和試驗(yàn)之后,許多研究學(xué)者選擇了融合算法,即把多種降維算法融入到人臉特征的提取部分,因此多特征融合技術(shù)也逐漸成為未來人臉識(shí)別研究的一個(gè)主流發(fā)展方向。
對(duì)于傳統(tǒng)的PCA 人臉識(shí)別算法來說,它通常從總體角度出發(fā),只考慮到了人臉整體的特征分布,沒有充分利用到人臉局部特征類別的標(biāo)簽信息,再加上人臉圖像極易受到光照強(qiáng)弱、拍攝角度和遮擋幅度等變化影響的缺點(diǎn),PCA 算法已經(jīng)不能完全達(dá)到高準(zhǔn)確率的識(shí)別效果。而與此同時(shí),LDA 算法雖然在提取數(shù)據(jù)時(shí)能夠識(shí)別出具有類別鑒別能力的低維數(shù)據(jù)特征[2],從而大幅度改善了人臉圖像在光照變化幅度大、拍攝角度選擇不當(dāng)時(shí)的識(shí)別準(zhǔn)確率。但當(dāng)LDA 算法對(duì)訓(xùn)練集樣本進(jìn)行訓(xùn)練時(shí),如果人臉樣本的數(shù)量比樣本壓縮前的維數(shù)低,這樣采取降維會(huì)使得數(shù)據(jù)的類內(nèi)離散度矩陣變得奇異[2],因此在求取最佳投影方向時(shí)難度較大,導(dǎo)致最后的識(shí)別率反而不是很高。
LR 分類方式作為傳統(tǒng)機(jī)器學(xué)習(xí)中的一個(gè)典型的二分類模型,其應(yīng)用的領(lǐng)域十分寬泛,完全可以用在對(duì)人臉進(jìn)行判斷其是否是劃分正確的情況。而且在對(duì)人臉進(jìn)行分類測(cè)試的階段,絕大部分學(xué)者都選用K 均值分類方法來進(jìn)行判斷,采用LR 方法的少之又少,但從實(shí)際情況來看,LR 方法應(yīng)用范圍廣泛,將LR 方法融入到人臉判別領(lǐng)域有一定的研究意義。
本文考慮到上述提到的PCA 與LDA 算法各自存在的優(yōu)缺點(diǎn),將PCA 與LDA 算法相結(jié)合后加入LR 分類器,先利用PCA 算法提取人臉的全局特征進(jìn)行投影,也就是先將人臉數(shù)據(jù)進(jìn)行一次降維后找到一個(gè)更低維度的特征空間,確保所得到的人臉樣本的類內(nèi)散度矩陣非奇異[2],再利用LDA 方法進(jìn)行二次降維,找出最佳的投影方向,再一次進(jìn)行降維投影,最后利用Logistic 函數(shù)進(jìn)行識(shí)別分類,以此來提高人臉?biāo)惴ㄗR(shí)別準(zhǔn)確率。
主成分分析法(PCA)是一種對(duì)數(shù)據(jù)進(jìn)行分析的技術(shù),其最主要的應(yīng)用就是簡(jiǎn)化數(shù)據(jù)[3]。它的目的是對(duì)高維數(shù)據(jù)進(jìn)行降維處理,去除數(shù)據(jù)中的噪音和冗余,找出其中最重要的元素和結(jié)構(gòu),從而能夠揭露隱藏在復(fù)雜數(shù)據(jù)背后的簡(jiǎn)單結(jié)構(gòu)[4]。PCA 方法的最大優(yōu)點(diǎn)就是降維過程不受參數(shù)的限制,因此PCA 的應(yīng)用范圍十分廣泛,在各個(gè)領(lǐng)域都得以運(yùn)用,所以它已經(jīng)成為人臉識(shí)別中最成功的方法之一,也是最具有特征的方法。
LDA(Linear Discrimination Analysis),線性判別分析,是在PCA 的基礎(chǔ)上發(fā)展起來的,Belhumeur.P.N 等人率先提出了LDA 方法,他詳細(xì)對(duì)比了PCA 和LDA 這兩種方法的相似點(diǎn)以及區(qū)別所在,并提出了使用LDA 方法可能會(huì)出現(xiàn)類內(nèi)散度矩陣不可逆的情況,所以嘗試先用主成分提取新的特征空間,再使用LDA 方法對(duì)數(shù)據(jù)進(jìn)一步處理,最后的實(shí)驗(yàn)結(jié)果表明,這種全新的融合方法確實(shí)比只用一種方法降維有效[5]。LDA 算法本質(zhì)上是屬于有監(jiān)督學(xué)習(xí),同時(shí)它也是一種帶有分類特征標(biāo)簽的降維方法,LDA 算法最大的特點(diǎn)就是把每個(gè)類別之間的特征信息都涵蓋在內(nèi),尤其是不同類別屬性的特征。最終要求得到的投影方向是能夠讓Fisher 準(zhǔn)則函數(shù)達(dá)到極值時(shí)的向量,該組向量即為最佳得投影方向,從而使得投影后不同類別的樣本離散度達(dá)到最大,而同類別的樣本離散度達(dá)到最小[2]。
PCA-LDA 算法的大體步驟如下:
(1)讀入人臉圖像數(shù)據(jù),并對(duì)數(shù)據(jù)進(jìn)行預(yù)處理(包括歸一化和中心化)。
(2)將人臉拉成一列或者一行(例如三個(gè)特征可以理解為三維空間的一個(gè)點(diǎn)),這些向量設(shè)為 ,用這些向量減去平均臉,得到每一副人臉與平均臉的差值。
(3)對(duì)這個(gè)矩陣求它的協(xié)方差矩陣,并計(jì)算特征值和特征向量。
(4) 將計(jì)算得到的特征向量按特征值的大小進(jìn)行排序,并按照要降維到的維數(shù)來選取前k 個(gè)特征向量,組成特征空間。
(5)此時(shí),已經(jīng)得到了PCA 投影的特征空間,再使用LDA 分別求出類內(nèi)散度矩陣和類間散度矩陣,限制條件是使得類間散度矩陣最大化,類內(nèi)散度矩陣最小化來進(jìn)行求解,最終可轉(zhuǎn)化為求的特征值和特征向量的問題,然后把特征向量按所對(duì)應(yīng)的特征值的大小從大到小的順序依次排列,提取所需要的前k 個(gè)特征向量,則這些向量最終共同構(gòu)成一個(gè)新的投影空間,就是最終降維后得到的特征空間。設(shè)訓(xùn)練樣本數(shù)據(jù)集中一共有C 個(gè)人,每個(gè)人有N 張照片,那么可以構(gòu)成一個(gè)C×N的矩陣,那么X=[X1,X2,...,XC],其中第i 類人的人臉圖像集表示為 {x(1,1),x(1,2),...,x(i,j)} ,i =1,2,...,C ;j=1,2,...,N,樣本的類間散度矩陣Sb和類內(nèi)散度矩陣Sw分別定義為:
其中,ui表示第i 類樣本的均值,u 表示所有樣本的均值。
本文所用數(shù)據(jù)來源于Wild 數(shù)據(jù)集,Labeled Faces in the Wild 是一個(gè)人臉面部照片信息數(shù)據(jù)庫(kù),專門為研究無約束人臉識(shí)別問題而設(shè)計(jì),數(shù)據(jù)集包括了不同的人在不同狀態(tài)下的照片,每個(gè)人的照片數(shù)量不等,表情也各有不同,而且該數(shù)據(jù)集的每張人臉圖像都標(biāo)有圖中人物的名字。所有詳細(xì)數(shù)據(jù)信息均可在官方網(wǎng)站上下載獲得:http://vis-www.cs.umass.edu/lfw/,該數(shù)據(jù)也可直接從python 軟件中下載得到。
從網(wǎng)站中下載讀取數(shù)據(jù)后,計(jì)算機(jī)默認(rèn)會(huì)把該數(shù)據(jù)集中的每一張人臉照片認(rèn)定為一個(gè)圖像矩陣,首先我們需要先對(duì)數(shù)據(jù)進(jìn)行向量處理,將其轉(zhuǎn)化為n 組向量,從通俗意義來講就是把矩陣?yán)梢恍谢蛘呤且涣械男问?,然后利用PCA 方法選擇主成分方向,將數(shù)據(jù)先變換到一個(gè)降維后的新的特征空間中;接著再利用LDA 算法把該特征空間中的樣本選擇最佳的投影方向進(jìn)行投影,這樣得到的人臉樣本的特征向量Zi都是經(jīng)過PCA 和LDA 算法降維提取的。最后來進(jìn)行人臉識(shí)別的最后一步,也就是分類器的選擇。以往學(xué)者在進(jìn)行人臉的識(shí)別分類時(shí)都選用KNN 分類器,使用LR 分類器的少之又少,這里我們選用LR 分類器進(jìn)行識(shí)別分類,將Zi輸入到LR 分類器中進(jìn)行訓(xùn)練識(shí)別。
一般的機(jī)器學(xué)習(xí)解決的問題大體上分為兩類,也就是預(yù)測(cè)和分類。預(yù)測(cè)通常是解決數(shù)學(xué)問題常用到的,即利用回歸模型來處理數(shù)據(jù),比如生活中最普遍的利用線性回歸方法來預(yù)測(cè)模型,除此之外還有非線性回歸模型等等;而解決分類問題的方法也包括許多種,例如決策樹,K 均值(KNN),支持向量機(jī)SVM,樸素貝葉斯等。事實(shí)上,這兩類問題從本質(zhì)上來看是相同的,它們都是通過學(xué)習(xí)現(xiàn)有的數(shù)據(jù)來建立數(shù)學(xué)模型,然后去預(yù)測(cè)未知的結(jié)果。而邏輯回歸(logistic regression)則是其中一類比較特殊的算法,它大致像是這兩種方法的一個(gè)融合,它的基本思路雖然用到了回歸的方法,但同時(shí)它又是標(biāo)準(zhǔn)的解決分類問題的模型[5]。
LR 分類器其實(shí)是一個(gè)0/1 分類器,它的目的就是從訓(xùn)練數(shù)據(jù)的所有特征中學(xué)習(xí)出一個(gè)二分類模型,建立代價(jià)函數(shù)通過不斷的迭代求出最優(yōu)的模型和其參數(shù)。在本次實(shí)驗(yàn)中我們以人臉樣本的特征向量的線性組合作為自變量,也就是將Zi代入logistic 函數(shù)得到預(yù)測(cè)函數(shù):
如果我們假設(shè)把這個(gè)預(yù)測(cè)函數(shù)的值就記為類別是1,也就是識(shí)別正確的概率。則通過實(shí)驗(yàn)最后得出的預(yù)測(cè)結(jié)果和真實(shí)結(jié)果的對(duì)照情況如圖1 所示。
圖1 預(yù)測(cè)結(jié)果
模型的好壞通常可以用ROC 曲線進(jìn)行衡量,它是根據(jù)一系列不同的二分類方式來判別,以真正率為縱坐標(biāo),假正率為橫坐標(biāo)繪制的曲線[6]。曲線越靠近空間左上方則模型擬合效果越好。圖2 是分別是使用PCA 方法提取特征后利用KNN 方法和利用PCA+LDA+LR 方法進(jìn)行識(shí)別分類得到的ROC 曲線圖,可以看到右圖(使用融合方法)得到的曲線明顯在空間左上方,識(shí)別效果明顯高于KNN 分類方法。
圖2 ROC 曲線對(duì)比圖
經(jīng)過上面的分析,在處理人臉圖像識(shí)別問題時(shí),采用PCA 與LDA 兩種算法相繼進(jìn)行降維后提取特征,再使用邏輯回歸分類的方法,實(shí)驗(yàn)結(jié)果與理論預(yù)期相符,相比于使用傳統(tǒng)的PCA 提取特征,LR 的方法進(jìn)行分類識(shí)別相比,識(shí)別率將近提高了10 個(gè)百分點(diǎn),而和只使用PCA 的方法提取特征,KNN 進(jìn)行分類識(shí)別的方法識(shí)別率高出了7 個(gè)百分點(diǎn),說明該方法有一定的預(yù)測(cè)效果。總體來說,若僅僅選用一種特征提取的方法,LR 方法的識(shí)別率可能不如K 均值,但融合方法的準(zhǔn)確率還是在一定程度上有很大的提高。但是本次實(shí)驗(yàn)中并沒有對(duì)原始人臉圖像進(jìn)行預(yù)處理,例如圖像的灰度處理,遮擋物排除等,因此在之后的研究中應(yīng)該考慮到圖像的外部條件,對(duì)人臉圖像加以預(yù)處理,并嘗試采用更多種融合算法提高識(shí)別效率,如表1。
表1 準(zhǔn)確率對(duì)比