糜元根, 陳丹馳, 季 鵬
(南京工業(yè)大學(xué) 電子與信息工程學(xué)院,江蘇 南京 211800)
基于幾何特征與新Haar特征的人臉檢測算法
糜元根, 陳丹馳, 季 鵬
(南京工業(yè)大學(xué) 電子與信息工程學(xué)院,江蘇 南京 211800)
針對普通Adaboost算法訓(xùn)練時間長,對復(fù)雜背景下(暗光、多角度、多姿態(tài)等)人臉檢測識別率較低的問題,提出了一種改進的結(jié)合膚色檢測及幾何特征的Adaboost算法。采用膚色粗檢篩選出候選人臉區(qū)域,同時采用新的非對稱的Haar特征來訓(xùn)練分類器,進一步加強檢測性能,提升魯棒性和復(fù)雜背景下的寬容度。實驗將此算法應(yīng)用到一個嵌入式系統(tǒng)中,結(jié)果表明:在各種復(fù)雜背景下的人臉檢測中魯棒性和寬容度均提升很多,誤識率進一步降低,并且在嵌入式人臉檢測的系統(tǒng)中具有很好的可移植性和實用性。
人臉檢測; Adaboost; 新Haar—like特征; 嵌入式系統(tǒng)
自動化的人臉識別技術(shù)由于其隱蔽性、非接觸式等優(yōu)點被廣泛應(yīng)用在安全、監(jiān)控、信息交互等方面。人臉檢測是人臉信息處理中的關(guān)鍵技術(shù)。具體描述就是先判斷圖像中是否存在人臉,若存在,在圖像中確定人臉具體方向位置。但人臉作為非剛體,自身有諸多復(fù)雜性,側(cè)臉、旋轉(zhuǎn)、表情、遮擋,這些都加大了檢測難度。文獻[1]提出混合高斯模型進行對膚色檢測進行統(tǒng)計分析。Freund S R提出了基于統(tǒng)計分析的AdaBoost算法,是一種自適應(yīng)的分類學(xué)習(xí)算法[3],利用迭代思想,訓(xùn)練分類器,有較強的魯棒性,但普通Adaboost算法對于多姿態(tài)、多角度人臉不敏感。隨后Viola P從圖像中提取特征值時提出了Haar-like特征概念[4],提出5種類型,在正面對稱人臉檢測方面,效果出眾。
本文提出了一種綜合膚色預(yù)處理和幾何特征篩選改進的Adaboost算法,并且針對多角度多姿態(tài),提出了一種新的Haar特征計算公式,對于側(cè)臉,旋轉(zhuǎn)人臉有非常好的檢測率和寬容度。在嵌入式平臺實現(xiàn),具有很好的效果。
整個框架首先是圖像采集,對人臉進行膚色分割,鎖定初步檢測域,得到候選的人臉區(qū)域,接著用改進的AdaBoost 算法將一些簡單的弱分類器通過一定邏輯線性疊加成強分類器,組成級聯(lián)分類器,進行算法訓(xùn)練[5]。為了提高復(fù)雜場景如光照遮擋的魯棒性,采用新的Haar特征,進行描述,再采用形態(tài)學(xué)處理和基于先驗知識的幾何特征,選擇合適的連通域,得到人臉候選區(qū)域。大體框架如圖1。
圖1 人臉檢測框架
膚色有一定的波普特性,對于多方位拍攝,多角度人臉姿勢,神態(tài)不敏感,易過濾,適用于人臉檢測中基本粗檢測[6]。為了降低Adaboost算法的檢測時間,先采取膚色檢測作為粗檢測,通過2種顏色轉(zhuǎn)化,進行膚色點初定位,選出符合的初區(qū)域,規(guī)避了遍歷檢索,降低算法時間。
膚色是人面部最明顯的特征之一,亮度變化決定膚色的主要差異,色度變化反而不明顯[7]。膚色易受到光照強度干擾。膚色分割先對圖像進行色彩空間轉(zhuǎn)換,即RGB空間轉(zhuǎn)換到Y(jié)CbCr空間和YUV空間。選取YCbCr色彩空間,Y分量為亮度,Cb,Cr分量為藍色色度和紅色色度,Cb和Cr分量能夠單獨表征圖像,從而忽略亮度特征,因此膚色在YCbCr空間中的聚類特性明顯[8],膚色映射到CbCr空間下,就可以單獨處理亮度與色度。對輸入彩色圖像進行顏色空間轉(zhuǎn)換,分布統(tǒng)計如下
77≤Cb≤127,133≤Cr≤173
(1)
根據(jù)上判斷式,CbCr落在在此分布范圍內(nèi)的像素點,認定為膚色像素點,置為白色,其余像素點為非膚色像素,置為黑色。
同時,將RGB空間轉(zhuǎn)換到Y(jié)UV空間,空間矩陣表示為[9]
(2)
式中 U和V為兩個平面正交矢量,飽和度Ch定義為矢量的模值,色調(diào)θ定義為矢量的相位角,而有先驗知識可得,人臉膚色色調(diào)滿足一定相位角,有如下關(guān)系
105°≤θ≤150°
(3)
對于圖像像素點,只要同時滿足YCbCr空間和YUV空間的條件,就能鎖定初步檢測區(qū)域。
3.1 AdaBoost算法
積分圖人臉檢測問題轉(zhuǎn)化為將待檢測區(qū)域分為人臉區(qū)域和非人臉區(qū)域的二類分類問題[10]。Adaboost算法由積分圖計算可觀的特征,進行篩選出重要的特征信息,利用迭代思想,通過不同的權(quán)重變化,在一次次迭代中,改造弱分類器,構(gòu)成最終強分類器。
設(shè)定如下訓(xùn)練樣本(x1,y1),…,(xn,yn),yi=0代表非人臉,yi=1代表人臉。
弱分類器模型定義如下
(4)
式中fj(x)為第j個特征值,由pj控制方向,1為正,-1為負,θj為為閾值。
初始化數(shù)據(jù),給其訓(xùn)練一定權(quán)值分布
Wσ+1=1/2m
(5)
強分類器模型
(6)
之前計算出
βt=εt/(1-εt)
(7)
式中
αt=lg(1/βt)
(8)
過程里特定一次的迭代,尋找被準(zhǔn)確分類的樣本,構(gòu)造下一次訓(xùn)練集時,給樣本的權(quán)重降低;不準(zhǔn)確的樣本,會給與其更高的權(quán)重。訓(xùn)練下一個分類器時,權(quán)重會新一輪更新,正確樣本的繼續(xù)變低,沒有被準(zhǔn)確分類的樣本,繼續(xù)變高,直至訓(xùn)練過程結(jié)束。誤差率更低的弱分類器占據(jù)更大的權(quán)重,在最終分類函數(shù)起著決定作用[11,12]。
3.2 級聯(lián)分類器架構(gòu)
通過多個弱分類器的級聯(lián),在每個分類器中,設(shè)定變更的閾值,使得正確的樣本進入下一級,錯誤樣本被過濾,架構(gòu)如圖2所示。H1(x)代表特征,經(jīng)過一級一級的分類器,過濾錯誤樣本,直至選出正確樣本。
圖2 級聯(lián)分類器架構(gòu)
4.1 新Harr-like特征
Adaboost算法通過Haar矩陣訓(xùn)練,將弱分類器疊加為強分類器,作為級聯(lián)分類器進行人臉檢測。為了改進側(cè)臉旋轉(zhuǎn)等復(fù)雜姿態(tài)下的人臉檢測,引入如圖2旋轉(zhuǎn)的非對稱Haar特征,旋轉(zhuǎn)45°,可得圖3最右旋轉(zhuǎn)特征模版的新特征值為
圖3 新Haar-like特征
(ii2+ii4)×2+ii9-(ii1+ii3+ii5×2+ii7)
(9)
ii定義為像素處的積分圖像,采用新Haar-like特征之后,對于部分旋轉(zhuǎn),側(cè)臉等特征描述會更加準(zhǔn)確,提高算法在復(fù)雜環(huán)境下的檢測率。
4.2 膚色幾何特征和Adaboost算法的人臉檢測
基于膚色的人臉檢測對光照和嘈雜環(huán)境很敏感,對于人臉的一些屬性不是很敏感,反而有較出色的檢測率,基于Adaboost算法在復(fù)雜環(huán)境里表現(xiàn)出色,但是在多人場景,人臉表情變化里,誤識率較高,進行完Adaboost算法訓(xùn)練之后,結(jié)合幾何與膚色特征進行再過濾的人臉檢測,可以提高復(fù)雜環(huán)境里的魯棒性。
Adaboost初步檢測后,得到人臉圖像,計算其平均人臉面積T1。接著用特定模板矩陣,進行二值形態(tài)學(xué)開運算,去除孤立點,再進行閉運算,降噪后,得到連通區(qū)域,利用知識建模,對連通區(qū)域進行如下幾何特征判斷:
1)各個連通區(qū)域的面積T2與T1進行一一對比,閾值范圍在T1<0.4T2或T1>1.8T2外的連通區(qū)域,可排除一些長寬比不符合的連通區(qū)域,如,一些規(guī)則體和顏色相近的遮擋物。
2)用矩形去近似替代連通域邊界,對于每一個連通區(qū)域,計算矩形的長寬比f=h/w ,根據(jù)先驗知識,f近似為1.1,若f>2或者f<0.5,則同樣可認為,此連通域非所求,是人臉外多余的相近區(qū)域,如,手掌、手臂、彎曲的腿部。
5.1 實驗設(shè)計
圖4為本實驗系統(tǒng)采用的嵌入式系統(tǒng)的硬件結(jié)構(gòu)圖。分別包括圖像采集模塊,(外接USB口的攝像頭)、數(shù)據(jù)存儲模塊(DDR3)、程序存儲模塊(FLASH)、串口模塊、結(jié)果顯示模塊(LED屏幕)、輸入模塊(key),輸出控制模塊等。系統(tǒng)采用主芯片Exynos4412,是三星公司開發(fā)的一種基于ARMcortex—A9內(nèi)核的四核微處理器,32kB+32kB的一級緩存,1MB的二級緩存,2GB的DDR3。
圖4 系統(tǒng)硬件結(jié)構(gòu)圖
系統(tǒng)上電后,啟動bootloader,初始化硬件設(shè)備、建立內(nèi)存空間的映射圖,啟動終端,加載內(nèi)核,掛載文件系統(tǒng),設(shè)定系統(tǒng)的軟硬件環(huán)境,進入命令行配置模式進行創(chuàng)建Linux編譯環(huán)境。
5.2 實驗結(jié)果分析
本實驗采用ARM平臺實現(xiàn),對所有算法進行橫向和縱向全方位對比。在嵌入式系統(tǒng)文件夾里導(dǎo)入YaleFaces數(shù)據(jù)庫挑選的500張圖片(表1給出具體分類)作為測試集,樣本圖片歸一成20像素×20像素,進行橫向?qū)Ρ?,在檢測率、誤檢率上,可以看出,膚色檢測和Adaboost算法檢測率不高,會有一定的誤檢測,如圖5(c)抓取的一張誤檢測圖,可以看出一部分手和光照的柜子被誤識別,而改進的Adaboost算法更加優(yōu)秀,誤檢率降低,圖5(d)正確識別。
表1 測試圖像集
測試圖像集總圖像數(shù)正確人臉姿態(tài)背景1300200正面簡單2200144側(cè)面復(fù)雜3500344全部全部
表2 三種算法對比圖
算法檢測率/%漏檢率/%誤檢率/%檢測時間膚色檢測86.49.713495Adaboost算法90.35.14.4723改進Adaboost算法93.53.42.6642
表2可知,膚色檢測速度最快,改進Adaboost算法次之,檢測時間相比Adaboost有所降低,究其原因,是融入了膚色檢測作為粗檢測進行過濾,快速排除大部分非人臉區(qū)域,縮短檢測時間;而在檢測率,漏檢率和誤減率方面,融入了幾何特征檢測的改進算法效果明顯。
圖5 人臉檢測對比圖
縱向?qū)Ρ确矫妫们度胧较到y(tǒng)攝像頭捕捉單一圖片,去測試改進Adaboost算法對于旋轉(zhuǎn)和側(cè)臉的檢測程度。特地選取了室外夜晚,光照較暗,頭部有旋轉(zhuǎn),戴眼鏡,一定程度側(cè)臉,多人等復(fù)雜場景進行驗證,如圖6所示,-45°~45°旋轉(zhuǎn)范圍內(nèi),表現(xiàn)良好,眼鏡,光照,遮擋,旋轉(zhuǎn),比例大小不同,都能正確檢測到,可見改進算法的寬容度更高,誤減率更低,圖7中最左一人漏檢,是因為頭部比例過于小,在算法中低于預(yù)設(shè)的50 %,直接被排除,最右一個人漏檢,是因為旋轉(zhuǎn)角度太大,超出了拒絕域。后續(xù)還有待繼續(xù)改進本算法,提高寬容度。
圖6 單一捕捉復(fù)雜環(huán)境
旨在提高更復(fù)雜背景下人臉檢測速度和準(zhǔn)確率,本文提出了一種改進的結(jié)合膚色檢測及幾何特征的Adaboost算法,通過膚色粗檢測,降低檢測時間,提出新Haar-like特征訓(xùn)練分類器,優(yōu)化了Adaboost算法,進一步加強魯棒性,合理減少光照、遮擋、人臉旋轉(zhuǎn)、人臉大小等復(fù)雜條件對檢測率的降低,移植到ARM版上,在嵌入式硬件上實現(xiàn)。考慮人臉檢測和監(jiān)控系統(tǒng)結(jié)合,本系統(tǒng)已經(jīng)應(yīng)用在場景人臉簽到中,在位置固定、旋轉(zhuǎn)有限、光照條件適中的室內(nèi),識別率很高,在人數(shù)統(tǒng)計上,誤識率非常低。
[1] 梁路宏,艾海舟,徐光祐,等.人臉檢測研究綜述[J].計算機學(xué)報,2002,25(5):449-458.
[2] Hjelmas E,Low B K.Face detection:A survey[J].Computer Visionand Image Understanding,2001,83(3):236-274.
[3] Freund S R.Boosting the margin:A new explanation for the effectiveness of voting methods[J].Annals of Statistics,1998,26(5):1651-1686.
[4] Viola P,Jones M.Rapid object detection using a boosted cascade of simple features[C]∥Proc of Conf on Computer Vision and Pattern Recognition,Kauai,Hawaii,USA,2001:511-518.
[5] 徐 前,趙德安,趙建波.基于改進的AdaBoost算法的人臉檢測與定位[J].傳感器與微系統(tǒng),2010,29(1):94-97.
[6] Wu Bo,Ai Haizhou,Huang Chang,et al.Fast rotation invariant multi-view face detection based on real Adaboost[C]∥The Sixth IEEE International Conference on Automatic Face and Gesture Recognition,2004:79-85.
[7] 張云龍,謝澤奇,張會敏,等.一種復(fù)雜背景下的人臉檢測方法[J].傳感器與微系統(tǒng),2011,30(6):42-44+48.
[8] Chenaoua K,Bouridane A.Skin detection using amarkov random field and a new color space[C]∥IEEE International Conference on Image Processing,Atlanta,GA:IEEE,2006:2673-2676.
[9] Yang J,Lu W,Waibel A.Skin color modeling and adaptation[C]∥Proceedings of the 3rd Asian Conference on Computer Vision,Hong Kong,China,1998:687-694.
[10] 田 源.AdaBoost人臉檢測算法的改進研究與實現(xiàn)[D].無錫:江南大學(xué),2009.
[11] Ou Zongying,Tang Xusheng,Su Tieming,et al.Cascade AdaBoost classifiers with stage optimization for face detection[C]∥International Conference on Biometrics, Berlin Heidelberg,2005:121-128.
Face detection algorithm based on geometric features and new Haar features
MI Yuan-gen, CHEN Dan-chi, JI Peng
(College of Electronics and Information Engineering,Nanjing University of Technology,Nanjing 211800,China)
Aiming at problem that training time of ordinary Adaboost algorithm is long and under complex background such as dark light,multi angle,multi pose,the recognition rate of face detection is low,propose an improved Adaboost algorithm based on skin color detection and geometric features.The algorithm screens out candidate face regions based on skin color detection,at the same time,a new non-symmetric Haar feature is used to train the classifier,which further enhances detection performance and promote robustness and tolerance in the context of complexity.In the experiment,the algorithm is applied to an embedded system,the results show that the algorithm can improve the robustness and tolerance of face detection in all kinds of complex background,and the error recognition rate is further reduced,in embedded face detection system and has good portability and practicability.
face detection; Adaboost; new haar-like features; embedded system
10.13873/J.1000—9787(2017)02—0154—04
2016—03—15
TP 391.4
A
1000—9787(2017)02—0154—04
糜元根(1963-),男,副教授,主要從事嵌入式系統(tǒng)和人臉識別方向研究工作。
陳丹馳(1990-),男,通訊作者,碩士研究生,E—mail: 307191251@qq.com。
但是對于一個給定的24×24的窗口,根據(jù)不同的位置,不同的縮放,能產(chǎn)生162 336個特征數(shù),隨著給定窗口的變大,特征數(shù)變多,學(xué)習(xí)算法本身規(guī)模加劇,訓(xùn)練時間變得很長。