玄 冉,姜明明,王忠祥,米世新,劉涵玉
(山東農(nóng)業(yè)工程學(xué)院,山東 淄博 255000)
伴隨著高新技術(shù)及傳感器的普及和應(yīng)用,生物識(shí)別已經(jīng)逐漸被揭開神秘的面紗,作為生物識(shí)別的一項(xiàng)重要分支,人臉識(shí)別已經(jīng)成為研究領(lǐng)域的熱門話題。生物識(shí)別在安全保障等眾多領(lǐng)域被廣泛應(yīng)用,具有不易偽造、方便快捷、防偽性能好等優(yōu)點(diǎn)。本設(shè)計(jì)為基于人臉識(shí)別的門禁系統(tǒng),可以將疑似人員設(shè)置為庫內(nèi)人員,當(dāng)小區(qū)里的人需要外出時(shí)進(jìn)行人臉采集與人臉定位,然后與庫內(nèi)人臉進(jìn)行比對(duì);當(dāng)識(shí)別為庫內(nèi)人員的時(shí)候,發(fā)出疑似人員不可外出的警示,否則提示可以放開門禁給以通行。
人臉識(shí)別,是利用攝像機(jī)采集到的含有人體面部的圖像[1],通過相關(guān)技術(shù)進(jìn)行檢測(cè),主要識(shí)別人體面部特征信息加以分辨,最終實(shí)現(xiàn)人類個(gè)體分類識(shí)別的一項(xiàng)技術(shù)。
綜上,可以大體將人臉識(shí)別的過程分為四個(gè)步驟,如圖1所示。
圖1 人臉識(shí)別流程圖
1)圖像采集。人體面部表情采集易受到環(huán)境因素的影響,不容易實(shí)現(xiàn),人臉圖像可以通過攝像頭進(jìn)行記錄,許多著名實(shí)驗(yàn)室會(huì)通過嚴(yán)格控制圖像采集的位置,規(guī)范地創(chuàng)建包括姿態(tài)、表情變化在內(nèi)的人臉庫,通過人臉庫進(jìn)行相應(yīng)的研究。
2)人臉檢測(cè)。主要用于面部識(shí)別的預(yù)處理,它能通過處理將面部的位置標(biāo)出。人臉檢測(cè)的目的是透過面部豐富的特征信息篩選出有用的特征,由于環(huán)境條件的干擾是隨機(jī)的,必須將原始采集到的圖像進(jìn)行圖像預(yù)處理。圖像預(yù)處理的方法有中值濾波、灰度拉伸、歸一化處理及銳化等[2]。
3)特征提取。針對(duì)篩選出的最有利分類的特征信息,進(jìn)行適當(dāng)降維,保留最有效的特征信息。
4)分類識(shí)別。將采集的面部特征信息整合成數(shù)據(jù),再與數(shù)據(jù)庫比對(duì)匹配,當(dāng)相似度到達(dá)一定閾值,則將數(shù)據(jù)庫匹配的結(jié)果輸出。其本質(zhì)就是根據(jù)特征相似關(guān)系確定人物信息。
PCA 是縮寫,展開以后就是Principal Component Analysis[3]。利用統(tǒng)計(jì)學(xué)原理,可以按照一定的原則,找到它們之間的不同進(jìn)行分類,簡(jiǎn)化計(jì)算步驟,提高計(jì)算機(jī)的運(yùn)行速率。將圖形進(jìn)行信息處理主要是為了降維,也就是將三維立體的人體圖像特征轉(zhuǎn)換到二維當(dāng)中。正是由于它的這個(gè)功能,這項(xiàng)技術(shù)也被廣泛地運(yùn)用在圖像壓縮的處理當(dāng)中,其最主要的依據(jù)是KL變換。這樣就可以達(dá)到合并數(shù)據(jù)、簡(jiǎn)化數(shù)據(jù)的效果。
在整個(gè)前期圖像輸入過程中,都是以灰度值來進(jìn)行統(tǒng)計(jì)的,即使其變成0~255灰度范圍內(nèi)的像素點(diǎn)。當(dāng)把所有的像素點(diǎn)進(jìn)行分類統(tǒng)計(jì)以后,其會(huì)構(gòu)成一個(gè)矩陣,輸入到之前已經(jīng)創(chuàng)建好的一個(gè)坐標(biāo)空間中,然后經(jīng)過KL變換,就可以很容易地找到需要的信息,這就為之后圖像處理簡(jiǎn)便化奠定了基礎(chǔ)。因?yàn)榇藭r(shí)已經(jīng)收集到的數(shù)據(jù)其實(shí)是三維的,然后經(jīng)過統(tǒng)計(jì)學(xué),保留最主要區(qū)別的特征進(jìn)行降維就可實(shí)現(xiàn)想要的結(jié)果。在PCA中,主要利用這個(gè)構(gòu)成的向量作為基底。
經(jīng)過這項(xiàng)處理之后就能得到特征空間了,接下來的任務(wù)就是旋轉(zhuǎn)使維數(shù)降低[4]。
這個(gè)部分具體包括下面講述的幾個(gè)環(huán)節(jié):捕捉輸入圖像,創(chuàng)建模板庫和特征空間,獲得特征值及對(duì)應(yīng)向量。以下是有關(guān)這三個(gè)部分的詳細(xì)介紹。
1)第一部分。利用攝像機(jī)進(jìn)行圖像采集和捕捉。首先,將采集到的圖像進(jìn)行預(yù)處理得到屬性信息,判斷是否需要進(jìn)行二值化,本文采用的算法是KL算法,KL算法在線性算法中能量集中效率最高,圖像壓縮后均方誤差最低。此種變換方式最主要的限制條件就是背景要一致,完全可以構(gòu)建一個(gè)簡(jiǎn)單的模板庫。
2)第二部分。在上述步驟完成以后,多放幾張同一個(gè)人的圖片進(jìn)去,這就構(gòu)成了一個(gè)訓(xùn)練矩陣。因?yàn)楦袷绞窍嗤?,KL 變換之后就變成一維的,那么每個(gè)照片都能夠統(tǒng)計(jì)為一個(gè)點(diǎn),這樣就使得整個(gè)空間更簡(jiǎn)化了。
3)第三部分。上述步驟完成后,繼續(xù)進(jìn)行下一步,將結(jié)果創(chuàng)建一個(gè)樣本集,那么出現(xiàn)的協(xié)方差矩陣如下。
CA為 矩陣。A是在進(jìn)行灰度二值化后與平均矩陣差值。Xi是平均人臉圖像,M為被測(cè)人員數(shù)量。
在上述CA得到以后,還要找到人和對(duì)應(yīng)的特征向量。因?yàn)楸疚挠玫降乃惴ㄒ訩L 為基礎(chǔ),且最后得到的CA是n×n維的矩陣,因此可以直接求對(duì)應(yīng)的特征值和特征向量。但直接計(jì)算的話,其計(jì)算是非常復(fù)雜的,下面會(huì)介紹一些相對(duì)比較簡(jiǎn)單的辦法。
2.3.1 特征值分解
從這個(gè)式子就能夠很容易得到它們的關(guān)系。那就是CA=AAT的特征向量是A?vi。
在這里需要特別提到的是:運(yùn)用上述提及到的方法,最終得到的計(jì)算結(jié)果是相同的,這也間接證明了確實(shí)起到了簡(jiǎn)化計(jì)算的效果。
制作這個(gè)界面一般可以通過命令創(chuàng)建[6],也可以通過MATLAB提供的圖形用戶界面開發(fā)環(huán)境GUIDE中的圖形用戶界面開發(fā)工具的GUI創(chuàng)建方式制作,本文側(cè)重于后者。
在進(jìn)行編程的時(shí)候,必須要有一個(gè)整體的認(rèn)識(shí)[7],每一部分做什么都要安排得清清楚楚,這樣的話,在真正編寫的時(shí)候才不至于忙亂。具體的整個(gè)系統(tǒng)的設(shè)計(jì)流程,如圖2所示。
圖2 人臉識(shí)別系統(tǒng)框架圖
GUI界面的使用在編寫程序的時(shí)候主要有兩大塊[8],分別是模板庫的顯示和被測(cè)圖片的顯示。
3.3.1 人臉庫采集
在一開始進(jìn)行模板庫的創(chuàng)建時(shí),一般使用的都是ORL人臉數(shù)據(jù)庫,在創(chuàng)建的時(shí)候參照了一定的標(biāo)準(zhǔn)。如果這些庫里面都沒有適合的,就需要自己去拍照,自己去創(chuàng)建,但是需要對(duì)其進(jìn)行預(yù)處理。
整個(gè)數(shù)據(jù)庫由兩部分組成,一部分是模板庫,一部分則是被測(cè)人臉庫。在被測(cè)庫里面有10 個(gè)人的照片,每個(gè)人不同表情的照片各兩張,照片格式大小完全一樣。
3.3.2 特征提取仿真分析
特征值分布圖,如圖3所示。特征提取之前,最重要的是先要把模板庫里面的圖像導(dǎo)入到MATLAB 里面,然后進(jìn)行變換,組成協(xié)方差矩陣。在這個(gè)里面,要把每一個(gè)點(diǎn)的特征值和特征向量計(jì)算出來,就構(gòu)成了所謂的特征分布圖。每個(gè)圖像的特征值差別非常大,但是在這個(gè)過程當(dāng)中必須將其對(duì)應(yīng)到子空間,這樣才能大大降低計(jì)算量,也可以節(jié)約時(shí)間,對(duì)后續(xù)過程中的優(yōu)化也是一個(gè)非常有優(yōu)勢(shì)的舉措。
圖3 特征值分布圖
3.3.3 庫外判別分析
對(duì)疑似病例人員進(jìn)行人臉采集、入庫、訓(xùn)練,得到每個(gè)人的人臉特征值[9]。本設(shè)計(jì)為提取人臉特征值,特征值與樣本庫里面的人臉特征值進(jìn)行一一對(duì)比,設(shè)置一個(gè)判斷閾值。當(dāng)屬于閾值內(nèi),則判定為庫內(nèi)人員,即疑似人員;否則為非疑似病例,提示可以放行。
通過對(duì)實(shí)驗(yàn)結(jié)果的分析可以發(fā)現(xiàn),本設(shè)計(jì)利用MATLAB 數(shù)字圖像處理相關(guān)技術(shù)及PCA 算法進(jìn)行人臉識(shí)別,在一定程度上能解決疫情期間人員管控的相關(guān)問題。MATLAB仿真結(jié)果表明:人臉識(shí)別的準(zhǔn)確率可以達(dá)到80%,它可以有效解決人員流竄問題,有效地避免人力物力資源的浪費(fèi),本文所設(shè)計(jì)的系統(tǒng)對(duì)疫情防控是實(shí)用的。