首页 理论教育 基于特征的人脸检测方法优化

基于特征的人脸检测方法优化

时间:2023-06-19 理论教育 版权反馈
【摘要】:基于特征的人脸检测方法将人脸视为显著器官的组合,通过不同的方法,检测出不同的人脸面部特征的位置,然后根据它们之间的空间几何关系来定位人脸;或者根据人脸所固有的不变的特性,如轮廓规则、肤色、纹理规则等,通过检测是否满足这些规则来检测、定位人脸。这一类方法主要有基于肤色的人脸检测、基于局部特征的人脸检测、基于多个特征综合的人脸检测方法等。人脸特征是进行人脸检测的重要依据。

基于特征的人脸检测方法优化

基于特征的人脸检测方法将人脸视为显著器官的组合,通过不同的方法,检测出不同的人脸面部特征的位置,然后根据它们之间的空间几何关系来定位人脸;或者根据人脸所固有的不变的特性,如轮廓规则、肤色、纹理规则等,通过检测是否满足这些规则来检测、定位人脸。这一类方法主要有基于肤色的人脸检测(包括多个彩色空间)、基于局部特征的人脸检测、基于多个特征综合的人脸检测方法等。

用AdaBoost学习算法的简单特征训练级联人脸检测器方法由Viola等人于2001年提出。该方法采用一种称为“积分图像”的图像表示方法,这种表示方法能够快速计算出检测器用到的特征。利用基于AdaBoost学习算法,从一个较大的特征集中选择少量的关键的特征,产生一个高效的分类器。再用级联的方式将单个的分类器合成为一个更加复杂的分类器,使图像的背景区域快速地丢弃,而在有可能存在目标(人脸)的区域花费更多的计算,级联分类器在人脸检测方面速度快且性能与Rowley的人工神经网络(ANN)方法基本相同。该方法的突出地位和贡献在于,它给出了一个稳定的、实时的目标检测框架,是第一个实时的人脸检测算法。

人脸特征是进行人脸检测的重要依据。和单个的像素比较,用特征进行检测有很多原因,其中的一个原因是特征本身就包含了部分局部信息,而这些局部信息知识是很难通过有限的训练数据得到的。采用人脸特征而不是单个像素的另外一个好处就是,基于特征的检测要比基于像素的检测快得多。因此,算法采用了一组类似于哈尔小波变换的滤波器来计算图像的特征值,如图5-6所示。

978-7-111-57609-9-Chapter05-15.jpg

图5-6 矩形特征及其匹配

a)24×24像素子窗口内选出的矩形特征 b)子窗口检测到的与矩形特征的匹配

脸部一些特征能够由矩形特征简单地描绘,例如通常眼睛要比脸颊颜色更深;鼻梁两侧要比鼻梁颜色更深;嘴巴要比周围颜色更深。对于一个24×24检测器,其内的矩形特征数量超过160000个,必须通过特定算法甄选适合的矩形特征,并将其组合成强分类器才能检测人脸。

我们将使用简单矩形组合作为特征模板。矩形特征对一些简单的图形结构(比如边缘、线段)比较敏感,但是其只能描述特定走向(水平、垂直、对角)的结构,因此比较粗略。这类特征模板都是由两个或多个全等的矩形相邻组合而成,特征模板内有白色和黑色两种矩形(定义左上角为白色,然后黑白两色依次交错),并将此特征模板的特征值定义为白色矩形像素之和减去黑色矩形像素之和。

最简单的5个特征模板如图5-7所示。

图中包括三种特征:双矩形特征(Two-rectangle Feature)、三矩形特征(Three-rectangle Feature)和四矩形特征(Four-rectangle Feature),分别对应图中的A、B、C、D和E。其中,双矩形特征定义为图中相邻两个矩形内像素颜色之和的差。三矩形特征定义为两边的两个矩形减去中间的矩形中像素的颜色之和的差。四矩形特征定义为对角线上矩形内像素颜色之和的差。

978-7-111-57609-9-Chapter05-16.jpg

图5-7 特征模板

a)A、B为边缘特征或双矩形特征模板 b)C、D为线特性或三矩形特征模板 c)E为特定方向特征或四矩形特征模板

为了快速地在不同尺度下计算图像的特征,算法引入了积分图(Integralimage)的概念,如图5-8所示。

积分图中的每个点(xy)的值为图像中(xy)点左上部分所有像素点的累加:

978-7-111-57609-9-Chapter05-17.jpg

一旦计算出图像所对应的积分图,在任意尺度上的图像特征就能在恒定时间内计算出来。如图5-8所示,在1、2、3、4处点的积分图的值分别为A、A+B、A+B+C、A+B+C+D,而D的矩形特征可以通过4+1-(2+3)计算出来,归纳起来就有如下公式计算任意尺度下的图像特征:

sxy)=sxy-1)+ixy) (5-14)

iixy)=iix-1,y)+sxy) (5-15)(www.xing528.com)

式中,iixy)为积分图中(xy)点的值;sxy)为图像中(xy)点以下列向量上的颜色值之和;ixy)为(xy)点的像素值。这样,只要对输入图像遍历一次,就可以得到积分图,就可以在恒定时间内得到任意尺度下的图像的特征。

978-7-111-57609-9-Chapter05-18.jpg

图5-8 积分图

算法假设只要用少数的一些特征就能构建一个较好的分类器。为了做到这一点,算法对Adaboost方法略作改进,规定每个弱学习机只允许基于一个特征,这样在筛选弱学习机的同时,实际上也就完成了对特征的选择。在训练的每一步中,对各种特征的分类结果进行测试。选出错误率最低的一个加入到最终系统中。

算法通过选择最能区分正样本和负样本的矩形特征。对每一个特征,弱分类器去定一个最优的分类函数的阈值,使得最少的样本被错误分类。一个弱分类器(hjx))因此就包含特征fj,阈值θj和用于控制不等式方向的pj

978-7-111-57609-9-Chapter05-19.jpg

式中,x为图像中的24×24像素的子窗口。这样得到的是单个的弱分类器,为了取得可信度较高的强分类器,采用了AdaBoost学习算法将多个弱分类器组合生成一个强分类器,具体学习算法如下:

设(X1Y1)、…、(XnYn)为输入图像,其中Yj=0,1用来标记是负样本还是正样本。

1)初始化权值w1I=1/(2m)、1/(2l)分别对应正样本(Yj=1)和负样本(Yj=0)。

2)对t=1,…,T

①将权值标准化,978-7-111-57609-9-Chapter05-20.jpg,使得wt为一概率分布。

②对每一个特征j,训练一个分类器hj,使得该分类器只用这一个特征进行分类。相应的误差为978-7-111-57609-9-Chapter05-21.jpg

③选择具有最小分类误差的分类器。

④更新权值978-7-111-57609-9-Chapter05-22.jpg,其中如果Xi被正确地分类,ei=0,否则ei=1,βt=(1-ei/t

⑤最终的强分类器是

978-7-111-57609-9-Chapter05-23.jpg

式中,αt=lg(1/βt)。

在前面举出的图5-6中,图a为特征滤波器示意,图b的左图为一幅被测图,中、右图分别为将滤波器放在典型的目标区域的情况。从实验结果来看,检测器显然分别利用了眼部区域亮度低于脸颊和双眼亮度低于眉心的特点。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈