【人脸检测】Haar分类器原理2——AdaBoost级联分类器

来源:互联网 发布:淘宝店铺要装修多久 编辑:程序博客网 时间:2024/05/19 09:42

引言:

上一小节对矩形特征和积分图的相关概念作了简要介绍,然后我们要利用积分图对矩形特征的计算进行人脸检测算法中弱分类器的选取。

Haar分类器是一个监督学习分类器。要进行物体的检测,首先要对图像进行直方图均衡化并归一化到同样大小,然后标记里面是否包含要检测的物体,故人脸检测也不例外。

Haar分类器使用AdaBoost算法,但是把它组织为筛选式的级联分类器,每个节点是多个树构成的分类器,且每个节点的正确识别率很高。在任一级计算中,一旦获得“不在类别中”的结论,则计算终止。只有通过分类器中所有级别,才会认为物体被检测到。这样的优点是当目标出现频率较低的时候(即人脸在图像中所占比例小时),筛选式的级联分类器可以显著地降低计算量,因为大部分被检测的区域可以很早被筛选掉,迅速判断该区域没有要求被检测的物体。


图1 物体检测流程框架图

1、Boosting提升算法简述

Boosting算法涉及到两个重要的概念就是弱学习和强学习,所谓的弱学习,就是指一个学习算法对一组概念的识别率只比随机识别好一点,所谓强学习,就是指一个学习算法对一组概率的识别率很高。Kearns和Valiant提出了弱学习和强学习等价的问题 ,并证明了只要有足够的数据,弱学习算法就能通过集成的方式生成任意高精度的强学习方法

针对Boosting的若干缺陷,Freund和Schapire于1996年前后提出了一个实际可用的自适应Boosting算法AdaBoost,AdaBoost目前已发展出了大概四种形式的算法,Discrete AdaBoost、Real AdaBoost、LogitBoost、gentle AdaBoost。

2、AdaBoost算法流程

Boosting是一个迭代的过程,用来自适应地改变训练样本的分布,使得基分类器聚焦在那些很难分的样本上。

(1)给定训练样本(x1,y1),...,(xi,yi),...,(xn,yn),其中xi表示第i个样本,yi=0表示为负样本,yi=1表示为正样本。n为训练样本总数。

(2)初始化训练样本的权重

(3)第一次迭代,首先训练一弱分类器,计算弱分类器的错误率;选取合适阈值,使得误差最小;更新样本权重

(4)经过T次循环后,得到T个弱分类器,按照评价每一个弱分类器的重要性的权重进行加权叠加,最终得到强分类器


图1 AdaBoost算法示意图


图2 人脸检测的AdaBoost算法流程图

3、从弱分类器到强分类器的级联

(1)弱分类器

任何单一特征或组合特征都可以有自己的弱分类器,为了使得弱分类器所有正负样本的误差最小化,就需要从所有的弱分类器中找出最佳的弱分类器,为此需要设定一个最佳阈值θ和偏置p,然后将多个弱分类器组合成一个性能优越的强分类器。弱分类器公式为:


图3 弱分类器公式

其中,hj(x)为弱分类器的判断值,值为1则说明图片为人脸,否则非人脸;x表示输入的图片子窗口,fj(x)为x图像上第j个特征的值;θj为分类器阈值;pj为不等号方向,若分类结果大于阈值,则为−1,否则为+1,以保证不等号<方向不变。

注意:

输入x为一幅数字图像;特征fj与弱分类器hj(x)是一一对应的关系;一个弱分类器的训练就是找到最优阈值θj的过程,一轮分类器的训练过程就是找到分类效果最好的弱分类器的过程。

(2)弱分类器的训练

训练一个弱分类器,就是在当前权重分布的情况下,确定f(x)的最优阈值,使得这个弱分类器对所有训练样本的分类误差最低。选取一个最佳弱分类器就是选择那个对所有训练样本的分类误差在所有弱分类器中最低的那个弱分类器。

具体训练过程:

a、对于每个特征 f,计算所有训练样本的特征值,并将特征值排序

b、扫描一遍排好序的特征值,对排好序的表中的每个元素,计算下面四个值:

全部人脸样本的权重的和T1;

全部非人脸样本的权重的和T0;

在此元素之前的人脸样本的权重的和S1;

在此元素之前的非人脸样本的权重的和S0;

c、选取当前元素特征值fi(x),和它前面的一个特征值fi-1(x)之间的值作为阈值,该阈值的分类误差为:

e = min( (S1+(T0-S0) ,(S0+(T1-S1))

通过把这个排序的表从头到尾扫描一遍可以为弱分类器选择使分类误差最小的阈值(即最优阈值)。

(3)建立强分类器

经过T次迭代后,获得T个最佳弱分类器h1(x),...,ht(x),用下面方式组合成一个强分类器:

其中,α = ㏑((1-εt)/εt)。

当这个强分类器对一幅待检测图像时,相当于让构成该强分类器的所有弱分类器投票,再对投票结果按照弱分类器的错误率加权求和,将投票加权求和的结果与平均投票结果比较得出最终的结果。

(4)强分类器的级联

为了提高人脸检测的速度和精度,最终的分类器还需要通过几个强分类器级联得到。在一个级联分类系统中,对于每一个输入图片,顺序通过每个强分类器,前
面的强分类器相对简单,其包含的弱分类器也相对较少,后面的强分类器逐级复杂,只有通过前面的强分类检测后的图片才能送入后面的强分类器检测,比较靠前的几
级分类器可以过滤掉大部分的不合格图片,只有通过了所有强分类器检测的图片区域才是有效人脸区域。


图4 强分类器的级联

转载请标明出处,原文地址:http://blog.csdn.net/jasonding1354/article/details/37558287


参考资料:

《学习OpenCV(中文版)》,清华大学出版社

浅析人脸检测之Haar分类器方法,http://www.cnblogs.com/ello/archive/2012/04/28/2475419.html

基于Adaboost的人脸检测方法及眼睛定位算法研究 龙伶敏

《机器学习实战》,人民邮电出版社

《统计学习方法》,清华大学出版社


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 上海浦东金科苑幼儿园统筹怎么办 红酒瓶塞掉了怎么办 红酒瓶塞丢了怎么办 收入证明没有公章怎么办 父母没工作怎么办签证 在温哥华怎么办新西兰签证 上班第一天无聊怎么办 上班紧张不自信怎么办 销售到了30岁怎么办 转行会计没经验怎么办 澳洲coe被取消怎么办 父母不同意嫁远怎么办 家人不同意我们在一起怎么办 语言课申请不到怎么办 墨尔本大学均分不够怎么办 去澳洲旅游签证怎么办 换新护照澳大利亚签证怎么办 大学错过交学费日期怎么办 留学加拿大申请工签被拒怎么办 英国大学挂科怎么办 小孩子学不进去怎么办 大学生学不进去怎么办 高考没考上本科怎么办 想读书家里没钱怎么办 考上大学没钱上怎么办 儿子没考上大学怎么办 后悔没上大学怎么办 把学费花了怎么办 临床预科挂科怎么办 补录了预科怎么办 美国预科没过怎么办 出国留学报到证怎么办 本科绩点2.93怎么办 在美国被抢劫怎么办 去美国留学费用怎么办 被美国大学停学怎么办 雅思作文字数不够怎么办 英国选修课挂科怎么办 英国双申保证金怎么办 研究生挂科了怎么办 大一绩点没过2.0怎么办