基于AdaBoost算法——世纪晟结合Haar-like特征训练人脸检测识别

时间:2021-02-07 18:01:25

 

AdaBoost 算法是一种快速人脸检测算法,它将根据弱学习的反馈,适应性地调整假设的错误率,使在效率不降低的情况下,检测正确率得到了很大的提高。

 

系统在技术上的三个贡献:

1.用简单的Haar-like矩形特征作特征,可快速计算

2.基于AdaBoost的分类器设计

3.采用了Cascade(分级分类器)技术提高检测速度

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

 

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

基于AdaBoost算法——世纪晟结合Haar-like特征训练人脸检测识别

具体特征可以用一个五元组表示 r(x,y,w,h,style)

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

特征值即为白色四个像素与黑色四个像素的差值

基于AdaBoost算法——世纪晟结合Haar-like特征训练人脸检测识别

Haar-Like特征的快速计算

基于AdaBoost算法——世纪晟结合Haar-like特征训练人脸检测识别

矩形特征的计算

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

- 像素点2的积分值是A+B

- 像素点3的积分值是A+C,

- 像素点4的积分值是A+B+C+D.

- 矩形D内像素积分值:

基于AdaBoost算法——世纪晟结合Haar-like特征训练人脸检测识别

计算流程

基于AdaBoost算法——世纪晟结合Haar-like特征训练人脸检测识别

基于AdaBoost算法——世纪晟结合Haar-like特征训练人脸检测识别

AdaBoost用于人脸模式分类

基于AdaBoost算法——世纪晟结合Haar-like特征训练人脸检测识别

输入——

1.训练用人脸和非脸样本

2.指定要挑选出来的弱分类器的数目T——这也是程序循环的次数

3.利用先验知识初始化权值向量——一般可以平均设置

Adaboost学习算法流程

基于AdaBoost算法——世纪晟结合Haar-like特征训练人脸检测识别