摘 要:本項目從基于PCA算法的人臉識別出發(fā),采用了FPGA和Android智能終端結(jié)合構(gòu)建了人臉識別的測試平臺。選用Android終端來采集人臉圖像數(shù)據(jù),F(xiàn)PGA作為后臺算法處理平臺測試和驗證算法。測試結(jié)果識別率準(zhǔn)確,效果良好。
關(guān)鍵詞:FPGA;PCA;人臉識別;特征臉
一、引言
傳統(tǒng)類似身份證或磁卡的人員識別方法,易遺失,易于偽造,無獨特性。所以現(xiàn)演化成虹膜、人臉、指紋以及聲紋等識別方式,這些生物特征不易遺失,安全性更高。其中人臉識別的過程速度快[1],而且有非接觸性,屬于非侵犯性的識別方法。透過以上比較各種識別方式,本項目將選用人臉識別來進(jìn)行研究。
二、基于PCA的人臉識別方法
PCA(Principal Component Analysis)):主要用于數(shù)據(jù)處理過程中降低資料的維度,并使得原始數(shù)據(jù)所表達(dá)的信息得以保留。這被有效的運用于人臉識別中的特征提取[2]。基于PCA的人臉識別算法的工作過程包含多個步驟,各步驟的作用如下:
(一)創(chuàng)建數(shù)據(jù)庫
創(chuàng)建數(shù)據(jù)庫過程包括圖像灰度化和降維。
1、讀入人臉數(shù)據(jù)
進(jìn)行人臉的灰度化,如圖1所示。
2、人臉圖像降維處理
人臉圖像通常以二維方式進(jìn)行存儲,為提升識別效率,需進(jìn)行降維處理,將其由二維轉(zhuǎn)換成一維,過程如下:先獲得人臉圖像的大小,然后進(jìn)行行轉(zhuǎn)置處理,在此以列為對象獲得灰度值,從而可得到對應(yīng)的一維向量[3]。
(二)計算特征臉
獲得特征臉時,對降維之后的人臉矩陣規(guī)范化,如圖2所示。其次進(jìn)行協(xié)方差計算,從而得到特征向量形成特征臉。
(三)人臉識別過程
人臉識別需要對待測圖像進(jìn)行分析、識別,以此獲得特征向量,然后將其與特征庫中特征進(jìn)行投影,目的在于計算各特征之間的距離值,該值是選擇識別結(jié)果的基礎(chǔ),一般選擇值最小的人臉圖像作為識別結(jié)果。
三、基于FPGA的人臉識別過程
本項目采用Android智能終端和FPGA相結(jié)合的方式實現(xiàn)基于FPGA的人臉識別,如圖3所示。
由圖4可知人臉識別流程,說明如下:
(1)由Android終端進(jìn)行人臉數(shù)據(jù)采集,F(xiàn)PGA作為PCA算法處理平臺測試和驗證算法。
(2)在FPGA平臺上將對人臉圖像進(jìn)行預(yù)處理,包括二值化、腐蝕和膨脹處理。
(3)從預(yù)處理后的人臉圖像中提取人臉特征,形成特征臉向量。
(4)通過AXI總線協(xié)議將特征向量傳輸?shù)紸RM,由ARM進(jìn)行人臉對比。
(5)在RAM中通過與人臉庫的對比獲得匹配結(jié)果,結(jié)果由Android終端顯示。
四、人臉識別系統(tǒng)應(yīng)用
為了實現(xiàn)人臉圖像采集的方便性和識別結(jié)果顯示的直觀性,本項目采用了Android終端作為了圖像抓取終端和顯示終端。
現(xiàn)將該應(yīng)用的功能介紹如下:
(一)人臉數(shù)據(jù)注冊
利用Android終端的攝像頭進(jìn)行人臉圖像抓取并注冊,目的是將待測人臉加入人臉庫中,同時錄入人臉的對應(yīng)姓名,用于識別成功后的顯示,也是啟動人臉識別的基礎(chǔ)。若沒有注冊人臉,將無法進(jìn)行識別。
(二)人臉識別
通過人臉識別界面的start按鈕,啟動人臉識別。將Android讀取的待測人臉轉(zhuǎn)換為FPGA可讀取的信息,傳輸?shù)紽PGA板以啟動人臉識別。
(三)識別結(jié)果的顯示
在識別完成后,F(xiàn)PGA把結(jié)果傳輸?shù)紸ndroid進(jìn)行顯示。若識別成功,將顯示人臉注冊時的姓名,如圖4(a)所示顯示待測人臉的姓名為“程遙”;若識別失敗,則顯示“查無此人”。
為驗證人臉識別算法的有效性,以及基于FPGA系統(tǒng)的能否正常運行,本項目設(shè)置了多個測試策略,以下對各測試策略進(jìn)行詳細(xì)說明。
將待測人臉進(jìn)行注冊之后,現(xiàn)將進(jìn)行非正常情況下的測試,例如側(cè)面角度和遮擋人臉部分特征情況下測試能否識別成功,其測試結(jié)果如圖4(b)(c)所示,與預(yù)期結(jié)果一致。
(a) Android終端界面 (b)有遮擋時識別結(jié)果顯示 (c)側(cè)臉時識別結(jié)果顯示
五、總結(jié)
(1)當(dāng)人臉圖像未注冊而直接進(jìn)行識別時,界面顯示查無此人,結(jié)果正確。
(2)當(dāng)待測人臉注冊后進(jìn)行識別,識別成功后會再界面顯示人臉對應(yīng)的姓名,同時在對人臉特征有部分遮蓋的情況下,識別結(jié)果也正確。
(3)在進(jìn)行了人臉識別速度進(jìn)行了測試,人臉識別速度與人臉圖像庫中人臉數(shù)量成正比關(guān)系。本項目測試了200張人臉圖像,其識別平均速度為0.932秒。
參考文獻(xiàn):
[1]章毓晉.圖像處理[M].北京:清華大學(xué)出版社,2007:87-89
[2]程自龍,雷秀玉.基于K-L變換(PCA)的特征臉人臉識別方法綜述[J].中國圖像圖形學(xué)報,2010,20(22):15-18.
[3]倪世貴,白寶剛.基于PCA的人臉識別研究[J].現(xiàn)代計算機,2011,23(42):20-22
作者簡介:
程遙(1983-),女,漢,四川成都人,講師,研究生,主要研究方向為電子信息技術(shù)。