張 偉,程 剛,何 剛,閻 石
(1.蘭州大學(xué) 信息科學(xué)與工程學(xué)院,甘肅 蘭州 730000;2.蘭州大學(xué) 網(wǎng)絡(luò)安全與信息化辦公室,甘肅 蘭州 730000)
人臉識別是指采用機(jī)器對人臉圖像進(jìn)行分析處理,提取有效的人臉信息,達(dá)到身份識別的目的[1]。該技術(shù)在視頻監(jiān)控、信息安全、身份認(rèn)證等方面已有廣泛的應(yīng)用[2]。
近年來,基于全局特征提取的子空間方法和局部二值方法取得了巨大的成功。Turk和Pentland提出的PCA(principal component analysis)[3-4]算法,為人臉識別奠定了基礎(chǔ)。LBP(local binary patterns)算法的適用面非常廣泛,而且得到了更深層次的發(fā)展,比如在掌紋識別和雙耳區(qū)域識別等方面[5-6]。然而,這些方法在光照、表情、姿態(tài)等干擾情況下尚未得到良好的解決方案。
傳統(tǒng)人臉識別算法在嵌入式平臺人臉識別率偏低且添加陌生人臉效率欠佳,不能滿足實(shí)際應(yīng)用的基本需求。
因此,文中提出基于Gabor小波和LBPH方法構(gòu)建實(shí)時動態(tài)人臉識別系統(tǒng)。首先利用Gabor小波提取多方向、多尺度的局部圖像特征,然后將這些特征串聯(lián)到人臉空間,并應(yīng)用LBP算子對人臉空間編碼,最后進(jìn)行LBP直方圖統(tǒng)計,以獲取最終人臉識別特征。為了實(shí)現(xiàn)人臉數(shù)據(jù)的動態(tài)管理,將人臉庫和MySQL數(shù)據(jù)庫結(jié)合起來完成系統(tǒng)開發(fā),并通過實(shí)驗驗證。
二維Gabor小波能夠在時域和頻域同時達(dá)到對信號分析分辨率的要求,具有提取圖像局部信息的能力。此外,由于Gabor小波對光照和圖像的變形有較好的魯棒性,所以在圖像處理中應(yīng)用廣泛。二維Gabor小波的表達(dá)式為[7]:
(1)
研究發(fā)現(xiàn),Gabor小波在頻率和方向上對圖像的表示特性與人類視覺系統(tǒng)的有關(guān)性很相似。因此,Gabor小波適宜于圖像紋理的表示和判斷,能更好地提取人臉特性[9]。將人臉灰度圖像記為I,與二維的Gabor核函數(shù)做卷積運(yùn)算,得到人臉圖像的Gabor特征表示為:
wk(z)=I(z)*φ(k,z)
(2)
其中,*表示卷積;wk(z)為Gabor小波人臉,可以表示為wk(z)=Akeiφk,Ak和φk分別是wk(z)的幅值和相位。文中提取wk(z)幅值特征Ak(5個尺度,8個方向),并將調(diào)整為32×32,得到40 960個浮點(diǎn)特征向量。
目前傳統(tǒng)的識別方法與Gabor結(jié)合,將每個Gabor特征圖像看作一個獨(dú)立圖像,這樣做的后果是識別太耗時且識別率不理想[10]。文中Gabor小波提取的幅值特征圖像共有40個,將這40幅圖像串聯(lián)到人臉特征空間形成一幅圖像。然后,在人臉特征空間,以每個像素點(diǎn)gc為中心,使用半徑R=1,數(shù)量P=8的圓形LBP采樣,判斷采樣點(diǎn)gp與中心像素點(diǎn)gc的差值,再編碼人臉特征空間。p由二值線性差值獲得,其與gc的差值由式3獲得。因此,式3十進(jìn)制轉(zhuǎn)換得到LBP編碼值,即式4[11]:
(3)
(4)
最后,將人臉特征空間分為64個子空間,每個子空間的浮點(diǎn)特征向量值為20。設(shè)人臉特征子空間為fz(x,y),z∈{0,1,…,63},直方圖為Hμ,v,μ∈{0,1,…,7},ν∈{0,1,…,7}。每個特征向量的LPBH直方圖值為:
hi=∑I{fz(x,y)=i},i=0,1,…,255
(5)
人臉的分類識別是通過匹配LBPH直方圖序列的相似度來完成的。文中選用最近分類器對LBPH提取的人臉特征進(jìn)行分類,用LBPH特征相似度方差描述兩個樣本之間的相似程度,方差越小,說明兩個樣本越相似。給定訓(xùn)練樣本集Ti中的樣本x與測試樣本集Te中的樣本y,其中LBPH特征分類分別為Hi和Hy且二者的相似度定義如下:
(6)
其中,a為特征向量的長度;d2為相似度方差。d取值越小,則兩個人臉樣本越相似。
按照式6計算測試樣本LBPH特征和訓(xùn)練樣本LBPH特征之間的相似度方差之后,測試樣本應(yīng)歸為對應(yīng)方差值最小的那一類當(dāng)中。
該系統(tǒng)使用的人臉分類器是由Viola和Jones提出的基于機(jī)器學(xué)習(xí)的人臉檢測算法,其可以分為三部分:使用Harr-like特征表示人臉,利用Adaboost算法構(gòu)造人臉檢測強(qiáng)分類器,將訓(xùn)練得到的若干強(qiáng)分類器串聯(lián)組成一個級聯(lián)結(jié)構(gòu)的層疊分類器檢測人臉[13]。系統(tǒng)先加載訓(xùn)練好的人臉庫,再讀取攝像頭并截取人臉圖像。將人臉圖像做直方圖均衡化的預(yù)處理,然后使用所提算法進(jìn)行識別。若識別成功則等待下次識別,若不成功將人臉加載到人臉庫中訓(xùn)練。整個算法及識別過程如圖1所示。
在ORL數(shù)據(jù)庫里,隨機(jī)選取每個人一幅、三幅、五幅、七幅圖像作為訓(xùn)練集,再選取另外40幅圖像作為測試集,經(jīng)過多次測試,得出最佳人臉識別率。仿真結(jié)果如表1所示。
圖1 基于Gabor和LBPH算法及人臉識別過程
%
在FERET人臉庫,所使用的人臉圖像包含200個人,每個人7幅圖像共1 400幅正面人臉圖像。在FERET人臉庫中選取一幅、二幅、三幅、五幅圖像作為訓(xùn)練樣本,其余作為測試樣本。表2為仿真測試數(shù)據(jù)。
表2 各方法在FERET人臉庫的最佳識別率 %
在YALE人臉庫,所使用的人臉圖像包含15個人,每個人11幅圖像共165幅正面人臉圖。選取YALE人臉庫中的一幅、三幅、五幅、七幅圖像作為訓(xùn)練樣本,其余作為測試樣本。表3為仿真測試數(shù)據(jù)。
表3 各方法在YALE人臉庫的最佳識別率 %
從對比各算法來看,采用文中算法具有更高的識別率,魯棒性更好,更適合實(shí)際應(yīng)用。
選用Exynos 4412芯片的嵌入式平臺,CPU為32 nm制程,四核1.4 GHz主頻。該平臺配備1GB DDR3,4 GB固態(tài)硬盤EMMC存儲,三星S5M8767電源管理芯片和USB接口,具有低功耗,高性能等特點(diǎn)。系統(tǒng)將嵌入式QT作為操作系統(tǒng)。選取Exynos 4412作為嵌入式平臺開發(fā)人臉識別系統(tǒng)時,視頻采集部分采用Linux下V4L2接口。攝像頭每秒可以采樣2幅圖像,設(shè)備文件在根文件系統(tǒng)/dev目錄下的Video4中。視頻處理部分采用OPENCV視覺庫實(shí)現(xiàn)算法。移植MySQL數(shù)據(jù)庫處理人臉信息等數(shù)據(jù)。
系統(tǒng)選取了實(shí)驗室12個人的人臉,每人兩幅,其中1幅作為訓(xùn)練集人臉圖像,另一幅用于測試。表4為實(shí)驗測試數(shù)據(jù)。
表4 各方法在自建人臉庫的最佳識別率
另外,筆者測試了將Gabor小波的幅特征看作獨(dú)立樣本,再運(yùn)用LBPH提取人臉特征,識別時間為887.48 ms,實(shí)時性較差。實(shí)驗結(jié)果表明,該系統(tǒng)不僅識別時間減少,而且人臉識別率較高。
傳統(tǒng)嵌入式平臺人為添加人臉耗時較長,不利于嵌入式實(shí)時地識別人臉,給用戶帶來不便[14]。該系統(tǒng)會尋求用戶編輯人臉信息,可將陌生人臉加入到人臉庫并自動進(jìn)行人臉信息編號。人臉庫每次增加一個人就在MySQL數(shù)據(jù)庫里增加一行記錄,每一行有唯一的編號對應(yīng)人臉庫中的人員信息。該系統(tǒng)先從攝像頭采集人臉并對其采集人臉圖像做預(yù)處理,然后進(jìn)行識別。若識別成功,則顯示人員信息和編號。若識別失敗,用戶可以輸入人臉信息,存儲于MySQL和人臉庫中,從而重新訓(xùn)練人臉庫。實(shí)時人臉識別過程如圖2所示。
(1)識別失敗
(2)識別成功
提出一種Gabor和LBPH結(jié)合的實(shí)時人臉識別算法,識別率高,相應(yīng)系統(tǒng)具有在線管理方式,節(jié)省了人工成本。在Exynos 4412嵌入式平臺所開發(fā)的實(shí)時臉識別系統(tǒng),充分利用了硬件系統(tǒng)的性能。搭建的小型化人臉識別系統(tǒng)為人工智能、物聯(lián)網(wǎng)、考勤系統(tǒng)等提供了一種解決方案,有望推廣到各類身份識別的應(yīng)用場景。