劉亮
摘 ? 要:人臉識別技術(shù)是信息時代的產(chǎn)物,在日常工作管理、住宅安全管理、身份識別、司法刑偵、銀行自助服務(wù)等多個領(lǐng)域起到關(guān)鍵作用。人臉識別技術(shù)涉及多項技術(shù),文章以PCA算法為主要切入點,介紹了一種改進算法,并闡述了算法的具體實現(xiàn)和對比優(yōu)勢。
關(guān)鍵詞:人臉識別;主成分分析法;身份識別;信息時代
隨著信息時代的到來,人臉識別技術(shù)(Face Recognition Technology,F(xiàn)RT)已經(jīng)在多個領(lǐng)域得到普及。人們也更青睞將其應(yīng)用于在線辦公、網(wǎng)絡(luò)支付、電子門鎖等。因為這些技術(shù)的應(yīng)用,不僅節(jié)省了時間和成本,而且辦事效率更高,極大地提高了人們的工作效率和生活質(zhì)量。
1 ? ?人臉識別技術(shù)介紹
人臉識別技術(shù)是生物特征識別技術(shù)的一種,是根據(jù)生物個體(一般特指人)本身的生物特征來區(qū)分個體[1]。人臉識別技術(shù)是基于人的面部特征(具體表現(xiàn)為人臉大小、面部主要器官的位置信息),對錄入的人臉圖像或者視頻流,捕獲人臉圖像,提取出不同人臉所具有的特定信息,與已知的信息進行判斷和對比,最終確定被對比人臉的個體身份。
2 ? ?常見的幾種人臉識別方法
人臉識別有很多方法,具體包括:幾何特征識別法、特征臉(Eigenface)識別法;卷積神經(jīng)網(wǎng)絡(luò)識別法、彈性圖匹配法、線段Hausdorff距離人臉識別法、支持向量機(Support Vector Machine,SVM)識別法以及最新的RetinaFace算法等。文章主要介紹以主成分分析法(Principal Component Analysis,PCA)[2]為基礎(chǔ)的經(jīng)典人臉識別算法—特征臉方法。
3 ? ?基于PCA算法的特征臉識別方法
特征臉識別法是目前應(yīng)用較為廣泛的一種方法,也是人臉識別技術(shù)中較為經(jīng)典的方法,是真正使人臉識別技術(shù)投入實踐應(yīng)用的第一種方法,其理論基礎(chǔ)是PCA。主要通過維度的圖像空間變換,得到具有可分性的低維線性空間投影,這些投影又可以作為表征人臉的合適向量。根據(jù)各向量間距值的大小以及訓練集內(nèi)與閾值的比較,最終判斷出人臉具體權(quán)重。特征臉算法識別率高,但對訓練樣本的數(shù)量有較大需求,且是基于圖像灰度的統(tǒng)計特征,還需要進一步改進。
4 ? ?改進后的FisherFace
本文提出一種以PCA算法輔以基于線性判別分析(Linear Discriminant Analysis,LDA)算法的人臉識別新方案(FisherFace),對特征臉識別法進行了改進,具體體現(xiàn)在對PCA特征子空間維數(shù)與識別率的關(guān)系研究。
(1)系統(tǒng)開發(fā)環(huán)境,本設(shè)計方案設(shè)計在Windows10的系統(tǒng)環(huán)境下進行。
(2)系統(tǒng)應(yīng)用工具,本設(shè)計方案需要用到PyChar2018.3+ Anaconda3+OpenCV。
(3)系統(tǒng)功能需求,具體的系統(tǒng)功能需求分析分為以下4個步驟進行:
首先,人臉檢測,通過調(diào)用分類器,在圖片中將人臉進行分析并利用特定的框架進行標記處理。
其次,數(shù)據(jù)庫存儲,根據(jù)實際情況及時更新人臉數(shù)據(jù),存入數(shù)據(jù)庫,以備訓練。
再次,人臉識別,根據(jù)原有數(shù)據(jù)庫中已有的人臉數(shù)據(jù)信息,將輸入的未知人臉圖像數(shù)據(jù)進行對比。
最后,動態(tài)識別,利用攝像頭進行視頻畫面捕捉,可以實時識別出未知圖像中的人臉信息。
(4)界面設(shè)計,對程序輸入、輸出的顯示界面進行設(shè)計。
(5)數(shù)據(jù)庫設(shè)計,本設(shè)計基于yale人臉數(shù)據(jù)庫(該庫有165張100×100的.bmp格式灰度圖像,樣本是15人,每人共11張)。調(diào)用攝像頭自主拍攝樣本照片,按2人計,每人選擇11張作為樣本,加入數(shù)據(jù)庫。
4.1 ?算法思想基礎(chǔ)
在人臉識別技術(shù)中,PCA是較為常見的數(shù)據(jù)分析方法。其原理是通過線性變換將原始數(shù)據(jù)轉(zhuǎn)換為一組各維度無關(guān)的表示。主要目的是提取實驗數(shù)據(jù)的主要特征分量,一般多用于高維數(shù)據(jù)向低維數(shù)據(jù)的轉(zhuǎn)換[3]。通常,機器學習中需要的訓練樣本數(shù)量龐大,甚至會經(jīng)常達到幾十萬維,資源消耗過大,一般算法難以承受。這也是降維的意義所在。
具體來說,PCA就是將一個高維向量x,通過特殊的特征向量矩陣,投影到一個低維的向量空間中。在這個過程中,可能會損失部分次要信息,但是卻可以根據(jù)主要的信息基本重構(gòu)出所對應(yīng)的原始高維向量u,這一過程就是降維。
在人臉識別方面,特征向量矩陣U即所謂的特征臉空間,向量UI被量化后可以看出人臉的大致輪廓。
LDA是一種監(jiān)督學習的降維技術(shù),它的數(shù)據(jù)集每個樣本是有類別輸出的,與PCA不同。PCA是不考慮樣本類別輸出的無監(jiān)督降維技術(shù)。要將數(shù)據(jù)在低維度上進行投影,投影后希望每一種類別數(shù)據(jù)的投影點盡可能接近,而不同類別的數(shù)據(jù)類別中心之間的距離要盡可能大。因此,這一方案需要融入LDA的這一特點。
4.2 ?特征臉算法實現(xiàn)步驟
首先,需要有一個存儲有多張人臉圖像的集合,這里假設(shè)集合為C,人臉圖像數(shù)量為M。每張圖轉(zhuǎn)化為一列,將每一列進行合并,轉(zhuǎn)為矩陣,以得到圖像矩陣C。
其次,對行求均值后得到平均臉矩陣MeanC,若還原回像素矩陣,并獲得偏差矩陣,每張人臉都減去這個平均圖像最后可以得到偏差矩陣diffC。
最后,求協(xié)方差矩陣,并計算特征值和特征向量,由于本算法的協(xié)方差矩陣維度比較大,計算量龐大且無法實現(xiàn)存儲,需要用到以下方法:
假設(shè)T是預處理圖像的矩陣每一列對應(yīng)一個減去均值圖像之后的圖像,則協(xié)方差矩陣為S=TTT,并且將S的特征值分解為TTT。由于這是一個非常大的矩陣,需要轉(zhuǎn)變方法,采用以下的特征值分解:TTTUI=λiUi。
兩邊同時乘以T,可得到TTT,這表示如果UI是TTT,則:
VM=TC是S的一個特征向量。T表示偏差矩陣,用T乘以TTT的一個特征向量即可得到協(xié)方差矩陣的特征向量u。每一行特征向量如果做成矩陣,多個圖像結(jié)合就可看作一個新的人臉,即特征臉。
由于在實踐中,樣本維數(shù)一般都會遠大于樣本數(shù),特征值分解僅適用于方陣。這里就需要用到與特征值分解相同但是適用于任意矩陣特征值的奇異值分解,以求得協(xié)方差矩陣特征向量。
在特征向量和特征值中,越大的特征值(即主成分)對于區(qū)分圖像越有利。因此,只需要選取大特征值對應(yīng)的特征向量。在本文中選取特征向量維數(shù)為40維,在大多數(shù)應(yīng)用中,已經(jīng)夠用了。
導入一個新的人臉,使用主成分分析后得到特征向量,求取每一個特征向量對于導入人臉的權(quán)重向量。利用獲得的權(quán)重向量與樣本集的權(quán)重向量計算歐式距離,判別未知人臉與訓練人臉之間的距離。
4.3 ?算法改進
通過PCA降維后的數(shù)據(jù)不能分類,比LDA缺少一個獨立標志每個數(shù)據(jù)的標簽。做回歸時,如果特征太多,會產(chǎn)生不相關(guān)特征引入、過度擬合等問題。
4.3.1 ?PCA原始降維
PCA能做到的是將整組數(shù)據(jù)整體映射到最方便這組數(shù)據(jù)的坐標軸上,映射時沒有利用任何數(shù)據(jù)內(nèi)部的分類信息。這一方法雖然在表示數(shù)據(jù)方面比較方便,但是在分類上會變得困難。在增加了分類之后,兩組輸入映射到另一個坐標軸上,形成一個新的映射。這樣一來,兩組數(shù)據(jù)就比較容易區(qū)分,在低維上就可以區(qū)分,極大地減少了運算量。
4.3.2 ?加入改進后的LDA算法
對LDA算法進行改進,直接采用PCA降維后的值,而不是原始照片。這樣做的優(yōu)勢在于以下幾點:
(1)數(shù)據(jù)量大大減少,有利于提高程序性能。
(2)多重共線性預測變量之間相互關(guān)聯(lián),多重共線性空間會導致解空間的不穩(wěn)定,進而使得結(jié)果不連貫。
(3)在十維空間方面的值只有0.02%,減少了變量多對查找規(guī)律建立的干擾。
(4)避免了僅分析變量層面,加強了對變量之間潛在聯(lián)系的研究。
4.4 ?對比及分析結(jié)論
改進后的算法正確率比單純使用PCA方法要高得多。由于算法本身存在限制,如果想得到更為正確的結(jié)果,對樣本有較高的要求。如光照、人的表情變化等多個方面都需要考慮。本方案也更換了不同的樣本進行測試。
當樣本選取了常規(guī)表情、光照也較明亮時,正確率很高。當樣本中人臉表情比較夸張,而實際測試時表情又比較正常時,正確率就相對較低。因此,樣本集應(yīng)盡量多,保證有各種表情和不同的光照條件。
在降維方面,本方案采用了40維,實際22維完全可以滿足使用需求。
5 ? ?結(jié)語
隨著社會發(fā)展,人們對人臉識別技術(shù)的應(yīng)用會越來越廣泛,不斷增加的需求也會推動人臉識別技術(shù)向更高的識別率發(fā)展。在這樣的時代背景下,構(gòu)成人臉識別技術(shù)基礎(chǔ)的算法也將不斷得到改進,各類算法之間的優(yōu)勢會在未來得到融合,形成新的算法。本方案提出的算法也只是眾多算法中的冰山一角,人臉識別技術(shù)算法研究還有很長的路要走。
[參考文獻]
[1]張翠平,蘇光大.人臉識別技術(shù)綜述[J].中國圖象圖形學報,2000(11):885-894.
[2]韓軍.基于彈性束圖匹配與隱馬爾科夫模型的人臉識別算法研究[D].蘭州:蘭州理工大學,2012.
[3]周志華.機器學習[M].北京:清華大學出版社,2016.