基于高斯肤色模型的人脸区域及下巴检测
2015-01-01周利琴
周利琴,谷 林
(西安工程大学 计算机科学学院,陕西 西安710048)
0 引 言
随着互联网技术的不断升级,特别是移动互联网的高速发展,电子商务进入了高速蓬勃的发展时期.为了更好地促进服装产品的在线销售,研究人员一直致力于虚拟试衣技术的研究.目前国内外针对三维虚拟试衣的研究取得了一定程度的发展[1-2],但其主要集中在人体躯干部的模拟及服装试穿技术研究上,能够同时体现客户真实脸部特征的研究比较少.而人脸是人物的个性表现.未来的服装虚拟试穿系统不仅要准确模拟出人体体型特征,而且还应能逼真地模拟出人的脸型、肤色、气质等影响服装穿着效果的脸部特征信息.要在虚拟试衣的模特上塑造个性化的人物头部模型,使三维虚拟试衣更具真实性,识别出远程用户图像中的人脸区域,并对人脸特征进行分析提取是首先要解决的问题.
人脸检测技术在当今社会生活中扮演着相当重要的角色,如视频监控、人机交互、人脸识别、人脸数据库分类管理等业务,均用到了人脸检测这个关键技术.人脸的检测和识别技术是模式识别、计算机视觉和图像理解系统的研究热点之一,它综合了图像理解、计算机视觉、数据库和人工智能等多方面多学科的知识,应用前景广阔,受到了越来越广泛的重视,并得到了迅速的发展,取得了很多有价值的研究成果[3-5].人脸检测技术主要方法有以下几种:基于几何特征的方法[6]、基于弹性模型的方法[7]、基于神经网络的方法[8]和基于统计模型的方法[9]等等.其中基于几何特征的方法又包括基于肤色的方法[10-15]、基于纹理的方法[16]等.本文研究基于肤色这一特征来对肤色进行检测.
1 RGB色彩空间与YCbCr色彩空间的转换
根据计算机的色彩原理,对于同一种颜色,计算机可能有多种不同的表达方式,因此就形成了各种不同的色彩空间,例如,RGB、HSV、LAB及YCbCr等色彩空间.
RGB色彩空间是一种最典型也最常用的色彩空间,它由红、绿、蓝三基色叠加产生不同颜色.而YCbCr色彩空间是亮度和色度分离的一种色彩空间,主要应用于数字电视系统.它可以由RGB线性转换而得,其中Y为颜色的亮度,Cb,Cr分别表示蓝色色度分量和红色色度分量.
由于不同人的肤色在色度上的差异远小于亮度上的差异,因此本文选择YCbCr色彩空间来确定肤色区域,以便将亮、色分离.
由RGB色彩空间转换为YCbCr色彩空间的关系式为
2 基于高斯肤色模型的脸部定位
从人体正面照片中定位出人脸区域,为以后提取脸部特征点打下很好的基础,减少了定位的范围,提高了定位特征点的准确性.定位人脸区域的过程如图1所示,首先对人体正面照片进行色彩空间的转换,建立高斯肤色模型;然后对该模型进行肤色检测,区分开照片中的肤色区域和非肤色区域;最后,通过下巴检测区分开人脸区域和脖颈区域.
图1 定位人脸区域的过程示意图Fig.1 Locate the face region process diagram
2.1 高斯肤色模型
人脸肤色模型是一种在彩色空间内为有效处理人脸肤色信息而建立的模型.相对于处理灰度信息,人脸肤色具有对光照姿态变化不敏感、包含丰富的人脸信息等优点,被广泛应用于肤色特征提取、人脸检测、人脸识别等方向.其中基于YCbCr色彩空间的高斯肤色模型是应用最为广泛的肤色模型之一.
建立基于YCbCr色彩空间的高斯肤色模型的主要依据是,不同的人脸肤色在YCbCr色彩空间中,若不考虑亮度分量Y的影响,色度分量Cb和Cr的分布几乎是一致的,而且分布非常集中,符合二维高斯分布.高斯肤色模型的均值m、方差C和像素在YCbCr色彩空间的值x的公式为
2.2 肤色区域定位
基于肤色的检测方法是根据肤色在色彩空间上的特殊分布来对图像中的肤色区域进行检测.肤色是人体裸露在外的最为显著的特征之一,肤色是人脸部、颈部及手部与其他区域的区别之处,同时肤色对人体的姿势或者表情等的变化不会产生过大的区别.
在YCbCr色彩空间中,不同亮度的人脸肤色存在着特殊的聚类关系,在忽略亮度分量Y的情况下,色度分量Cb和Cr分布在一个较小的区域范围内,分布情况几乎一致,并且服从高斯分布,CbCr区域的高斯肤色模型概率分布如图2所示.因此本实验中利用这一特点,首先建立高斯肤色模型,再对该模型进行相似度计算、二值化等处理,区分开肤色区域和非肤色区域.
图2 CbCr区域的高斯肤色模型概率分布Fig.2 The probability distribution of gaussian skin color model in the CbCr region CbCr region
经过实验统计,肤色在CbCr空间中符合的高斯模型G(m,C),其中均值m和方差C分别为
2.2.1 相似度计算 根据已建立的高斯肤色模型,计算各个像素的概率值并得到一个肤色概率图,根据判断的各个像素点的颜色和肤色的相似度的大小,来对肤色进行确认.计算相似度时的公式为
其中,Cr,Cb为YCbCr色彩空间中的色度分量;x为像素在YCbCr色彩空间的值;m,C分别为高斯肤色模型的均值和方差.
将各个像素点代入上式计算出每个P(Cr,Cb)的值,然后进行滤波即归一化处理,用P(Cr,Cb)与该图像中P(Cr,Cb)最大值的商作为该像素的相似度,由此可见每个像素点的相似度值在[0,1]范围内.这个值越小表示这个像素点为肤色的可能性越小,反之则越大.
2.2.2 二值化去噪 图像阈值分割是一种比较常用的图像分割技术,它利用要提取的区域和图像的背景在灰度上的差异,把图像看成两个具有不同灰度级的区域的组合,即目标区域和背景区域,因此选择一个比较合适的阈值,来区分图像中的像素的目标区域和背景区域,从而产生相应的二值图像是关键的一步.
由于不同人种的肤色是有一定的差异的,而且不同的照片中人的肤色也是不同的,因此设置一个固定的阈值是不现实的.在确定阈值时,需要对每张不同的照片计算出的阈值,从而区分开肤色区域和非肤色区域.
实验表明,并不是阈值越小检测出的肤色区域就越精确.而是当阈值在一定范围内,随着阈值的减小,识别出的肤色区域将不会增加,此时肤色像素已经被全部检测出来,若再降低阈值,则会将非肤色区域误检测为肤色区域.则随着阈值的减少,肤色区域面积变化最小的为最优阈值.本文采取让阈值从0.75开始每次减少0.1,直到减少为0.05,记录每个阈值情况下的肤色像素数量,并比较该阈值情况下的肤色数量与上个阈值情况下的肤色数量的增加量,增加量最小的时候即为最优解,不同阈值下的识别结果如图3所示.
2.3 下巴识别
经过一系列操作肤色区域可以确认出来,但是,如果想仅仅通过肤色区域定位操作就能标记出人脸区域是不够的.这是因为根据上述方法我们可以区分开肤色区域和非肤色区域,但人体裸露在外的肤色区域不仅仅只有脸部,人体颈部及其以下皮肤也有所暴露.接下来的任务就是从上述得到的区域中区分开人脸部和脖颈部区域,进一步确认出人脸区域.
在人脸之中,不同人的五官的位置存在共性.一般来说,大致都符合“三庭五眼”中的比例关系,“三庭五眼”示意图如图4所示.所谓“三庭”是描述人脸的长度关系,是指从前额中央的发际线开始到下巴之间的距离,共分为3等分:从发际线到眉骨、从眉骨至鼻底、从鼻底至下巴各为一“庭”;“五眼”是描述人脸的宽度关系,两眼之间、左右两眼、两眼的外眼角到左右两侧发际线共为“五眼”.
一般情况下都用矩形框来表示人脸区域所在,在照片中找出像素点为白色(肤色)最多的一列,此列即为人脸区域的高度线,再向左右扫描,确定人脸的左右界限,再根据左右界限来确定上界限.已经确定了上、左和右的界限,由于目前确定的人脸区域不只包含脸部区域,还包括脖颈区域,人脸识别示意图如图5所示.因此还要将脸部和脖颈区域区分开,确定人脸区域的下边界.
图3 不同阈值下的识别结果Fig.3 The identification results under different threshold
图4 “三庭五眼”示意图Fig.4 The sketches of“three court five eyes”
图5 人脸识别示意图Fig.5 The sketches of face
根据人体的先验知识,知道人体脸部与颈部的分界区域是下巴,所以应该识别出下巴所在的区域.本文输入的是人体正面证件照,人脸的正面照一般都在下巴区域会有阴影形成,它的亮度明显比其上下的正常区域要低很多.结合人脸所满足的三庭五眼关系中,人体下巴在“第三庭”“第三眼”,根据这一先验知识我们可以从肤色区域的下方的第一行的“第二眼”和“第四眼”之间开始逐行向上查找下巴阴影部分,取当前像素上方的像素与当前像素的亮度分量Y的差,若这两点像素的亮度差大于某个阈值(本实验中阈值取40),则当前像素可能为阴影部分,即该点上方的像素可能为下巴边缘.取该点上方像素所在的行为人脸下边界,即为下巴区域.最后,可以通过人脸宽度和高度的比值,对找出的下巴区域进行验证,一般人脸区域的宽度与高度之比在0.8左右,在此实验中,将其设置在0.6~1.0之间.当检查到阴影部分时,可由这一条件进行验证,若满足比值在0.6到1.0之间,则是找出了下巴区域,若不满足,则需重新检测出下巴区域.
3 结 论
(1)本文利用肤色在YCbCr色彩空间中的特殊聚类关系建立高斯肤色模型有效的区分开肤色区域和非肤色区域.
(2)利用肤色特征区分开肤色区域和非肤色区域,这时的肤色区域包括脸部和脖颈区域,再对其进行下巴检测,得到最终更加精准的人体脸部区域.
[1] 陆永良,李汝勤,胡金莲.虚拟服装的发展历史和现状[J].纺织学报,2005,26(1):132-134.LU Yongliang,LI Ruqin,HU Jinlian.History and current situation for virtual clothing development[J].Journal of Textilt Research,2005,26(1):132-134.
[2] 王洪泊,黄翔,曾广平,等.智能三维虚拟试衣模特仿真系统设计[J].计算机应用研究,2009,26(4):1405-1408.WANG Hongbo,HUANG Xiang,ZENG Guangping,et al.Design of intelligent 3Dvirtual clothing model simulation system[J].Application Research of Computers,2009,26(4):1405-1408.
[3] 张洪明,赵德斌,高文.基于肤色模型、神经网络和人脸结构模型的平面旋转人脸检测[J].计算机学报,2002,25(11):1250-1255.ZHANG Hongming,ZHAO Debin,GAO Wen.Face detection under rotation in image plane using skin color model,neural network and feature-based face model[J].Chinese Journal of Computers,2002,25(11):1250-1255.
[4] 赵丽红,刘纪红,徐心和.人脸检测方法综述[J].计算机应用研究,2004,25(9):1-4.ZHAO Lihong,LIU Jihong,XU Xinhe.A survey of human face detection[J].Application Research of Computers,2004(9):1-4.
[5] 梁路宏,艾海舟,徐光祐,等.人脸检测研究综述[J].计算机学报,2002,25(5):449-458.LIANG Luhong,AI Haizhou,XU Guangyou,et al.A survey of human face detection[J].Chinese Journal of Computers,2002,25(5):449-458.
[6] 黄禹馨,黄山,张洪斌.基于肤色和器官定位的实时人脸检测[J].计算机工程与科学,2014,36(5):936-940.HUNG Yuxin,HUANG Shan,ZHANG Hongbin.Real-time face detection based on complexion and organs location[J].Computer Engineering and Science,2014,36(5):936-940.
[7] 张彩甜.人脸识别技术研究[J].电脑知识与技术,2009,20(5):5513-5514.ZHANG Caitian.Research on face recognition technology[J].Computer Knowledge and Technology,2009,20(5):5513-5514.
[8] 张娅莉,王燕,BP神经网络人脸检测研究[J].洛阳大学学报,2006,21(4):82-84.ZHANG Yali,WANG Yan.BP neural network of humen face examination testing[J].Journal of Luoyang University,2006,21(4):82-84.
[9] 黄珍,曹晓丽.在人脸检测中对Adaboost算法的应用研究[J].赤峰学院学报:自然科学版,2014(5):17-19.HUANG Zhen,CAO Xiaoli.Applied research of Adaboost on face detection[J].Journal of Chifeng University:Natural Science Edition,2014(5):17-19.
[10] 李全彬,王小明,刘锦高,等.复杂光照下的人脸肤色检测方法[J].计算机应用,2010,20(6):1594-1596.LI Quanbin,WANG Xiaoming,LIU Jingao,et al.Face skin color detection in complicated illumination conditions[J].Journal of Computer Application,2010,20(6):1594-1596.
[11] 刘洁,张汗灵.一种新的基于肤色模型的人脸检测算法[J].计算机工程与应用,2006,42(11):70-72;134.LIU Jie,ZHANG Hanling.A novel face detection method based on skin model[J].Application Research of Computers,2006,42(11):70-72;134.
[12] 顾伟,刘文杰,朱忠浩,等.一种基于肤色模板和模板匹配的人脸检测算法[J].微型电脑应用,2014,30(7):13-16.GU Wei,LIU Wenjie,ZHU Zhonghao,et al.A face detection method based on skin-color model and template matching[J].Microcomputer Applications,2014,30(7):13-16.
[13] YANG J,LU W,WAIBEL A.Skin-color modeling and adaptation[C]//Hongkong:Lecture Notes in Computer Science,1997:687-694.
[14] JONES M J,REHG J M.Statistical color models with application to skin detection[J].International Journal of Computer Vision,2002,46(1):81-96.
[15] SABER E TEKALP A.Front-view face detection and facial feature extraction using color,shape and symmetry based cost function[J].Pattern Recognition Letters,1998(3):669-680.
[16] 李晓华,沈兰荪.基于多级梯度能量描述的压缩域人脸检测[J].电子与信息学报,2005,27(2):1909-1915.LI Xiaohua.SHEN Lansun.Face detection in compre4ssed domain based on multi-level gradient energy presentation[J].Journal of Electronics &Information Technology,2005,27(2):1909-1915.