張向鵬,魏 江
(西北工業大學 電子信息學院,陜西 西安 710072)
基于多級聯不對稱增強和遺傳算法的人臉檢測
張向鵬,魏 江
(西北工業大學 電子信息學院,陜西 西安 710072)
提出了一種基于多級聯不對稱增強和遺傳算法的AdaBoost人臉檢測方法。可把認假率和拒真率反饋給當前訓練階段,并通過閾值比較來控制級聯層數和局部最佳弱分類器權值。用遺傳算法訓練選取的局部最佳弱分類器,實現用較少的弱分類器達到高檢出率。仿真實驗結果表明,該算法可以有效避免過擬合和特征冗余現象,獲得較高的檢測速度和精度。
人臉檢測;AdaBoost算法;多級聯不對稱增強;遺傳算法
人臉檢測是指在輸入圖像中確定所有人臉 (如果存在)的位置、大小和位姿的過程[1]。人臉檢測作為人臉信息處理中的一項關鍵技術,近年來成為模式識別、計算機視覺等領域內一項受到普遍重視、研究十分活躍的課題。
Viola和Jensen等人采用AdaBoost算法構建的級聯式人臉檢測算法[2]使人臉檢測在實時檢測方面有了長足的發展。其基本思想是:通過給定數量的樣本集的反復訓練,對分類性能好的弱分類器賦予較高權重,對分類性能差的弱分類器賦予較低權重,經過循環比較,自動挑選出若干關鍵分類器并級聯起來,構成一個分類能力強的分類器,從而得到較好的分類效果[3]。因此,在訓練中如何選取有效的樣本特征、如何更新樣本權值以及如何選取最佳弱分類器構建級聯分類器是算法的基本問題。傳統的AdaBoost算法在處理上述問題時有明顯的不足:1)當樣本數量多的時候,不同樣本的特征發生冗余的可能性很大[4];2)雖然選出的弱分類器是每輪訓練過程中局部最優的,但最終構成級聯分類器的弱分類器并不是全局最優的,這將會影響檢測的精度[5]。針對以上不足,許多學者提出了改進算法。文獻[6]把Floating算法同AdaBoost算法相結合,提出了FloatBoost算法,用較少的分類器達到更優的分類性能;文獻[7]從分類器的相關性出發,提出一種基于多步校正的改進AdaBoost方法,通過選取相關性較小的最佳弱分類器構成強分類器。
文中提出一種新的基于多級聯不對稱增強的方法,并在弱分類器的選取過程中,將遺傳算法與傳統的AdaBoost算法相結合,達到了較理想的訓練和檢測效果。實驗結果表明,本文方法可以有效地縮短訓練時間,提高檢測的速度和精度。
Viola等人提出的多層級聯分類器結構如圖1所示,可以有效地對輸入圖像中的非目標區域進行排除,從而提高對目標的檢測速度[8]。在檢測的初始階段矩形特征數較少,因此用少量計算就可快速排除大量非目標區域;隨著逐層檢測的進行矩形特征越來越多,由于目標窗口越來越少計算量不會顯著增加,從而有效提高檢測的速度。文中也采用此架構,先利用AdaBoost算法來挑選局部最佳弱分類器,再利用多級聯不對稱增強方法來更新弱分類器的權值,最后利用遺傳算法消除特征冗余、構建強分類器。
AdaBoost算法的具體步驟如下:
1) 給定一系列訓練樣本(x1,y1),(x2,y2),…,(xn,yn),其中yi=0表示為負樣本(非人臉),yi=1表示為正樣本(人臉);
2)初始化權重w1,i=D(i),設正樣本有m個,負樣本有 l個,則相應的權重為:

圖1 多層級聯式分類器模型Fig.1 Structure diagram of the multi cascade classifier model




4)最終的強分類器為:

由AdaBoost算法原理可以看出,它的訓練目標就是通過不斷增加弱分類器的數量來達到較高的檢測精度。因此如何用少量的弱分類器構建多層級聯分類器來達到較高的檢測精度是此算法需要改進的重要方面。針對這一問題,文中從級聯層數控制和權值更新以及分類器選擇策略等方面提出改進措施。
對輸入樣本進行T輪訓練后,檢測系統將會產生T個局部最佳弱分類器,但最終構成級聯分類器的弱分類器并不是全局最優的[4-5]。為解決權值更新問題,文中采用多級聯不對稱增強(Multi Exit Asymmetric Boosting)函數控制級聯層數,并根據之前設定的認假率閾值η0和拒真率閾值γ0來實現權值的自適應更新。權值自適應更新的具體步驟為:
1)初始化樣本權重;
2)對第 t輪訓練(t=1,2,…,T):
歸一化權重;計算 εt、βt以及 ηt和 γt;根據初始設定的認假率閾值和拒真率閾值進行弱分類器權重調整,具體實現過程為:

其中,γ0為拒真率閾值(文中取0.01,即正樣本的檢出率至少為0.99),η0為認假率閾值(文中取0.4,即負樣本的誤判率最大為 0.4),1-ηt/nbexit與 1-γt/nbexit為權值調節因子,γ0、η0和 nbexit由 MEAB 函數決定,nbexit為最終的級聯層數(文中取 8)。

遺傳算法是按適應度函數通過遺傳中的選擇、交叉和變異對個體進行篩選,使適應度好的個體被保留,適應度差的個體被淘汰,新的群體既繼承了上一代的信息又優于上一代[10]。由于遺傳算法是以隨機的方式進行全局搜索,它可以較大的概率搜索到全局最優解[9],而且遺傳算法能夠實現并行處理[8],故文中采用遺傳算法求解全局最佳弱分類器。
文中借鑒已有的編碼方式,將權值更新后的T個弱分類器看作遺傳算法中的一條染色體。每條染色體由T個弱分類器及相應的權系數和閾值b組成[4-5,8],結構如圖2所示。

圖2 基于遺傳算法的個體結構Fig.2 Structure diagram of the weak classifier based on genetic algorithm
圖中k1~kT表示T個弱分類器,ki=0表示弱分類器不存在,ki=1表示弱分類器存在。對于k1~kT采用二進制編碼,而權系數α和閾值b為實數。
構建強分類器的目的是使用少量的弱分類器來獲得較高的檢出率和較低的誤檢率,因此取評價函數:


其中,d_rate表示期望的人臉正確檢出率(文中取);Npos、Nneg分別表示正、負樣本總數;mtr表示分類器正確檢出的人臉數;nfa表示負樣本被錯判為人臉的個數。
遺傳算法的適應度函數可由F1和F2加權組合產生:

式中,權系數ω1和ω2由模型大小和分類精度決定,且滿足ω1+ω2=1。通過調整ω1和ω2的值可以控制強分類器的模型大小和檢測精度[9],文中取 ω1=0.2,ω2=0.8。
文中采用類輪盤賭法,基于適應比例的選擇策略選擇個體。個體被選擇的概率為:

式中,Vali為第i個個體的適應度值。假設種群規模為N,首先計算這N個個體的適應度值并將相應的被選擇概率pi按從大到小排序。選取概率值排在后面的N/2個個體進行交叉、變異產生子代個體,然后計算子父代組成的新種群中每個個體的被選擇概率并按概率大小排序,選擇新種群中概率值排在前面的N/2個個體與原始種群中概率值排在前面的N/2個個體組成新的種群。將新種群個體按被選擇概率大小排序,繼續按上述方法進行選擇、交叉和變異,直到選出符合要求的最優解。文中采用實數交叉法和單點變異法完成個體的交叉和變異。文中遺傳算法的相關參數如下:交叉概率為0.9,變異概率為0.01,種群規模為81,進化次數為500次。
文中采用Viola_Jensen圖像庫對本文算法、傳統AdaBoost算法、文獻[6]的FloatBoost算法和文獻[7]的多步校正方法進行仿真實驗。從圖像庫中隨機選取500個人臉樣本作為訓練正樣本,為達到更好的訓練和分類效果,非人臉樣本采取“自舉”方式從設定路徑的非人臉樣本文件夾中隨機產生500個訓練負樣本。訓練過程中加入了由R.Lienhart和J.Maydt提出的方向角的Haar特征(如圖3所示)。測試集正樣本包含:取自MIT圖像庫的500幅不同光照、不同姿態和不同角度的人臉圖像,取自Yale圖像庫的110幅不同光照和不同表情的人臉圖像,取自網絡的人臉圖像200幅;負樣本包含:MIT中200幅非人臉圖像及網絡圖像190幅。實驗前將圖像歸一化處理為像素的圖像,每幅圖像提取86 400個矩形特征。

圖3 45°方向的 Haar特征Fig.3 The Haar feature at 45°
為方便比較,文中訓練了兩個人臉檢測系統,基于傳統AdaBoost的人臉檢測和基于本文算法的人臉檢測,在相同訓練指標的前提下 (各級檢測正確率大于0.995,誤判率小于0.4),分類器各層所用的弱分類器個數如表1所示。從表中可以看出,在達到相同訓練指標的前提下,文中算法各層弱分類器個數比AdaBoost減少近,也比兩種文獻中的方法有所減少,當級聯層數較多的時候,比兩種文獻算法的各層弱分類器個數有大幅減少,有效縮短了檢測時間。

表1 級聯分類器各層弱分類器個數比較Tab.1 The number of the weak classifier for each stage of the cascade classifier
表2列出了傳統AdaBoost算法、FloatBoost算法、多步校正算法及本文算法在測試集上的檢測結果。從表中可以看出,當分類器個數較少的時候(表中81個),本文算法的檢測正確率高于FloatBoost算法而略低于多步校正算法,但當弱分類器個數較多時(表中183個),本文算法的檢測精度明顯優于另外兩種算法。本文的人臉檢測方法有效改善分類器的訓練結果,優化特征參數及權值,使得級聯檢測系統的檢測性能得到進一步提高。

表2 算法檢測結果比較Tab.2 The testing result of different algorithms
文中在MatlabR2008a實驗平臺下,每幅圖像提取100個最優特征,構成8層級聯分類器,以像素為檢測子窗口,部分檢測結果如圖4所示。

圖4 部分檢測結果圖像Fig.4 The human face detection result using the algorithm proposed in this paper
文中提出了一種基于多級聯不對稱增強的自適應權值更新算法,并將遺傳算法與傳統AdaBoost算法相結合構建人臉檢測系統。前者將認假率和拒真率引入樣本權值更新中,使分類器的權值與分類效果結合起來,實現對分類器結構的有效控制;后者在前一步的基礎上優化特征參數,提高檢測的精度。兩種算法的結合,很好地解決了人臉檢測中的檢測速度和精度問題。實驗結果表明,文中算法通過有效改善分類器的訓練結果,搜索出全局最優特征,使人臉檢測的速度和精度得到進一步的提高。
[1]Zhang L J,Liang Y L.A fast method of face detection in video images[J].IEEE Advanced Computer Control,2010(4):490-494.
[2]Viola P,Jones M.Rapid object detection using a boosted cascade of simple features[J].IEEE Proceedings of the Computer Vision and Pattern Recognition Conference,2001(1):511-518.
[3]雷蘊奇,柳秀霞,宋曉冰,等.視頻中運動人臉檢測與特征定位方法[J].華南理工大學學報,2009,37(5):31-37.
LEIYun-qi,LIU Xiu-xia,SONG Xiao-bing,etal.Face detection and feature location of moving men in video[J].Journal of South China University of Technology,2009,37(5):31-37.
[4]張君昌,張譯.基于自適應權重更新和遺傳算法的人臉檢測[J].西北工業大學學報,2011,29(2):290-294.
ZHANG Jun-chang,ZHANG Yi.A new and effective adaptive sample weight updating and genetic algorithm for human face detection[J].Journal of Northwestern Polytechnical University,2011,29(2):290-294.
[5]張君昌,張譯.基于改進AdaBoost算法的人臉檢測[J].計算機仿真,2011,28(7):240-244.
ZHANG Jun-chang,ZHANG Yi.Human face detection based on improved AdaBoost algorithm[J].Computer Simulation,2011,28(7):240-244.
[6]Li S Z,Zhang Z Q.Floatboost learning and statistical face detection[J].IEEE Pattern Analysis and Machine Intelligence,2004,26(9):1112-1123.
[7]蔣焰,丁曉青.基于多步校正的改進的AdaBoost算法[J].清華大學學報,2008,48(10):1613-1614.
JIANG Yan,DING Xiao-qing.AdaBoost algorithm using multi-step correction[J].Journal of Tsinghua University,2008,48(10):1613-1614.
[8]唐旭晟,歐宗瑛,蘇鐵明,等.基于AdaBoost和遺傳算法的快速人臉定位算法[J].華南理工大學學報,2007,35(1):64-69.
TANG Xu-sheng,OU Zong-ying,SU Tie-ming,et al.Fast human face-detection algorithm based on adaBoost and genetic algorithm[J].Journal of South China University of Technology,2007,35(1):31-37.
[9]Li L,Li M,Lu Y M,et al.Genetic algorithm based feature selection for fracture surface images classification[J].IEEE Measuring Technology and Mechatronics Automation,2009(138):214-217.
[10]史峰,王小川,郁磊,等.Matlab神經網絡30個案例分析[M].北京:北京航空航天大學出版社,2010.
Human face detection based on multi exit asymmetric boosting and genetic algorithm
ZHANG Xiang-peng,WEI Jiang
(School of Electronics and Information,Northwestern Polytechnical University,Xi’an710072,China)
A novel AdaBoost algorithm based on the multi exit asymmetric boosting and genetic algorithm is proposed in this paper.Both false acceptance rate and false rejection rate are fed back into current training stage,the cascade stages and the weight of local optimum weak classifiers are restricted by threshold comparison.The genetic algorithm with strong search ability is adopted for training local optimal weak classifiers,so most human faces in images and video sequences can be determined by less weak classifiers.Experimental results show that the proposed algorithm can achieve higher detection speed and more accuracy,effectively avoid overfitting and feature redundancy.
human face detection;AdaBoost algorithm;multi exit asymmetric boosting;genetic algorithm
TP391.4
A
1674-6236(2012)05-0122-04
2011-12-29稿件編號:201112156
張向鵬(1983—),男,山西晉中人,碩士研究生。研究方向:圖像處理。