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学习算法流程