AdaBoost 算法是一種快速人臉檢測算法,它將根據弱學習的反饋,適應性地調整假設的錯誤率,使在效率不下降的狀況下,檢測正確率獲得了很大的提升。算法
系統在技術上的三個貢獻:學習
1.用簡單的Haar-like矩形特徵做特徵,可快速計算spa
2.基於AdaBoost的分類器設計設計
3.採用了Cascade(分級分類器)技術提升檢測速度blog
人臉的特徵表示方法——Haar-like矩形特徵效率
矩形特徵的值是全部白色矩形中點的亮度值的和減去全部灰色矩形中點的亮度值的和,所獲得的差循環
具體特徵能夠用一個五元組表示 r(x,y,w,h,style)程序
好比:r(2,2,4,2,A)表示下面的特徵方法
特徵值即爲白色四個像素與黑色四個像素的差值im
Haar-Like特徵的快速計算
矩形特徵的計算
- 像素點1的積分值是矩形A中全部點的亮度值的和
- 像素點2的積分值是A+B
- 像素點3的積分值是A+C,
- 像素點4的積分值是A+B+C+D.
- 矩形D內像素積分值:
計算流程
AdaBoost用於人臉模式分類
輸入——
1.訓練用人臉和非臉樣本
2.指定要挑選出來的弱分類器的數目T——這也是程序循環的次數
3.利用先驗知識初始化權值向量——通常能夠平均設置
Adaboost學習算法流程