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