AdaBoost演算法的訓練過程

2021-06-19 16:54:58 字數 1865 閱讀 8888

每個haar特徵對應看乙個弱分類器,但並不是任伺乙個haar特徵都能較好的描述人臉灰度分布的某一特點,如何從大量的haar特徵中挑選出最優的haar特徵並製作成分類器用於人臉檢測,這是adaboost演算法訓練過程所要解決的關鍵問題。

paul viola和michael jones於2023年將adaboost演算法應用於人臉檢測中,其基本思想是針對不同的訓練集訓練同乙個分類器(弱分類器),然後把這些不同訓練集上的得到的分類器聯合起來,構成乙個最終的強分類器。 adaboost 演算法中不同的訓練集是通過調整每個樣本對應的權重來實現的。開始時,每個樣本對應的權重是相同的,對於h1 分類錯誤的樣本,加大其對應的權重; 而對於分類正確的樣本, 降低其權重, 這樣分錯的樣本就被突出出來,從而得到乙個新的樣本分佈 u2 。在新的樣本分佈下,再次對弱分類器進行訓練,得到弱分類器 h2 。依次類推,經過 t 次迴圈,得到 t 個弱分類器,把這 t 個弱分類器按一定的權重疊加(boost)起來,得到最終想要的強分類器。

訓練系統總體框架,由「 訓練部分」和 「 補充部分」構成。依據系統框架,本文的訓練系統可分為以下幾個模組:

(1)以樣本集為輸入,在給定的矩形特徵原型下,計算並獲得矩形特徵集;

(2)以特徵集為輸入,根據給定的弱學習演算法,確定閩值,將特徵與弱分類器一一對應,獲得弱分類器集;

(3)以弱分類器集為輸入, 在訓練檢出率和誤判率限制下, 使用a d a b o o s t 演算法

挑選最優的弱分類器構成強分類器;

(4)以強分類器集為輸入,將其組合為級聯分類器;

(5)以非人臉集為輸入,組合強分類器為臨時的級聯分類器,篩選並補充

非人臉樣本。

訓練樣本的選擇:

訓練樣本要求是面部特寫影象,圖1是一簇訓練樣本,大小被歸一化為24×24畫素,其中正訓練樣本要求是面部特寫影象,但是人臉形態千差萬別,所以訓練樣本選取過程中要考慮到樣本的多樣性。負訓練樣本,大小被歸一化為24×24畫素,其中各樣本不完全相同,分別具有一定的代表性。

圖1 部分訓練正樣本集和訓練負樣本集

訓練過程分為3個步驟:首先需要提取haar特徵;然後將haar特徵轉化成對應的弱分類器;最後從大量的弱分類器中迭代選擇出最優弱分類器。

(1)提取haar特徵

圖2 常用的四種haar特徵

常用的haar特徵有4種,如圖2所示。當然也可以在這4種特徵的基礎上設計出更多、更複雜的特徵。以大小為24x24畫素的訓練樣本為例,上述4種特徵的總個數超過了160000個。這樣龐大的數字給後續的迭代訓練工作帶來了龐大的計算量,直接導致adaboost演算法訓練過程極為費時,這恰恰是演算法需要改進的關鍵問題之一o

(2)生成弱分類器

每乙個haar特徵都對應著乙個弱分類器,每乙個弱分類器都是根據它所對應的haar特徵的引數來定義的。利用上述haar特徵的位置資訊,對訓練樣本進行統計就可以得到對應的特徵引數。adaboost演算法中所訓練的弱分類器是任何分類器,包括決策樹,神經網路,隱馬爾科夫模型,如果弱分類器是線性神經網路,那麼adaboost演算法每次將構造多層感知器的乙個節點。

(3)採用adaboost演算法選取優化的弱分類器

adaboost演算法訓練過程就是挑選最優弱分類器,並賦予權重過程,圖3是adaboost演算法訓練示意圖。

圖3 adaboost演算法訓練示意圖

Adaboost 訓練過程

每個haar特徵對應看乙個弱分類器,但並不是任伺乙個haar特徵都能較好的描述人臉灰度分布的某一特點,如何從大量的haar特徵中挑選出最優的haar特徵並製作成分類器用於人臉檢測,這是adaboost演算法訓練過程所要解決的關鍵問題。paul viola和michael jones於2001年將ad...

AdaBoost演算法 弱分類器訓練過程

def loadsimpdata 樣本特徵 datmat matrix 1.2.1,0.3 2.1.1,0.4 1.3,1.1.2 1.1.1.1 2.1.1.3 7.2.0.35 正負樣本標誌 classlabels 1.0,1.0,1.0,1.0,1.0,1.0 return datmat,cl...

AdaBoost演算法 強分類器訓練過程

初始化權重 負樣本權重w0i 1 2m,正樣本權重w1i 1 2l,其中m為負樣本總數,l為正樣本總數 對於t 1,t t為訓練次數 權重歸一化,簡單說就是使本輪所有樣本的權重的和為1 根據每乙個特徵訓練簡單分類器,僅使用乙個特徵 從所有簡單分類器中選出乙個分錯率最低的分類器,為弱分類器 更新權重 ...