APP下载

基于改进Adaboost算法的人脸检测❋

2015-08-07王建玺李玮瑶

微处理机 2015年5期
关键词:肤色人脸分类器

王建玺,李玮瑶

(1.平顶山学院软件学院,平顶山467000;2.平顶山学院计算机科学与技术学院,平顶山467000)

基于改进Adaboost算法的人脸检测❋

王建玺1,李玮瑶2

(1.平顶山学院软件学院,平顶山467000;2.平顶山学院计算机科学与技术学院,平顶山467000)

针对传统Adaboost算法存在样本训练耗时、误检率较高的问题,提出了一种基于改进Adaboost算法的人脸检测方法。首先,利用肤色分割对待检测人脸图像进行预处理,然后,对传统Adaboost算法进行改进,在训练分类器过程中加入相关性判断,以减少弱分类器数量和提高样本训练速度,最后,对预处理过的待检测区域用改进的Adaboost算法进行人脸检测。实例测试表明,该方法在人脸检测中能够获得较高的检测率和较快的检测速度。

人脸检测;肤色分割;肤色模型;Adaboost算法;相关性判断;弱分类器

1 引 言

人脸检测是人脸图像处理中的关键步骤,在智能人机系统、视频监控和生物特征识别等领域应用广泛[1]。目前,常用的检测方法有基于神经网络、Adaboost、隐马尔可夫模型和支持向量机的算法等[2]。2001年,Paul Viola和Michael Jones[3]提出一种利用Haar-Like特征的Adaboost人脸检测算法,提高了人脸检测速度,但这种方法存在训练样本花费时间过长,不利于推广使用的缺点。余益民等[4]通过用新的参数求解方法,提高了正样本的识别能力,缩减了样本训练时间,但应用中效果较差。基于此,提出一种基于改进Adaboost算法的人脸检测方法,该算法对待检测图像首先使用肤色分割进行预处理,再用改进的Adaboost算法进行二次检测,以提高人脸检测的速度和检测率。

2 肤色检测

肤色是人脸的主要特征,一般和背景色彩存在较大区别,将肤色检测作为人脸检测的预处理环节,具有简单快捷的优点。肤色分割需要先选取合适的色彩空间和肤色模型。

2.1 色彩空间和肤色模型选取

肤色在含有色度信息的空间中具有较好的聚类性,因此,在选取色彩空间时可遵循以下原则:一是色彩空间的亮度和色度能有效分离,二是肤色在该色彩空间应具有较好的聚类性,三是方便从常用的RGB空间转换到该空间。在常用的RGB、归一化RGB、HSV和YCbCr色彩空间中,RGB和归一化RGB色彩空间中R、G、B分量都含有亮度信息,故不适合用于肤色分割。在HSV及YCbCr两个空间中,尽管二者都有色度和亮度分离的特点,但从RGB空间往HSV空间非线性转换过程中计算量大,且在HSV空间中存在奇异点,使得奇异点附近的像素转化结果不稳定。而YCbCr色彩空间具有肤色聚类性好、从RGB空间转换容易和分割效果好的特点,故最终选用YCbCr色彩空间作为肤色分割的色彩空间。

肤色模型选取的好坏决定肤色分割的效果。文献[5]研究了下述几种模型在人脸检测中的应用情况,直方图模型存在所需训练样本多、训练时间长的缺点;混合高斯模型存在参数复杂、运算量大的缺点;而高斯模型具有参数计算简单、运算快的优点。在人脸检测中,高斯模型分割效果好、错误率低,能快速、准确的分割人脸区域,因此采用高斯模型进行肤色建模。

2.2 肤色分割

色彩空间和肤色模型选好后,就可以进行肤色分割。肤色分割包括待检测图像的光照补偿、计算肤色似然图、分割处理、滤波去噪和肤色区域筛选等几个步骤。

光照补偿人脸图像的色彩易受到采集设备及拍摄时外部环境的影响而产生色差,如偏冷或偏暖等,故需要通过光照补偿来消除色差。把人脸图像的全部像素按亮度从高到低排序,如果亮度在前5%的像素数量很多,则把这些亮度的RGB值都变为255,再计算转换因子δ=255m/s,其中m为RGB值都转化为255的像素点总数,s为待检测图像的亮度和,其他像素点都按照该比例进行变换。

计算肤色似然图首先将经光照补偿处理过的图像从RGB色彩空间转换到YCbCr空间,获得图像各像素点的色度值(Cb,Cr)。通过估算函数产生各点关于肤色点的概率值,概率值范围为[0,1],若值越接近于1,表示该点越接近于肤色。再用各点的概率值除以整幅图像中最大的概率值Pi,即可得到各点归一化的相似度值,继而生成图像的肤色似然图[6]。

分割处理利用肤色似然图检测的区域即便显示该区域颜色与肤色比较接近,但不能确定就是肤色,这里采用Otsu自适应阀值法对得到的肤色似然图进行分割,得到对应的二值图像。

滤波去噪经过处理的待检测图像会出现一些干扰噪声,使分割的二值图像上产生一些小白点,对以后的人脸检测产生一定影响,故采用基于形态学的膨胀和腐蚀等方法对图像进行滤波处理,消除图像上的小白点并填充小的空洞。

肤色区域筛选根据人脸具有的特征如分割区域的长宽比,面积和肤色占有率等进行筛选,去除不具有人脸特征的非人脸肤色和类人脸肤色区域。

3 改进的Adaboost算法

Adaboost算法作为一种高效的数据挖掘算法,在人脸检测中应用广泛。传统的Adaboost算法对人脸进行检测时,首先使用矩形特征构建具有一定的人脸和非人脸区分能力的弱分类器,再将弱分类器进行线性集成构建强分类器,这样可以大幅提升分类器的检测率。在人脸检测过程中,由于待检测窗口数量大,若图像的所有待检窗口都要用强分类器中的所有弱分类器进行检测,则需要大量的处理时间,故实际应用中一般采用级联分类器进行检测[7]。在构建强分类器时虽然考虑到了相邻分类器的相关性,但是没有考虑不相邻分类器之间的相关性,所以传统算法构建的分类器中存在部分弱分类器功能特性相似的情况,增加了算法的处理时间。研究中充分考虑所有弱分类器之间的相关性,对任意两个弱分类器进行相关性计算,把具有互补特性的弱分类器保留下来,尽量减少功能特性相似的分类器数量,以提高检测率和检测速度。

文献[8]中总结了分类器之间相关性度量的几种常用方法。在此采用其中的Q统计量来进行分类器之间的相关性度量,Nab表示分类器hi将待检测样本分类结果为a且分类器hj将待检测样本分类结果为b的样本数量,分类器hi和hj之间的Q统计量Qi,j可定义为:

式(1)中,a、b的值为0表示该分类器检测结果错误,为1表示该分类器检测结果正确。Q的值为[-1,1],若0≤Q≤1表示两分类器均将同一个检查目标进行了正确分类,若-1≤Q<0表示将不同的检查目标进行了错误分类,因此,可以用Q的平均值来表示分类器集合的相互关联性。设共有L个分类器,它们的Q相关性可表示为:

因此,可以把相关性原理应用到传统的Adaboost算法中,以便获得更好的效果。相关性判断的步骤为:

步骤1:在弱分类器选取过程中,用Adaboost算法计算出每一轮中的最优弱分类器hi(x);

步骤2:利用公式(1)获得该弱分类器hi(x)与已选出的弱分类器间的相关性Qi,1,Qi,2,…,(i>1);

重复执行上述步骤,直到选出满足要求数量的弱分类器来构建强分类器,最终构建好需要的级联分类器。

通过分析可知,在算法中加入相关性判断,增加了弱分类器之间的差异性,有效减少了相似和相互干扰的弱分类器数量,实现了强分类器的检查错误率向减小最快的方向收敛的目的,提高了算法的集成性和识别效果。

4 基于肤色分割和改进Adaboost算法的人脸检测

基于肤色的人脸检测虽然具有实现简单、处理速度快、检测率高的优点,但存在误检率高的缺点,易将人脸之外的肤色区域和与肤色类似的区域检测出来[9]。传统Adaboost算法在人脸检测中具有使用少量的分类器即可产生较好的检查效果的优点,但存在样本训练时间过长的缺点。研究中把两种算法结合起来,首先对待检测人脸图像进行肤色检测,去除大部分无用信息,然后,用改进的Adaboost算法进行二次检测,达到快速有效的对复杂图像进行人脸检测的目标。算法流程如图1所示。

为进一步提高人脸检测的速度,经过肤色检测后,在使用Adaboost算法进行二次检测时,可采用缩减分类器初始窗口大小的方法降低检查时间。经过肤色分割后的窗口人脸区域所占比例很高,故可依据人脸在窗口中的比例对分类器窗口初始大小进行设置,如果分类器窗口初始大小为m×m,候选窗口大小为L×M,人脸区域像素数量和候选窗口像素数量比值为p,那么初始检查窗口大小可以为:δ×min(L,M),这里δ为比例常数。

5 实验结果及分析

对传统Adaboost算法和研究中提出方法的检测结果进行比较。采用Bao face database中的样本对分类器进行训练,其中人脸样本1869个,非人脸样本2654个,测试的操作系统为Windows XP,在VC++6.0平台上编程实现。测试图像来自网络和平时生活照片,共96张,其中单人脸照片27张,多人脸复杂照片69张,多人脸照片中共包含237个人脸,测试中移动步长为1。图2是部分检测结果,表1是检测图像的各项指标。

图1 基于肤色分割和改进Adaboost算法的人脸检测流程图

实验结果可见,在对多人脸复杂图像进行检测时,此算法检测率较高且误检率较低、检测用时较少,检测的结果较好,明显优于传统的Adaboost算法。

表1 人脸检测统计表

6 结束语

研究中把肤色分割和Adaboost算法结合起来,提出了一种复杂背景下的人脸检测方法。首先利用肤色检测进行预处理以去除大部分无用信息,然后用改进的Adaboost算法对经过预处理的候检区域进行二次检测,得到人脸区域。该算法具有精度高、耗时少和误检率低的优点。

[1] Yang Mingsuan,Kriegman D J.Detection faces in images:a survey[J].IEEE Trans.Pattern Analysis and Machine Intelligence,2002,24(1):34-58.

[2] Xu Shibiao,Ma Guanghui,Meng Weiliang.Statistical Learning Based Facial Animation[C].National Laboratory of Pattern Recognition,Institue of Automation,Chinese Academy of Sciences,2013:542-550.

[3] Viola P,Jones M.Rapid object detection using a boosted cascade of simple features[J].Proc.Of Conf.On Computer Vision and pattern Recognition,Kauai,Hawaii,USA,2001:511-518.

[4] 余益民,黄廷辉,桑涛.基于Real AdaBoost算法的肤色分割方法[J].计算机应用,2011,31(12):3370-3373.

YU yi-ming,HUANG Ting-hui,SANG Tao.Skin segmentation based on Real AdaBoost algorithm[J].Journal of Computer Applications,2011,31(12):3370-3373.

[5] 刘春生,常发亮,陈振学,等.改进的高斯肤色模型及其在人脸检测中的应用[J].仪器仪表学报,2012,33(5):1117-1121.

LIU Chunsheng,CHANG Faliang,CHEN Zhenxue,et al.Improved Gaussian skin colormodel and its application in face detection[J].Chinese Journal of Scientific Instrument,2012,33(5):1117-1121.

[6] 秦立峰,何东健.基于肤色分割的人脸检测算法研究[J].计算机工程与设计,2009,30(19):4461-4464.

QIN Li-feng,HE Dong-jian.Face detection algorithm based on skin segmentation[J].Computer Engineering and Design,2009,30(19):4461-4464.

[7] 赵雪竹,王秀,朱学峰.基于Adaboost算法的人眼检测中样本选择研究[J].计算机技术与发展,2010,20(2):133-136.

ZHAO Xue-zhu,WANG Xiu,ZHU Xue-feng.Research of Samples Selection in Eye Detection Based on Adaboost Algorithm[J].Computer Technology and Development,2010,20(2):133-136.

[8] Ludmila I,Kuncheva,Christopher J.Measures of diversity in classifier ensembles and their relationship with the ensemble accuracy[J].Machine Learning,2003,51(2):181-207.

[9] 宋义伟,王秀,赵雪竹,等.基于肤色分割和AdaBoost算法的彩色图像的人脸检测[J].自动化与信息工程,2009(1):7-10.

Song Yiwei,Wang Xiu,Zhao Xuezhu,et al.Face Detection of Color Image Based on Skin Color and Ada Boost Algorithm[J].Automation&Information Engineering,2009(1):7-10.

Face Detection Based on Im proved Adaboost Algorithm

Wang Jianxi1,LiWeiyao2
(1.Software Institute,Pingdingshan University,Pingdingshan 467000,China;2.College of Computer Science and Technology,Pingdingshan University,Pingdingshan 467000,China)

To solve the problems of time-consuming in training samples and high false detection rate in face detection in traditional Adaboost algorithm,a method of face detection based on improved Adaboostalgorithm is proposed.Firstly,the image is preprocessed by skin color segmentation.Then,the traditional Adaboost algorithm is improved by putting relevance judgment in the process of training classifiers to reduce the number of weak classifier and to improve sample training speed.Finally,the image preprocessing is tested by improved Adaboost algorithm again.The experimental results show that the face detection method produces higher detection rate and speed.

Face detection;Skin color segment;Skin model;Adaboost algorithm;Relevance judgment;Weak classifier

10.3969/j.issn.1002-2279.2015.05.015

TP391.41

A

1002-2279(2015)05-0057-04

河南省科技厅科技发展计划项目(134300510037)

王建玺(1981-),女,河南省社旗县人,硕士,讲师,主研方向:模式识别、图像处理等。

2015-03-16

猜你喜欢

肤色人脸分类器
有特点的人脸
一起学画人脸
肤色(外一首)
Conversation in a house
人的肤色为什么不同
为什么人有不同的肤色?
三国漫——人脸解锁
基于实例的强分类器快速集成方法
加权空-谱与最近邻分类器相结合的高光谱图像分类
结合模糊(C+P)均值聚类和SP-V-支持向量机的TSK分类器