邊航 汪友生
(北京工業大學電子信息與控制工程學院北京100124)
基于遺傳算法和AdaboostSVM的人臉檢測算法?
邊航 汪友生
(北京工業大學電子信息與控制工程學院北京100124)
將遺傳算法用于以SVM為弱分類器的Adaboost人臉檢測算法。先根據樣本訓練集中的人臉和非人臉樣本訓練出弱分類器SVM,然后利用Adaboost算法將多個SVM弱分類器級聯組合成一個強分類器,并且在組合的過程中采用遺傳算法對各個弱分類器權值進行全局尋優,最終得到檢測結果。通過與傳統Adaboost以及AdaboostSVM進行對比試驗,表明論文方法具有更高的檢測效果。
Adaboost;SVM;人臉檢測;遺傳算法
Class NumberTP391
針對人臉檢測的算法有很多。1989年,Schap?ire最早提出了Boosting算法[1],一年以后Freund提出了一種效率更高的Boosting算法[2]。1995年Freund和Schapire改進Boosting算法,提出了Ada?boost(Adaptive Boosting)[3],即自適應學習算法。1999年,Robert E.Schapire和Yoram Singer提出了更具一般性的Adaboost形式[4],采用自信率來改善Adaboost的性能,并設計出能夠解決多標簽問題的Adaboost.MH和Adaboost.MR算法。2001年Viola.P和Jones.M提出了Cascade級聯方式[5],每一級的特征從少到多,在粗檢的幾級就排除了大量的非人臉區域,因此該系統有效地提高了Adaboost的檢測速度,但誤檢率高。由于SVM算法[6]對于人臉和非人臉的兩類分類問題具有較好的魯棒性,因此可以考慮將兩種方法結合起來,其次,為使集成后的強分類器具有更好的精確度,采用遺傳算法對弱分類器的權值進行優化,使弱分類的分類精度既能略大于隨機猜測,又能和其他弱分類器有盡可能大的差異性,提高強分類器的泛化能力。該方法可以有效解決Adaboost方法中的精度和多樣性的兩難問題。
Adaboost人臉檢測[7]實際上是一種基于積分圖、級聯檢測器和Adaboost算法的方法。Adaboost算法的核心思想就是針對不同的訓練集訓練出識別率不高的弱分類器,然后將這些大量的分類能力一般的弱分類器通過一定的方法集合起來,構成一個強分類器的過程。
傳統的基于Adaboost算法的人臉檢測方法具有較好的檢測效果,它有效地提高了人臉檢測精度和速度。但同時也存在著問題,雖然Adaboost算法通過樣本權值的調節加強了分類器對錯分樣本的學習能力,但它同時也導致了過學習的問題,導致算法性能的下降。而SVM算法對于兩類分類問題表現出了良好的魯棒性,它作為Adaboost算法的弱學習分類器能夠有效地改善其在特征選擇和泛化能力方面的效果,達到降低Adaboost算法復雜性的要求,比較適合用于區分人臉和非人臉這種兩類分類預測問題。
支持向量機理論[8](Support Vector Machine,SVM)最早是在統計學習理論基礎上發展起來的一種基于結構風險最小化原理的模式識別方法。其基本思想就是尋找到一個最優超平面,能夠使得分類間隙最大,從而將不同類樣本分開。為避免高維空間的計算,SVM利用事先定義好的核函數實現樣本到特征空間的映射。核函數的選擇工作大致分為兩步:一是核函數類型的選擇,二是核函數相關參數的選定。目前常用的核函數有:線性核函數、多項式核函數、徑向基核函數(RBF)、傅里葉核函數、樣條核函數和Sigmoid核函數。
本文選用RBFSVM作為Adaboost的弱分類器。RBFSVM有兩個參數,分別為高斯寬度α以及規則化參數C。通過調整兩個參數可以影響RBFS?VM分類器分類能力的強弱。通過對分類器性能分析發現:如果C的取值很小,訓練器的分類精度不好,會出現欠學習的情況,但是當C過大時又會出現過學習狀況。如果α過大,就會導致SVM弱分類器性能太弱,分類精度達不到50%,即不能滿足Adaboost對弱分類器的要求;若α值過小,將會導致SVM分類器性能過強,每個弱分類器的差異性會變小,無法進行進一步的增強,Adaboost集成將會失去意義。本文采用一種折中的方法來調整參數C和α的值。首先定義第m個弱分類器的多樣性值為[9]

其中,gm(xi)為第m個弱分類器對樣本i進行分類的結果,f(xi)為除去第m個弱分類器之外的其他所有分類器對樣本i進行分類的結果。假設M個分類器對N個樣本進行分類的多樣性可以表示為

傳統Adaboost算法只是簡單將弱分類器加權求和,沒有考慮它們之間的差異性對集成造成的影響。當訓練一個新的SVM弱分類器時,需要同時計算弱分類器的多樣性值,若所求得的多樣性值小于預先設定的閾值并且小于給定的精度,則認為該分類器不符合要求,那么就拋棄它;反之,則采用它。這樣產生的分類器集在分類精度和復雜度上是折中的。
遺傳算法[10]是模擬生物在自然環境中優勝劣汰、適者生存的遺傳和進化過程而形成的一種具有自適應能力以及全局性的概率搜索算法。近年來,遺傳算法作為一種尋優方法已成為解決各類復雜問題的有力工具。遺傳算法中的每一個解決方案都對應著其中一條染色體,因此從一個基因組到其解的適應度就形成了一個映射。當初始種群產生之后,根據問題域中個體的適應度大小選擇個體基因交叉變異,產生子代,逐代演化產生最優個體,經過解碼即為問題的近似最優解。也就是把遺傳算法的過程看作是一個在多元函數里面求最優解的過程。
為了把一個問題的可行解從其解空間轉換到遺傳算法所能處理的搜索空間[11],本文選用浮點數編碼方式,基因組表示為Y={w1,w2,…,wM},其中:

基因組的初始化為Adaboost已經得到的權值。
為了更好地選擇優質個體而拋棄劣質個體,提高全局收斂性和計算效率,本文采用基于概率模型的選擇算子[12],每個基因被選擇的概率為

其中,q表示最好的基因被選擇的概率,r表示為基因的等級。
遺傳算法中產生新個體的主要操作過程即為交叉運算。本文采用非均勻交叉算子[13],首先從父親基因Y中隨機選取一個元素wk,通過計算得到新的基因組Y′={w1,w2,…,wk′,…,wM},其中:

式中,r1,r2為由均勻分布得到的隨機數;G為當前代基因總數;Gmax為全部代中最大的基因數;b為控制函數f(G)形狀的因子。
變異是防止個體過早收斂,陷入局部優化的算子。本文選用的是啟發式交叉算子[13]:

每次僅產生一個新的子代個體Y′,且Y的適應度大于X,式中r∈(0,1)。
遺傳算法優化弱分類器權值的流程圖如圖1所示。

圖1遺傳算法優化弱分類器權值流程圖
試驗運行環境:硬件平臺為:AMD Athlon(tm)Dual Core Processor 5200B 2.70GHz,2GB內存;軟件平臺:Windows XP Professional;采用VS2010以及OpenCV2.4.10作為開發工具。
從一些人臉庫以及網絡圖片中選取5000張人臉圖像以及10000張非人臉圖像作為訓練樣本集。訓練前對樣本圖像進行預處理,主要包括尺寸的調整以及灰度歸一化等,圖2為部分訓練集。試驗采用130張圖像作為測試集,每張圖像包含一張或多張人臉,共431張人臉。遺傳算法的參數設置如下:種群最大迭代次數為100,交叉概率0.9,變異率0.001,適應度函數設為識別的正確率。

圖2部分訓練樣本
在試驗中,分別采用了Adaboost算法、Ada?boostSVM算法以及結合遺傳算法的AdaboostSVM算法訓練的分類器進行試驗,均采用相同的訓練樣本。結果如表1所示。

表1 算法定量比較結果
從該表的數據中可以看出,本文算法的訓練識別率相比傳統的Adaboost和AdaboostSVM算法有所提高,并且在保證檢出率的基礎上誤檢率比前兩者減少了一個數量級,使得檢測率和誤檢率都有較大的改進,這說明通過本文的算法,分類器的性能得到了有效的提高。本文算法部分檢測結果如圖3、圖4所示。

圖3單人人臉檢測結果

圖4多人人臉檢測結果
本文在Adaboost算法的基礎上,提出一種結合Adaboost和SVM來構建弱分類器,并引入遺傳算法對弱分類器的權值進行全局尋優的人臉檢測方法。這種方法采用RBFSVM作為分量分類器,通過調整RBF核的參數,從而使每個分量分類器在準確率和差異性之間得到平衡,再通過遺傳算法對分量分類器的權值進行優化,最后通過Adaboost算法把這些分量分類器整合起來,構建成一個強分類器。試驗結果表明,該算法能夠有效地提高正確檢出率同時降低誤檢率。
[1]SCHAPIRE R E.The Strength of Weak Learnability[J]. Machine Learning,1990,5(2):197-227.
[2]FREUND Y.Boosting a Weak Learning Algorithm by Ma?jority[J].Information and Computation,1995,121(2):256-285.
[3]FREUND Y,SCHAPIRE R.A decision-theoretic Gener?alization of On-line Learning and an Application to Boost? ing[J].Journal of Computer and System Sciences,1997,55(1):119-139.
[4]SCHAPIRE R,SINGER Y.Improved Boosting Algorithms Using Confidence-rated Predictions[J].Machine Learn?ing,1999,37(3):297-336.
[5]VIOLA P,JONES M.Rapid Object Detection Using a BoostedCascade of Simple Features[C]//Proceedings of the 2001 IEEE Computer Society Conference.Kauai:IEEE,2001:511-518.
[6]Burges CJC.A tutorial on support wector machines for pat?tern recognition[J].Data Mining and Knowledge Discov?ery,1998,2(2):121-167.
[7]李闖,丁曉青,吳佑壽.一種基于直方圖特征和Ada?Boost的圖像中的文字定位算法[J].中國圖象圖形學報,2006,11(3). LI Chuang,DING Xiaoqing,WU Youshou.A histogram feature and AdaBoost based text localization algorithm of the image[J].Journal of image and graphics,2006,11(3).
[8]Li Xuchun,Wang Lei Sung Eric.A Study of Adaboost with SVM basedweak Learners[C]//Proceedings of internation?al Joint on Neural Net-works.Montreal Canada,2005:196-201.
[9]MELVILLEP,MOONEY R J.Creating Diversity in Ensem?bles Using Artificial Data[J].Information Fusion,2005,6(1):99-111.
[10]HOUK C R,JOINES J,KAY M.A Genetic Algorithm for Function Optimization:A Matlab Implementation[R]. North Carolina State University,1995.
[11]馬永杰,云文霞.遺傳算法研究進展[J].計算機研究與應用,2012,4(29). MA Yongjie,YUN Wenxia.The development of Genetic algorithm[J].Research and application of computer,2012,4(29).
[12]KIM H C,PANG S,JE H M,et al.Constructing Support Vector Machine Ensemble[J].Pattern Recognition,2003,36(12):2757-2767.
[13]GAO G H,ZHANG Y Z,ZHU Y,et al.Hybrid Support Vector Machines-based Multi-fault Classification[J]. Journal of China University of Mining and Technology,2007,17(2):246-250.
Face Detection Based on Genetic Algorithms and AdaboostSVM Algorithm
BIAN HangWANG Yousheng
(College of Electronic and Control Engineering,Beijing University of Technology,Beijing100124)
An algorithm using genetic algorithm to improve the face detection in Adaboost with SVM based weak classifiers is proposed.Firstly,the method trains the weak classifier of support vector machine(SVM)according to human face samples and nonface samples in the training sample set,then uses Adaboost algorithm to embody the weak classifiers into a strong classifier,while using genetic algorithm to optimize weights of weak classifiers for global optimization,and final detection result is given.Experimen?tal result demonstrates that GA-AdaboostSVM achieved better detection performance than the traditional Adaboost and AdaboostS?VM methods.
Adaboost,SVM,face detection,genetic algorithm
TP391
10.3969/j.issn.1672-9722.2017.07.037
2017年1月11日,
2017年2月23日
邊航,女,碩士研究生,研究方向:像處理分析等。汪友生,男,博士,副教授,研究方向:像處理、模式識別等。