APP下载

基于肤色和AdaBoost算法的人脸检测

2012-08-06李维维胡桂明童刘伟何隆玲

网络安全技术与应用 2012年8期
关键词:色度肤色人脸

李维维 胡桂明 童刘伟 何隆玲

广西大学电气工程学院 广西 530004

0 引言

本文将肤色信息与基于AdaBoost算法的人脸检测结合,为了达到实时性要求,本文的肤色分割部分只需快速排除大量非肤色区域干扰,具有比用肤色模型和肤色相似度法更直接快速的特点,将这两种方法结合大大提高了人脸检测的精度。

1 肤色检测

1.1 肤色空间的选择

肤色信息是人脸的重要特征,Ming和David等人通过研究发现,不同年龄、不同性别、不同种族的人具有不同的肤色,但这种区别主要体现在亮度上,而受色度的影响较小。在除去亮度的色度空间中,不同的人脸肤色表现出较好的聚类性。常用的色彩空间有RGB、HSV、YCbCr等。RGB颜色空间是最常见的一种,但(r,g,b)三个分量上都受亮度影响。研究表明,相对于HSV空间,肤色点在YCbCr空间上的聚类性更好,本文选择YCbCr颜色空间(Y分量表示亮度,Cb、Cr分量表示色度)进行肤色分割。

YCbCr颜色空间可经RGB空间线性变换得到,转换公式为:

YCbCr颜色空间将亮度和色度信息分开,进行肤色检测时降低了亮度的影响,Cb和Cr是两维独立分布,能较好的限制肤色分布区域。

1.2 肤色分割

本文中,肤色分割只作为人脸检测的预处理,不需要太高的精度,只需快速排除大量非肤色区域以减少非肤色区域的干扰即可,经实验得知,肤色在Cb、Cr信息上集中分布在一个稳定的范围内:80≤Cb≤135,136≤Cr≤177,符合这个区域的色度被认为是肤色区域,被保留下来,不符合这个区域的色度则被置零。图1为经过肤色分割得到的效果。

2 基于AdaBoost的人脸检测

2.1 AdaBoost算法

AdaBoost算法是由Freund和Schapire于1995年提出的一种可以将一组弱分类器提升为强分类器的算法。该算法与Boosting算法不同的是不需要预先知道弱分类器的误差,只要每个弱分类器的分类能力比随机猜测稍好,当弱分类器的个数趋于无限时,强分类器的错误率就会趋近于零。

AdaBoost算法的描述如下:

对于有n个样本的训练集{(x1,y1),…(xn,yn)},其中xi为训练样本,yi=0(i=1,2,…n)表示第i个样本是负样本,yi=1表示第i个样本是正样本,正样本数为l,负样本数为m,总样本数n=l+m。

(1) 初始化样本权重,yi=0时,wt,i=1/2m,当yi=1时,wt,i=1/2l,wt,i表示第t次循环第i个样本的权重。

(2) 对于t=1,…T(T为弱分类器个数):

2) 对每个特征fj,训练出一个弱分类器hj,即确定阈值θj和偏置pj,使目标函数最小;

3) 选取2)中具有最小错误率εt的弱分类器ht;

(3) 最后形成的强分类器为:

上述算法的意义可表述为:当提取的分类器正确分类某些样本,则减少这些样本的权重;当错误分类,就增加相应样本的权重。这样以来,后面训练提取的弱分类器就会强化对错误分类样本的训练。

2.2 基于AdaBoost算法的人脸检测

P.Viola等人在2001年提出基于Haar-like矩形特征和AdaBoost算法的人脸检测方法,该方法用矩形特征来描述图像,而不再是像素。本文使用扩展的Haar特征,这些扩展特征加入了倾斜的45◦特征,每个特征由2-3个矩形组成,图2显示了部分矩形特征在人脸上的特征匹配。

图2 矩形特征在人脸上的特征匹配

矩形定义为:

其中,wi是矩形ri的权值,RectSum(ri)是矩形ri内的所有灰度像素值的和,N是组成Haar特征feature的矩形个数。为了快速计算矩形特征,Viola等提出了积分图像的定义,通过引入积分图像技术,能够快速的计算出RectSum(ri)值,进而提高了矩形特征的计算速度。运用AdaBoost算法训练由(3)式计算出的矩形特征来得到强分类器,再将强分类器级联,级联分类器的前几层可快速的排除掉大量非人脸区域,把接近人脸的图像留待后面几层更复杂的强分类器来处理,这样大大提高了检测速度。该方法检测速度快,检测率高,但也会有误检的情况发生,如图3所示。

图3 基于改进AdaBoost算法的人脸检测结果

3 基于肤色分割和AdaBoost算法的人脸检测

基于AdaBoost算法的人脸检测具有检测速度快、检测率高的优点,在简单场景中一般都能达到满意的检测效果,在某些背景下就会出现如图3所示的误检。用肤色特征检测人脸速度快,但容易漏检和误检,因此,本文将肤色分割和AdaBoost算法结合,先对输入图像进行肤色分割,提取出肤色区域,再用AdaBoost分类器对候选区域进行检测,图4为将两种方法结合对人脸的检测结果。

图4 基于肤色分割和改进AdaBoost算法的人脸检测结果

4 结论

基于AdaBoost算法的人脸检测检测速度快,检测率高,但由于它是基于人脸的灰度特征,有一定的局限性,本文将肤色信息与AdaBoost算法相结合,先将图像转换到YCbCr空间,在此空间中对肤色点进行映射,排除非肤色区域,再将处理的图像送入AdaBoost分类器检测,将两种方法结合既保证了检测速度快的优势,又提高了检测精度,并能够达到实时性要求,可以很好地用于视频监控以及实时跟踪。

[1] 杨环,刘毅.人脸检测及人眼定位算法的研究[D].济南:山东大学.2010.

[2] Zheng W l, Bhandarkar S M. Face detection and tracking using a Boosted Adaptive Particle Filter[J]. J. Vis. Commun.Image R.2009.

[3] Ming H Y, David J,Kriegman,et. al.Detecting Faces in Images:A Survey[J].IEEE Trans.on Pattern Analysis and Machine Intelligence.2002.

[4] Hsu R L,Mohamed A M,Jain A K.Face Detection in Color Images[J].IEEE Trans. on Pattern Analysis and Machine Intelligence.2002.

[5] Rafael C. Gonzales, Richard E. Woods,Steven L. Edins 著,阮秋琦等译.数字图像处理(MTALAB版) [M].北京:电子工业出版社.2008.

[6] FREUND Y, SCHAPIRE R E. Experimentswith a new boosting algorithm [C]//Proc of the 13th International Conference on Machine Learning. San Francisco: [ s n].1996.

[7] Viola, P. ,Jones,M.,Rapid Object Detection Using a Boosted Cascade of Simple Features[J]. IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR).December 2001.

[8] R.Lienhart. An Extended Set of Haar-like Features for Rapid Object Detection[J]. IEEE ICIP 2002.

[9] Viola P ,Jones M. Robust Real-time Face Detection [J].International Journal of Computer Vision.2004.

猜你喜欢

色度肤色人脸
有特点的人脸
一起学画人脸
肤色(外一首)
Conversation in a house
人的肤色为什么不同
为什么人有不同的肤色?
三国漫——人脸解锁
基于改进色度模型的非接触式心率检测与估计
景德镇早期青白瓷的器型与色度
如何提高苹果的着色度