郝 剛,梁 鵬
(廣東技術(shù)師范學(xué)院 計(jì)算機(jī)科學(xué)學(xué)院,廣東 廣州 510665)
伴隨著世界科技的不斷進(jìn)步以及各方面對于有效且快速的人員身份驗(yàn)證的迫切需求,生物特征識別技術(shù)在近些年得到了蓬勃發(fā)展。目前,人體生物特征識別技術(shù)主要有虹膜識別、指紋識別、步態(tài)識別、人臉識別等。與其他識別技術(shù)相比,人臉識別無需使用者做出特別的動作,具有直接、便于交互等特點(diǎn),容易被使用者接受,在公司安保、考勤、金融安全、檔案管理、刑事偵查等方面均已得到廣泛地應(yīng)用。
數(shù)十年來,基于全局特征提取的子空間降維方法在人臉識別領(lǐng)域取得了巨大成功,主要包括:主成分分析(PCA)、線性鑒別分析(LDA)、獨(dú)立分量分析(ICA)等。其中PCA方法是基于K.L變換實(shí)現(xiàn)的,被認(rèn)為是最成功的線性鑒別方法之一。該方法由KIRBY M[1]與TURK M[2]等人提出,首先通過K-L變換將指定的每一幅人臉圖像降維至特征子空間中的一個(gè)點(diǎn),生成特征子空間后,任一幅圖像均可向其做投影,獲得一組投影系數(shù),該組投影系數(shù)即可作為人臉匹配的依據(jù)[3-4]。
由于傳統(tǒng)PCA算法較易受到人物表情、光線等因素影響,設(shè)計(jì)者往往著重研究如何改進(jìn)減少隨機(jī)樣本對算法的影響,例如,將樣本按照姿態(tài)進(jìn)行分塊訓(xùn)練[5]、對樣本進(jìn)行預(yù)處理[6]等。但針對多類分類問題時(shí),還應(yīng)考慮測試樣本具體屬于哪類樣本,甚至可能是未知樣本。文獻(xiàn)[4]、[7]中通過設(shè)定閾值的方式實(shí)現(xiàn)對未知樣本的分類,但針對多目標(biāo)已知樣本,卻采用同樣的分類閾值,致使每個(gè)二分類問題無法獲得最優(yōu)效率(即識別率和誤識率到達(dá)一個(gè)平衡[8-10])。針對上述問題,本文提出一種基于自適應(yīng)閾值PCA的多目標(biāo)人臉識別方法。
假設(shè)訓(xùn)練樣本中共有M幅灰度人臉圖像,每幅圖像像素大小均為m×n,若將其從左至右,每列首尾相連,則構(gòu)成一個(gè)D=m×n維的列向量。設(shè)第i幅人臉圖像形成的一維列向量為Ri,則全部訓(xùn)練樣本集的均值μ為:
(1)
接著計(jì)算每個(gè)人臉向量Ri與平均人臉向量μ的差值圖像向量:
Ai=Ri-μ(i=1,2,3,…,M)
(2)
其中,一維列向量Ai表示一個(gè)規(guī)范化的訓(xùn)練樣本,則矩陣A=[A1,A2,…,AM]與AT的乘積即為所有訓(xùn)練樣本的協(xié)方差矩陣:
C=AAT
(3)
根據(jù)K-L變換的原理可知,該訓(xùn)練樣本集的特征臉空間將由公式(3)所求出的協(xié)方差矩陣C的部分正交特征向量組成。又因協(xié)方差矩陣C=AAT,故特意構(gòu)造矩陣:
L=ATA∈RM×M
(4)
依據(jù)奇異值分解原理,計(jì)算出矩陣L的特征值λi以及其相應(yīng)的正交歸一特征向量vi(i=1,2,…,M),便可計(jì)算出協(xié)方差矩陣C的正交歸一特征向量ui為:
(5)
將特征值λi及其對應(yīng)特征向量ui按λ1≥λ2≥…≥λM>0 的順序排列,利用公式:
(6)
選擇前d個(gè)特征向量組成特征臉空間,以達(dá)到降維效果。其中,α表示特征向量的貢獻(xiàn)率,當(dāng)α的取值確定后,便可求出所需的特征臉空間U=[u1,u2,…,ud],最后將規(guī)范化后的訓(xùn)練樣本矩陣A投影在新空間U上,求得新的投影系數(shù)矩陣作為人臉匹配依據(jù)。
進(jìn)行多目標(biāo)人臉識別時(shí),所用訓(xùn)練樣本集由多個(gè)人的人臉圖像構(gòu)成,多目標(biāo)分類問題轉(zhuǎn)化為多個(gè)二分類問題。傳統(tǒng)分類方法對每個(gè)二分類器采用同樣的分類閾值,這使得每個(gè)二分類器無法獲得最優(yōu)的效率(即識別率和誤識率到達(dá)一個(gè)平衡)。因此,為了取得在當(dāng)前訓(xùn)練集下的分類效率最優(yōu),針對每個(gè)二值分類器,需計(jì)算出一個(gè)最佳臨界點(diǎn)閾值,用來進(jìn)行結(jié)果判定,最佳臨界點(diǎn)閾值判定如圖1所示。
圖1 ROC曲線和它相關(guān)的比率
圖1中,圖(a)為ROC曲線,理想情況下,真陽性率TPR應(yīng)接近1,假陽性率FPR應(yīng)接近0,極限情況下對應(yīng)于左上角的點(diǎn)(0,1);對于某個(gè)特定的分類器,閾值最小時(shí),TP=FP=0,對應(yīng)于原點(diǎn),閾值最大時(shí),TN=FN=0,對應(yīng)于右上角的點(diǎn)(1,1)。圖(b)中,隨著閾值θ的增減,TP和FP均產(chǎn)生相應(yīng)變化。
由此可見,若想實(shí)現(xiàn)算法的真正優(yōu)化,不能單純地提高算法的識別率,而應(yīng)該選擇一個(gè)使識別率(TPR)和誤識率(FPR)達(dá)到理想的平衡點(diǎn),即在ROC曲線上找到距離左上角最近的一點(diǎn)作為正常值的最佳臨界點(diǎn)。
自適應(yīng)閾值計(jì)算方法具體描述如下:
輸入部分:
訓(xùn)練樣本集中的人數(shù):personNum;
算法部分:
//計(jì)算所有二值分類器的最佳閾值
Fork=1至personNum,步長為1;
求出人員編號為k的所有測試人臉樣本的最小歐式距離,分別存于最小歐式距離數(shù)組thred_temp對應(yīng)的數(shù)組元素中;
以最大最小值方式將最小歐式距離數(shù)組thred_temp進(jìn)行歸一化;
Forthred = 0至 1,步長為 0.01;
TP = 0;為真陽性樣本總數(shù)
FP = 0;為假陽性樣本總數(shù)
TN = 0;為真陰性樣本總數(shù)
FN = 0;為假陰性樣本總數(shù)
統(tǒng)計(jì)出此thred值所對應(yīng)的歸一化后的thred_temp數(shù)組中的TP、FP、TN、FN的數(shù)值,計(jì)算出相應(yīng)的TPR與FPR的值,作為一組坐標(biāo)值記錄下來;
End
利用上一循環(huán)計(jì)算出的若干(FPR,TPR) 的坐標(biāo)值繪制相應(yīng)ROC曲線;
計(jì)算出該曲線上斜率為1的切點(diǎn)的坐標(biāo);
找出該坐標(biāo)點(diǎn)對應(yīng)的thred值;
利用反向歸一化,計(jì)算出該thred值所對應(yīng)的原始閾值,作為該人員編號k所對應(yīng)的二值分類器的最佳閾值;
將此最佳閾值存入最佳閾值數(shù)組thred_all的相應(yīng)位置,即thred_all(k)中;
End
輸出部分:
存儲所有參與訓(xùn)練人員所對應(yīng)二值分類器的最佳閾值數(shù)組:thred_all;
最后,依據(jù)此最佳閾值數(shù)組對測試樣本進(jìn)行逐一二值分類器的判定,通過所有二值分類器共同投票決定此測試樣本是否為正樣本。
實(shí)驗(yàn)環(huán)境采用Windows 10 64位操作系統(tǒng)(Intel Core i7-6500U CPU,8 GB內(nèi)存)與MATLAB R2016b語言平臺;數(shù)據(jù)庫采用英國劍橋大學(xué)的ORL人臉庫,該人臉庫包含40個(gè)人,每人10幅人臉正面圖像,每幅圖像大小為92×112,分別為不同時(shí)間、不同面部姿態(tài)(如睜/閉眼,笑/不笑,有/無眼鏡等)以及輕微光線變化的條件下拍攝,總共400幅圖像。
在實(shí)驗(yàn)過程中,首先隨機(jī)取出10個(gè)人不參與訓(xùn)練,針對剩余的30個(gè)人,選定特征向量貢獻(xiàn)率α=90%保持不變,針對算法的訓(xùn)練情況,從每個(gè)人的人臉圖像中隨機(jī)抽取5、6、7、8、9張人臉圖像作為訓(xùn)練樣本,將剩余人臉圖像作為測試樣本的一部分,另外再從不參與訓(xùn)練的10個(gè)人中,每人隨機(jī)抽取與上述每人剩余人臉圖像數(shù)相等的數(shù)量作為測試樣本的另一部分,然后對基于自適應(yīng)閾值的PCA人臉識別算法以及傳統(tǒng)PCA算法分別進(jìn)行試驗(yàn)。實(shí)驗(yàn)結(jié)果如表1所示。
表1 ORL人臉庫中兩種算法的識別率及漢明損失
從實(shí)驗(yàn)結(jié)果可得以下兩點(diǎn)結(jié)論:
(1)以算法識別率作為數(shù)據(jù)分析可知,當(dāng)訓(xùn)練樣本較少時(shí),傳統(tǒng)PCA算法占據(jù)優(yōu)勢較大,但隨著訓(xùn)練樣本的不斷增加,基于自適應(yīng)閾值的PCA算法的識別率提升明顯,當(dāng)訓(xùn)練樣本數(shù)為8時(shí),識別率可實(shí)現(xiàn)98.33%,明顯高于傳統(tǒng)PCA算法。
(2)以漢明損失(Hamming Loss)作為數(shù)據(jù)分析可知,當(dāng)訓(xùn)練樣本數(shù)為5時(shí),傳統(tǒng)PCA算法的漢明損失略低于基于自適應(yīng)閾值的PCA算法,但從訓(xùn)練樣本數(shù)為6開始,基于自適應(yīng)閾值的PCA算法的漢明損失逐漸減少,且一直保持低于傳統(tǒng)PCA算法,優(yōu)勢明顯。
由以上兩點(diǎn)證明,本文所涉及的兩種分類器,在訓(xùn)練樣本較少的情況下,傳統(tǒng)PCA算法略優(yōu)于基于自適應(yīng)閾值的PCA算法,但當(dāng)訓(xùn)練樣本足夠多時(shí),基于自適應(yīng)閾值的PCA算法明顯優(yōu)于傳統(tǒng)PCA算法。
本文針對人臉識別中多種分類問題,提出了基于自適應(yīng)閾值PCA的多目標(biāo)人臉識別方法,該方法的原理是將多目標(biāo)分類問題轉(zhuǎn)化為多個(gè)二分類問題,通過ROC曲線確定每個(gè)二分類器的最佳閾值,以此作為該二分類器的判定依據(jù),最終識別結(jié)果由全部二分類器投票決定。經(jīng)過與傳統(tǒng)PCA的多目標(biāo)人臉識別方法進(jìn)行比較,實(shí)驗(yàn)結(jié)果表明,當(dāng)訓(xùn)練樣本足夠多時(shí),基于自適應(yīng)閾值PCA的多目標(biāo)人臉識別方法明顯優(yōu)于傳統(tǒng)PCA的多目標(biāo)人臉識別方法。
本算法解決了以上技術(shù)問題,但在人臉庫的選擇上還存在很大限制,因?yàn)楝F(xiàn)實(shí)生活中的人臉成像還會受到很多因素影響,例如:光線、遮擋物等。未來還可以考慮通過神經(jīng)網(wǎng)絡(luò)算法結(jié)合PCA的分析方法來進(jìn)行人臉識別,進(jìn)一步提高算法的魯棒性。