糜元根, 陳丹馳, 季 鵬
(南京工業(yè)大學(xué) 電子與信息工程學(xué)院,江蘇 南京 211800)
基于幾何特征與新Haar特征的人臉檢測算法
糜元根, 陳丹馳, 季 鵬
(南京工業(yè)大學(xué) 電子與信息工程學(xué)院,江蘇 南京 211800)
針對普通Adaboost算法訓(xùn)練時(shí)間長,對復(fù)雜背景下(暗光、多角度、多姿態(tài)等)人臉檢測識別率較低的問題,提出了一種改進(jìn)的結(jié)合膚色檢測及幾何特征的Adaboost算法。采用膚色粗檢篩選出候選人臉區(qū)域,同時(shí)采用新的非對稱的Haar特征來訓(xùn)練分類器,進(jìn)一步加強(qiáng)檢測性能,提升魯棒性和復(fù)雜背景下的寬容度。實(shí)驗(yàn)將此算法應(yīng)用到一個(gè)嵌入式系統(tǒng)中,結(jié)果表明:在各種復(fù)雜背景下的人臉檢測中魯棒性和寬容度均提升很多,誤識率進(jìn)一步降低,并且在嵌入式人臉檢測的系統(tǒng)中具有很好的可移植性和實(shí)用性。
人臉檢測; Adaboost; 新Haar—like特征; 嵌入式系統(tǒng)
自動(dòng)化的人臉識別技術(shù)由于其隱蔽性、非接觸式等優(yōu)點(diǎn)被廣泛應(yīng)用在安全、監(jiān)控、信息交互等方面。人臉檢測是人臉信息處理中的關(guān)鍵技術(shù)。具體描述就是先判斷圖像中是否存在人臉,若存在,在圖像中確定人臉具體方向位置。但人臉作為非剛體,自身有諸多復(fù)雜性,側(cè)臉、旋轉(zhuǎn)、表情、遮擋,這些都加大了檢測難度。文獻(xiàn)[1]提出混合高斯模型進(jìn)行對膚色檢測進(jìn)行統(tǒng)計(jì)分析。Freund S R提出了基于統(tǒng)計(jì)分析的AdaBoost算法,是一種自適應(yīng)的分類學(xué)習(xí)算法[3],利用迭代思想,訓(xùn)練分類器,有較強(qiáng)的魯棒性,但普通Adaboost算法對于多姿態(tài)、多角度人臉不敏感。隨后Viola P從圖像中提取特征值時(shí)提出了Haar-like特征概念[4],提出5種類型,在正面對稱人臉檢測方面,效果出眾。
本文提出了一種綜合膚色預(yù)處理和幾何特征篩選改進(jìn)的Adaboost算法,并且針對多角度多姿態(tài),提出了一種新的Haar特征計(jì)算公式,對于側(cè)臉,旋轉(zhuǎn)人臉有非常好的檢測率和寬容度。在嵌入式平臺實(shí)現(xiàn),具有很好的效果。
整個(gè)框架首先是圖像采集,對人臉進(jìn)行膚色分割,鎖定初步檢測域,得到候選的人臉區(qū)域,接著用改進(jìn)的AdaBoost 算法將一些簡單的弱分類器通過一定邏輯線性疊加成強(qiáng)分類器,組成級聯(lián)分類器,進(jìn)行算法訓(xùn)練[5]。為了提高復(fù)雜場景如光照遮擋的魯棒性,采用新的Haar特征,進(jìn)行描述,再采用形態(tài)學(xué)處理和基于先驗(yàn)知識的幾何特征,選擇合適的連通域,得到人臉候選區(qū)域。大體框架如圖1。
圖1 人臉檢測框架
膚色有一定的波普特性,對于多方位拍攝,多角度人臉姿勢,神態(tài)不敏感,易過濾,適用于人臉檢測中基本粗檢測[6]。為了降低Adaboost算法的檢測時(shí)間,先采取膚色檢測作為粗檢測,通過2種顏色轉(zhuǎn)化,進(jìn)行膚色點(diǎn)初定位,選出符合的初區(qū)域,規(guī)避了遍歷檢索,降低算法時(shí)間。
膚色是人面部最明顯的特征之一,亮度變化決定膚色的主要差異,色度變化反而不明顯[7]。膚色易受到光照強(qiáng)度干擾。膚色分割先對圖像進(jìn)行色彩空間轉(zhuǎn)換,即RGB空間轉(zhuǎn)換到Y(jié)CbCr空間和YUV空間。選取YCbCr色彩空間,Y分量為亮度,Cb,Cr分量為藍(lán)色色度和紅色色度,Cb和Cr分量能夠單獨(dú)表征圖像,從而忽略亮度特征,因此膚色在YCbCr空間中的聚類特性明顯[8],膚色映射到CbCr空間下,就可以單獨(dú)處理亮度與色度。對輸入彩色圖像進(jìn)行顏色空間轉(zhuǎn)換,分布統(tǒng)計(jì)如下
77≤Cb≤127,133≤Cr≤173
(1)
根據(jù)上判斷式,CbCr落在在此分布范圍內(nèi)的像素點(diǎn),認(rèn)定為膚色像素點(diǎn),置為白色,其余像素點(diǎn)為非膚色像素,置為黑色。
同時(shí),將RGB空間轉(zhuǎn)換到Y(jié)UV空間,空間矩陣表示為[9]
(2)
式中 U和V為兩個(gè)平面正交矢量,飽和度Ch定義為矢量的模值,色調(diào)θ定義為矢量的相位角,而有先驗(yàn)知識可得,人臉膚色色調(diào)滿足一定相位角,有如下關(guān)系
105°≤θ≤150°
(3)
對于圖像像素點(diǎn),只要同時(shí)滿足YCbCr空間和YUV空間的條件,就能鎖定初步檢測區(qū)域。
3.1 AdaBoost算法
積分圖人臉檢測問題轉(zhuǎn)化為將待檢測區(qū)域分為人臉區(qū)域和非人臉區(qū)域的二類分類問題[10]。Adaboost算法由積分圖計(jì)算可觀的特征,進(jìn)行篩選出重要的特征信息,利用迭代思想,通過不同的權(quán)重變化,在一次次迭代中,改造弱分類器,構(gòu)成最終強(qiáng)分類器。
設(shè)定如下訓(xùn)練樣本(x1,y1),…,(xn,yn),yi=0代表非人臉,yi=1代表人臉。
弱分類器模型定義如下
(4)
式中fj(x)為第j個(gè)特征值,由pj控制方向,1為正,-1為負(fù),θj為為閾值。
初始化數(shù)據(jù),給其訓(xùn)練一定權(quán)值分布
Wσ+1=1/2m
(5)
強(qiáng)分類器模型
(6)
之前計(jì)算出
βt=εt/(1-εt)
(7)
式中
αt=lg(1/βt)
(8)
過程里特定一次的迭代,尋找被準(zhǔn)確分類的樣本,構(gòu)造下一次訓(xùn)練集時(shí),給樣本的權(quán)重降低;不準(zhǔn)確的樣本,會(huì)給與其更高的權(quán)重。訓(xùn)練下一個(gè)分類器時(shí),權(quán)重會(huì)新一輪更新,正確樣本的繼續(xù)變低,沒有被準(zhǔn)確分類的樣本,繼續(xù)變高,直至訓(xùn)練過程結(jié)束。誤差率更低的弱分類器占據(jù)更大的權(quán)重,在最終分類函數(shù)起著決定作用[11,12]。
3.2 級聯(lián)分類器架構(gòu)
通過多個(gè)弱分類器的級聯(lián),在每個(gè)分類器中,設(shè)定變更的閾值,使得正確的樣本進(jìn)入下一級,錯(cuò)誤樣本被過濾,架構(gòu)如圖2所示。H1(x)代表特征,經(jīng)過一級一級的分類器,過濾錯(cuò)誤樣本,直至選出正確樣本。
圖2 級聯(lián)分類器架構(gòu)
4.1 新Harr-like特征
Adaboost算法通過Haar矩陣訓(xùn)練,將弱分類器疊加為強(qiáng)分類器,作為級聯(lián)分類器進(jìn)行人臉檢測。為了改進(jì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è)臉等特征描述會(huì)更加準(zhǔn)確,提高算法在復(fù)雜環(huán)境下的檢測率。
4.2 膚色幾何特征和Adaboost算法的人臉檢測
基于膚色的人臉檢測對光照和嘈雜環(huán)境很敏感,對于人臉的一些屬性不是很敏感,反而有較出色的檢測率,基于Adaboost算法在復(fù)雜環(huán)境里表現(xiàn)出色,但是在多人場景,人臉表情變化里,誤識率較高,進(jìn)行完Adaboost算法訓(xùn)練之后,結(jié)合幾何與膚色特征進(jìn)行再過濾的人臉檢測,可以提高復(fù)雜環(huán)境里的魯棒性。
Adaboost初步檢測后,得到人臉圖像,計(jì)算其平均人臉面積T1。接著用特定模板矩陣,進(jìn)行二值形態(tài)學(xué)開運(yùn)算,去除孤立點(diǎn),再進(jìn)行閉運(yùn)算,降噪后,得到連通區(qū)域,利用知識建模,對連通區(qū)域進(jìn)行如下幾何特征判斷:
1)各個(gè)連通區(qū)域的面積T2與T1進(jìn)行一一對比,閾值范圍在T1<0.4T2或T1>1.8T2外的連通區(qū)域,可排除一些長寬比不符合的連通區(qū)域,如,一些規(guī)則體和顏色相近的遮擋物。
2)用矩形去近似替代連通域邊界,對于每一個(gè)連通區(qū)域,計(jì)算矩形的長寬比f=h/w ,根據(jù)先驗(yàn)知識,f近似為1.1,若f>2或者f<0.5,則同樣可認(rèn)為,此連通域非所求,是人臉外多余的相近區(qū)域,如,手掌、手臂、彎曲的腿部。
5.1 實(shí)驗(yàn)設(shè)計(jì)
圖4為本實(shí)驗(yàn)系統(tǒng)采用的嵌入式系統(tǒng)的硬件結(jié)構(gòu)圖。分別包括圖像采集模塊,(外接USB口的攝像頭)、數(shù)據(jù)存儲(chǔ)模塊(DDR3)、程序存儲(chǔ)模塊(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)上電后,啟動(dòng)bootloader,初始化硬件設(shè)備、建立內(nèi)存空間的映射圖,啟動(dòng)終端,加載內(nèi)核,掛載文件系統(tǒng),設(shè)定系統(tǒng)的軟硬件環(huán)境,進(jìn)入命令行配置模式進(jìn)行創(chuàng)建Linux編譯環(huán)境。
5.2 實(shí)驗(yàn)結(jié)果分析
本實(shí)驗(yàn)采用ARM平臺實(shí)現(xiàn),對所有算法進(jìn)行橫向和縱向全方位對比。在嵌入式系統(tǒng)文件夾里導(dǎo)入YaleFaces數(shù)據(jù)庫挑選的500張圖片(表1給出具體分類)作為測試集,樣本圖片歸一成20像素×20像素,進(jìn)行橫向?qū)Ρ龋跈z測率、誤檢率上,可以看出,膚色檢測和Adaboost算法檢測率不高,會(huì)有一定的誤檢測,如圖5(c)抓取的一張誤檢測圖,可以看出一部分手和光照的柜子被誤識別,而改進(jìn)的Adaboost算法更加優(yōu)秀,誤檢率降低,圖5(d)正確識別。
表1 測試圖像集
測試圖像集總圖像數(shù)正確人臉姿態(tài)背景1300200正面簡單2200144側(cè)面復(fù)雜3500344全部全部
表2 三種算法對比圖
算法檢測率/%漏檢率/%誤檢率/%檢測時(shí)間膚色檢測86.49.713495Adaboost算法90.35.14.4723改進(jìn)Adaboost算法93.53.42.6642
表2可知,膚色檢測速度最快,改進(jìn)Adaboost算法次之,檢測時(shí)間相比Adaboost有所降低,究其原因,是融入了膚色檢測作為粗檢測進(jìn)行過濾,快速排除大部分非人臉區(qū)域,縮短檢測時(shí)間;而在檢測率,漏檢率和誤減率方面,融入了幾何特征檢測的改進(jìn)算法效果明顯。
圖5 人臉檢測對比圖
縱向?qū)Ρ确矫?,用嵌入式系統(tǒng)攝像頭捕捉單一圖片,去測試改進(jìn)Adaboost算法對于旋轉(zhuǎn)和側(cè)臉的檢測程度。特地選取了室外夜晚,光照較暗,頭部有旋轉(zhuǎn),戴眼鏡,一定程度側(cè)臉,多人等復(fù)雜場景進(jìn)行驗(yàn)證,如圖6所示,-45°~45°旋轉(zhuǎn)范圍內(nèi),表現(xiàn)良好,眼鏡,光照,遮擋,旋轉(zhuǎn),比例大小不同,都能正確檢測到,可見改進(jìn)算法的寬容度更高,誤減率更低,圖7中最左一人漏檢,是因?yàn)轭^部比例過于小,在算法中低于預(yù)設(shè)的50 %,直接被排除,最右一個(gè)人漏檢,是因?yàn)樾D(zhuǎn)角度太大,超出了拒絕域。后續(xù)還有待繼續(xù)改進(jìn)本算法,提高寬容度。
圖6 單一捕捉復(fù)雜環(huán)境
旨在提高更復(fù)雜背景下人臉檢測速度和準(zhǔn)確率,本文提出了一種改進(jìn)的結(jié)合膚色檢測及幾何特征的Adaboost算法,通過膚色粗檢測,降低檢測時(shí)間,提出新Haar-like特征訓(xùn)練分類器,優(yōu)化了Adaboost算法,進(jìn)一步加強(qiáng)魯棒性,合理減少光照、遮擋、人臉旋轉(zhuǎn)、人臉大小等復(fù)雜條件對檢測率的降低,移植到ARM版上,在嵌入式硬件上實(shí)現(xiàn)??紤]人臉檢測和監(jiān)控系統(tǒng)結(jié)合,本系統(tǒng)已經(jīng)應(yīng)用在場景人臉簽到中,在位置固定、旋轉(zhuǎn)有限、光照條件適中的室內(nèi),識別率很高,在人數(shù)統(tǒng)計(jì)上,誤識率非常低。
[1] 梁路宏,艾海舟,徐光祐,等.人臉檢測研究綜述[J].計(jì)算機(jī)學(xué)報(bào),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] 徐 前,趙德安,趙建波.基于改進(jìn)的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] 張?jiān)讫?謝澤奇,張會(huì)敏,等.一種復(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人臉檢測算法的改進(jìn)研究與實(shí)現(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。
但是對于一個(gè)給定的24×24的窗口,根據(jù)不同的位置,不同的縮放,能產(chǎn)生162 336個(gè)特征數(shù),隨著給定窗口的變大,特征數(shù)變多,學(xué)習(xí)算法本身規(guī)模加劇,訓(xùn)練時(shí)間變得很長。