APP下载

一种复杂环境下鲁棒的精确人脸检测算法

2017-03-02桑庆兵唐晓东

电子设计工程 2017年3期
关键词:级联人脸分类器

束 平,桑庆兵,唐晓东

(1.江苏联合职业技术学院 盐城生物工程分院,江苏 盐城224051;2.江南大学 物联网学院,江苏 无锡214122;3.盐城机械工业职工中等专业学校 江苏 盐城224000)

一种复杂环境下鲁棒的精确人脸检测算法

束 平1,桑庆兵2,唐晓东3

(1.江苏联合职业技术学院 盐城生物工程分院,江苏 盐城224051;2.江南大学 物联网学院,江苏 无锡214122;3.盐城机械工业职工中等专业学校 江苏 盐城224000)

结合Viola-Jones人脸检测框架和CLM(Constrained Local Model)模型,建立了一种对光照和姿态变化鲁棒的人脸检测算法。该算法首先对不同状态下的训练集使用AdaBoost算法建立一组状态相关的强分类器和相应的CLM模型。然后通过采用多层级联结构分类器对图像中存在的人脸进行检测并对检测到的人脸进行光照和姿态变化的分析。最后,选择合适的CLM模型对检测到的人脸进一步进行定位,从而得到精确的人脸位置信息。通过在CMU-PIE人脸数据库上进行实验,验证了该算法的有效性。

人脸检测;局部约束模型;AdaBoost;Haar特征;级联结构

人脸检测,是指在任意一幅输入图像中确定所有人脸(如果存在)的位置、大小和位姿的过程[1]。人脸检测作为自动人脸识别系统中的第一步,对后续的人脸特征抽取和人脸识别起着至关重要的作用。因此,寻找一种快速、鲁棒的人脸检测算法成为人脸识别技术中一个重点关注的问题和研究热点。

伴随着自动人脸识别技术的发展,人脸检测方法也日渐成熟[1-2]。现在的人脸检测算法大致有:基于肤色特征的检测算法、基于图像分割的检测算法、基于可变形模板的检测算法、基于启发式模型的检测算法、基于人工神经网络的检测算法以及基于统计学方法的检测算法等等[3-7]。这些算法在不同程度上都受到运算效率、检测精度、背景环境以及人脸姿态等的影响。

2001年,Viola和Jones提出了一种实时、鲁棒的目标检测算法[8-9],该算法又被称为Viola-Jones框架。Viola-Jones框架采用了一种矩形特征--Haar特征并使用积分图 (Integral Image)的方法来对Haar特征进行快速计算。计算得到的每一个Haar特征被看作为一个弱分类器,通过在一个大的“人脸”和“非人脸”样本集上使用AdaBoost算法进行学习,得到一个由若干弱分类器组成的强分类器。这些强分类器通过级联的方式能够很快地把一副图像中存在的人脸检测出来。为了进一步提高该框架的检测结果,过去的研究主要集中在对分类器的结构进行改进和对AdaBoost算法的改进上。如李等人提出的ADAdaBoost算法,该算法采用了一种新的计算弱分类器权重参数的算法,大大提高了负样本的检测率[10,14]。Lin等人提出了一种多类的MBHBoosting算法能够很好的对存在遮挡和旋转的人脸进行检测[11]。这些算法在一定程度上都大大提高了原始经典算法的检测结果和检测效率。但是这些算法得到的人脸区域往往不够精确,而且对光照和姿态的变化比较敏感。

为了提高Viola-Jones框架在姿态光照变化下的鲁棒性,并得到一个更加精确的检测结果,文中建立了一种多层结构的分类器,并通过这个分类器确定人脸的姿态和光照状态,然后使用相应的CLM(Constrained Local Model)模型[12]对人脸区域进行精确匹配,从而得到精确的人脸区域。

1 人脸检测和状态估计

Viola-Jones人脸检测框架中的分类器采用了Haar特征,每个Haar特征就是一个弱分类器。这些特征主要有3种类型:边缘型,线性型以及对角线型,如图1所示。给定一个24*24的矩形窗口,通过变换不同特征的大小和位置,我们可以得到超过160 000个不同的Haar特征[8]。计算Haar特征是通常采用白色区域的所有像素灰度值减去黑色区域和所有像素灰度值。

图1 Haar特征示例

当Haar特征的数量很大时,穷举计算需要大量的时间,导致算法的效率低下。为了更快的计算Haar特征值,Viola-Jones框架采用了积分图(integral image)的计算方法。对于一幅输入图像i(x,y),对应的积分图可以定义为:

即积分图ii(x,y)在点(x,y)处的取值为该点左上方所有像素点的灰度值之和。通常采用下述递推公式快速计算积分图ii(x,y):

其中 s(x,-1)=ii(-1,y)=0,s(x,y)为点(x,y)上方一列像素点的灰度值之和。通过式(2)和式(3)计算得到输入图像的积分图之后可以对图像中任意一个矩形区域内部的像素点的灰度值之和进行快速计算。

在Viola-Jones人脸检测框架中,积分图的引入大大提高了计算Haar特征的效率,从而我们可以对一个足够大的“人脸”和“非人脸”的正负样本进行训练。其中,每一个Haar特征可以看作为一个弱分类器:

其中x为24*24的子窗口,f表示相应的Haar特征,p=±1表示不等式的方向,θ为阈值。由于人脸空间的变化是在一个高维空间内,仅仅使用一个或几个由Haar特征构成的弱分类器无法得到很好的分类结果。因此通过AdaBoost算法对得到的全部的弱分类器进行训练,通过调整每个弱分类器的权重比例,从而建立起一个强分类器。AdaBoost的算法流程如下:

1)给定一组训练样本(x1,y1)…(xN,yN),其中 x为观测值,y=0,1为“非人脸”和“人脸”的标记;

2)分别为“非人脸”和“人脸”样本初始化权重系数为w1,n=1/2m or 1/2l,其中m为“非人脸”样本的个数,l为人脸样本的个数;

3)对t=1…T:

②通过计算迭代误差

③更新权重系数:

wt+1,n←wt,n(εt/(1-εt))1-en,当分类正确时en=0,当分类错误时en=1。

4)建立强分类器:

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

经典的Viola-Jones框架中通过将训练得到的强分类器组成级联结构,并对待检测图像进行逐级缩放,然后让缩放后的图像中所有可能的24*24的子窗口逐级通过级联分类器,从而进一步检测出图像中所有的人脸区域。由于采取了级联的结构,很多“非人脸”的窗口可以在前期被过滤掉,因此级联分类器的效率非常高,如图2(a)所示。但是当输入图像中的人脸存在姿态和光照变化时,这种级联结构得到的人脸检测的结果往往不是非常精确。因此,本文提出了一种多层结构的分类器。首先通过不同姿态和光照的“人脸”正样本和相同的 “非人脸”的负样本采用AdaBoost算法建立相应的强分类器,然后让待分类的全部子窗口依次通过这个多层结构的分类器。最后通过相应姿态和光照的分类器被确定为人脸区域,并判断出相应的姿态和光照状态,如图2(b)所示。这种多层结构可能对相同的区域输出多个不同的光照和姿态的状态信息。我们进一步通过对不同光照和状态下的“人脸”训练样本做出成分分析,得到不同的人脸子空间,然后再对重复的区域做重构,选择最小的重构误差的姿态和光照信息作为最终输出。

2 Constrained Local Models(CLM)

通过使用多层结构以及子空间重构得到输入图像中的人脸区域和姿态、光照信息后。我们通过“人脸”训练集建立不同光照和姿态下的CLM模型并对人脸做进一步的精确匹配。CLM模型包括两个部分:形状模型和局部纹理模型。其中形状模型中的形状可以表示为:

其中(xv,yv)表示第v个特征点的坐标,V表示人脸形状的特征点的个数。通过手动标定一系列训练集的人脸得到形状训练样本后,首先进行归一化处理,然后建立相应的形状模型:

其中s0为平均形状,si为对应第i个特征值的形状特征向量,通过对减去平均形状后的训练集做主成分分析得到。

图2 级联结构的分类器

对应每一个形状中的特征点,我们可以在该点周围的邻域中选取一块N*N的纹理块作为该点附近的局部纹理特征gv,从而建立相应的局部纹理模型:

其中g0为平均纹理,gj为对应第j个特征值的局部纹理特征向量,通过主成分分析方法得的。图3给出了某个姿态和光照下通过训练集图像提取人脸区域样本用于AdaBoost建立强分类器,并提取相关的形状和局部纹理信息建立CLM模型。

图3 CLM模型

对一幅输入图像,首先通过本文中多层结构的人脸检测器确认人脸的初始位置和相关的形状和姿态信息,从而选取相应光照和姿态变化下的CLM模型进行初始化,然后使用该CLM模型对输入图像中的人脸进行精确匹配,从而得到人脸关键特征点的具体位置,并进一步精确得到人脸的真实区域。CLM模型的匹配算法请参考文献[4],这里不再赘述。

3 实验结果分析

为了验证本文算法的有效性,我们选择CMUPIE人脸数据库进行实验[13,15]。CMU-PIE数据库包含68个不同的个体,每个个体有13种姿态、43种光照和4种表情变化。由于表情变化对检测结果影响不大,我们这里不区分表情变化。选择7种不同的姿态(C22、C25、C37、C27、C11、C32和C34)和5种不同的光照变化用来实验,其中随机选择50个人的人脸图像作为训练集,剩下的18个人作为测试集。

我们首先测试本文算法对光照和姿态变化估计的正确率。实验中采用经典Viola-Jones检测到的人脸区域和PCA重构的方法作为对照组,测试的结果如表1所示。由于新的多层结构能够首先给定相应的估计信息,并且能够获得较为精确的人脸检测区域,因此本文算法估计出的姿态和光照的准确率远远高于对照组。

表1 姿态和光照估计准确率

图4 人脸检测结果示例

图4展示了某种姿态和光照变化下的人脸检测结果。图4(a)为原始的Viola-Jones人脸检测器得到的人脸检测区域,图4(b)为本文多层结构检测的区域,图4(c)为使用相应的CLM模型匹配得到的人脸特征点,图4(d)是根据CLM精确匹配后的结果修正的人脸检测结果。可见本文算法不仅对在人脸存在光照和姿态变化的情况下能够得到较好的检测效果,而且通过CLM精确匹配后能够得到更多的人脸特征信息,从而为后续的人脸特征抽取和识别工作提供支持。

图5 CLM定位误差比较

为了进一步测试多层结构分类器的有效性,我们使用经典的Viola-Jones框架结合CLM模型进行人脸精确定位,并与本文算法比较。图5为每次迭代后的形状的误差,该误差为每次迭代后的形状和真实形状之差均方根误差。可以看出由于采取了多层结构的模型,获得较好的初始化位置和光照、姿态的估计。基于文中算法的CLM模型不仅在初始状态具有较小的误差,且能够获得更精确的最终定位结果。

4 结 论

人脸检测是人脸自动识别、验证和分析的重要步骤之一。文中首先对不同光照和姿态下的训练集使用AdaBoost算法建立相应的强分类器和CLM模型,然后使用多层次的级联结构对人脸区域进行初始定位和光照、姿态估计,最后再选择相应的CLM模型对人脸区域进行精确匹配从而得到精确的人脸检测结果。实验结果表明,本文算法对输入图像中人脸存在光照和姿态变化的情况下能够得到很好的检测结果。

[1]梁路宏,艾海舟,徐光,等.人脸检测研究综述[J].计算机学报,2002,25(5):449-458.

[2]Hjelmås E,Low BK.Face detection:A survey[J]. Computer Vision and Image Understanding,2001,83(3):236-274.

[3]齐永峰,火元莲.一种基于肤色的人脸检测和定位方法[J].计算机应用,2009,29(3):785-788.

[4]艾海舟,梁路宏,徐光佑,等.基于肤色和模板的人脸检测[J].软件学报,2001,12(12):1784-1792.

[5]Haj M,Bagdanov A,Gonzalez J,et al.Robust and efficient multipose face detection using skin colorsegmentation[J].Pattern Recognition and Image Analysis,2009:152-159.

[6]Tsao WK,Lee AJT,Liu YH,et al.A data mining approach to face detection[J].Pattern Recognition,2010,43(3):1039-1049.

[7]Vadakkepat P,Lim P,De Silva LC,et al.Multimodalapproach to human-face detection and tracking[J].IEEE Trans.on Industrial Electronics,2008,55(3):1385-1393.

[8]Viola P,Jones M.Rapid object detection using a boosted cascade of simple features[C].CVPR,2001:511-518.

[9]Viola P,Jones M.Robust real-time object detection[J].International Journal of Computer Vision,2004,57(2):137-154.

[10]李闯,丁晓青,吴佑寿.一种改进的AdaBoost算法-AD AdaBoost[J].计算机学报,2007,30(1):103-109.

[11]Lin YY,Liu TL.Robust face detection with multiclass boosting[C]//CVPR,2005,1:680-687.

[12]Cristinacce D,Cootes T.Feature detection and tracking with constrained local models[C]//British Machine Vision Conference,2006:929-938.

[13]Terence Sim,Simon Baker,Maan Bsat.The CMU Pose,illumination and expression database[J]. IEEE Trans.on Pattern Analysis and Machine Intelligence,2003,25(12):1615-1618.

[14]张洪明,赵德斌,高文.基于肤色模型、神经网络和人脸结构模型的平面旋转人脸检测[J].计算机学报,2002(25):1250-1256.

[15]Cristinacce D,Cootes T.Automatic feature localization with constrained local models [J].Pattern Recognition,2008(41):3054-3067.

A robust and accurate face detection algorithm under complex variations

SHU Ping1,SANG Qing-bing2,TANG Xiao-dong3
(1.JiangsuUnionTechnicalInstituteYanchengBiologicalEngineeringHigherVocationalTechnologySchool,Yancheng 224051,China;2.School of IoT Engineering,Jiangnan University,Wuxi 214122,China;3.Yancheng Machinery Industry Worker Secondary Specialized School,Yancheng 224000,China)

A robust and accurate face detection algorithm to illumination and pose variations based on Viola-Jones face detection framework and Constrained Local Models(CLM)is proposed.This algorithm builds a set of variation-specific strong classifiers using AdaBoost algorithm and corresponding CLM for different illumination and pose variations.Then a multi-layer cascade classifier is adopted to determine the rough location of the face region and estimate the illumination and pose conditions of each face in input images.At last,a suitable CLM is selected to obtain accurate landmarks of faces in input images. Experimental results on CMU PIE face database show the efficiency of this proposed algorithm.

face detection;constrained local model;AdaBoost;haar features;cascade

TP317.4

:A

:1674-6236(2017)03-0005-04

2016-03-19稿件编号:201603248

国家自然科学基金(60875036)

束 平(1983—),女,江苏盐城人,硕士。研究方向:图像处理。

猜你喜欢

级联人脸分类器
有特点的人脸
一起学画人脸
三国漫——人脸解锁
级联LDPC码的STBC-OFDM系统
加权空-谱与最近邻分类器相结合的高光谱图像分类
结合模糊(C+P)均值聚类和SP-V-支持向量机的TSK分类器
基于级联MUSIC的面阵中的二维DOA估计算法
长得象人脸的十种动物
基于LLE降维和BP_Adaboost分类器的GIS局部放电模式识别
LCL滤波器在6kV级联STATCOM中的应用