《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 測試測量 > 設(shè)計應(yīng)用 > 基于雙閾值的改進型Adaboost人臉檢測算法
基于雙閾值的改進型Adaboost人臉檢測算法
2016年微型機與應(yīng)用第19期
何強1,2,馬文1
1.重慶郵電大學(xué) 通信新技術(shù)應(yīng)用研究中心,重慶 400065; 2.重慶信科設(shè)計有限公司,重慶 400065
摘要: 針對Adaboost人臉檢測算法訓(xùn)練時間長以及不能有效區(qū)分特征值聚集分布的情況,提出了一種基于雙閾值的改進型Adaboost人臉檢測算法,并給出了雙閾值的搜索算法。在MIT-CBCL和MIT+CMU人臉庫上對算法進行了仿真驗證。仿真結(jié)果顯示,改進的雙閾值A(chǔ)daboost算法在不降低檢測率的同時大幅度提升了訓(xùn)練的速度,同時檢測速度也有所提升,該方法的綜合性能優(yōu)于單閾值算法。
關(guān)鍵詞: Adaboost 雙閾值 人臉檢測
Abstract:
Key words :

  何強1,2,馬文1

 ?。?.重慶郵電大學(xué) 通信新技術(shù)應(yīng)用研究中心,重慶 400065;  2.重慶信科設(shè)計有限公司,重慶 400065)

       摘要:針對Adaboost人臉檢測算法訓(xùn)練時間長以及不能有效區(qū)分特征值聚集分布的情況,提出了一種基于雙閾值的改進型Adaboost人臉檢測算法,并給出了雙閾值的搜索算法。在MIT-CBCL和MIT+CMU人臉庫上對算法進行了仿真驗證。仿真結(jié)果顯示,改進的雙閾值A(chǔ)daboost算法在不降低檢測率的同時大幅度提升了訓(xùn)練的速度,同時檢測速度也有所提升,該方法的綜合性能優(yōu)于單閾值算法。

  關(guān)鍵詞:Adaboost;雙閾值;人臉檢測

0引言

   人臉檢測是伴隨著人臉識別的發(fā)展出現(xiàn)的一個課題,其可以既快速又準(zhǔn)確地從復(fù)雜背景圖片中檢測出人臉,直接影響后續(xù)的識別研究。隨著計算機科學(xué)技術(shù)的快速發(fā)展,研究人員提出了許多基于統(tǒng)計學(xué)習(xí)的方法,例如主成分分析方法[1]、人工神經(jīng)網(wǎng)絡(luò)[2]、支持向量機[3]等,Adaboost算法就是其中優(yōu)秀代表。

  Adaboost由FREUND Y和SCHAPIRE R E率先提出[4],其主要思想就是將大量的弱分類器通過某種方式構(gòu)成強分類器。理論已經(jīng)證明,弱學(xué)習(xí)可以通過訓(xùn)練變成強學(xué)習(xí),可以通過增加弱分類器的數(shù)量來使強分類器的錯誤率下降趨于無窮小,基于此,VIOLA P和JONES M提出了將積分圖和級聯(lián)兩個新技術(shù)與Adaboost算法相結(jié)合,檢測速度能夠滿足實際需求,使人臉檢測算法能夠滿足實際應(yīng)用;另一方面,該算法還存在著以下缺點:(1)算法需要大量時間,VIOLA P等人為了訓(xùn)練一人臉檢測分類器曾花費多周時間[5];(2)訓(xùn)練過程中可能會由于罕見樣本而給該樣本分配過高的權(quán)重,產(chǎn)生過適應(yīng)等問題,進而影響整體性能指標(biāo)。其缺點是由于樣本數(shù)和特征數(shù)過多以及算法本身決定的。

  針對以上問題,本文提出了一種基于雙閾值的改進型Adaboost算法,通過提升單個弱分類器的質(zhì)量,縮短訓(xùn)練時長,從而提高系統(tǒng)性能。

1Adaboost算法研究

  1.1傳統(tǒng)的Adaboost算法描述

  Adaboost算法的核心思想就是經(jīng)過訓(xùn)練得到一系列單個特征的弱分類器。其主要目的是從大量的矩形特征中挑選出更有利于人臉檢測的HaarLike特征集。將挑選出來的HaarLike特征構(gòu)造成弱分類器,繼而采用迭代的方法從所有弱分類器當(dāng)中挑選一批相對更優(yōu)的弱分類器。最后將這些弱分類器按照權(quán)重進行線性疊加得到一個強分類器。由于檢測的核心任務(wù)是判斷圖像是否是一個人臉,故而能夠把檢測過程視為一個模式識別的問題。訓(xùn)練過程初始階段,所有的樣本都被賦予相等的初始權(quán)重,接著就用該學(xué)習(xí)算法對樣本進行T輪訓(xùn)練,一輪訓(xùn)練之后將所有樣本權(quán)重更新,降低被正確分類樣本的權(quán)重,提高被錯誤分類樣本的權(quán)重,以便算法能夠在后面的訓(xùn)練過程中更加針對于困難的樣本。訓(xùn)練的結(jié)果是產(chǎn)生T個弱分類器,強分類器是將這些弱分類器按照權(quán)重進行一個線性疊加得到,其中分類質(zhì)量更好的弱分類器對強分類器的影響比較大。

  1.2算法分析與改進

  在Adaboost算法中,每個HaarLike特征都有一個對應(yīng)的弱分類器hj(j=1,2...k),其中k是分類器窗口所有的HaarLike特征總數(shù)。hj 的求導(dǎo)必須搜索全體樣本的全體特征值,但是一般情況下為了保證分類器的效果,訓(xùn)練樣本數(shù)和特征值數(shù)都很大,故一個hj的訓(xùn)練所花費的時間很大。另外通過統(tǒng)計分析發(fā)現(xiàn),由于各種原因,人臉樣本與非人臉樣本的特征值并不滿足兩側(cè)分布,而是人臉樣本的特征值集中分布,非人臉樣本的特征值分散分布。經(jīng)過分析, 發(fā)現(xiàn)對于MITCBCL人臉訓(xùn)練庫和MITCBCL非人臉訓(xùn)練庫中的3 510個HaarLike特征,其中2 676個HaarLike特征是如此分布的,占比達76.2%[6], 也說明了這些特征對應(yīng)檢測更有效一些。

  

圖像 001.png

       圖1的橫坐標(biāo)表示HaarLike特征對應(yīng)的所有特征值,縱軸表示某特征值的正樣本數(shù)和負樣本數(shù)所占樣本總數(shù)值的百分比。如圖1所示,兩個端點形成的區(qū)間可將正負樣本進行區(qū)分,所以兩個端點作為雙閾值分類器的閾值是可行的。為了提高單個弱分類器的質(zhì)量,提出了一種基于雙閾值的Adaboost訓(xùn)練算法,現(xiàn)在的問題是如何確定兩個閾值,一個精確的算法是采用兩層嵌套循環(huán),然后通過比較所有可能的閾值,取其中錯誤率最小的兩個閾值,然而這種算法的時間復(fù)雜度為O(n2)[7] ,其中n為訓(xùn)練的樣本數(shù)目,一般n的取值都很大,由此導(dǎo)致一個訓(xùn)練過程可能會花費一個月的時間,這種方式是得不償失的,也是不可能在實際環(huán)境下應(yīng)用的。因此本文在保證正確率和訓(xùn)練時間的基礎(chǔ)上提出了一種新的雙閾值搜索算法。

  步驟如下:

 ?。?)計算某個HaarLike特征在所有樣本的特征值,求出該特征在所有樣本特征值中的最小值fmin和最大值fmax,然后從小到大依次計算每個特征值所對應(yīng)的正負樣本數(shù)n1和n2。

 ?。?)計算每個特征值其所對應(yīng)的正樣本數(shù)n1與負樣本數(shù)n2的比值T,T=n1/(n2+1)。

 ?。?)計算出T最大時對應(yīng)的特征值x。

 ?。?)從x向左右分別搜索過渡點θ1,θ2(θ1<θ2)。即T=1時所對應(yīng)的特征值;如果沒有這樣的特征值,那么就取邊界點,這樣的兩個點就是弱分類器的兩個閾值θ1、θ2。

  本文提出的雙閾值尋找算法極大地提高了閾值的尋找速度。雙閾值分類器替代單閾值分類器,使得分類器的精度更高。單閾值分類器其實是雙閾值的一種特殊情況,當(dāng)x分別向左右進行搜索時,如果取的是邊界,那么實際上就是減少了閾值搜索的次數(shù),也加快了訓(xùn)練過程,提高了檢測速度[8]。

  1.3改進型Adaboost算法

  改進后的雙閾值A(chǔ)daboost算法具體步驟如下:

  (1)給定訓(xùn)練集:(x1,y1),…,(xn,yn),其中yi∈{0,1},yi=0表示xi是非人臉樣本,yi=1表示xi是人臉樣本。

  (2)初始化樣本權(quán)重,設(shè)定第t次循環(huán)中第i個樣本的權(quán)重ωt,i,人臉樣本的初始權(quán)重為ω1,i=1/2m,非人臉樣本的起始權(quán)重為ω1,i=1/2l,其中,m是人臉正樣本集的個數(shù),l 是人臉負樣本集的個數(shù)[9],n 是人臉樣本的總數(shù),滿足n=m+l。

  (3)t=1,…,T(T為訓(xùn)練過程的最大循環(huán)次數(shù))

 ?、賹?quán)重作歸一化處理,QQ圖片20161214222828.png

  ②按照本文提出的雙閾值搜索算法計算雙閾值分類器的兩個閾值。訓(xùn)練中每一個特征j 的弱分類器記為hj,然后根據(jù)樣本分類情況,依照下式得出該弱分類器對應(yīng)的加權(quán)錯誤率:

  QQ圖片20161214223028.png

  ③從所有的弱分類器中挑選分類錯誤率εt相對更小的弱分類器ht。

 ?、軐颖緳?quán)重進行更新,QQ圖片20161214222839.png其中βt=εt/(1-εt),第i個樣本被準(zhǔn)確分類時,QQ圖片20161214222842.png

 ?。?)根據(jù)一定原則把弱分類器構(gòu)造成強分類器:

  QQ圖片20161214222845.png

2實驗結(jié)果分析

  通過仿真對本文提出的算法進行驗證,選擇正負樣本的HaarLike特征進行訓(xùn)練,在MITCBCL人臉訓(xùn)練庫和非人臉訓(xùn)練庫的樣本進行訓(xùn)練并驗證。仿真實驗中人臉樣本訓(xùn)練庫共有2 429個大小為19×19的人臉樣本,其中樣本的背景很豐富,比如:膚色、遮擋、姿勢、光線等等。4 548個負樣本組成了負樣本訓(xùn)練庫。本次仿真實驗所用的計算機是Inter(R) Core(TM)i32310M CPU @2.1GHz,4G安裝內(nèi)存。

  取人臉樣本中的前2 000個作為正樣本訓(xùn)練使用,前4 000個非人臉樣本作為負樣本進行訓(xùn)練,訓(xùn)練得到強分類器,用強分類器對剩下的正負樣本分別進行測試實驗,表1給出了實驗仿真結(jié)果。

圖像 003.png

  從表1中可發(fā)現(xiàn),原始的Adaboost算法和改進的雙閾值A(chǔ)daboost算法在檢測率和誤檢個數(shù)方面是極為接近的。但是在分類器的構(gòu)成以及訓(xùn)練時間上改進Adaboost有明顯的優(yōu)勢,其訓(xùn)練時間較傳統(tǒng)的Adaboost算法少了近40%。利用雙閾值弱分類器線性疊加得到的強分類器質(zhì)量更高,其中弱分類器的數(shù)量更少,因此擁有更快的收斂速度,檢測速度也有所提高。

  算法的優(yōu)勢在以上仿真中得到了驗證,但是一個好的算法對于其余的圖像庫也應(yīng)該是適用的。人臉檢測最典型的圖片測試庫就是MIT+CMU測試庫,該庫含有130幅不同背景、亮度及大小的灰度圖像,其中包含了507個不同民族、不同形態(tài)、光照及遮擋等情況的人臉。表2為測試效果對比。圖2為部分檢測效果。

圖像 004.png

圖像 002.png

3結(jié)束語

  基于傳統(tǒng)的Adaboost算法需要大量的特征來進行訓(xùn)練,因此其需要的訓(xùn)練時間非常驚人。本文提出了一種改進型雙閾值A(chǔ)daboost算法,通過雙閾值的方法來提升弱分類器的質(zhì)量,并且用一種新的閾值選擇算法來減少由此增加的時間,以此使訓(xùn)練時間大幅度減少,也使檢測時間減少,且并沒有明顯降低檢測率。實驗結(jié)果顯示,改進后的雙閾值算法其綜合性能優(yōu)于單閾值的算法。接下來的工作是進一步改善分類器的質(zhì)量,進一步提高算法的檢測精度。

  參考文獻

  [1] 盧世軍. 生物特征識別技術(shù)發(fā)展與應(yīng)用綜述[J]. 計算機安全,2013(1):63-67.

 ?。?] Liu Kewen, Zhou Haiming, Yang Zhanyong, et al. Application of BP neural network for line losses calculation based on quantum genetic algorithm[C].4th International Symposium in Computational Intelligence and Design (ISCID).Hangzhou: IEEE Press, 2011: 3-7, 28-30.

  [3] Wang Wei, Duan Hongyu. The research of SMO algorithm self adaption improvement on SVM[C].Communication Software and Networks (ICCSN).Xi’an: IEEE Press,2011:27-29.

 ?。?] FREUND Y, SCHAPIRE R E. A short introduction to boosting[J].Journal of Japanese Society for Artificial Intelligence,1999,14(5):771-780.

 ?。?] VIOLA P,JONES M.Robust real time face detection[J].International Journal of Computer Vision,2004,57(2):137-154.

 ?。?] 嚴云洋. 圖像的特征抽取方法及其應(yīng)用研究[D].南京:南京理工大學(xué),2008.

 ?。?] ZHANG W, TONG R, DONG J. Z AdaBoost: boosting 2 thresholded weak classifiers for object detection[C]. 2008. IITA '08. Second International Symposium on Intelligent Information Technology Application, Shanghai, 2008(2):839-844.

  [8] Wu Shuqiong, NAGAHASHI H. Parameterized AdaBoost: introducing a parameter to speed up the training of real AdaBoost[J]. IEEE Signal Processing Letters,2014,21(6):687-691.

 ?。?] NAVABIFAR F,YUSOF R,EMADI M. Using rotated asymmetric haarlike features for non frontal face detection[J]. Advanced Science Letters,2013,19(12):3520-3524.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。