结合肤色和头发检测的人头区域检测方法

2014-02-21 11:52朱秋煜王国威徐建忠
应用科学学报 2014年5期
关键词:发色肤色高斯

朱秋煜, 王国威, 陈 波, 袁 赛, 徐建忠

1.上海大学 通信与信息工程学院,上海200444

2.上海大学 智慧城市研究院,上海200444

密集人群检测是公共安全管理中的重要任务.在基于视频的人群检测与计数应用中,人体的遮挡重叠相当严重,这给人体区域的准确检测和提取造成了很大的困难.

近年来,针对人群检测问题的研究理论和方法大致分为以下4类:基于知识的方法、基于模版匹配的方法、基于特征的方法、基于外观形状的方法.其中后两种方法为当今研究的热点.基于特征的方法主要对图像的肤色、发色、唇色进行检测,需要将RGB色彩空间图像转换到YUV或者HSI色彩空间,通过监测区域的颜色区分是否为感兴趣区域[1].基于外观形状的方法又称为基于统计学习或机器学习的方法,其大致流程如下:首先收集大量的各个视角的人头和非人头样本,然后训练分类器,最后通过分类器区分人头和非人头区域,得到检测结果.常见的技术手段包括基于人工神经网络的方法、基于支持向量机的方法、基于Adaboost的方法[2,11].

为了得到准确的肤色区域,许多研究者从不同的角度开展肤色检测方法的分析研究.文献[3-4]采用基于统计的方法,通过建立肤色统计模型进行肤色检测,主要包括颜色空间变换和肤色模型的构建两个步骤;文献[5]从物理学光学特点出发,在肤色检测中引入肤色的光学特点,利用光照与皮肤间的相互作用,研究肤色反射模型和光谱特性的关系并进行肤色检测;文献[6]采用参数化的方法构造肤色模型,其中包括单高斯模型法、混合高斯模型法、椭圆边界模型法(elliptic boundary model,EBM)等,通过验证足够多的样本数据可以构建实际使用的肤色模型.

文献[7]针对头发检测提出首先使用Adaboost算法检测人脸位置,然后将人脸归一化得到头发位置模板,通过抽取头发特征向量将像素聚类为区域,并利用高斯模型聚类判定聚类区域是否为头发区域;文献[8]通过建立头发区域的颜色统计模型并结合头发的纹理信息实现正面脸部头发区域的检测.

在本文的密集人群研究场景下,人体之间存在着较严重的遮挡.本文选择人头作为感兴趣区域,以人头的位置代表人体的三维位置,从而实现人体的定位与后续的计数.摄像机的架设位置一般较高,这就使人头之间的遮挡概率较小.

本文的检测算法没有选取当今较为热门的基于Adaboost机器学习方法的人头检测,而是检测具有显著特征的头部区域,从而实现人头目标的检测.在头部区域中,较为明显且易于检测的区域主要是肤色和头发.本文将肤色和头发区域作为目标区域,在保证目标不漏检的前提下提高密集人群图像中人头检测的正确率.

1 肤色区域检测

色彩空间中肤色检测的准确性在一定程度上受到亮度因素的影响.为了降低基于HSV色度空间的检测方法中V分量的影响,本文将RGB色彩空间、HSV色彩空间和XYZ色彩空间综合起来进行研究,从而提高了检测率.

在RGB色彩空间中,类肤色颜色的3个通道值总是遵循R>G>B的规则.在这个规律的基础上,分别为R、G、B三个通道设置不同的阈值,同时对应到HSV色彩空间完成不同的判定.整个检测过程的详细流程如图1所示:

图1 肤色判定流程图Figur e 1 Flowchart of color determination

该方法可以比较理想地消除亮度问题给肤色检测带来的干扰.常见的单独使用HSV检测的方式虽然在亮度较高的场景中会出现检测不完全的情况,但可以在绝大多数亮度较高的场景完成比较完整的肤色检测.此外,该检测流程还适用于不同肤色的肤色检测.

如图2所示,本文选取的被检测图像包括多种肤色的个体,同时在场景中有较多的干扰因素,如前排队员的座椅、观众席的一些座椅和其他物体.这些干扰物体具有与肤色相近的颜色,尤其是前排座椅,与肤色极其相近.两种方法都对该区域产生了明显的误检测.对于肤色较浅的队员,两种方法性能相近;但对于肤色较黑的队员,本文方法明显好于传统方法.对于类似于图2中座椅与肤色近似度很高的区域,本文进一步使用检测是否朗伯面的方法,对座椅类区域进行删减.

图2 肤色检测结果对比图Figure 2 Comparative results of skin-color detection

朗伯(Lambertian)表面是指在一个固定的照明分布下,从所有的视场方向上观测都具有相同亮度的表面;对于一个非朗伯平面,物体表面上每个点的反射光强度都会发生变化.

由于肤色是非朗伯面[29],肤色区域中不同的点具有不同的反射光强度.当入射光线与法线平行时,反射光的强度值最高.物体的外观色彩是该物体表面反射光LS、渗透到物体中的光线及反射到空间中的光线Lb的和,即

式中,等式右边的第1个多项式为色彩的观测值,该值也是物体的真实色彩.在XYZ色彩空间中,肤色色彩区域主要是在黄色和红色之间,其波长为580~680 nm,Z通道在该播放范围内变化远没有X和Y通道明显,于是选取X Y平面.在X Y平面内,直方图遵循式(2)

在实际的检测中,本文将备选区域分割成20×20的区块,然后根据式(3)处理每个区块,以判断该区块是否为朗伯面

通过最大似然估计可以计算得到最符合等式左边部分的曲线,进而得到参数a和b.对于肤色区域,a的取值范围大致为[5,5.5],b的取值范围大致为[-1,-2].如果一个区块的a、b值在这个范围之内,那么就认为这个区块是肤色区域.

采用此方法消除朗伯面区域后,可得到更准确的肤色区域,如图3所示:

图3 删除朗伯面后肤色区域Figure 3 Skin-color region after removing Lambertian region

2 头发区域检测

发色像素点在YCrCb色彩空间中的色度信息对于亮度信息具有更好的独立性,并且色彩空间的聚类性较好.当对头发区域进行检测时,首先在YCrCb空间中将所有发色采样点投影到Cb-Cr平面,取得发色采样点的色度分布范围,其映射关系为

式中,gi=[Yi,Cbi,Cri]T,i=1,2,···,N,f2D=(Cb,Cr)为Cb-Cr坐标系平面上的函数,φi(gi)的定义如下:

这样可以取得采样点在Cb-Cr色度平面上的密度分布.对f2D=(Cb,Cr)进行归一化变换之后,可将其定义为发色采样点在Cb-Cr色度平面上的概率分布.为了进一步对头部区域进行分割和提取,必须建立相应的模型来描述头发发色的色度概率分布.本文采用高斯概率模型完成这一过程

式中,Cs为高斯峰的总数;πsk为第k个高斯成分的先验概率,满足;µsk和σsk分别为相应的均值和方差.对于此模型,采用EM算法来估计模型的参数.根据参数估计的结果可知Cb与Cr的取值区间分别为(115,141)和(115,143).

除了头发的颜色特征外,在检测头发区域的同时还利用了头发的纹理特征.提取头发的纹理特征可采用高斯差分滤波器(difference of Gaussian,DOG)和高斯偏移差分滤波器(difference offset of Gaussian,DOOG)相结合的方法.DOG和DOOG是在图像处理与计算机视觉领域经常用到的一组滤波器,它们的传递函数是两个不同宽度的高斯函数的差分结果.DOG和DOOG的另外一个优势表现在运算方面,它们比Gabor简单得多.提取该模型的步骤如下:

步骤1 用高斯差分滤波器和高斯偏移差分滤波器对图像进行卷积,得到响应;

步骤2 强化空间域上的响应;

步骤3 得到纹理边缘.

本文抽取头发纹理特征和颜色特征作为特征向量,并采用Mean-Shift算法对头部区域所有像素点进行聚类,从而得到初步的头发区域.某一样本点的Mean-Shift向量可定义为

式中,w(xi)为样本点的权值,xi为d维的特征向量.此处以头发像素点的相对位置概率取代权值,这样就可以通过增加类头发区域中像素的权值使头发像素聚集更紧密.像素点的相对位置概率为0时被划为非头发类.该概率值越大越倾向于聚集成头发类,则使用核函数构成的特征空间如下:

式中,hs和hr控制着平滑的解析度,hs为空间域窗口半径,hr为颜色域窗口半径.经大量实验证明,当hs和hr取值分别为4和6.5时,可以获得较为理想的结果.

本文对Mean-Shift得到的聚类区域进行进一步判断.判断时以每个区域的中心点替代整个区域,根据头发特征高斯混合模型计算像素点属于头发的概率,从而对该像素是否为头发像素进行判断,最终获得头发区域,其判别函数为

式中,x为像素点,阈值Th设置为0.003,p(x,µ,σ)为高斯后验概率,具有如下关系:

当某一个像素属于头发模型的概率低于该阈值时,该像素被判定为非头发像素,表示该像素所在区域为非头发区域.

图4为使用本文方法检测发色区域的效果图.为了便于观察黑色区域,特将其他区域设置为白色.

图4 发色区域检测Figure 4 Detection of hair region

在被检测图像中,每个人的发色有黑色和多种棕色,发型有长与短.本文方法都能比较完整地提取到这些区域,不足之处在于将一些衣服区域也错误地识别为肤色区域.

3 实验结果

采用非背景区域相叠加的融合方法将肤色提取到的区域和提取到的头发区域进行融合,进而得到更加丰富的目标信息.融合策略如图5所示.

为了验证本文方法的性能,本文以网上收集的包含多人的复杂图像为实验对象进行实验,将肤色提取到的区域和该部分发色提取到的区域相融合,获得的效果如图6所示.

为了定量地分析该方法的准确性,本文从检测正确率、漏检率和误检率来对该方法进行分析.其中正确率为检测得到的区域大小除以实际目标区域大小,漏检率为漏掉的区域大小除以实际目标区域大小,误检率为误检测的区域大小除以实际目标区域大小.

图5 融合策略流程图Figure 5 Flowchart of images fusion

图6 肤色头发区域融合Figure 6 Fusion of skin region and hair region

表1 实验统计结果Table 1 Statistical results of experiments

仔细研究实验结果发现:头发区域检测时容易引起一些误检测,如图(a)~(c)中的少许学士服区域以及图(d)~(f)中运动员的衣服区域.另外,图(d)~(f)中的几位运动员由于头发较少,检测到的头发区域也较少,这是造成漏检测的主要原因.

4 结语

由于不同的色彩空间对肤色和头发特征的提取具有较大的影响,本文首先对常用的色彩空间进行对比,便于后续检测环节对色彩空间的选择.在肤色检测部分,本文选取像素点检测和区域检测相结合的方法对肤色区域进行精准快速的提取.在像素点检测时,本文选取HSV色彩空间和RGB色彩空间各取所长的阈值检测方法,对类肤色像素点进行提取;对于误提取的非肤色区域,本文利用肤色的非朗伯面属性进行删除.通过实验表明,该方法具有较高的准确性.在对头发区域进行检测时,本文选取头发的颜色特征和纹特征作为特征向量,在使用Mean-Shift进行聚类后,训练得到基于高斯模型的检测模型,对头发区域进行提取.本文使用的检测方法即使出现少许检测误差,仍然能够得到较为准确而完整的目标区域,故具有较高的实用性,为后续的目标定位打下了良好的基础.

[1]GHOMSHEH A N,TALEBPOUR A,BASSERI M.Regional skin detection based on eliminating skin-like Lambertian surfaces[C]//2011 IEEE Symposium on Computers&Informatics,2011:307-312.

[2]VIOLA P,JONESM J.Robust real-time face detection[J].International Journal of Computer Vision,2004,57(2):137-154.

[3]YANGD W,CHENC W,CHANGC H.Face detection architecture design using hybrid skin color detection and cascade of classif iers[C]//2012 IEEE Asia Pacif ic Conference on Circuits and Systems(APCCAS),2012:543-546.

[4]LIU L Y,SANGN,YANG SY,HUANGR.Real-time skin color detection under rapidly changing illumination conditions[J].IEEE Transactions on Consumer Electronics,August,2011,57(3):1295-1302.

[5]GHOMSHEH A N,TALEBPOUR A,BASSERI M.Skin detection based on eliminating skin-like Lambertian surfaces[C]//2011 IEEE Symposium on Computers&Informatics(ISCI),2011:307-312.

[6]VEZHNEVETSV,SAZONOV V,ANDREEVA A.A survey on pixel-based skin color detection techniques[C]//International Conference GraphiCon,2003(3):85-92.

[7]傅文林,胡福乔.基于Mean Shift的头发自动检测[J].微型电脑应用,2010,26(9):62-64.

FU Wenlin,HU Fuqiao.Hair detection with mean shift[J].Microcomputer Applications,2010,26(9):62-64.(in Chinese)

[8]YACOOBY,DAVISL S.Detection and analysis of hair[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2006,28(7):1164-1169.(in Chinese)

[9]徐涛,冯志全,吴鹏.与颜色空间选择无关的肤色检测方法[J].计算机复辅助设计与图形学学报,2013,25(1):49-54

XU Tao,FENG Zhiquan,WU Peng.Skin color detection without considering the choice of color space[J].Journal of Computer-Aided Design&Computer Graphics,2013,25(1):49-54.(in Chinese)

[10]曾飞,蔡灿辉.自适应肤色检测算法的研究[J].微型机与应用,2011(4):37-40.

ZENGFei,CAICanhui.Study on adaptive skin color detection algorithm[J].Image Processing and Multimedia Technology,2011(4):37-40.(in Chinese)

[11]李明瑞,傅明,曹敦.基于肤色检测的AdaBoost人脸检测算法改进[J].计算机工程,38(19):147-150.

LIMingrui,FUMing,CAODun.Improvement of AdaBoost face detection algorithm based on skin color detection[J].Computer Engineering,38(19):147-150.(in Chinese)

猜你喜欢
发色肤色高斯
肤色(外一首)
Conversation in a house
人的肤色为什么不同
为什么人有不同的肤色?
数学王子高斯
天才数学家——高斯
2018流行发色,总有一款适合你
太烧啦!质感雾面发色大集合
太烧啦!质感雾面发色大集合
从自卑到自信 瑞恩·高斯林