張莉莉 陳一
洛陽(yáng)師范學(xué)院物理與電子信息學(xué)院
隨著經(jīng)濟(jì)水平的快速發(fā)展和生活質(zhì)量的不斷提高,入室行竊案件已屢見(jiàn)不鮮。為此,人們對(duì)自身的人身財(cái)產(chǎn)安全產(chǎn)生了很大的擔(dān)憂,為了防范此類(lèi)事情的發(fā)生,目前,科技的發(fā)展與社會(huì)安防需求的提高促使智能門(mén)禁系統(tǒng)的產(chǎn)生,比如感應(yīng)卡式門(mén)禁系統(tǒng),指紋門(mén)禁系統(tǒng),虹膜門(mén)禁系統(tǒng),人臉識(shí)別門(mén)禁系統(tǒng),亂序鍵盤(pán)門(mén)禁系統(tǒng)等等。盡管它們?cè)诎踩?,方便性等方面都各有特長(zhǎng),但是相比其他智能門(mén)禁系統(tǒng),基于人臉識(shí)別的門(mén)禁系統(tǒng)操作簡(jiǎn)便,結(jié)果直觀,無(wú)需用戶接觸,不具有強(qiáng)制性,設(shè)備通用且成本較低。
基于人臉識(shí)別的門(mén)禁系統(tǒng)主要功能是將攝像頭采集到的圖像進(jìn)行識(shí)別,如果通過(guò)身份鑒定就打開(kāi)大門(mén),如果鑒定失敗則不打開(kāi)大門(mén),若鑒定失敗訪客依然要打開(kāi)門(mén)禁則報(bào)警。人臉識(shí)別技術(shù)是一種生物識(shí)別技術(shù),它首先需要通過(guò)具有拍攝功能的設(shè)備對(duì)人臉圖片進(jìn)行采集,然后對(duì)捕捉到的人臉運(yùn)用灰度處理、特征提取等一系列復(fù)雜的算法進(jìn)行處理。較之其他的身份識(shí)別方法,此項(xiàng)技術(shù)需要用到的數(shù)據(jù)量更多,因此識(shí)別結(jié)果也更加精確。處理如此大的數(shù)據(jù)量,可以采用功能強(qiáng)大的MATLAB來(lái)進(jìn)行,文中設(shè)計(jì)了一種利用MATLAB來(lái)進(jìn)行人臉識(shí)別的門(mén)禁系統(tǒng)。
圖1 系統(tǒng)設(shè)計(jì)方案圖
首先進(jìn)行人臉庫(kù)的建立,本系統(tǒng)采樣數(shù)為20。采集格式和像素統(tǒng)一的人臉圖像,用1、2、3等數(shù)字編號(hào)對(duì)人臉圖片進(jìn)行命名。人臉的圖片與圖片的編號(hào)共同構(gòu)成人臉庫(kù)。基于PCA的原理及方法,需要對(duì)人臉庫(kù)內(nèi)的圖片做一個(gè)前期的處理,通過(guò)PCA進(jìn)行降維后,獲得人臉庫(kù)內(nèi)圖片的特征矩陣向量組。選中待識(shí)別圖片后,對(duì)待識(shí)別圖片進(jìn)行一個(gè)相同的處理,得到其特征矩陣向量組。然后通過(guò)歐氏距離,獲得人臉庫(kù)內(nèi)與待識(shí)別人臉歐氏距離最小的人臉圖片,并獲取其編號(hào),將其輸出。在此基礎(chǔ)上運(yùn)用提取到的特征向量,實(shí)現(xiàn)了人臉重建的功能。如圖1為系統(tǒng)設(shè)計(jì)方案圖。
人臉庫(kù)的建立是人臉識(shí)別過(guò)程中最首要的一個(gè)步驟,是進(jìn)行以后所有步驟的基礎(chǔ)。人臉庫(kù)要包括人臉圖片和人臉的名稱兩個(gè)基本信息,人臉庫(kù)的大小在一定程度上會(huì)決定程序總體的運(yùn)行速度。人臉庫(kù)內(nèi)的數(shù)據(jù)越大,人臉識(shí)別的迅速越慢。面向客戶的人臉庫(kù)是由用戶導(dǎo)入的,用戶提供的人臉圖片像素或者照片不統(tǒng)一,可采用批量入庫(kù)工具,將所有人臉圖片的像素改為180*200,JPG格式。然后將這些人臉截圖放在兩個(gè)文件夾中,分別命名為測(cè)試庫(kù)和訓(xùn)練人臉庫(kù)。
構(gòu)造人臉庫(kù)后,要對(duì)人臉庫(kù)內(nèi)的每張圖片循環(huán)進(jìn)行處理,將所有的圖片數(shù)據(jù)變成訓(xùn)練矩陣,將其從二維圖片轉(zhuǎn)換為一維矩陣,構(gòu)成整個(gè)人臉庫(kù)一維矩陣庫(kù)T,圖2為數(shù)據(jù)庫(kù)T的截圖,之后人臉的每張圖片都可以看作是N維空間中的一點(diǎn),運(yùn)用K-L變換將圖像映射到底維空間中[1]。
圖2 數(shù)據(jù)庫(kù)T的部分截圖
將數(shù)據(jù)庫(kù)中得到的灰度圖片按行排列,構(gòu)成協(xié)方差矩陣A,A可以表示用人臉庫(kù)內(nèi)的每張人臉的灰度圖片減去平均人臉圖像構(gòu)成的矩陣。獲得協(xié)方差矩陣后,基于PCA理論的K-L變換,就可以求出每張人臉圖片的特征值和特征向量,這些特征值和特征向量可以看作每張人臉的特征。每個(gè)特征值構(gòu)成一個(gè)特征向量,將所有的特征值對(duì)應(yīng)的特征向量集合起來(lái),就構(gòu)成了特征向量子空間[2],將每張人臉提取到的特征值按照從大到小的順序進(jìn)行排列可得到圖3所示。
圖3 特征值分布圖
對(duì)從MATLAB輸出的人臉特征分布圖進(jìn)行分析,可以看出,每一張人臉具有不同的特征值,而且每張人臉之間的特征值的區(qū)別還相對(duì)較大。
將人臉庫(kù)內(nèi)的每張人臉運(yùn)用PCA算法獲取到特征值之后,將這些特征值轉(zhuǎn)換為特征空間中的一點(diǎn)。利用歐氏距離的方法達(dá)到模板匹配的功能。歐氏距離是在目前的所有匹配方式中適用范圍最廣泛的一種匹配方式,可以把歐氏距離看作是兩個(gè)個(gè)體之間相似度的參數(shù),兩點(diǎn)之間的歐氏距離越小,就表示兩張圖片之間的相似度越高。用歐氏距離最小原則得出與測(cè)試人臉最匹配的人臉。
要在matlab中實(shí)現(xiàn)模塊匹配的功能,首先將測(cè)試人臉投影到特征值的子空間中,然后進(jìn)行其與每張圖片之間的相似度測(cè)定,即計(jì)算此圖片與庫(kù)內(nèi)每張人臉圖片的歐氏距離,對(duì)比找出與測(cè)試人臉具有最小歐式距離的人臉并獲取該人臉的數(shù)字代號(hào),這樣就可以匹配到待測(cè)人臉與庫(kù)內(nèi)最相似的一張人臉圖片。此模塊可以比較好的完成人臉模板匹配的功能。
在特征提取模塊中,提取到了整個(gè)人臉圖庫(kù)的特征值和特征向量,所有的特征值都有大小之分,較大的特征值對(duì)應(yīng)較大的特征向量,把較大的特征向量叫做主分量。相應(yīng)的,也有較小的特征分量,但較小的特征分量只能表示出人臉圖片中的小特征,像人的鼻子,嘴巴。人臉重建需要的就是獲取到的特征向量[3],用特征向量構(gòu)建到特征向量矩陣,就可以得到特征人臉,用特征人臉便可以重新構(gòu)造出人臉。這個(gè)模塊中的人臉重建其實(shí)也就是從人臉圖片提取到提取特征向量的一個(gè)逆過(guò)程。用p表示特征向量的數(shù)目,分別取p=1、3、4、6、8來(lái)重建人臉。可以看出,p=1時(shí),人臉重建得到的圖片較模糊,隨著p值的不斷增大,人臉重建得到的圖片則愈發(fā)清晰,p=8時(shí),則可以較完美的重建出人臉。
圖4的這張圖片,取自人臉庫(kù)內(nèi)的圖片,可以看出隨著特征向量數(shù)目的增多,人臉重建的效果越顯著,最后匹配成功,小區(qū)門(mén)禁系統(tǒng)就會(huì)打開(kāi),而圖5的圖片沒(méi)有參與過(guò)人臉訓(xùn)練,無(wú)論我們將特征向量的數(shù)目設(shè)置為多少,都不會(huì)清晰的重建出人臉圖片,小區(qū)門(mén)禁系統(tǒng)不會(huì)打開(kāi)門(mén)鎖。
圖4 人臉重建效果圖1
圖5 人臉重建效果圖2
人臉識(shí)別技術(shù)相對(duì)于接觸式的指紋識(shí)別有許多不同之處,PCA其自身處理數(shù)據(jù)的包容性能夠?qū)⒃紨?shù)據(jù)有一個(gè)更好的呈現(xiàn)。