融合YCbCr肤色模型与改进的Adaboost算法的人脸检测

2018-06-01 10:59崔鹏燕天天
哈尔滨理工大学学报 2018年2期
关键词:人脸检测权重

崔鹏 燕天天

摘 要:提出了一种将人脸肤色检测与改进的Adaboost算法相结合的人脸檢测方法。将人脸图像从RGB颜色空间映射到YCbCr颜色空间,建立肤色模型进行人脸相似度求取,通过形态学处理得到候选人脸区域。在训练阶段,通过调整加权误差分布限制目标类权重的扩张,通过修改目标权重更新抑制训练退化和训练目标类权重分布过适应现象。用改进的Adaboost算法对得到的人脸候选区域进行检测,提高了检测速度。实验结果表明,该算法抑制了训练目标类权重过适应现象,有效的提高了检测率和检测速度。

关键词:人脸检测;肤色检测;YCbCr颜色空间;Adaboost算法;权重

DOI:10.15938/j.jhust.2018.02.016

中图分类号: TP391.4

文献标志码: A

文章编号: 1007-2683(2018)02-0091-06

Abstract:This paper proposed a new face detection method which based on the Adaboost and the face skin color detection. Firstly, face images are mapped from RGB color space to the YCbCr color space, and thenthe skin color model is established to obtain the similarity of the face, the face region of the candidate isobtained by the morphological processing. In the training stage, the expansion of the target weight is restrictedby adjusting the weight of the error distribution. The phenomenon, training degradation and over adapt the distribution of the training target weight, is suppressed by modifying the renewal of the weight. The improved Adaboost algorithm is used to detect the candidate region of the face, which can improve the detection speed.The experimental results show that the proposed algorithm can effectively improve the detection rate and the detection speed, which can restrain the over adaptation of the training object.

Keywords:face detection; skin color detection; YCbCr color space; Adaboost algorithm; weight

0 引 言

现有的人脸检测技术主要有三大类:基于肤色的检测方法[1]、基于形状的检测方法[2]和基于统计的检测方法[3]。基于统计的检测方法用得比较多。基于统计的人脸检测方法主要有:Adaboost、神经网络方法、支持向量机方法、隐马尔可夫模型等。其中最成熟的方法是Adaboost方法。1995年Freund和Schipare[4-5]提出了Adaboost算法,它是第一个实时的人脸检测算法。2001年,Paul Viola 和Michael Jones[6]提出基于Haar-like特征的Adaboost人脸检测算法,虽然提高了检测速度,但是有一些缺点,比如训练样本时花费时间过长。随后出现了很多改进了的Adaboost算法用于人脸检测,在人脸检测速度和检测率等都有了一定的提高。

本文结合了YCbCr肤色模型方法,并在传统的Adaboost算法的基础上,针对在训练过程中可能出现的退化现象和正负样本权重出现严重扭曲影响训练精度从而影响检测率等问题,提出了一种改进的Adaboost算法,通过调整误差分布和改正权重更新机制达到了很好的效果。

1 肤色检测

人脸的主要特征是肤色,人脸肤色和环境存在较大的颜色差异,通过肤色很容易将人脸和背景区分开。基于肤色来进行人脸检测是最常用的方法,该方法需要选取合适的颜色空间和建立肤色模型。

1.1 颜色空间和肤色模型选取

在颜色空间选择时,应该注意该颜色空间的颜色和亮度是否能够分离,肤色在该颜色空间是否具有较好的聚类性。在RGB颜色空间,为了除去光照的影响,人脸肤色需要亮度归一化。归一化后的颜色分量分别为:

其中r+g+b=1,且三者相互独立。由于这种归一化仅仅去除了R、G、B中的相对亮度成分R+G+B,而r、g、b仍然存在亮度信息,所以不能选取RGB作为颜色空间。因此我们需要找到一种颜色空间不仅具有较好的聚类性,颜色和亮度是否能够分离外,还需要考虑RGB空间转到该空间的难易程度。综合分析下,我们选取YCbCr颜色空间。因为它不仅肤色聚类性好,分割效果好,而且容易从RGB空间转换。在从RGB到YCbCr的转换中,转换公式如下:

R、G、B为RGB颜色空间中红绿蓝3个颜色通道的颜色值。

常用的肤色模型有椭圆模型、统计直方图模型、简单高斯模型等。其中简单高斯模型具有较好的特性,能够较好的表示肤色的分布,检测率高并且具有较快的计算速度。本文采用简单高斯模型。在YCbCr色彩空间归一化色度直方图后,采用简单高斯模型对肤色进行建模。建立高斯模型M=(m, c),其中,m是均值,m=E(x),x=(Cb, Cr)T,C=E(x-m)(x-m)T,C表示协方差矩阵。通过该模型来检测任意一个像素是否为肤色的概率为:

该概率越大说明该像素点属于肤色像素点的概率就越大,反之越小。

1.2 膚色分割

因为光照会影响图片的亮度,所以在检测肤色之前需要对待检测的RGB图像进行亮度补偿,用中值滤波消除噪声的影响。然后将人脸图像从RGB颜色空间映射到YCbCr空间,利用高斯模型最后得到人脸相似度灰度图像。人脸相似度灰度图像如图1所示:

在图1中人脸区域和背景区域在灰度上具有明显差别,采用二值化得到人脸轮廓,其中二值化阈值采用的是整幅图像的灰度均值。分割后的二值图像会包含一些误认为肤色的小块区域,因此对图像进行形态学滤波消除图像中小块噪声。得到候选人脸区域如图2所示:

2 基于Adaboost的人脸检测

2.1 传统的Adaboost算法

本文在Viola的形变的Adaboost算法的基础上进行改进。该算法的主要特点是在训练分类器的同时可进行特征选择。每个特征对应一个弱分类器。用于人脸检测时,是对含有人脸的正样本和不含人脸的负样本的矩形特征进行训练。由于正负样本的Haar特征远远大于图像像素数目,故该算法引入了积分图,能够很快的计算出每个Haar特征,从这个很大的特征积中选择很小一部分关键特征,由此产生一个比较有效的分类器。要想得到最终的分类器,最重要的是找到这些特征。在设计分类器时,需要从正负样本进行分类的所有弱分类器中选择错误率最低的那个,这样在经过T次迭代,选择出了T个特征值,并且产生了一个最终的弱分类器。

2.2 改进原因

Adaboost算法最大的缺点是样本的权重更新,该算法能够保证在样本训练的过程中专注于那些处理比较困难的样本。但是如果训练集中含有噪声样本和罕见的特殊样本,该算法在得到每一个弱分类器时会逐渐加大这些难分类样本的权重,在训练过程中就会加大对这些样本的重视,而忽略其他样本。如果这些困难样本数量很大,那么在经过几轮弱分类器训练后,这些样本权重的增长幅度就会明显增大。这样训练下去必然会导致那些被错分图像的弱分类器的权值变大,在最后加权投票形成强分类器时所占的权重变得很小,对其他训练目标的判断形成干扰。而那些被正确分类的样本的权重则会不断降低,导致不被分类器重视。随着迭代次数的增加,权重分布会严重扭曲。更严重情况下,当最小加权误差大于0.5时,将会导致Adaboost算法训练结束。为了显示正样本和负样本的权重分布情况我们运用传统的Adaboost训练MIT人脸图像库。其中弱分类器的分类误差可分为正误差和负误差,把含有人脸图像的样本称为正样本,含有非人脸图像的样本称为负样本。正样本被划分为负样本,记为正误差,负样本被划分为正样本,记为负误差。实验结果图3所示:

由图3可以看出,随着弱分类器数量的增加,样本的正负误差比曲线逐渐上升。即随着训练次数的增加,正样本误差与负样本误差之比越来越大,说明被分错的正样本的权重偏大,负样本的权重偏小,正样本被划分为负样本的样本越来越多。经过多次训练,逐渐出现权重分配不平衡现象,最终导致权重分配严重扭曲。对训练精度产生极大影响。

针对难分样本过适应、对其他样本产生忽视性偏见,从而导致算法性能的降低等问题,很多研究者做了大量的改进工作。文[7]提出多步校正算法,在调整当前分类器权值时考虑前面多个分类器的情况,训练出来的分类器有小幅度提升。文[8]提出通过设定最大样本权重的阈值,来限制样本权重过分配现象。Cid[9]等提出了RADA算法,用来抑制原算法中出现的分类样本的权值。现在我们需要找到一种权重更新算法,去抑制该问题的发生。

2.3 权重更新改进方法

我们把训练过程中出现的正误差记为ξ+,负误差记为ξ-。经过j轮迭代训练后,得到的正误差,负误差分别为:

其中amount为当前样本在前k次训练过程中被错分的次数。可知amount越大,被错分的样本权重增大幅度减小,有效的控制了权重分配不均衡问题。由式(13)可知在样本的训练过程中,不仅对FPR敏感,而且对amount敏感。FPR或者amount的增大都会使被错分的样本权重增大幅度减小,从而更加有效的限制权重过分配问题。

2.3 改进的Adaboost人脸检测

在传统方法中,利用本文改进的Adaboost算法的级联分类器对整幅图像进行扫描,检测速度较慢。而利用本文所提的肤色分割人脸检测方法,把肤色的候选区域提取出来作为本文改进的Adaboost算法的级联分类器的输入。可以提高检测速度。算法流程如图4所示:

3 实验结果与分析

3.1 权重更新后的结果

训练过程中,训练样本选自MIT共享人脸图像库,采用正负样本比为1000∶2000,取λ1=0.5,λ2=1.5。用本文提出的权重更新后的Adaboost算法对样本进行训练。得到的正负误差比曲线如图5。

上图是权重修改后得到的正负误差比曲线。取λ1=0.5,λ2=1.5训练样本。由上图权重修改后的正负误差比曲线要比传统Adaboost算法的正负误差比曲线上下波动幅度要小,即限制了权重分配过适应。并且,修改后的Adaboost算法在训练工程中能够产生更多的弱分类器。而传统的Adaboost算法提前就结束了训练。因此改进后的Adaboost算法能够提高检测率。结果如表1所示:

3.2 本文检测方法的实验结果

本文在VisualStudio2013和Opencv2.4.9进行编程测试。使用MIT人脸和非人脸库作为正负样本训练Adaboost分类器。测试图像来源于互联网上随机搜索的图像。检测结果如图6所示:

如下表2为本文提出的检测方法与传统的Adaboost算法在检测率,检测时间的对比。实验表明,本文提出的检测方法比传统的Adaboost算法具有更高检测率和检测速度。检测结果数据统计如表2所示:

4 结 论

本文分别介绍了肤色检测和改进的Adaboost算法。針对传统Adaboost算法存在训练退化和训练目标类权重分布过适应现象,提出了一种新的权重更新方法,该方法能够很好地根据错分样本的错分次数,达到不同程度地对其权重进行限制,同时提高了检测率。对待检测图像进行肤色分割等一系列操作,得到候选人脸检测区域,将其作为本文改进Adaboost算法分类器的输入,从而缩小了检测区域,提高了检测速度。

参 考 文 献:

[1]陈锻生,刘政凯.肤色检测技术综述[J].计算机学报,2006,29(2):194-207.

[2]王文宁,李慧娟,师磊.一种基于颜色和形状特征的人脸检测方法[J].计算机系统应用,2008,7:58-61.

[3]张明慧,张明超,张尧禹.基于统计的人脸检测方法研究[J].电脑编程技巧与维护,2012(18):86-119.

[4]FREUND Y, SCHIPARE RE.A Decision-theoretic Generalization of On-line Learning and an Application to Boostiong[C]// Computational Learning Theory:Second European Conference,1995:23-37.

[5]FREUND Y, SCHIPARE RE. Experiments with a New Boosting Algorithm[C]// International Conferenceon Machine Learning,1996:148-156.

[6]VIOLA P, JONES M. Rapid Object Detection Using a Boosted Cascade of Simple Fetures[C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2001:511-518.

[7]蒋焰,丁晓青.基于多步校正的改进Adaboost算法[J].清华大学学报,2008,48(10):1609-1612.

[8]房宜汕.基于改进Adaboost的快速人脸检测算法[J].计算机应用与软件,2013,30(8):271-274.

[9]CID HA,SALAS R, ALLENDE H, et al. Robust Alternating Adaboost[J]// Progress in Pattern Recognition, Image Analysis and Applications, CIARP, Chile, Novermber 13-16, 2007: 427-436.

[10]蔡忠志. 使用新特征的人脸侦测系统[D].台北:台湾清华大学,2005.

[11]曹莹,苗启广,刘家辰,等.AdaBoost算法研究进展与展望[J].自动化学报,2013,19(6):745-758.

[12]袁双,吕赐兴.基于PCA 改进的快速Adaboost 算法研究[J].科学技术与工程,2015,15(29):62-66.

[13]PEI Zhen, XU Zhong-ren. A New Face Detection Method Based on the Improved AdaBoost, Skin Color and 2DPCA[J]. Electronic Design Engineering, 2014,22(8):116-119.

[14]PAN Qi-ming, ZHU Yi-qiang. A New Algorithm of Updating Samples Weight of Adaboost[J]. Journal of Chongqing Institute of Technology, 2008, 22(6):65-69.

[15]杨恒,张再军,杨东,等.融合YCbCr肤色模型与区域标记的人脸检测算法研究[J].软件导刊,2016,15(2):41-43.

[16]庆伟,应自炉.一种基于 Haar-Like T 特征的人脸检测算法[J].模式识别与人工智能,2015,28(1):35-41.

[17]LI Wen-hui, NI Hong-yin. An Improved Adaboost Training Algorithm[J]. Journal of Jilin University (Science Edition).2011, 49(3):498-504.

[18]滕秋霞,杨金霄,方永佳.多种头部姿态下的人脸检测系统研究[J]. 工业控制计算机,2016,29(1):91-95

[19]张君昌,李倩,贾靖.基于分类器相关性的 A daboost人脸检测算法[J]. 计算机应用,2009,29(12):3346-3348

[20]孙晓燕,张化祥,计华. 基于AdaBoot的欠抽样集成学习算法[J]. 山东大学学报,2011,41(4):91-100

[21]CUI Hua, ZHANG Xiao, GUO Lu, YUAN Chao, et al. Cascade AdaBoost Pedestrian Detector with Multi-features and Multi-thresholds[J]. Journal of Traffic and Transportation Engineering.2015, 15(2):109-117.

(编辑:关 毅)

猜你喜欢
人脸检测权重
权重涨个股跌 持有白马蓝筹
JNI技术在基于OpenCV的人脸与微笑检测中的应用
基于人脸特征定位的SNS网站应用组件研究与设计
基于Android平台的人脸识别系统设计与实现
基于Matlab的人脸检测实验设计
基于JSeg和显著性检测的服装图像分割方法
各省舆情热度榜
各省舆情热度榜
基于粗糙集的海夕卜石油勘探风险评价指标权重确定