廖正湘 陈元枝 李 强
(桂林电子科技大学电子工程与自动化学院,广西 桂林 541004)
基于肤色建模与人眼定位的人脸检测方法
廖正湘1陈元枝2李 强3
(桂林电子科技大学电子工程与自动化学院,广西 桂林 541004)
根据肤色在Ycrcb色彩空间中具有很好的聚类性,通过形态学算法对肤色建模之后的图像进行预处理,消除噪声,再对肤色进行分割,从而可以对人脸图像有一个大致的定位,并通过平均眼睛模板匹配法定位出人的眼睛,在此基础可以比较精确的定位出人脸位置。实验结果表明,该方法用于人脸检测取得较为良好的效果,具有较好的鲁棒性。
肤色分割;模板匹配;人眼定位;人脸检测
近年来,人脸识别、表情识别和性别识别等已成为计算机视觉和模式识别领域的热门话题。而人检测是上述几种研究课题的一项关键技术,因此受到了广大研究者们的高度关注。人脸检测是指在输入图像中判断是否存在人脸区域,并进一步确定人脸的位置、大小和姿态信息。但在检测的过程中,由于人脸图像背景一般比较复杂,人脸结构、位置、表情的变化以及光照等因素影响,使得人脸检测成为了计算机视觉和模式识别中较为困难的工作。
人脸检测需要考虑多方面的因素,既要保证较高的正确率,又要保证较低的误解率。如何能快速、准确地检测到人脸是计算视觉和模式识别领域的重点研究课题。现有的人检测方法可分为两类,一类是基于知识的方法,另一类是基于学习的方法。基于知识的方法是基于特定的规则进行人脸检测,而规则来源于关于人脸模式的先验知识总结出“人脸特征区域”与“人脸特征脸”的方法,这类方法有几何特征法、模板匹配法、肤色模型法;基于学习的方法收集大量人脸和非人脸样本,然后得到机器学习算法,通过学习得到一个分类器,最后利用分类器进行人脸的检测,目前主要的方法有基于贝叶斯准则的方法,基于人工神经元网络(ANN)的方法,基于支持向量机(SVM)的方法,基于Adaboost的方法等。
肤色是人脸的重要信息,具有相对的稳定性并且和大多数背景物体的颜色相区别,因此针对彩色图片利用肤色信息进行快速检测是人脸研究中的一项重要内容。但是,由于自然界也存在大量类似肤色的物体,仅仅使用肤色特征进行人脸检测是很不可靠的,因而几乎所有基于肤色特征的方法都需要利用人脸的其他特征进行验证。因此本文提出一种基于肤色建模与人眼定位的人脸检测方法。首先通过肤色建模,区分人脸区域与非人脸区域,然后用基于平均模板匹配方法定位出人眼,最后根据眼睛的定位对人脸进行进一步的准确定位。整个检测方法分为两步进行,如下图所示:
图1 人脸检测步骤
由于光线原因,所照的图像可能会存在光线不平衡的情况而造成色彩偏差,为了抵消这种整个图像中存在的色彩偏差。可以采用的解决方法是:将整个图像中的所有像素的亮度从高到低进行排列,取前5%的像素,然后线性放大,使这些像素的平均亮度达到255,实际上就是调整图片像素的RGB值。 其主要原理是读入的一张图光线较为理想、光照分布均的图片,第二张是待处理的图片,它们都是真彩色RGB的图形。将它们转化成灰度图后求出均值,当第一张图片与第二张图片的均值之差大于5时,就进入循环处理。
图2 图像光线补偿
肤色模型就是指用一种代数的或查找表等形式来确定哪些像素属于肤色,或者计算出某一像素的颜色与肤色的相似程度。Hsu[3]等人对从HHI图像库中手工选取不同光照、不同肤色的肤色点进行统计,并将肤色点的坐标投影到种颜色空间,发现有肤色在YCbCr色彩空间中近似于椭圆,表现出好的聚类性质图(三)示。式(1)为 YCrCb色彩空间和 RGB空间的转换公式 ,再用式(2)对YCbCr色彩空间进行非线性分段变换,则肤色分布在式(3)的椭圆内:
Cb,Cr分别为样本像素在YCbCr颜色空间的值。若某点在椭圆公式内则是肤色,否则就不属于肤色。
图3 YCrCb色彩空间中的肤色聚类性
图4 肤色建模与形态处理后的图像
如图四(a)所示,通过肤色建模之后可以对肤进行初步分割,即白色为皮肤区域。但是通过肤色建模之后形成的二值图像会存在一些干扰因素,这些干扰因素主要是来源于图像背景,得进行一系统列图像预处理工作。主要是对图像中大致的人脸区域进行膨胀与腐蚀操作。膨胀的目的就是使人脸区域中不连接的区域块连接起来,由于人脸的眼睛、鼻子、嘴巴等一些非皮肤其实也属人脸范围,所以把这些区域用白色填充起来;而腐蚀的目的就是把膨胀后的人脸区域变小,恢复到膨胀之前的大小。先膨胀后腐蚀的方法在形态学算法中称之为闭运算,图像f由b膨胀,随后膨胀的结果由b腐蚀,b对f的闭运算定义为:
通过形态学处理后,过滤了由于噪音或者其他原因引起的一些较小的不可能为人脸的类肤色区域,减少候选区域和提高检测速度,而且可以填补肤色区域内的较小空洞,防止这些空洞被误认为是人脸器官所造成,为后续检测区域降低了误判的可能性。
去噪处理之后,对白色连通区域进行了起义为了删除非人脸区域,要对这些白色区域进行分析与计算,因为人脸肤色建模是根据皮肤颜色来确定的,有可能把脖子、肩膀、手臂等肤色区域或是与肤色相近的其他物体也包括了进去,所以得到的只能是人脸的大致区域,需要进一步通过各种算法将那些非人脸区域尽可能都去除掉。本文选取了连通区域像素数、区域填充率和长宽比判断因素。
首先,标记连通区域。因为人脸有一定的大小,通常人脸小于24*24则无法识别,因此对于小于等于这一像素的区域我们认为是非人脸将其值置为背景是合理的。其次,计算相连区域块中,判断且计算是否有孔洞值,如果孔洞数大于某个阈值,则可能该区域为人脸区域。最后,为了更进一步确认,计算第二步中 连通区域的长宽比。通过对人脸特征的统计,人脸的长宽比应该大致在这样的一个范围内:0.8<人脸长宽比<1.5。考虑到人脸区域和脖子区域大都是连通的,所以实际处理中将比例修正到如下的范围内:0.8<人脸长宽比<1.8。
通过2.2与2.3的处理判断,得到人脸的候选区域结果如图五(a)所示
图5 肤色模型人脸候选区域
对自建人脸库中的100副图片(人脸库中一共有20个人的人脸图片,每人五副图片,这五副图片中眼睛的姿态是各不一样的)进行眼睛截取,像素大小统一为65*20的样本,得到20人的100副眼睛,因为自建人脸图像中的图片均彩色图片,所以将其成为灰度图像,再对这100副眼睛样本取平均,得到眼睛平均模板。
肤色建模之后,人脸的大致区域已经确定,根据已有的眼睛平均模板,可以在该图片上进行区域搜索,得到与模板相似的区域。传统的模板匹配基本算法[4]:采用以下的算式来衡量模板T(m,n)与所覆盖的子图Sij(i,j)的关系,已知原始图像S(W,H),如图所示:
图6 模板匹配搜索图
利用以下公式衡量它们的相似性:
(5)式中第一项为待检测图片匹配区域的能量,第三项为模板的能量,都和模板匹配无关。第二项是模板和匹配区域的互为相关,随(i,j)而改变。当模板和对就的区域匹配时,该项有最大值。再将其归一化后,得到模板匹配的相关系数:
当模板和对应的区域完全一样时(说明:本文的匹配不可能完全相同, 因为采用的是平均模板眼睛匹配法),相关系数R(i,j) =1。在被搜索图S中完成全部搜索后,找出R的最大值Rmax(im,jm),其对应的子图Simjm即位匹配目标。但是由于R(i,j)的计算公式可以看出其计算量大,且是整副图片逐步搜索,所以会导致匹配速度比较慢,因此本文的算法在此基本算法之上采用跳跃式搜索法,即:不进行全区域的搜索,采用跳跃间隔奇偶搜索(间隔为原来的两倍),先进行奇数区域(若奇数区域无法得到大于等于设定阈值相匹配的点,就再搜索偶数区域),设定一个阈值R0,当R(i,j)得到值>=R0时,停止向图片接下来的区域搜索,再根据模板的大小,在此区域根据模板的大小进行精确搜索匹配。这样就可以大大的缩小匹配时间,提高人脸检测的速度。
图7 人眼定位与人脸定位
本文的方法所得到结是基于 matlab7.9(R2009b)仿真所得到,人脸库中的图片都是正面较标准的照片,20人,每人五副照片,硬件系统PC机,CPU为Intel core2处理器2.2G,内存DDR3,2G。用来检测的图片是来自CCD相机摄与互联网上的下载,具一定的随机性。实验结如下:
表1 人脸检测结果
本文对于人脸检测的方法是采用肤色模型与平均眼睛模板匹法相结合的方法,首先是通过对图片光照进行均匀分布处理,为肤色建模消除了一定的干扰因素,之后通过肤色模型及图像的预处理,对肤色进行分割,再利用眼睛的定位,检测出图像中人脸的准确位置,实验结果显示取得了良好的效果。本文的实验方法存在的错误检测,主要原因是背景图片比较复杂、图片中有大部分背景颜色与肤色区域相似及表情夸张度大。
本文的主要创新点,采用人脸肤色模型确定人脸大致区域与跳跃间隔搜索模板匹配相结合的方法,并设定匹配阈值,与传统模板匹配相比较,缩短匹配时间,提高了检测的速度。通过库中的图片计算出眼睛平均模板之后,从而可以计算出待检测图片中眼睛与平均模板眼睛的相似度,通过实验表明,用得到平均模板眼睛的相似度大于其它图片来源的眼睛,从而根据相似度可以确定,待检测图片中的人脸是否与自建的人脸库中的人脸有相似之处,如有,可以接下来做人脸识别工作,否则,予以删除,继续接下来的图片检测工作。从而可以提高人脸识别的识别速率与识别的正确率。
[1] Lan K M,Yan H.Locating and extracting the eye in human face image[J].Pattern Recognition,1996,29(5):771-779.
[2] HENRY CHANG,UISES OBLES.Face Detection[EB/OL].(2000-05-25)[2009-11-10].
[3] Hsu Rdirr-Lien,Mohamed,Jain Anil K.Face detection in color images[J].IEEE Trans on Pattern Analysis and Machine Intelligenc,2002,24(5):696-706.
[4] 姜军,张桂林.一种基于知识的快速人脸检测方法[J].中国图像图形学报,2002,7(1):6-10.
[5] 梁路宏,艾海舟,何克忠,等.基于多关联模板匹配的人脸检测[J].软件学报,2001,12(1):94-102.
[6] 马艳.基于颜色与模板匹配的人脸检测方法[D].大连:大连理工大学,2006.
[7] 陈鸿,陈杰.基于人脸识别中眼睛定位的算法.重庆职业技术学院报,2008,17(6):97-98.
[8] 陈佳佳,黄穗.基于肤色检测和 Hough变换的彩色图像人眼定位.微型计算机信息,2010,26(2-2).
[9] 张敏,陶亮.人脸图像中人眼的检测与定位[J].光电工程,2006,33(8):33-36.
Research on skin color model and eye positioning of the face detection method
This article according to the skin color to have the very good cluster in the Ycrcb color space, by shape modeling algorithm for color image after preprocessing to remove noise, then the skin color segmentation, which can have a general face image positioning,then fixed position of eyes by the average eye template matching method,it can obtain more precise positioning of the face position on this basis. Experimental results show that the method obtain a more favorable effects used to face detection, with better robustness.
Color segmentation; template matching; eye positioning; face detection
TP3-05
A
1008-1151(2011)10-0039-03
2011-07-15
廖正湘(1985-),男,湖南娄底人,桂林电子科技大学电子工程与自动化学院在读硕士研究生,研究方向为图像处;陈元枝(1968-),男,吉林长春人,桂林电子科技大学电子工程与自动化学院硕士研究生导师,研究方向为光电测试技术、图像处理等;李强(1986-),男,安徽阜阳人,桂林电子科技大学电子工程与自动化学院在读硕士研究生,从事嵌入式系统研究。