基于肤色和Haar方差特征的人脸检测*
2015-03-27李燕,王玲
李 燕,王 玲
(湖南师范大学物理与信息科学学院,湖南 长沙 410081)
基于肤色和Haar方差特征的人脸检测*
李 燕,王 玲
(湖南师范大学物理与信息科学学院,湖南 长沙 410081)
为了在提高复杂背景下的人脸检测率的同时减少检测时间,将肤色分割和Haar方差特征相结合,在YCbCr颜色空间通过椭圆肤色模型和logistic回归分析确定每一点的肤色概率,生成肤色概率图,从而将每一点的像素值映射到[0,1],在Ostu方法的基础上采用并行的遗传算法确定肤色分割的阈值,快速分割出人脸区域;最后用少量的Haar方差特征取代原来的Haar特征,并采用SVM训练分类方法对分割出的人脸区域进行验证。实验表明,该方法不仅提高了人脸检测的正确率,而且具有较快的人脸检测速度。
肤色分割;椭圆肤色模型;回归分析;遗传算法;方差特征
1 引言
当前世界各国许多研究机构从事人脸识别方面的研究,也涌现出了许多人脸识别算法。人脸检测作为人脸识别的第一步,长期以来一直受到人们的关注,并发展成为一个独立的研究领域。
尽管目前学术界涌现出了许多的人脸检测算法,AdaBoost人脸检测算法仍然是目前最成功的算法之一,AdaBoost算法采用Haar特征进行人脸表征,它具有较高的检测准确率。但是,该算法训练人脸分类器的速度慢,且训练需要大量的训练样本,当数据集较小时,使用SVM[1]进行分类训练效果常常更好。Haar特征是通过一系列矩形特征间像素相加减而得到特征值来进行人脸判断,它具有计算简单的优点,但缺点是特征表示能力比较弱,因此,对于复杂背景下以及未知人脸状态的人脸检测容易产生“错检”、“漏检”,很多学者在特征改进方面进行了研究[2,3]。Lienhart R等人[4]在Haar特征的基础上提出了旋转的Haar特征,使得分类器的误检率降低了10%。还有很多文献结合其他频域空间数据作为特征进行分类器的训练,如使用contourlet 变换图像金字塔模型中的系数[5]、基于Gabor 变换提出的类Gabor 特征、LBP 特征等。但是,这些特征的计算需要大量额外的计算时间,降低了人脸检测的速度。在彩色图像中,肤色对于人脸检测是一项非常有用的信息,它不依赖于面部的细节特征,对于旋转、表情等变化情况都能适用,且检测速度快。然而,自然界的大量物质与人类肤色相近,因此肤色检测需要和其他的人脸检测方法相结合才能得到较高的检测准确率。此外,肤色分割阈值的确定一直是肤色分割的难点,阈值的选取决定了肤色分割的性能。文献[6~8]中采用固定阈值的方法虽然计算较快,但是准确率不高;文献[9]采用动态阈值分割的方法,准确率较高,但是计算复杂,难以满足实时性的要求;文献[10,11]通过Ostu方法可以得到一个很好的阈值,但是求取最佳阈值时需要大量的重复计算,也不能满足实时性要求。
本文将肤色分割的人脸检测算法和基于Haar方差特征的人脸检测算法相结合,在YCbCr颜色空间建立椭圆肤色模型并结合logistic回归分析确定每一点的肤色概率,在Ostu方法的基础上,采用并行的遗传算法得到图像分割阈值,快速分割出人脸区域,接着用Haar方差特征对分割出的人脸区域进一步验证。实验表明,本文算法在人脸检测准确性和检测速度方面都有所提高。
2 肤色分割
2.1 生成肤色概率图
人类肤色在颜色空间分布相对比较集中,不同种族之间肤色的差异主要是由亮度引起的,而与颜色属性无关。常见的颜色空间有RGB、YCbCr和HSV三种。三种颜色空间中,YCbCr空间的Cb、Cr分量不受亮度影响,可以有效地将Y分离,且Y、Cb、Cr可由R、G、B经过线性变换得到。此外,三种颜色空间中,YCbCr空间中肤色聚类特性是最好的,更适合做肤色分割,因此我们选择YCbCr颜色空间。
本文生成肤色概率图的过程如下:
(1)将RGB与YCbCr按式(1)相互转换(RGB取值范围均为0~255):
(1)
(2)在YCbCr空间中,肤色聚类是呈两头尖的纺锥形状,肤色聚类区域随Y不同而呈非线性变化的趋势。因此,简单地排除Y的影响,在Cb,Cr、空间中寻找肤色聚类区域是不可靠的,有必要进行非线性分段色彩变换[12]。非线性变换公式如式(2)和式(3):
(2)
(3)
其中,Wcb=46.97,WLcb=23,Wcr=38.76,WLcr=20,WHcr=10,Kl=125,Kh=188,Ymin=16,Ymax=235。
(3)经过非线性色彩变换后,利用椭圆公式进行拟合,建立椭圆肤色模型,如式(4)所示:
x=cosω*(Cb′-Cx)+sinω*(Cr′-Cy),
y=(-sinω)*(Cb′-Cx)+cosω*(Cr′-Cy),
(4)
(4)利用logstic回归分析(式5),确定每一个点的肤色概率值,用这一点的肤色概率值代替像素值来表征图片,从而将每一点的像素值映射到[0,1]。
(5)
其中,β1、β2分别为2.247和1,Cx=109.38,Cy=152.02,ω=2.53,eCx=1.6,eCy=2.41,a=25.39,b=14.03。
2.2 遗传算法确定分割阈值
遗传算法把问题的解表示成“染色体”,在算法中以二进制编码的串表示。在执行遗传算法之前,给出一群“染色体”,也即假设解。然后,把这些假设解置于问题的“环境”中,并按适者生存的原则,从中选择出较适应环境的“染色体”进行复制,再通过交叉、变异过程产生更适应环境的新一代“染色体” 群[13]。这样,一代一代地进化,最后就会收敛到最适应环境的一个“染色体”上,它就是问题的最优解。
本文遗传算法的实现流程如图1所示,其中适应函数为最大类间方差,交叉率为0.2,变异率为0.01,遗传40代内连续五代出现的最优解不再变化时达到整体最优解,遗传终止。
Figure 1 Skin probability graph
Figure 2 Flow chart of genetic algorithm
(6)
(7)
由式(6)和式(7)可以得:
wAuA+wBuB=ut,wA+wB=1
(8)
fitness(t)=wA(uA-ut)2+
wB(uB-ut)2=wAwB(uA-uB)2
(9)
(10)
图3为简单高斯模型分割图、混合高斯模型分割图以及本文算法分割图的对比。
Figure 3 Several kinds of skin color segmentation effect
3 Haar特征及Haar方差特征
3.1 Haar特征与计算
Haar特征最早是由PapageogiouV等人应用于人脸表示。Haar特征可分为四类:边缘特征、线性特征、对角线特征和中心特征,常见的形式如图4所示[14]。其中,图4a和图4b为边缘特征,图4c为线性特征,图4d为对角线特征,图4e为中心特征。
Figure 4 Haar features
将上面的任意一个矩形放到人脸区域上,然后将白色区域的像素和减去黑色区域的像素和,得到的值称为人脸特征值;如果把这个矩形放到一个非人脸区域,那么计算出的特征值和人脸特征值是不一样的,而且越不一样越好,所以这些方块的目的就是把人脸特征量化,以区分人脸和非人脸。在计算特征值的方法上,Viol提出了积分图的概念,如图5所示,对于图像内一点i(x′,y′),定义其左上角所有像素和为i(x,y)。
Figure 5 Integral figure
(11)
为了节约时间,减少重复计算,积分图可按照式(12)递推公式计算:
s(x,y)=s(x,y-1)+i(x,y),
i(x,y)=i(x-1,y)+s(x,y)
(12)
其中,s(x,y)为点(x,y)的累计行总和。
由图像的积分图可以方便快速地计算图中任意矩形内所有像素灰度积分。如图6所示,点1、2、3、4的积分图分别为:
i1=sum(A),i2=sum(A)+sum(B),
i3=sum(A)+sum(C),
i4=sum(A)+sum(B)+sum(C)+sum(D)
(13)
Figure 6 Haar feature calculation
矩形区域D内所有像素灰度积分可由矩形端点的积分图像值得到:
sum(D)=i1+i4-(i2+i3)
3.2 Haar方差特征
文献[15]提到利用Haar的协方差特征来进行行人检测,它的非正交特性用于图像的匹配、重建,本文用Haar的方差特征来进行人脸的检测。
在进行方差特征值计算时,我们以图4和图5为例,点(x,y)处的方差计算为[16]:
(14)
其中,n为矩形区域像素点的个数, 则i(x,y)的方差为:
Var(i(x,y))=E(i(x,y)2)-μ2
(15)
本文使用Haar方差特征结合SVM训练分类算法对分割出的图片进一步验证。SVM是Cortes和Vapnik于1995年首先提出的,它在解决小样本、非线性及高维数模式识别中表现出许多特有的优势。人脸的特征维数相当高,而由于实际条件的限制,无法对每个人都采集大量的图像样本,因此相对于人脸维数,人脸的样本数很少,是一个典型的小样本、高维数的非线性分类问题。本文对SVM的使用分为训练和分类两个阶段。
在训练阶段,所有的人脸样本和非人脸样本归一化为64×64,有4 096个像素特征。用一个24×24的子窗口按八个像素的步长扫描样本图像,每个窗口可提取四个方差特征,可获得的方差特征向量为144个;再用一个大小为12×12的子窗口,按步长为四的大小去扫描图像,可以获得784个方差特征向量。两次扫描,在每一幅人脸图像中,一共可以获得928个特征向量,远远小于4 096个像素特征。最后,将提取出的方差特征用于训练分类器。
在分类阶段,将肤色分割后的图片作为输入,用一个大小为12×12的检测窗口扫描输入图片,在扫描的过程中,不是改变输入图片的大小,而是逐渐放大检查窗口。每一个子窗口提取的Haar方差特征经过训练阶段得到的SVM分类器后,将人脸和非人脸区分开来。
4 实验结果及分析
本实验平台:Matlab2011,台式计算机,XP32位,单核2.5GHz,2GB内存,使用ORL人脸库和CAS-PEAL人脸库作为实验数据。
ORL人脸库是由英国剑桥Olivetti实验室从1992年4月到1994年4月期间拍摄的一系列人脸图像组成,共有40个不同年龄、不同性别和不同种族的对象。每个对象10幅图像,共计400幅灰度图像。其中人脸部分表情和细节均有变化,例如笑与不笑、眼睛睁着或闭着、戴或不戴眼镜等,人脸姿态也有变化,其深度旋转和平面旋转可达20°,人脸尺寸也有最多10%的变化。该库是目前使用广泛的标准数据库。
CAS-PEAL人脸图像数据库共有1 040个中国人共99 450幅头肩部图像。所有图像在专门的采集环境中采集,涵盖了姿态、表情、饰物、背景和光照五种主要变化条件,部分人脸图像具有背景、距离和时间跨度的变化。CAS-PEAL克服了大多数人脸库存在的数据量小或者图像变化情况比较单一的缺陷。此外,目前大多数人脸库中提供面部图像的志愿者为西方人,东西方人在面部特征上存在一定差异,CAS-PEAL是一个大规模、多样化的东方人脸数据库。本文实验主要在其表情、饰物和背景三个子库上进行,测试本算法对不同变化类型人脸的识别性能。
为了验证本算法的有效性,本文将其与基于LBP特征、LGBP特征、Gabor特征、Haar+Adaboost以及新特征+SVM(即Haar方差特征+SVM)检测算法进行了对比。
表1为在ORL数据库测试得到的各检测算法检测率及检测时间。
Table 1 Comparision of detection rates and time on ORL
从表1中可以看出,相对于其他几种检测算法,Haar+Adaboost算法的检测率是最低的,LBP的检测速度最快,但是检测率仅高出Haar+Adaboost 3.327%,LGBP和Gabor检测率相比,LGBP算法的检测率要比Gabor高3.3%,而且检测时间要少28%。本文算法的检测率相对表中的前五种算法各高出5.65%、2.20%、5.08%、5.99%、2.96%,检测所需时间比LBP要长,但是比LGBP、Gabor以及Haar+Adaboost各少71.28%、77.6%、70.8%。综合检测率和检测时间,本文的算法性能在四种算法中是最好的。
表2为四种方法在CAS-PEAL人脸数据库表情、饰物以及背景三个子集上测试的识别率。从表2中可以看出,LGBP和Gabor相对于LBP、Haar+Adaboost识别率都有了较大的提高,但是相对于含有饰物的情况,前面五种方法的检测率都不是很理想,本文算法将饰物数据集的检测率相对于前面五种算法分别提高了44.0%、8.7%、5.9%、45.8%、4.5%。从背景子集的测试结果来看,本文算法相对于其他算法也有了一定程度的提高。
Table 2 CAS-PEAL face test results
由于本文在对人脸候选区域进行验证时,不是采用Haar的Adaboost算法而是采用Haar方差特征和SVM方法,因两种方法都需要通过对训练集中的图片学习来获得分类器,因此本文还探讨了不同样本数目对其检测准确率的影响。图7a和图7b分别是在ORL和CAS-PEAL上的测试结果,其中CAS-PEAL中的样本是从表情、饰物和背景三个数据子集中按相同比例分别选取的。
Figure 7 Relationship between sample size and recognition rate
从图7中可以看出,在ORL中,在一定范围内随着样本数目的增多,检测率都有一定的提高,但是当样本少于350时,本文算法的优势不明显,当样本数目多于400以后,本文算法相比Haar结合AdaBoost的优势就明显体现出来了;在CAS-PEAL数据库中,人脸样本从表情、饰物和背景数据集中按比例选出,从图7中可以看出,本文算法始终优于Haar结合AdaBoost。
5 结束语
本文将肤色检测和基于Haar方差特征的人脸检测相结合,在YCbCr空间建立椭圆模型,通过logsitic回归分析,生成肤色概率图,将每点的像素映射到[0,1],采用遗传算法确定分割阈值,从而确定人脸候选区域;再用Haar方差特征结合SVM对人脸候选区域进行验证,不仅提高了检测速度,而且提高了检测的准确率。但是,随着光照、遮挡等因素的变化,其识别性能有所下降,所以这些因素仍是人脸识别领域所面临的挑战。在要求高精度识别的场合之中,多模态的人脸图像识别已成为目前的一个热点研究方向。
[1] Ye Jun-yong,Wang Qing-tong,Yang Bo,et al. Algorithm of support vector machine-based face detection[J]. Computer Engineering,2003,29(2):23-25.(in Chinese)
[2] Chen Yong-fei,Liu Xin-ming. Based on the color and Haar features of face image detection[J]. Computer Engineering and Application,2008,44(33):177-182. (in Chinese)
[3] Tang Feng,Crabb R,Tao Hai.Representing images using nonorthogoal Haar-like bases. Pattern Analysis and machine Intelligence[J]. IEEE Transactions, 2007, 29(12):2120-2134.
[4] Lienhart R,Maydt J. An extended set of Haar-like features for rapid object detection[C]∥Proc of the IEEE ICIP’02,2002:900-903.
[5] Chen Shi-gang,Ma Xiao-hu. Face detection based on multi-Gaussian skin color segmentation and Haar-like intensity features[J]. Journal of Suzhou University,2011,27(3):30-34.(in Chinese)
[6] Kakumanu P, Markrogiannis S, Bourbakis N. A survey of skin color modeling and detection methods[J].Elsevier Journal of the Pattern Recognition Society,2007, 40(3):1106-1122.
[7] Liu Qing-sheng,Chang Fa-liang,Chen Shi-gang.Improved gaussian skin color model and its application in face detection[J]. Journal of Instrument,2012,33(5):1117-1121.(in Chinese)
[8] Zhang Zheng-zheng,Shi Yue-xiang.YCgCr color space skin color clustering face detection[J]. Computer Engineering and Application,2009,45(22):163-165.(in Chinese)
[9] Li Wei,Li Ming-dong,Liu Wan-qian. Using adaptive sphere model color dynamic threshold segmentation[J]. Computer Engineering and Application,2012, 48(22):179-182.(in Chinese)
[10] Zhao Ming-hua,Zhao Yong-gang. Skin color segmentation based on improved 2D Ostu and YcgCr[C]∥Proc of 2010 International Conference on Electrical and Control Engineering,2010:1954-1957.
[11] Yu Yi-min,Huang Ting-hui,Sang Tao. Skin segmentation based on real adaboost algorithm[J]. Computer Application,2011, 31(12):3370 -3377.(in Chinese)
[12] Li Jie,Hao Xiao-li. Face detection using elliptic model[J]. The Computer Measurement and Control,2006,14(2):170-172.(in Chinese)
[13] Lee L-K,An S-Y,Oh S-Y.Robust fingertip extraction with improved skin color segmentation for finger gesture recognition in human-Robot interaction[C]∥Proc of 2012 IEEE World Congress on Computational Intelligence, 2012:10-15.
[14] Viola P J.Rapid object detection using a boosted cascade of simple features[C]∥Proc of Conference on Computer Vision and Pattern Recognition,2001:511-518.
[15] Khac C N, Park J H, Jung H-y, et al. Face detection using variance based Haar-like feature and SVM[C]∥Proc of World Academy of Science, Engineering and Technology, 2009:165-168.
[16] Viola P. Robust real-time detection[J]. International Journal of Computer Vision, 2004, 57(2):137-154.
附中文参考文献:
[1] 叶俊勇,汪同庆,杨波,等.基于支持向量机的人脸检测算法[J].计算机工程,2003,29(2):23-25.
[2] 陈勇飞,刘新明.基于肤色和类Haar特征的人脸图像的人眼检测[J].计算机工程与应用,2008,44(33):177-182.
[5] 陈世刚,马小虎.基于多高斯肤色分割和Haar-like强度特征的人脸检测[J].苏州大学学报,2011,27(3):30-34.
[7] 刘青生,常发亮,陈世刚,等.改进的高斯肤色模型及其在人脸检测中的应用[J].仪器仪表学报,2012,33(5):1117-1121.
[8] 张争珍,石跃祥.YCgCr颜色空间的肤色聚类人脸检测[J].计算机工程与应用,2009,45(22):163-165.
[9] 李薇,李明东,刘万钱.运用自适应球体模型实现肤色动态阈值分割[J].计算机工程与应用,2012, 48(22):179-182.
[11] 余益民,黄廷辉,桑涛.基于RealAdaboost算法的肤色分割方向[J].计算机应用,2011, 31(12):3370 -3377.
[12] 李杰,郝晓莉.一种基于椭圆肤色模型的人脸检测方法[J].计算机测量与控制,2006,14(2):170-172.
LI Yan,born in 1987,MS candidate,her research interests include image processing, and pattern recognition.
Face detection algorithm based on skin color and Haar variance characteristics
LI Yan,WANG Ling
(College of Physics and Information Science,Hunan Normal University,Changsha 410081,China)
In order to improve the rate of face detection under complex background and reduce detection time,we propose a face detection algorithm based on skin color segmentation and improved Haar features. First we derive the probability of every bit of skin color by elliptical skin color model and logistic regression analysis in YCbCr color space and generate the skin probability diagram, which will map every bit of pixel values to [0, 1]. Then we define the threshold of skin color segmentation to segment the face region rapidly, using parallel genetic algorithm based the Ostu method. Finally combining the SVM training and classification method, we adopt a few Haar variance characteristics instead of the original Haar features to verify the segmented face region. Experimental results show that the proposed method can improve the accuracy of face detection with a fast speed.
skin color segmentation;elliptical skin color model;regression analysis;genetic algorithm;Haar variance characteristics
1007-130X(2015)01-0146-06
2013-05-31;
2013-09-10
TP391.4
A
10.3969/j.issn.1007-130X.2015.01.022
李燕(1987-),女,湖南邵东人,硕士生,研究方向为图像处理和模式识别。E-mail:915082868@qq.com
通信地址:412007湖南省株洲市天元区圆方路131号
Address:131 Yuanfang Rd,Tianyuan District,Zhuzhou 412007,Hunan,P.R.China