資源描述:
《adaboost算法的訓練過程》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在行業(yè)資料-天天文庫。
1、AdaBoost算法的訓練過程每個Haar特征對應看一個弱分類器,但并不是任何一個Haar特征都能較好的描述人臉灰度分布的某一特點,如何從大量的Haar特征中挑選出最優(yōu)的Haar特征并制作成分類器用于人臉檢測,這是AdaBoost算法訓練過程所要解決的關鍵問題。???PaulViola和MichaelJones于2001年將Adaboost算法應用于人臉檢測中,其基本思想是針對不同的訓練集訓練同一個分類器(弱分類器),然后把這些不同訓練集上的得到的分類器聯(lián)合起來,構成一個最終的強分類器。Adaboost算法中不同的訓練集是通過調(diào)整每個樣本對應的權重來實現(xiàn)的。開始時,
2、每個樣本對應的權重是相同的,對于h1分類錯誤的樣本,加大其對應的權重;而對于分類正確的樣本,降低其權重,這樣分錯的樣本就被突出出來,從而得到一個新的樣本分布U2。在新的樣本分布下,再次對弱分類器進行訓練,得到弱分類器h2。依次類推,經(jīng)過T次循環(huán),得到T個弱分類器,把這T個弱分類器按一定的權重疊加(boost)起來,得到最終想要的強分類器。?????訓練系統(tǒng)總體框架,由“訓練部分”和“補充部分”構成。依據(jù)系統(tǒng)框架,本文的訓練系統(tǒng)可分為以下幾個模塊:????(1)以樣本集為輸入,在給定的矩形特征原型下,計算并獲得矩形特征集;????(2)以特征集為輸入,根據(jù)給定的弱學習
3、算法,確定閩值,將特征與弱分類器一一對應,獲得弱分類器集;????(3)以弱分類器集為輸入,在訓練檢出率和誤判率限制下,使用AdaBoost算法挑選最優(yōu)的弱分類器構成強分類器;????(4)以強分類器集為輸入,將其組合為級聯(lián)分類器;????(5)以非人臉圖片集為輸入,組合強分類器為臨時的級聯(lián)分類器,篩選并補充非人臉樣本。訓練樣本的選擇:???訓練樣本要求是面部特寫圖像,圖1是一簇訓練樣本,大小被歸一化為24×24像素,其中正訓練樣本要求是面部特寫圖像,但是人臉形態(tài)千差萬別,所以訓練樣本選取過程中要考慮到樣本的多樣性。負訓練樣本,大小被歸一化為24×24像素,其中各樣
4、本不完全相同,分別具有一定的代表性。??圖1部分訓練正樣本集和訓練負樣本集訓練過程分為3個步驟:首先需要提取Haar特征;然后將Haar特征轉化成對應的弱分類器;最后從大量的弱分類器中迭代選擇出最優(yōu)弱分類器。???(1)提取Haar特征???????????????????圖2常用的四種Haar特征???常用的Haar特征有4種,如圖2所示。當然也可以在這4種特征的基礎上設計出更多、更復雜的特征。以大小為24X24像素的訓練樣本為例,上述4種特征的總個數(shù)超過了160000個。這樣龐大的數(shù)字給后續(xù)的迭代訓練工作帶來了龐大的計算量,直接導致AdaBoost算法訓練過程極
5、為費時,這恰恰是算法需要改進的關鍵問題之一o???(2)生成弱分類器???每一個Haar特征都對應著一個弱分類器,每一個弱分類器都是根據(jù)它所對應的Haar特征的參數(shù)來定義的。利用上述Haar特征的位置信息,對訓練樣本進行統(tǒng)計就可以得到對應的特征參數(shù)。AdaBoost算法中所訓練的弱分類器是任何分類器,包括決策樹,神經(jīng)網(wǎng)絡,隱馬爾科夫模型,如果弱分類器是線性神經(jīng)網(wǎng)絡,那么AdaBoost算法每次將構造多層感知器的一個節(jié)點。???(3)采用AdaBoost算法選取優(yōu)化的弱分類器???AdaBoost算法訓練過程就是挑選最優(yōu)弱分類器,并賦予權重過程,圖3是AdaBoost
6、算法訓練示意圖。??????????????????????????????圖3?AdaBoost算法訓練示意圖