1. 程式人生 > >基於AdaBoost算法——世紀晟結合Haar-like特征訓練人臉檢測識別

基於AdaBoost算法——世紀晟結合Haar-like特征訓練人臉檢測識別

st算法 技術分享 測速 循環 family sca 假設 弱分類器 ada

AdaBoost?算法是一種快速人臉檢測算法,它將根據弱學習的反饋,適應性地調整假設的錯誤率,使在效率不降低的情況下,檢測正確率得到了很大的提高。

系統在技術上的三個貢獻:

1.用簡單的Haar-like矩形特征作特征,可快速計算

2.基於AdaBoost的分類器設計

3.采用了Cascade(分級分類器)技術提高檢測速度

人臉的特征表示方法——Haar-like矩形特征

矩形特征的值是所有白色矩形中點的亮度值的和減去所有灰色矩形中點的亮度值的和,所得到的差

技術分享圖片

具體特征可以用一個五元組表示 r(x,y,w,h,style)

比如:r(2,2,4,2,A)表示下面的特征

特征值即為白色四個像素與黑色四個像素的差值

技術分享圖片

Haar-Like特征的快速計算

技術分享圖片

矩形特征的計算

- 像素點1的積分值是矩形A中所有點的亮度值的和

- 像素點2的積分值是A+B

- 像素點3的積分值是A+C,

- 像素點4的積分值是A+B+C+D.

- 矩形D內像素積分值:

技術分享圖片

計算流程

技術分享圖片

技術分享圖片

AdaBoost用於人臉模式分類

技術分享圖片

輸入——

1.訓練用人臉和非臉樣本

2.指定要挑選出來的弱分類器的數目T——這也是程序循環的次數

3.利用先驗知識初始化權值向量——一般可以平均設置

Adaboost學習算法流程

技術分享圖片

基於AdaBoost算法——世紀晟結合Haar-like特征訓練人臉檢測識別