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

  何強(qiáng)1,,2,,馬文1

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

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

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

0引言

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

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

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

1Adaboost算法研究

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

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

  1.2算法分析與改進(jìn)

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

  

圖像 001.png

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

  步驟如下:

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

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

  (3)計(jì)算出T最大時(shí)對(duì)應(yīng)的特征值x,。

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

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

  1.3改進(jìn)型Adaboost算法

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

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

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

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

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

 ?、诎凑毡疚奶岢龅碾p閾值搜索算法計(jì)算雙閾值分類器的兩個(gè)閾值,。訓(xùn)練中每一個(gè)特征j 的弱分類器記為hj,然后根據(jù)樣本分類情況,,依照下式得出該弱分類器對(duì)應(yīng)的加權(quán)錯(cuò)誤率:

  QQ圖片20161214223028.png

 ?、蹚乃械娜醴诸惼髦刑暨x分類錯(cuò)誤率εt相對(duì)更小的弱分類器ht。

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

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

  QQ圖片20161214222845.png

2實(shí)驗(yàn)結(jié)果分析

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

  取人臉樣本中的前2 000個(gè)作為正樣本訓(xùn)練使用,前4 000個(gè)非人臉樣本作為負(fù)樣本進(jìn)行訓(xùn)練,,訓(xùn)練得到強(qiáng)分類器,,用強(qiáng)分類器對(duì)剩下的正負(fù)樣本分別進(jìn)行測(cè)試實(shí)驗(yàn),表1給出了實(shí)驗(yàn)仿真結(jié)果。

圖像 003.png

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

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

圖像 004.png

圖像 002.png

3結(jié)束語

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

  參考文獻(xiàn)

 ?。?] 盧世軍. 生物特征識(shí)別技術(shù)發(fā)展與應(yīng)用綜述[J]. 計(jì)算機(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.

 ?。?] 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.

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

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

 ?。?] 嚴(yán)云洋. 圖像的特征抽取方法及其應(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)載,。