陳 平
(徽商職業(yè)學院 電子信息系,安徽 合肥 230000)
人臉識別由于其在公安部門、安全驗證系統(tǒng)、檔案管理、信用卡驗證和人機交互系統(tǒng)等方面的廣闊應(yīng)用,已經(jīng)成為當前模式識別和人工智能的一個研究熱點。人臉識別的主要方法有基于模板匹配的方法、基于面部幾何特征的方法、基于子空間的分析方法、人工神經(jīng)網(wǎng)絡(luò)、支持向量機等。在眾多的方法中,基于子空間主成分分析(principal component analysis,PCA)[1]是最經(jīng)典的人臉識別方法之一。PCA又稱為K-L變換,其實質(zhì)是在盡可能好地代表原始數(shù)據(jù)的前提下,通過線性變換將高維空間中的樣本數(shù)據(jù)投影到低維空間中。PCA計算中最主要的工作量是計算樣本協(xié)方差矩陣的本征值和本征向量。其在人臉識別中計算的維度較大、計算的復雜度較高,通常會出現(xiàn)內(nèi)存耗盡、計算時間長等問題。本文針對傳統(tǒng)PCA計算過程慢、內(nèi)存高的問題,使用了1種快速PCA的方法來進行人臉識別,在提高運算效率的同時加入了距離測度的考慮,提高了人臉識別率[2]。在著名的FERET人臉庫中,基于距離測度的快速PCA方法能有效地進行人臉識別,且速度較快。
最小距離分類又稱為最近鄰分類[3],是一種非常簡單的分類思想。這種基于距離的分類技術(shù)通過以一種原型模式向量代表每一個類別,識別時一個未知模式被賦予一個按照預先定義的相似性度量與其距離最近的類別。本文采用COS余弦距離、L1一階范數(shù)、L2二階范數(shù)來進行距離測度。對于2個向量x和y,其距離測度分別定義如下
(1)
dL1(x,y)=‖x-y‖
(2)
dL2(x,y)=‖x-y‖2
(3)
對于1個二維的m*n像素的人臉圖像通過行或列相連可以被轉(zhuǎn)換成1個N=m*n的向量。通常這樣的向量都是維數(shù)比較高的,識別起來比較困難。因此,在進行識別之前識別算法通常都會通過一些手段來進行降維。PCA正是將向量經(jīng)過K-L變換后由高維向量轉(zhuǎn)換為低維向量,并形成低維線性向量空間,即特征子空間,然后將人臉圖像投影到低維空間,用所得到的投影系數(shù)作為識別的特征向量。識別人臉時,只需要將待識別樣本的投影系數(shù)與數(shù)據(jù)庫中目標樣本集的投影系數(shù)進行比較,以確定與哪一類最近。
1)利用訓練集圖像計算特征臉
①將測試集中的M幅圖像分別表示成列向量xi(i=1,2,…,M),組成訓練集矩陣T∈RN×M;
2)將人臉庫中的圖像投影到特征子空間[5]
將人臉庫中的每張人臉向量減去均值之后投影到k個特征向量表示的特征子空間pcaEigVecsk,實現(xiàn)了人臉數(shù)據(jù)的降維表示。
3)使用距離測度進行人臉識別
將要測試的人臉圖像投影到k個特征向量表示的特征子空間pcaEigVecsk,然后使用距離測度方法計算降維之后的人臉與數(shù)據(jù)庫中存儲的人臉圖像之間的距離,依據(jù)最近鄰原則進行識別,距離最近判斷為最相似,同時可以設(shè)置最大人臉空間距離進行輔助判斷。
在實驗中發(fā)現(xiàn)傳統(tǒng)PCA在進行人臉識別時,PCA算法對光照非常敏感[6],而且當樣本的維數(shù)較大時,會出現(xiàn)內(nèi)存耗盡、計算時間長、首次命中識別率不高等問題。因此本文針對實驗中發(fā)現(xiàn)的問題提出了一種改進的快速PCA人臉識別算法。
1)針對光照敏感問題,對圖像的灰度進行預處理,通過直方圖均衡化來實現(xiàn)圖像的灰度歸一化,減少圖像的亮度變化帶來的影響[7]。
2)針對PCA計算樣本協(xié)方差矩陣的本征值和本征向量內(nèi)存高、時間長的問題,使用一種非常好的PCA計算技巧來計算[8]。具體過程如下。
設(shè)樣本矩陣X大小為n*d(n個d維樣本本征向量),則樣本協(xié)方差矩陣S將是一個d*d的方陣,協(xié)方差矩陣S=(YTY)d×d,因為d的維度一般較大,所以計算復雜度較高。現(xiàn)在考慮矩陣R=(YYT)n×n,一般情況下由于樣本數(shù)目n遠遠小于樣本維數(shù)d,R的尺寸也遠遠小于協(xié)方差矩陣S,可以證明其與S有著相同的非零本征值。證明過程如下。
(4)
公式(4)兩邊同乘Y,并應(yīng)用矩陣乘法的結(jié)合律得
(5)
3)針對首次命中識別率不高的問題,本文提出根據(jù)本征向量重構(gòu)測試樣本特征向量與基于距離測度相似度排名靠前的人臉向量,再將重構(gòu)的測試人臉圖像與前80位重構(gòu)的人臉圖像進行比較,得到相似度最高的人臉[9]。人臉圖像I的重構(gòu)公式如下
(6)
其中,Irec為重構(gòu)人臉圖像,vi為本征向量,k為本征向量維數(shù),ui為人臉圖像向特征臉空間投影所得到的投影系數(shù)。投影系數(shù)ui可以通過以下公式求出
(7)
FERET人臉庫是由FERET項目創(chuàng)建,包含14 051幅多姿態(tài)、多光照的灰度人臉圖像,是人臉識別領(lǐng)域應(yīng)用最廣泛的數(shù)據(jù)庫之一[10]。本文在MATLAB 2013a中編寫程序進行實驗,實驗樣本取自FERET的1 208個人,其中每個人大約有11幅圖像,每幅圖像都是384*256像素。實驗中使用2種標準方法來衡量實驗結(jié)果[11]。
1)首次命中識別率,距離測度結(jié)果中排名第一即是正確的識別結(jié)果的概率。
2)累計匹配識別率(cumulative match score,CMS),本文累計前80位識別概率之和。
圖1和圖2是基于PCA的人臉識別CMS結(jié)果和改進的快速PCA的CMS結(jié)果。從圖2中可以看到改進的快速PCA的首次命中識別率更高,CMS累計識別準確率提高。而且實驗中快速PCA明顯提高了計算速度。
圖1 PCA CMS曲線 圖2 改進的快速PCA CMS曲線
針對傳統(tǒng)PCA方法在人臉識別應(yīng)用中的一些問題,提出了一種改進的快速PCA算法進行人臉識別。實驗表明,與傳統(tǒng)PCA算法相比,本文提出的方法減少了計算時間,提高了識別率。但是,實驗中針對人臉角度變換的識別效果依然不是很理想,這將是下一步研究的工作重點。