姚子怡 張清勇 李雪琪
(1.水果湖高級中學 武漢 430070)(2.武漢理工大學自動化學院 武漢 430070)
人臉檢測[1~2]即判斷待測圖像或視頻中是否存在人臉,是人臉圖像分析的重要內容,它是人臉識別系統實現的前提和基礎,其檢測結果會對后續面部的特征提取和人臉的分類識別產生重大的影響。人臉圖像中包含顏色特征、模板特征、直方圖特征、結構特征及Harr特征等多種模式特征。其中膚色特征[3]是人臉的一個重要特征,它與大多數背景區域相比,其顏色有著明顯的區別,并且具有更好的穩定性。但對于復雜的背景圖像而言,膚色檢測的效果并不理想,且誤檢率高、精度有限[4]。2001年,Paul Viola和Michael Jones提出了基于Ad?aBoost算法的人臉檢測方法[5],是第一個在真正意義上建立了實時人臉檢測的系統,從根本上解決了人臉檢測的速度問題。AdaBoost方法雖然檢測率很高,能達到95%以上,但它僅利用人臉灰度特征,沒有綜合考慮膚色分布等問題,因此對某些和人臉相似的物體,誤檢率很高,并且檢測速度也有待提升。姚建[6]采用單閾值法訓練弱分類器,在閾值選取合適的情況下能夠得到質量較好的弱分類器,但是當訓練樣本較大時,不僅訓練周期長且準確率會有所降低。
為了提高檢測算法的準確性和效率,本文首先給出了雙閾值的搜索方法,并由此得到了雙閾值AdaBoost分類器算法,從而得到分類質量更好的弱分類器。其次提出了一種融合高斯膚色模型和改進型AdaBoost的人臉檢測算法。先研究了基于Haar矩形特征的迭代訓練學習的改進型AdaBoost算法,并將其作用于待測圖像中,分割出候選人臉區域;其次建立了YCbCr空間下膚色色度分量Cb-Cr二維分布的單高斯模型,依此模型構建膚色似然圖,并進行形態學濾波及人臉先驗知識判斷得到相應的二值化圖像,依此圖像對人臉候選區域進行篩選,以剔除非人臉區域。
人臉Harr特征是一種簡單的矩形特征,它基于圖像的特征值進行圖像的分類[7]。如圖1是三種典型的Harr特征,定義為白色矩形框內像素點灰度值與黑色矩形框內像素點灰度值之間的差值,它能反映檢測對象特征局部灰度變化。

圖1 三種典型的Haar特征
采用上述Harr特征對人臉進行檢測時,將上面任一矩形放置在待檢測圖片上,然后用白色矩形框的像素灰度和減去黑色矩形框的像素灰度和,獲得的值稱之為Harr特征值。人臉區域的Harr特征值和非人臉區域的Harr特征值存在較大的差值,所以上述矩形框作為檢測和區分的依據,其目的就是用數值表示人臉特征。
AdaBoost算法是選用一系列分類能力較弱的分類器,將它們聯合起來,構成一個分類性能優秀的強分類器[8]。在每一輪訓練迭代中,要不斷地對樣本權重值進行調整,分類正確的樣本,需要降低其權重,分類出錯的樣本,需要增加其權重,這樣訓練算法將分類重點放在分類困難程度較高的樣本上。每次進行樣本權重修改后,會將修改值引入下一個分類器繼續分類,不斷訓練迭代得到若干分類能力較優的弱分類器,想要要得到分類能力強的強分類器,只需將弱分類器串聯起來。但是基于Ada?Boost的特征選擇算法在進行特征選擇時,每個弱分類器僅使用了單閾值[9~10],這必然導致單個弱分類器的誤分率較高。本文采用雙閾值的弱分類器代替原有的單閾值弱分類器,即每個弱分類器使用上下兩個閾值,提高了單個特征的分類能力,減少了訓練時間。
1)弱分類器兩個閾值的選取
步驟如下:
(1)計算某個Harr特征(所)在所有樣本(中)的特征值,并對樣本中所有特征值進行從小到大的排序找出最小值 fmin和最大值 fmax,然后從小到大依次計算每個特征值所對應的正負樣本數n1和n2。
(2)由公式T=n1/(n2+1)計算每個特征值所對應的正樣本數n1與負樣本數n2的比值T。
(3)計算出T最大時對應的特征值x。
(4)從 x向左右分別搜索過渡點 θ1,θ2(θ1<θ2)。即 T=1時所對應的特征值;如果不存在這樣的特征值,那么就取邊界點。則這樣的兩個點就是弱分類器的兩個閾值θ1、θ2。
2)改進型雙閾值AdaBoost算法具體操作步驟如下:
(1) 給 定 訓 練 樣 本 集 :(x1,y1),(x2,y2),…,(xn,yn),其中xi為人臉樣本向量,yi為樣本類別,其取值為0或1,若樣本為人臉,則 yi=1,若樣本非人臉,則 yi=0,設定樣本的總數為n。
(2)初始化樣本權重,假設第t次循環中第i個樣本的權重 ωt,i,人臉樣本的初始權重為ω1,i=1/2m ,非人臉樣本的起始權重為 ω1,i=1/2l,其中,m是人臉正樣本的個數,l是人臉負樣本集的個數[11],且滿足 n=m+l。
(3)t=1,…,T(T為訓練過程的最大循環次數)
①歸一化權重:

②按照上述雙閾值搜索法計算雙閾值分類器的兩個閾值。訓練中的每一個特征 j的弱分類器記為hj,然后根據樣本分類情況,依照下式得出該分類器對應的加權偏差率:

③從所有的弱分類器中挑選分類錯誤率εt相對更小的弱分類器ht。
④根據找出的最優弱分類器,對樣本權重進行調整,每一代權重系數均與前一代有關,調整公式如下
(4)將獲得的T個最優弱分類器按不同的權值疊加成一個強分類器,加權公式如下


對每一個Harr特征所對應的弱分類器采用上下限雙閾值法,使弱分類器的質量得以提升,再由這些質量較高的弱分類器聯合成為強分類器,這樣訓練出來的強分類器性能肯定也是有所提升的。當訓練出強分類器后,對待測圖片進行人臉檢測,即讓獲得的各個最優弱分類器參與決策,再對決策結果根據分類誤差值的大小進行疊加,比較加權的決策結果和平均決策結果之間的大小,得出最終的判定結果,即強分類器的輸出結果。本文采用MIT人臉數據庫中的訓練樣本用于AdaBoost分類器的訓練,MIT人臉數據庫中人臉樣本和非人臉樣本的數量分別為2429和4581,從人臉樣本中抽取246個作為分類器檢測樣本,剩余樣本用作訓練樣本,圖像大小為19×19像素,其中樣本背景比較豐富,包括膚色、姿態、遮擋等。本文測試環境為Win7操作系統,在Matlab R2012a平臺實現編程。表1是傳統AdaBoost算法與本文改進的AdaBoost算法在分類器檢測率和檢測時間上的比較,由表可見本文方法在檢測率和檢測時間上優于傳統算法。
膚色是區分人與外界背景區域的一個相對明顯的特征,因此可作為人臉檢測的依據。通常待檢測圖片像素點以RGB色彩空間表示,但此空間對光照敏感,人臉檢測結果受光照影響較大。本文使用YCbCr色彩空間建立高斯膚色模型進行人臉檢測,先將待測圖片從RGB色彩空間映射到YCbCr色彩空間,再根據采集到的膚色樣本建立相應的高斯膚色模型,依此模型作為膚色判定的依據,其組成框圖如圖2所示。

圖2 膚色模型檢測組成框圖
YCbCr色彩空間被廣泛地應用于電視色彩顯示、數字攝影等領域中。由于YCbCr色彩空間中亮度信息和色度信息可以相互分離,且Cb、Cr兩個向量相互獨立,能夠較好地反映膚色的聚類性,因而,用于人臉檢測時,往往將圖像的像素點從RGB色彩空間轉換到YCbCr色彩空間。
該模型與RGB模型的轉換關系如下:

膚色信息在一定的光照條件下以正態分布的形式存在,而高斯模型是利用高斯概率密度函數(正態分布曲線)來量化事物,因此,采用高斯模型進行膚色分割具有一定的合理性和優越性[12~13]。一般情況下,在YCbCr色彩空間建立高斯膚色模型有如下步驟:
1)收集一定數目的人臉圖像,進行光照補償,提取面部同一位置的皮膚區域,構成膚色樣本集。本文選取了不同人種、性別、年齡以及不同光照條件下共100幅人臉圖像作為樣本,對前額上的皮膚進行提取并歸一化為相同的大小。
2)將膚色樣本從RGB空間映射到YCbCr空間,去除亮度分量Y,統計膚色像素點的色度分量Cb和Cr。
3)根據以下公式計算出Cb和Cr的均值及協方差矩陣C。

式中,x表示樣本像素點的色度向量(C b,Cr)T,m表示樣本計算分析得到的膚色均值,C是與之對應的協方差矩陣,本文所得到的m和C分別為

建立好高斯膚色模型后,需要判斷待測圖片中每一個像素點是否屬于膚色像素點,即求出像素點的膚色似然概率,公式如下:

得到似然概率后,對每個膚色似然概率值進行歸一化操作,以保證各個像素點的似然概率在[0,1]之間,并且使膚色區域亮度更加明顯。選取合適的閾值對膚色似然圖進行二值化處理,本文仿真實驗中選取閾值為0.5。由于采集圖像或處理圖像時會引入背景和噪聲,則閾值分割后的二值圖像中會包含一些被誤判為膚色的小塊區域。利用數學形態學[14-15]可解決這一問題,即對圖像進行先腐蝕后膨脹的操作方式以消除人臉圖像中的散點,并對圖像進行平滑處理并填充膚色區域中的孔洞。
對于處理后的二值化圖像,仍然有可能存在非人臉的膚色區域和類似膚色的背景區域,為了濾除這些非人臉部分,可依照人臉先驗知識中的幾何特征對疑似人臉區域進行篩選,使人臉區域盡可能完整地保留下來。本文設計如下篩選條件:
1)根據區域的填充率進行篩選。若填充率大于等于0.5,則保留該區域,這樣可以濾除手腳、胳膊等與人臉膚色類似的非人臉區域。
2)根據面積比進行篩選。計算每塊候選區域與最大候選區域的比值,若大于等于0.2則保留該區域,這樣可以濾除一些較小的非人臉區。
3)根據區域的長寬比進行篩選。本文設定人臉的長與寬的比值在0.8~2之間,若疑似人臉區域長寬比在0.8~2之間,則判定該區域是人臉區域。
基于Harr特征和AdaBoost的檢測算法速率快,效果好,但存在著誤檢率高的缺點,基于高斯膚色模型的檢測算法容易受到外界光照、背景環境的影響。為了提高檢測算法的準確性和魯棒性,本文提出了一種融合高斯膚色模型和改進型AdaBoost的人臉檢測算法,其檢測流程框圖如圖3所示。

圖3 人臉檢測流程框圖

圖4 膚色檢測示意圖
先用基于Harr特征和改進型AdaBoost的人臉檢測算法對輸入圖片進行預檢測,再用基于高斯膚色模型的檢測算法加以驗證,以剔除誤檢的人臉區域。為提升檢測的準確率和效率,減小計算量,本文采用如下驗證方式,如圖4所示。先劃定Harr特征和改進型AdaBoost算法檢測出的疑似人臉矩形框(圖中黑線包圍部分),統計框中全部膚色像素點的數目sum,即統計膚色二值化圖像的矩形框中像素點值為1的像素點數目。若sum<(w idth×weight)2,則判定該區域為非人臉區域,否則判定該區域為人臉區域并用藍實線標記。基于膚色和改進型AdaBoost算法的人臉檢測仿真結果,如圖5所示。

圖5 基于膚色和改進型AdaBoost算法的人臉檢測仿真圖
為了驗證本文所提出的融合改進型AdaBoost和膚色模型的人臉檢測算法的有效性,本文將其與一些常規的人臉檢測算法進行對比。實驗對多人臉圖像測試集和復雜背景多人臉圖像測試集分別進行檢測。測試圖像源自于生活中的數碼照片及從互聯網上隨機搜集的圖像。多人臉圖像測試結果舉例如圖6所示,復雜背景多人臉圖像測試結果舉例如圖7和8所示。其中,圖(a)為只采用基于Harr特征和AdaBoost的檢測算法進行人臉檢測的結果。圖(b)為只采用基于膚色模型的檢測算法進行人臉檢測的結果。圖(c)為基于SNOW的人臉檢測[16],首先采用局部連續均值量化變化算法對灰度圖像進行處理,對處理后的圖像通過SNOW分類器實現人臉檢測。圖(d)為本文提出的檢測算法檢測效果圖。

圖6 多人臉檢測效果圖

圖7 復雜背景多人臉示例一檢測效果圖

圖8 復雜背景多人臉示例二檢測效果圖
由上圖可知,AdaBoost算法檢測率雖然較高,但有較多的非人臉背景區域被誤檢為人臉。基于膚色分割的檢測方法可檢測到圖中大部分人臉區域,但是人臉的定位不夠準確,并且也能夠檢測到部分非人臉膚色區域與類膚色區域,對于具有復雜背景的圖像,誤檢率較高。SNOW算法通過對大量正樣本和負樣本的學習,使得系統存在較低的誤檢率,但漏檢情況比較突出。本文將改進型AdaBoost算法和膚色模型融合起來,既利用了AdaBoost在多人臉檢測方面的優勢,又使用膚色模型進行二次篩選,使得系統存在較高的檢測率和較低的誤檢率。4種方法分別在多人臉圖像測試集和復雜背景多人臉圖像測試集上的實驗結果如表2和3所示。

表2 多人臉圖像測試人臉檢測結果比較

表3 復雜背景多人臉圖像測試人臉檢測結果比較
由上表可知AdaBoost算法檢測較高,但誤檢率也較高;膚色模型檢測對比AdaBoost方法檢測率有所提升且誤檢率較低;SNOW算法雖然誤檢率較低,但檢測率也較低;本文檢測方法對比其他三種不僅在檢測率上有所提升,并且降低了誤檢率,具有良好的檢測效果。
本文先提出了一種改進的雙閾值AdaBoost算法,并給出了閾值搜索的方法,通過雙閾值的方法來提升弱分類器的質量,然后提出了一種融合改進的AdaBoost和膚色模型的人臉檢測方法。先采用改進型AdaBoost算法進行初步的人臉檢測,針對AdaBoost算法存在誤檢率高的缺陷,對檢測出的疑似人臉區域采用高斯膚色模型進一步判定,以剔除被誤檢為人臉的非人臉區域。最后將本文方法與AdaBoost人臉檢測方法、高斯膚色模型人臉檢測方法以及基于SNOW分類器的人臉檢測方法進行了對比實驗,結果表明,本文方法檢測率高、誤檢率低,具有可靠的檢測性能。
[1]鄧亞峰,蘇光大,傅博.一種基于AdaBoost的快速動態人 臉 檢 測 算 法[J].計 算 機 工 程 ,2006,32(11):222-224.DENG Yafeng,SU Guangda,FU Bo.A fast dynamic face detection algorithm based on AdaBoost.Computer Engi?neering,2006,32(11):222-224.
[2]李明瑞,傅明,曹敦.基于膚色檢測的AdaBoost人臉檢測算法改進[J].計算機工程,2012,38(19):147-150.LI Mingrui,FU Ming,CAO Dun.Improvement of Ada?Boost face detection algorithm based on skin color detec?tion.Computer Engineering,2012,38(19):147-150.
[3]李智勇,田貞.基于膚色模型的人臉檢測研究[J].現代電子技術,2011,34(3):131-133.LI Zhiyong,TIAN Zhen.Study on Face Detection Based on Skin Color Model[J].Modern Electronics Technique,2011,34(3):131-133.
[4]畢雪芹,惠婷.基于膚色分割與AdaBoost算法的人臉檢測[J].國外電子測量技術,2015,34(12):82-86.BI Xueqin,HUI Ting.Face detection based on skin color segmentation and AdaBoost algorithm.Foreign Electronic Measurement Technology,2015,34(12):82-86.
[5]Viola P,Jones M.Robust real time object detection[C]//Proceedings of 2nd international workshop on statistical and computational theories of vision,2001:905-910.
[6]姚建,趙勛杰.結合膚色模型和Adaboost算法的人臉檢測[J].蘇州大學學報(自然科學版),2009,25(3):63-67.YAO Jian,ZHAO Xun-jie.Full Face Detection Based on Skin Color Model and Adaboost Algorithm[J].Journal of Suzhou University(Natural Science Edition),2009,25(3):63-67.
[7藺廣逢,范引娣,張媛.主成分分析與BP神經網絡的人臉識別方法研究[J].現代電子技術,2007,30(2):53-55.LIN Guangfeng,FAN Zhendi,ZHANG Yuan.Research on Principal Component Analysis and Face Recognition Meth?od Based on BP Neural Network.Modern Electronics Tech?nology,2007,30(2):53-55.
[8]Yang M,Crenshaw J,Augustine B,et al.AdaBoost-based face detection for embedded systems[J].Computer Vision&Image Understanding,2010,114(11):1116-1125.
[9]房宜汕.基于改進AdaBoost的快速人臉檢測算法[J].計算機應用與軟件,2013,30(8):271-274.FANG Yishan.A fast face detection algorithm based on im?proved AdaBoost.Computer application and software,2013,30(8):271-274.
[10]何強,馬文.基于雙閾值的改進型Adaboost人臉檢測算法[J].微型機與應用,2016,35(19):41-43.HE Qiang,MA Wen.Improved Adaboost face detection algorithm based on double threshold.Microcomputer and Application,2016,35(19):41-43.
[11]Navabifar F,Yusof R,Emadi M.Using rotated asymmet?ric haar-like features for non-frontal face detection[J].Advanced Science Letters,2013,19 (12) :3520-3524.
[12]王航宇.基于YCbCr高斯膚色模型的人臉檢測技術研究[J].現代電子技術,2008,31(22):102-105.WANG Hangyu.Research on Face Detection Technology Based on YCbCr Gaussian Skin Color Model.Modern Electronics Technology,2008,31(22):102-105.
[13]劉春生,常發亮,陳振學,等.改進的高斯膚色模型及其在人臉檢測中的應用[J].儀器儀表學報,2012,33(5):1117-1121.LIU Chunsheng,CHANG Faliang,CHEN Zhenxue,et al.An Improved Gaussian Skin Color Model and Its Ap?plication in Face Detection[J].Chinese Journal of Scien?tific Instrument,2012,33(5):1117-1121.
[14]曾維.手勢識別系統中手指及指尖檢測方法[J].國外電子測量技術,2013,32(4):39-42.ZENG Wei.Test and fingertip detection method in ges?ture recognition system.Foreign Electronic Measurement Technology,2013,32(4):39-42.
[15]苗姣姣,徐望明.HSV空間和形態學處理相結合的車牌定位方法[J].電視技術,2015,39(5):146-149.MIAO Jiaojiao,XU Wangming.A license plate location method based on HSV spatial and morphological process?ing[J].Technology of Television,2015,39 (5):146-149.
[16]苑巖巖,惠曉威.基于YCbCr膚色模型和SNOW分類器的人臉檢測[J].計算機系統應用,2010,19(1):157-160.YUAN Yanyan,HUI Xiaowei.Face Detection Based on YCbCr Skin Model and SNOW Classifier[J].Applica?tion of Computers,2010,19(1):157-160.