朱天星 黃世震
摘 要:目前,高智能化的人臉識別系統(tǒng)一般都是基于PC平臺,系統(tǒng)復雜集成度高,需要優(yōu)異的軟硬件支持。嵌入式技術(shù)的應用,有利于提高人臉識別系統(tǒng)的靈活性與有效性。本文針對傳統(tǒng)的人臉識別算法提出一種改進的LBP算法用于人臉識別。實驗結(jié)果表明:該算法在ORL、Yale及自建的人臉庫上也能進行人臉識別。
關(guān)鍵詞:人臉識別;基于分塊加權(quán)的LBP算法;Adaboost檢測算法
中圖分類號:TP391.41 文獻標識碼:A 文章編號:1003-5168(2018)08-0010-03
Application of LBP Algorithm Based on Block Weighting in Face Recognition
ZHU Tianxing HUANG Shizhen
(College of physics and Information Engineering, Fuzhou University,F(xiàn)uzhou Fujian 350108)
Abstract: At present, the highly intelligent face recognition system is generally based on the PC platform. The system is highly complex and requires excellent hardware and software support. The application of embedded technology is conducive to improving the flexibility and effectiveness of face recognition system. In this paper, we proposed an improved LBP algorithm for face recognition based on the traditional face recognition algorithm. Experimental results showed that the algorithm could recognize faces in ORL, Yale and self built face database.
Keywords: face recognition;LBP algorithm based on block weighting;Adaboost detection algorithm
目前,人臉識別在智能化領(lǐng)域使用范圍較廣,被廣泛應用于安全防范領(lǐng)域、身份確認領(lǐng)域、家政服務領(lǐng)域、圖像檢索領(lǐng)域和人機交互領(lǐng)域等?,F(xiàn)如今,一般高智能化的識別系統(tǒng)都是在PC機上實現(xiàn)的,需要選取的設(shè)備成本比較高,不利于大范圍應用,制約了市場推廣[1]。針對該問題,本文提出基于分塊加權(quán)融合的LBP算法。本文以Adaboost算法為基礎(chǔ)研究人臉檢測算法,然后研究OpenCV中使用局部加權(quán)融合的LBPH算法,最后以Ubuntu為PC的開發(fā)環(huán)境,ARM為運行平臺,OpenCV中的算法為主體處理算法進行嵌入式人臉識別系統(tǒng)的開發(fā),最終設(shè)計出能在嵌入式平臺中運行的人臉識別系統(tǒng)。
1 人臉識別原理
總的來說,人臉識別系統(tǒng)可以分為兩大部分(如圖1所示):左側(cè)的訓練部分和右側(cè)的識別部分。訓練部分主要包括人臉庫選取或者自建,采集圖像并進行預處理,人臉檢測定位,對檢測出的人臉進行進一步預處理,處理完后提取圖像特征,將提取后的人臉放入特征庫。而識別階段就是重新采集需要的人臉進行定位檢測,預處理后提取相關(guān)特征,并與之前特征庫的人臉信息進行匹配,從而檢測識別采集的人的信息。
2 算法研究
2.1 Adaboost檢測算法
Adaboost算法是一種迭代算法,其核心思想是針對同一個訓練集訓練不同的分類器(弱分類器),然后把這些弱分類器集合起來,構(gòu)成一個更強的最終分類器(強分類器)。弱分類器的公式定義為:
[hjx=1 pjfj式(1)中的[hjx]表示弱分類器的結(jié)果,1表示結(jié)果為人臉,0表示結(jié)果不是人臉;[θj]表示弱分類器的閾值;[fj]表示特征值;[pj]表示不等號的方向。
①假設(shè)有n張人臉圖像,其中訓練的數(shù)據(jù)集表示為[x1,y1,x2,y2,…,xn,yn],數(shù)據(jù)集中的[xii=1,2,…,n]表示為樣本組的一張人臉圖片,[yii=1,2,…,n]表示[w1,i=12m]對應的樣本輸出結(jié)果。由于該過程是在進行人臉檢測,所以對應的[yi]只有兩個結(jié)果,是人臉或者不是人臉,即1或者0。
②首先需要將對應的權(quán)值進行初始化,即[w1,i=12m]和[12l],其中[m]和[l]分別表示樣本中正確識別人臉的個數(shù)和錯誤識別的個數(shù)。
③多次迭代,for t=1,[…],T。
第一,根據(jù)步驟②的方法,歸一化權(quán)值[wt,i]:
[wt,i=wt,ij=1nwt,j i=0,1,…,n] (2)
式(2)中t表示樣本需要迭代的次數(shù),i表示樣本迭代到達的位置。
第二,選取單個特征j來訓練對應的弱分類器hj,計算使用該弱分類器對應的權(quán)值wt的錯誤率。
[εj=imwihjxi-yi] (3)
第三,計算[εj]使其最小,得到對應的分類器[hj]。
第四,然后迭代,更新新的權(quán)值,計算公式如式(4)所示:
[wi+1,i=wt,iβt x正確分類wt,i x未正確分類] (4)
式(4)中,
④通過上述的推導,最終得到的強分類器:
[hx=1 t=1Tlog1β1htx≥12t=1Tlog1βt0 其他] (5)
2.2 LBP算法
LBP算法[4]的基本原理是:首先需要將LBP算子放在需要處理的人臉灰度圖中。其中,算子中心點的像素可以作為其閾值,并與其他像素點進行對比,大于等于閾值的像素點標記為1,小于閾值的像素點標記為0。如圖2所示。
原始的LBP算子提出后,人們進行了各種優(yōu)化及改進,其中圓形的LBP算子使用(P,R)表示鄰域的參數(shù)情況,其中P表示鄰域中像素的個數(shù),而R通常是鄰域中的圓形半徑。
圖3是不同P、R值的領(lǐng)域像素分布圖。突破原始LBP描述子的一些紋理特征和區(qū)域結(jié)果的限制,對其進行一定改進,將原始的3×3擴展到任意鄰域,并把以前的正方形鄰域換成圓形鄰域。
如圖3所示,假設(shè)其中中點有N個,那么其像素對應的LBP值的范圍為0~2n-1。假設(shè)PC為圓形鄰域中心點的像素值,對應鄰域中其他點的像素值為P1,…,Pn,則PC的LBP值如公式(6)所示。
[LBPpc=i=1nsP1-Pi*2i-1] (6)
LBP描述子對光照具有一定的魯棒性,但并不是旋轉(zhuǎn)不變的。圖像旋轉(zhuǎn)時,PC的鄰域是會發(fā)生變化的,而這個變化則會直接改變PC的LBP的值,進而影響LBP描述子對人臉識別的貢獻。
為了克服圖像旋轉(zhuǎn)對LBP描述子的影響,筆者提出了旋轉(zhuǎn)不變的LBP算子。其基本思想是:如果不斷地旋轉(zhuǎn)圖像,就會得到一組初始的LBP值,然后選取其中的最小值作為這個鄰域的LBP值。計算公式如式(7)所示:
[LBPriP,R=minRORLBPriP,R,ii=0,…,P-1] (7)
式(7)中,[LBPriP,R]表示的是半徑為[R]時,鄰域含有[P]個點旋轉(zhuǎn)不變的LBP的值,ROR(x,i)為旋轉(zhuǎn)函數(shù),其表示對P位二進制數(shù)x向右循環(huán)移位i次。
在旋轉(zhuǎn)不變的LBP計算過程中,首先需要對原先的鄰域旋轉(zhuǎn)P-1次,加上原先的鄰域模型,可以得出P個LBP值,從這其中選取最小的作為該鄰域的LBP值。
3 識別過程
3.1 人臉檢測與圖像預處理
視頻采集是基于V4L,對采集的圖像進行預處理、人臉檢測、特征提取,其流程如圖4所示。
圖4中,檢測人臉過程中,需要對人臉進行校準旋轉(zhuǎn),含有眼鏡和不含有眼鏡檢測的結(jié)果如圖5所示。
人臉預處理涉及灰度化、均衡化、雙邊濾波,根據(jù)人眼位置對人臉進行裁剪后再次預處理,提取特征值,其處理圖如圖6所示。
3.2 人臉識別
本嵌入式系統(tǒng)設(shè)計將圖像分成88=64小方塊進行單獨處理,即單張圖片包含64塊,而對應的每塊中含有28個數(shù)據(jù),即最后的整張圖總的直方圖向量含28 64=16 384個值。LBP分塊加權(quán)直方圖如圖7至圖9所示。
3.3 測試結(jié)果
系統(tǒng)先進行信息采集,當對采集后的圖像進行預處理并完成訓練后,就會存入特征庫進行下一步識別。采集界面如圖10所示,識別結(jié)果如圖11所示。
4 結(jié)論
本文提出局部加權(quán)與整體集合的LBP算法進行人臉識別并移植到ARM平臺。經(jīng)過測試,時間延遲良好。系統(tǒng)穩(wěn)定后,最低延遲達到28.53ms左右,且在ORL、Yale及自建的庫上能進行人臉識別。
參考文獻:
[1]駱超.低功耗嵌入式實時人臉識別系統(tǒng)[D].上海:上海交通大學,2013.