劉一平,袁富宇
(江蘇自動化研究所,江蘇連云港 222061)
一種應用于超大數(shù)據(jù)庫的人臉識別方法
劉一平,袁富宇
(江蘇自動化研究所,江蘇連云港 222061)
針對數(shù)據(jù)庫中待識別人臉數(shù)目巨大,計算困難的問題,提出了一種基于小波變換和主成分分析的人臉識別方法。該方法首先對數(shù)據(jù)庫中的人臉進行小波變換,然后對小波變換后的圖像進行主成分分析提取特征,將特征送入BP神經(jīng)網(wǎng)絡進行訓練、識別。經(jīng)過對比實驗,結果表明:該方法可以在保證較高識別率的前提下,大大降低數(shù)據(jù)維數(shù),從而該方法可以應用于超大數(shù)據(jù)庫的人臉識別。
人臉識別;超大數(shù)據(jù)庫;小波分解;主成分分析;BP神經(jīng)網(wǎng)絡分類器
人臉識別[1]是利用計算機技術從包含人臉的靜止圖像或視頻序列中提取人臉個性化特征,并以此識別出人的身份的一種技術。如何有效地從人臉圖像中提取特征并設計分類算法對特征進行分類識別是人臉識別的關鍵問題。在基于主成分分析的人臉識別系統(tǒng)[2]中進行實驗發(fā)現(xiàn),主成分分析法具有處理速度快、識別率高的特點,可以很好地用于實踐。為減少主成分分析的計算量,可以用樣本散布矩陣間接求得特征值及特征臉[3]。文獻[4]在主成分提取特征之前先對圖像進行小波分解,將分解后的子圖像進行加權求和構成新的圖像,然后對該圖像進行主成分分析,實驗證明該方法減少圖像噪聲對識別率的影響。文獻[5]提出構建小波變換和稀疏表示的人臉識別分層框架也取得了不錯的結果。
提取人臉個性化特征首先要解決人臉數(shù)據(jù)表示的問題,即如何將一個二維圖像矩陣表示為一個低維個性特征向量。小波分解就是將一幅二維圖像分解為不同頻率的子圖像,其中:高頻成分代表圖像邊緣和細節(jié),低頻成分表示圖像的主要內容,這樣就降低了圖像的尺寸。主成分分析是將高維信息在低維空間中進行投影,以投影系數(shù)作為特征向量,從而降低數(shù)據(jù)維數(shù)。通過對小波分解和主成分分析的融合,可以減少特征提取計算量,從而可以應用到超大數(shù)據(jù)庫中。本文在小波分析(Wavelet Analysis,WA)和主成分分析的基礎上設計新的特征提取方案,旨在適用于超大數(shù)據(jù)庫的人臉特征提取,用反向傳播(Back Propagation,BP)網(wǎng)絡進行分類識別。實驗證明,在保證正確識別率的情況下,該方法可以加快識別速度。
1.1 小波分解
文獻[6]提出了一種基于小波分析的人臉特征提取方法,利用小波變換的多分辨性,對人臉進行低維表達,然后在小波系數(shù)矩陣中直接進行特征定位和提取。圖1是對圖像用小波db3進行一階分解的結果,從圖片上可以看出:低頻成分(LL)顯示了人臉的主要成分;高頻成分代表了細節(jié)和邊緣輪廓(HH)。文獻[6]還描述了小波變換的遞推公式,通過連續(xù)對低頻圖像進行小波變換可以對一幅圖像進行連續(xù)階數(shù)的小波分解。
本文對小波分解后的低頻圖像和高頻圖像分別進行特征提取,將低頻和高頻特征進行組合構造新特征,以此來降低計算量。將一幅人臉圖像用小波db3進行一階小波分解,得到圖像如圖1所示。
1.2 主成分分析
1)基本原理
由正交變換,將存在冗余信息的P個原始向量變?yōu)镸個彼此相互正交的新向量,而這M個相互正交向量中的前K個具有較大功率的向量成為主要成分,即主成分[7]。將這K個相互正交并且具有較大功率的向量張成一個子空間,將原始向量在該空間中進行投影,投影系數(shù)構成特征向量。
圖1 一階小波分解圖像
主成分分析的本質就是將高維數(shù)據(jù)投影到低維空間中,從而實現(xiàn)數(shù)據(jù)降維,進而實現(xiàn)人臉特征提?。?]。
2)具體步驟
①圖像數(shù)據(jù)庫預處理
假設數(shù)據(jù)庫中圖像大小為R×W,訓練樣本數(shù)為N。將圖像表示為n×1維向量,其中n=R×W記為xi(i表示第i幅訓練圖像,i=1,2,…,N)。生成訓練樣本集,記為:
那么訓練樣本集的總體散布矩陣記為:
或者
②構造類間散布矩陣
假設第i(i=0,1,2,…,p-1)個人有k幅圖像,那么第i個人的平均圖像就是
所有訓練樣本圖像矢量的平均矢量為
其中:p是訓練樣本庫中的總人數(shù)。
定義類間散布矩陣
其中p(wi)表示第i個人的人臉圖像先驗概率,p(wi)=k/N。
③用S矩陣求特征向量
求散布矩陣S的特征值λ1,λ2,…,λn,并求得這些特征值所對應的正交特征向量u1,u2,…,un,并且有如下關系:λ1≥λ2≥…≥λn。取前t個較大的特征向量張成特征空間U,即U=span{u1,u2,…,ut}。將圖像x在特征空間U中進行投影,得
那么向量[k1,k2,…,kt]T就是圖像X生成的特征向量。
圖2是利用該方法進行人臉特征提取的效果展示,取占總能量90%的前t個最大特征值所對應的特征向量構成空間U=span{u1,u2,…,ut}。將圖像在該空間中投影,實驗結果如圖。那么α=[8630.8,8739.9,-1752.9,2061.4,…]T就是左側人臉圖像的特征向量。
圖2 主成分分析提取特征
1.3 BP神經(jīng)網(wǎng)絡
BP神經(jīng)網(wǎng)絡是一種基于誤差反向傳播的前饋神經(jīng)網(wǎng)絡,Robert Hecht?Nielson[9]已經(jīng)證明具有單個隱含層的BP神經(jīng)網(wǎng)絡可以有效地逼近任意的連續(xù)函數(shù)。但是BP神經(jīng)網(wǎng)絡有容易陷入局部極小值的缺陷,可以用遺傳算法對BP神經(jīng)網(wǎng)絡進行優(yōu)化[10]。三層BP神經(jīng)網(wǎng)絡結構如圖3所示。
圖3 三層BP神經(jīng)網(wǎng)絡
BP神經(jīng)網(wǎng)絡是將原始輸入信號正向傳播,經(jīng)隱含層到達輸出層。如果輸出的結果不滿足期望,就會在輸出層產(chǎn)生誤差信號,則將誤差信號作為調整信號反向傳播。在本文中,輸入層的輸入就是第1.2節(jié)中產(chǎn)生的人臉特征向量;輸出層的期望輸出就是每個人的編號,一般情況下用0、1表示,即輸出40維列向量,第i個人的期望輸出為第i個元素為1其余元素為0的40維向量。本文中的期望輸出用0.1、0.9表示,因為不同樣本之間存在一定得模糊性,實驗也證明該方法識別率有所提高。
2.1 改進特征提取方法
本文介紹了主成分分析方法,其中假設數(shù)據(jù)庫中圖像大小為R×W,訓練樣本數(shù)為N。將圖像表示為n ×1維向量,其中n=R×W,記為xi(i表示第i幅訓練圖像,i=1,2,…,N)。生成訓練樣本集,記為:
那么訓練樣本集的總體散布矩陣記為:
或者
ORL數(shù)據(jù)庫中圖像大小為112×92,即R=112,W=92;樣本數(shù)為200,即N=200。
那么矩陣X的大小為10304×200,總體散布矩陣C為10304×10304的矩陣。如此大的矩陣要計算出其特征值、特征向量是很困難的,為了克服這個困難,我們可以根據(jù)奇異值定理求XTX200×200的特征值和特征向量來間接求得C的特征值、特征向量。算法如下:
假設XTX的r個特征值為λ1,λ2,…,λr相應的特征向量為v1,v2,…,vr。由奇異值(SVD)分解定理[7],XTX相應的特征向量為
那么特征臉空間為U=span{u1,u2,…,ur}。
根據(jù)奇異值分解定理可以將求C10304×10304的特征值變?yōu)榍笠粋€200×200矩陣的特征值,大大減少了計算量。但是隨著數(shù)據(jù)庫的增大,當樣本容量N?200,即使使用奇異值定理,新的矩陣為N×N,該矩陣也很難計算特征值和特征向量。
本文就是計算當數(shù)據(jù)容量N?200時,通過降低散布矩陣維數(shù)進而減少計算量,使得主成分分析方法不因為數(shù)據(jù)容量增加而變得不可實現(xiàn)。
本文思路是:在生成訓練樣本之前,首先對每幅人臉圖像進行小波變換,旨在降低圖像尺寸;用小波變換后的尺度較小的低頻和高頻圖像構造訓練樣本矩陣,然后分別對低頻和高頻圖像分別進行特征提?。蛔詈髮⒌皖l和高頻特征進行融合送入BP神經(jīng)網(wǎng)絡進行分類識別。例如ORL數(shù)據(jù)庫圖像為10304維,如果進行小波變換使得圖像降低為K維記為x′,K?10304,那么不用利用奇異值定理,訓練樣本的總體散布矩陣就變成:
C的尺寸將會變成K×K,計算復雜度降低,使得處理超大數(shù)據(jù)庫更加簡單。
2.2 計算步驟
1)小波變換
本次實驗使用ORL數(shù)據(jù)庫,數(shù)據(jù)庫中共40個人,每人10幅圖像。取每人前5幅圖像,共200幅圖像,作為訓練樣本集,剩余圖像作為測試樣本集。圖4為ORL中兩個人的人臉數(shù)據(jù)庫。
圖4 ORL部分人臉數(shù)據(jù)庫
首先將人臉圖像進行小波變換,分別取低頻、高頻圖像A、B,按照上文步驟生成訓練樣本集:
如果進行三階小波變換,那么M、N均是270×的矩陣。
2)主成分分析
步驟1)得到了低頻人臉數(shù)據(jù)庫M和高頻人臉數(shù)據(jù)庫N。按照如下公式分別求得M和N的散布矩陣。
其中,A-mean和B-mean分別為低頻人臉庫和高頻人臉庫的平均臉向量。
分別求得矩陣S1和S2的特征值和特征向量,取占能量90%的前k個特征值的個數(shù)作為子空間維數(shù),生成兩個特征子空間U=span{u1,u2,…,uk}和V=span{v1,v2,…,vl}。
將每幅人臉圖像的低、高頻圖像分別在低頻子空間和高頻子空間中進行投影,得到兩個特征向量。即任意幅圖像i對應兩個特征向量:
3)BP神經(jīng)網(wǎng)絡分類識別
將得到的每幅圖像的兩個特征向量,分別送入BP神經(jīng)網(wǎng)絡進行分類識別;或將兩個特征向量進行融合,構成一個特征向量,送入BP神經(jīng)網(wǎng)絡進行分類識別。訓練樣本送入神經(jīng)網(wǎng)絡訓練之前,要將訓練樣本輸入順序隨機打亂,這樣便于充分訓練,提高識別率。
本文實驗分為四部分:1)原來方法的復現(xiàn),直接對圖像進行主成分特征提??;2)首先將圖像進行一階小波分解,對低頻和高頻圖像分別進行主成分分析提取特征,對特征進行分類識別;3)將2)生成的低頻圖像再次進行小波分解,將分解后的低頻和高頻圖像分別進行主成分分析提取特征,對特征進行分類識別;最后是把3)生成的低頻圖像再次進行小波變換,然后對低頻和高頻圖像分別進行主成分分析提取特征,對特征進行分類識別。
3.1 原始圖像的主成分特征識別
將原始訓練圖像按列展成向量,例如將第i幅圖像展成列向量xi(i=1,2,…,200),構成矩陣X=(x1,x2,…,x200)。根據(jù)奇異值定理求X的特征值、特征向量,將特征值按照從大到小順序排列。占總能量90%的特征值個數(shù)是71,即取前71個最大特征值對應的特征向量構成主成分子空間,將圖像在該子空間上進行投影得到特征向量,特征向量維數(shù)是71。
表1 隱含層神經(jīng)元個數(shù)對識別率影響
將特征送入BP神經(jīng)網(wǎng)絡進行確認識別,實驗中隱含層取值范圍為多次實驗獲得的峰值附近;改變隱含層神經(jīng)元的數(shù)目進行10次實驗,表中為10次實驗中的最大值和最小值及平均值,結果如表1、圖5??梢钥闯觯贿M行小波變換,即不損失原始信息的前提下,識別率可以達到90%左右;識別率在一定范圍內隨隱含層神經(jīng)元個數(shù)增加而增加,但是二者不成正比例關系。
圖5 識別率與隱含層節(jié)點數(shù)關系折線圖
3.2 一階小波圖像的主成分特征識別
對原始圖像進行小波變換,得到一階小波變換的低頻圖像矩陣和高頻圖像矩陣S1、S2。分別計算S1、S2的特征值,占總能量90%的特征值個數(shù)分別是59、141??芍闯?,高頻矩陣的特征值比較均勻,即能量沒有集中在少數(shù)幾個特征向量上。用低頻特征進行仿真實驗,然后在將低頻和高頻特征進行融合計算識別率。
1)低頻特征仿真實驗
用低頻散布矩陣的前59個特征值(其和大于所有特征值和的90%)對應的特征向量作為子空間,將圖像在該子空間中進行投影,提取特征向量。經(jīng)實驗,該向量為59維,構造輸入層神經(jīng)元為59,輸出層神經(jīng)元個數(shù)為40,隱含層神經(jīng)元個數(shù)可變的BP神經(jīng)網(wǎng)絡進行仿真實驗。實驗結果如表2,低頻特征識別率與隱含層神經(jīng)元個數(shù)關系如圖6。
圖6 識別率與隱含層神經(jīng)元個數(shù)關系
從表2、圖6可以看出一階小波變換后,低頻圖像的主成分特征的識別率可以達到90%左右,即人臉圖像主要信息包含在低頻成分中;識別率和隱含層神經(jīng)元數(shù)目不成比例關系。
表2 識別率與隱層神經(jīng)元個數(shù)關系
2)低頻、高頻融合特征仿真實驗
將圖像低頻特征和部分高頻特征融合成一個新的向量,用該特征作為圖像的特征向量進行識別,結果如表3所示。
表3 高頻特征個數(shù)與識別率關系
小波分解后,圖像維數(shù)由原來的10304降低到2784,變?yōu)樵瓉淼?7.02%。計算量大大降低,而實驗結果卻幾乎不受影響,且識別結果很穩(wěn)定。
本次實驗發(fā)現(xiàn)只用圖像低頻和高頻成分進行分類識別可以保證較高的識別率,但是計算量大大減少,而且不受數(shù)據(jù)庫人臉數(shù)增多的影響,因此該方法可以應用到超大人臉數(shù)據(jù)庫的人臉識別中;隨著隱含層神經(jīng)元數(shù)量的增加,識別率有所提高,但是神經(jīng)元增多網(wǎng)絡結構更加復雜,甚至出現(xiàn)過擬合現(xiàn)象。
為了驗證低頻成分在多大程度上保持原始圖像信息,下面對原始圖像分別計算二階和三階小波變換,然后提取特征、計算識別率。
3.3 二階小波圖像的主成分特征識別
對一階小波變換得到的低頻圖像S1再次進行小波變換,得到二階小波變換的低頻圖像矩陣和高頻圖像矩陣S11、S12。分別計算S11、S12的特征值及特征向量,占總能量90%的特征值個數(shù)分別是42、122。用低頻特征進行仿真實驗,然后在將低頻和高頻特征進行融合計算識別率。
1)低頻特征仿真實驗
用低頻散布矩陣的前42個特征值(其和大于所有特征值和的90%)對應的特征向量作為子空間,將圖像在該子空間中進行投影,提取特征向量。經(jīng)實驗,特征向量為42維,構造輸入層神經(jīng)元為42、輸出層神經(jīng)元個數(shù)為40、隱含層神經(jīng)元個數(shù)可變的BP神經(jīng)網(wǎng)絡進行三次實驗。實驗結果如表4。
表4 識別率與隱含層神經(jīng)元關系
圖7 識別率與隱含層神經(jīng)元個數(shù)關系
低頻特征識別率與隱含層神經(jīng)元個數(shù)關系如圖7。對比實驗二,圖像大小變?yōu)樵瓉淼?.82%,計算量大大降低;圖像識別率有所下降,但是仍保持較高水平,即二階低頻圖像仍保持原始圖像的主要信息。
2)低頻、高頻融合特征仿真實驗
將圖像低頻特征和部分高頻特征融合成一個新的向量,用該特征作為圖像的特征向量進行識別,實驗結果如表5所示。
表5 高頻特征個數(shù)與識別率關系
二階小波分解后,圖像維數(shù)降低為806,變?yōu)樵瓉淼?.82%。計算量大大降低,而實驗結果仍然保持較高水平;融合了低頻和高頻特征的特征向量,識別率有所提高。
3.4 三階小波圖像的主成分特征識別
對二階小波變換得到的低頻圖像S11繼續(xù)進行小波變換,得到三階小波變換的低頻圖像矩陣和高頻圖像矩陣S111、S112。通過實驗,分別求得S111、S112的特征值,占總能量90%的特征值個數(shù)分別是25、77,然后將低頻、高頻特征分別進行仿真實驗,最后將二者組合在一起進行仿真實驗。
1)低頻特征仿真實驗
用低頻散布矩陣的前25個特征值(某和大于所有特征值和的90%)對應的特征向量作為子空間,將圖像在該子空間中進行投影,提取特征向量。經(jīng)實驗,該向量為25維,構造輸入層神經(jīng)元為25、輸出層神經(jīng)元個數(shù)為40、隱含層神經(jīng)元個數(shù)可變的BP神經(jīng)網(wǎng)絡進行仿真實驗。實驗結果如表6。
圖8 低頻圖像識別率與隱層神經(jīng)元個數(shù)關系
低頻圖像識別率與隱含層神經(jīng)元個數(shù)n的關系折線圖如圖8所示。從表6、圖8中可以看出,在一定范圍內識別率隨著隱含層神經(jīng)元個數(shù)增加而有所提高,但是在達到某一識別率后上升緩慢,甚至有所回落;低頻圖像像素數(shù)點為270,即經(jīng)小波變換原始圖像尺寸變?yōu)樵瓉淼?.62%,但依然保持較高的識別率。
表6 低頻圖像識別率與隱層神經(jīng)元個數(shù)關系
2)高頻特征仿真實驗
用高頻散布矩陣的前77個特征值(其和大于所有特征值和的90%)對應的特征向量作為高頻子空間,將圖像在該子空間中進行投影,提取特征向量。經(jīng)實驗,該向量為77維,構造輸入層神經(jīng)元為77、輸出層神經(jīng)元個數(shù)為40、隱含層神經(jīng)元個數(shù)可變的BP神經(jīng)網(wǎng)絡進行仿真實驗。實驗結果如表7。
表7 高頻圖像識別率與隱層個數(shù)關系
從圖7可以看出,用高頻圖像提取的特征進行仿真實驗會失效。
3)低頻、高頻融合特征仿真實驗
前面兩個實驗中說明低頻成分可以用來識別人臉,高頻成分可以用來定位人臉。本次實驗是在原來低維特征向量(25維)的基礎上融合了高頻特征(n個,共25+n維特征向量),來檢驗二者融合后識別率變化。實驗結果如表8。
表8 高頻特征個數(shù)與識別率關系
圖9 高頻特征個數(shù)與識別率關系折線圖
表8中隱含層神經(jīng)元個數(shù)是在確定了輸入層神經(jīng)元個數(shù)(25+n)的個數(shù)以后,經(jīng)過反復實驗測得的最佳結果。圖9為識別率與高頻神經(jīng)元個數(shù)關系折線圖。
3.5 實驗結果分析
綜上4個實驗可以看出,用以區(qū)別人臉的主要特征集中在低頻成分中;高頻成分包含人臉輪廓和細節(jié),主要是人臉的共性成分。所以在很多情況下可以用高頻圖像定位人臉,用低頻圖像來識別人臉。下面考慮用融合了低頻成分和部分高頻成分的特征向量來識別人臉。
通過對改進實驗結果和原始實驗結果對比后發(fā)現(xiàn),該方法可以大大減少訓練矩陣尺度;一階小波分解后產(chǎn)生的特征向量可以保持和原始圖像相當?shù)淖R別率,即使是三階小波分解產(chǎn)生的特征也在減少計算量大同時保持了較高的識別率。
該方法旨在研究超大數(shù)據(jù)庫的識別方法,所以在識別率上并沒有很好的提高。僅有在一階小波分解時識別率略有提高,其他階的小波分解識別率甚至有所下降。
實驗中還發(fā)現(xiàn):
1)融合了低頻圖像特征向量和高頻圖像的特征向量,識別率有顯著提高;
2)和直接將圖像進行PCA特征提取的特征向量相比,上述方法除了在計算量上大大減少之外識別率差別不大。即融合低頻和高頻圖像特征向量的新特征向量可以在不犧牲識別率的條件下大大降低計算量;
3)隨著特征向量維數(shù)的不斷增加,在保證最優(yōu)識別率的條件下,隱含層神經(jīng)元個數(shù)也在不斷增加,即BP伸進網(wǎng)絡中輸入層神經(jīng)元個數(shù)增加,隱含層神經(jīng)元個數(shù)也需隨之增加。
本文是在小波圖像變換和主成分分析的基礎上,提取圖像特征向量,用BP神經(jīng)網(wǎng)絡進行分類識別。實驗表明一階小波變換后,像素數(shù)變?yōu)樵瓉淼?7.02%,計算量大大降低,但是識別率幾乎不變,即小波變換后圖像很好地保持了圖像可以用來識別的個性,這也是該方法的可行條件。通過三階小波變換,可以將用來定位人臉的高頻成分和用于識別人臉的低頻成分提取出來。經(jīng)過三階小波分解提取出來的低頻和高頻圖像的像素數(shù)僅為原始圖像像素數(shù)的2.62%,計算量大大減少。經(jīng)過仿真實驗,這種方法不會太大降低識別率,可以用來處理超大人數(shù)據(jù)庫人臉識別問題。
[1] 肖兵,王映輝.人臉識別研究綜述[J].計算機應用研究,2005,22(8):1?5.
[2] 譚光鴻,王兵.基于主成分分析法的人臉識別系統(tǒng)構建[J].裝備制造技術,2016(5):219?220.
[3] 郭黎,冷潔,梅文蘭,等.基于PCA和SVM的人臉識別技術研究[J].湖北民族學院學報(自然科學版),2015,33(2):193?196.
[4] 龔飛,金煒,付冉笛,等.融合小波包細節(jié)子圖及稀疏表示的人臉識別[J].光電工程,2016,43(6):36?42,54.
[5] 翟素蘭,曹慶,謝文浩.基于稀疏表示與小波特征的人臉識別分層框架[J].計算機工程與應用,2016,52(14):146?149,171.
[6] 付瑤,劉志鏡,谷明波.基于小波分析的人臉特征提取方法[J].計算機工程與科學,2002,24(6):52?54.
[7] 張賢達.矩陣分析與應用[M].第2版.北京:清華大學出版社,2013.
[8] 李康順,李凱,張文生.一種基于改進的BP神經(jīng)網(wǎng)絡的PCA人臉識別算法[J].計算機應用與軟件,2014,31(1):158?161.
[9] Robert Hecht?Nielson.Theory of the Back Propagation Neural Network[J].Proceedings of the Internal Joint Con?ference on Neural Networks,1989:593?605.
[10]崔向東,崔婧楠.基于GA?BP神經(jīng)網(wǎng)絡的人臉識別方法研究[J].安徽職業(yè)技術學院學報,2016,15(2):30?32.
A Face Recognition Method Applied to Huge Databases
LIU Yi?ping,YUAN Fu?yu
(Jiangsu Automation Research Institute,Lianyungang 222061,China)
Traditional face recognition methods can’t work well,if there are too many faces in the database.In order to solve the problem,this paper presents a face recognition method based on wavelet transform and principal component analy?sis.Experimental results show that the method can guarantee a high recognition rate,by greatly reducing the data dimension.
face recognition;huge database;wavelet analysis;PCA;BP neural network classifier
TP391
A
10.3969/j.issn.1673?3819.2016.06.025
1673?3819(2016)06?0118?07
2016?08?31
2016?10?13
劉一平(1990?),男,山東濰坊人,碩士研究生,研究方向為基于深度學習的人臉識別技術。
袁富宇(1964?),男,研究員,博士生導師。