本发明属于人脸检测技术领域,具体涉及到一种基于adaboost的人脸检测分类器的改进构造方法。
背景技术:
人脸检测,作为计算机视觉领域中与实际应用结合最紧密的技术之一,在人脸识别中起到至关重要的引导作用,受到了研究人员的广泛重视。直至目前,主要的人脸检测方法可以分为三大类:基于肤色区域的人脸检测、基于模板的人脸检测、基于统计学习的人脸检测。本发明是一种基于统计学习的人脸检测方法。
基于统计学习的人脸检测是用统计分析和机器学习的方法来寻找和区分人脸和非人脸的特征,再根据机器自动学习得到的特征构建分类器以判断图像是否存在人脸。基于统计学习的方法主要有:子空间方法、支持向量机(svm)方法、神经网络方法、隐马尔可夫模型和adaboost方法。
基于adaboost算法的人脸检测分类器构造方法,它使用大量带有标签与初始权值的人脸与非人脸样本,充分训练学习人脸与非人脸的关键特征,得到大量弱分类器,以加权的形式生成多个强分类器,最终强分类器再通过级联的方式组合成人脸检测分类器。在训练弱分类器的过程中,会以迭代的方式进行,即对上一轮训练得到的弱分类器计算加权分类误差,取其中最小误差对应的弱分类器,在此分类器的分类下,将分类错误的样本按一定方式增大权重,将分类正确的样本按一定方式减小权重。通过这种样本权重更新方式,增加了对分类错误样本的关注度,之后的分类器会更加针对性的处理这些大权重样本。
上述基于adaboost的人脸检测分类器构造方法在训练过程中对样本权重的调整,尤其是错误分类的样本,并未设置上限阈值,可能导致某些分类困难样本的权重过大,出现退化现象。但是仅仅设置一个权重阈值,当样本权重超过该阈值时便不再改变,多个类似样本又会造成困难样本高权重的累积,同样可能会产生“退化”的问题。
技术实现要素:
本发明的目的是针对adaboost算法在训练过程中出现的退化现象对该算法进行改进,提出了一种新的双阈值分类器训练方法,该方法首先给所有样本设置一个权重阈值wh,当困难样本的权重不断增大超过该阈值时,即保持不变;同时,引入一个轮数阈值wn,当样本权重超过权重阈值时开始计数,
每更新一轮,若权重依旧大于阈值则加1,当计数超过wn时,将该困难样本的权重缩小到初始权重大小,若计数期间该样本的权重缩小到比权重阈值小,则计数归零。
同时,对于弱分类器所使用的haar特征,本发明中新增加了兼顾脸部全局形状的新haar特征,该特征可以很好的适应脸部30°至60°之间的旋转,增加系统的鲁棒性。
本发明是通过下述技术方案实现的。
基于adaboost的人脸检测分类器构造方法,具体步骤如下:
步骤1:定义一个包含人脸与非人脸的样本集合(x1,y1),...,(xn,yn),其中yn对应于正、负样本(人脸样本为正样本,非人脸样本为负样本)分别取值为1和-1;
步骤2:初始化正负样本权重分布为w1,i=1/n,i=1,...,n。
步骤3:对于t=1,...,t:
3-1:在当前的分布w1,i下,针对每个单haar特征训练一个弱分类器,其中包括本发明新增的haar特征,并从中选取错误率最小的一个作为此次循环的弱分类器ht;
3-2:对选中的ht:x→y,计算加权错误率:
3-3:求解弱分类器ht的加权参数
3-4:为下轮循环更新样本的权重:
其中,wht是样本更新的权重阈值,
步骤4:经过步骤3循环,得到一系列弱分类器,最后组合成的强分类器为
进一步地,在所述步骤3-1中,在训练弱分类器所用到的haar特征集中添加新的特征,该特征更加重视脸部器官的全局分布,并且,对于脸部30°至60°的左右旋转有着很好的鲁棒性。
进一步地,在所述步骤3-4中,引入了双阈值来限制样本权重的增长。首先是权重阈值wh,在错分样本权重不断增大的过程中,当样本的权重大于wh时,则该样本在之后仍被错分的情况下保持权重大小不变,同时,对这些样本的错分轮数开始计数,每更新一轮,若权重依旧大于权重阈值则加1,当计数超过轮数阈值wn时,将该困难样本的权重缩小到初始权重大小1/n,若计数期间该样本的权重缩小到比权重阈值小,则计数归零。
本发明的有益效果:本发明在经典adaboost算法基础上对分类器训练中样本权重的更新过程进行了改进,并且新增了兼顾面部器官全局分布的haar特征。本发明提出的双阈值有效地避免了分类器样本训练过程中,因为某些困难样本权重的过分增大而出现的退化现象,同时在对困难样本保持较高关注度的基础上,有效地限制了困难样本过多导致的权重累积而造成对其他样本的挤压。在训练弱分类器的haar特征集中,新增了兼顾面部器官全局分布的haar特征,对于面部左右旋转的情况,检测结果有更好的鲁棒性。
附图说明
图1为本发明的整体流程图。
图2为新增的haar特征。
图3为样本权值更新部分流程图。
具体实施方式
下面将结合附图对本发明的实施作进一步的描述。
结合图1,本发明是一种基于adaboost的人脸检测分类器构造方法,包括以下步骤:
步骤1:定义一个包含人脸与非人脸的样本集合(x1,y1),...,(xn,yn),其中yn对应于正、负样本(人脸样本为正样本,非人脸样本为负样本)分别取值为1和-1;
步骤2:初始化正负样本权重分布为w1,i=1/n,i=1,...,n。
步骤3:对于t=1,...,t:
3-1:在当前的分布w1,i下,针对每个单haar特征训练一个弱分类器,其中包括本发明新增的haar特征,并从中选取错误率最小的一个作为此次循环的弱分类器ht;
3-2:对选中的ht:x→y,计算加权错误率:
3-3:求解弱分类器ht的加权参数
3-4:为下轮循环更新样本的权重:
其中,zt是归一化因子,即
步骤4:经过步骤3循环,得到一系列弱分类器,最后组合成的强分类器为
结合图2本发明通过增加新的haar特征,解决了原先haar特征集只关注局部特征的问题,将脸部器官的全局特征充分考虑,模拟了人脸部旋转后眼睛、鼻子和嘴的分布特点,给出的类“t”型haar特征,对幅度在30°至60°的左右旋转有较强的鲁棒性,取得了良好的检测效果。
结合图3,本发明通过对样本权重更新过程做了相关的改进,提出了更加优化的分类器构造方法。在样本权重更新的过程中,使用双阈值方法避免困难样本造成的退化问题,权重阈值wh限制样本权重的过分增大,轮数阈值wn在保证给予困难样本足够重视程度的情况下,限制大权重样本数量上的累积而造成对其他样本的权重挤压。首先,本轮各样本的权重为w1,i,针对本轮的分类结果,对分类正确的样本,减小其权重并归一化为
表1本文改进算法与经典adaboost算法的比较
上面结合附图对本发明进行了示例性的描述。显然,本发明的实现并不受上述方式的限制,只要采用了本发明的方法构思和技术方案进行的各种改进,或未经改进将本发明的构思和技术方案直接应用于其它场合的,均在本发明的保护范围内。