基于肤色的人脸检测算法研究

2012-03-15 14:31胡晓燕
关键词:肤色像素点人脸

胡晓燕, 张 宇

(成都航空职业技术学院计算机工程系,四川成都 610021)

0 引 言

人脸检测是指对于给定的图像,采用一定的策略对其进行搜索以确定其中是否含有人脸,如果是,则返回人脸的位置与大小。检测与定位人脸通常是一个完整的人脸识别系统的第1步工作。目前,在人脸检测领域,研究比较成功的系统有基于形状的系统[1]、基于脸部特征的系统[2-3]、基于模板匹配的系统[4-5]、基于神经网络的系统[6-7]和基于颜色的系统[8]等5类,它们各有优缺点[9]。

由于人脸在空间分布的复杂性,要建立人脸在高维空间的精确分布模型有相当的难度。因此,解决人脸检测问题切实可行的途径是多种方法的综合运用。

1 基于肤色的人脸检测算法

检测系统按照图像输入预处理、算法实现、图像输出的顺序来执行,先后经过打开位图读取数据、尺寸归一化、光线补偿、二值化、开闭运算处理、区域统计及去除假区域等步骤,最后标记出人脸区域。

1.1 尺寸归一化

为使检测后的人脸识别工作所用的图像更加规范化,也为方便图像的操作,有必要对输入图像先进行尺寸归一化。算法为:用定值m去除以图像的纵向像素点数l与横向像素点数w的乘积,并对其开算术平方根求得归一化系数C,再对图像按此系数有比例地缩放。

1.2 光线补偿

由于光源和图像采集设备的原因,可能会造成输入图像在整体上发生色彩偏离。采用光线补偿可以解决这类输入图像中存在的色彩偏差问题。其算法是将输入图像中所有像素以亮度由高到低进行排列,首先取其前面5%的像素,并以其亮度作为“参考白”。然后,将它们的R、G、B色彩分量值均调整到最大值255。再与前5%像素亮度的平均值除以255后就得到了光线补偿系数,图像中其他像素点的亮度值均按此系数进行线性放大。

实验证明,光线补偿系数过大时,光线补偿可能会造成肤色在色彩分量上发生过度的偏移,因此,采用自适应的光线补偿算法。通过实验获取一个门限值(m=1.008),将其与计算出的光线补偿系数相比较,若系数值不在规则限定的条件范围内,则不进行光线补偿,这样有效避免因不恰当的补偿而造成肤色在色彩分量上发生过度的偏移。

1.3 肤色模型

系统选择了YCbCr色彩空间的高斯肤色模型和RGB色彩空间的肤色模型。优点是可将亮度分量分离又可从RGB色彩空间线性变化得到。转换公式为:

实验证明,不同肤色的区别主要表现在亮度的差异上,在色度上差异较小,具有相同的2D Gaussian模型G(m,V2),公式为:

1.4 相似度计算

肤色模型建立后,彩色图像随之被转换为灰度图像,如图1所示。根据所有像素点距高斯分布中心的距离可以得到一个和肤色的相似度,相似度计算公式为:

由(6)式可以得到一个基于原始图像的灰度图像。

图1 相似度计算

1.5 平滑去噪

对图像进行平滑去噪处理,一般情况下,在空间域内可以用邻域平均来减少噪声;在频率域内,由于噪声频谱通常多在高频段,因此可以采用低通滤波来减少噪声。

平滑线性空间滤波器(均值滤波器)的输出(响应)是包含在滤波掩模邻域内像素的简单平均值。它用滤波掩模确定的邻域内像素的平均灰度值代替图像每个像素点的值,这种处理减小了图像灰度的“尖锐”变化。由于典型的随机噪声由灰度级的尖锐变化组成,因此,平滑处理的目的就是减噪。

对图像中的任一点(x,y)进行m×n掩模处理得到的响应R可表示为:

其中,w为掩模系数;z为与该系数对应的灰度值,一个m×n掩模应有等于1/mn的归一化常数。

本系统采用3×3掩模的平滑滤波算法,即对灰度图像中每个像素的灰度值和它邻近8个像素的灰度值求和,再求平均作为新的图像中该像素的灰度值,即

采用(8)式和平滑滤波算法,可得滤波前后的对比图像如图2所示。

图2 平滑去噪

1.6 二值化

二值图像可由灰度图像选取适当的门限值后进一步转变而来,其中皮肤和非皮肤区域分别用0和1表示。算法在二值化时采用了双门限值。定义:

当Y值在一定范围内时,则该区域可能是头发;该区域可能为皮肤的条件为:

所以原来的图像被划为头发、皮肤和背景3种区域,如果某一区域的面积足够大,并且上面是头发,下面是皮肤,则该区域可能就是人脸区域。系统对图像二值化算法框图如图3所示。

原来的图像进行二值化后的实验结果如图4所示。

图3 二值化算法框图

图4 二值化图像

1.7 膨胀与腐蚀

系统采用四方向膨胀和腐蚀。先腐蚀后膨胀提取骨干信息、平滑去噪,如图5所示。先膨胀后腐蚀将2个邻近的目标连接起来,如图6所示。算法先判断图像中是否存在过多的较小区域,如果存在就执行开运算,不存在就执行闭运算。

图5 开运算的图像

图6 闭运算的图像

1.8 去除假区域

肤色建模可能把非脸部的肤色区域或其他近似肤色的区域也包含进去,因此,有必要进一步用算法来去除假区域。系统此处使用了递归算法,对执行开或闭运算后的二值化图像进行统计,寻找可能是人脸的区域,接着对其逐一用多种方法进一步判别真假,如计算区域的外接矩形的填充率、长宽比、大小以及判断区域上方是否存在头发等。算法执行后的图像如图7所示,可以明显看到已经去除了手臂区域。

图7 去除假区域后的图像

1.9 标记人脸区域

对输入图像中的每个人脸进行标记的算法是:计算区域中每列含有的白色像素点数,定位最大值所在的列,并以其为中心向两侧分别找寻人脸的左右边界。进而在左右边界与区域边界划定的范围内找寻人脸的上部边界。最后,根据人脸长宽比经验值来确定下部边界。最后标记的人脸区域如图8所示。

图8 标记人脸区域

2 实验结果分析

2.1 检测结果分析

实验抽取了多幅含有人脸及假区域的图像,共89个人脸区域和386个假区域,对这些图像的检测结果见表1所列。

表1 实验结果统计表 %

由表1可看出,光线补偿和双门限技术有利于提高检测率。95%的假区域通过使用判定因素被排除了,但也存在误检现象。

2.2 去除假区域分析

实验中,抽取了多副包含人脸的图像,每个图像中又有多个人脸区域,以及更多的假区域,总共89个人脸区域和近386个假区域。通过统计这些区域的空间特性以及排除的假区域的数量、比例,得到结果见表2所列。

表2 去除假区域结果统计表 个

由表2看出,以上各种因素都有误判存在,所以每种因素都不是判定非人脸区域的充分条件,而只是在概率上加大或减弱了这种可能性。考虑到这种特性,系统采用多种判断因素去除假区域的算法,判断因素主要有:

(1)区域填充率。对于二值化后的一个连通区域,系统中使用该区域的像素数与外接矩形的像素数的比值来表征该区域的空间属性。根据实践中的观察结果发现通过考查该属性,可有效去除与水平方向成一定角度的长条区域。

(2)相对尺寸。根据考察大量含有人脸的图像发现,人脸区域和相对尺寸(尺寸归一化的结果)具有近似正态分布的统计特征。过小或过大的区域尺寸都表明该区域属于人脸的概率较低。由此可设定尺寸模板把人脸区域的尺寸特性限定在一定的范围之内。

(3)长宽比。通过对人脸特征的统计,人脸的长宽比为0.6~1.5。考虑到人脸区域和脖子区域大都是连通的,所以实际处理中将比例修正为0.6~2.8。

(4)头发的存在性。由于人脸区域的顶部多存在头发区域,由表2可知,相对于头发的存在性去除假区域的能力是最强的,但其误判率也是最高的,这些误判集中在戴帽、染发等人脸区域。为了消除影响,算法采取从区域的顶部两侧一定范围内搜索头发区域,如果存在就不排除该区域。

2.3 其他因素分析

2.3.1 人脸的姿态

相对于其他人脸检测方法,基于肤色的算法对人脸姿态具有强鲁棒性。人脸向上旋转、向平面内的一侧旋转和向平面外的一侧旋转时的人脸标记情况如图9所示。

图9 向不同方向旋转的人脸标记

2.3.2 环境光特性

任何摄取图像的设备都要通过接受物体表面的反射光线获取信息。而物体的反射光线又受环境光线特性、物体本身的反射特性的影响,所以基于肤色的人脸检测方法也不可避免地受到环境光的影响。

系统采用了YCbCr色彩空间与RGB色彩空间2个模型。首先,本算法中RGB模型化参数取得比较宽松,其次,YCbCr色彩空间将亮度信息独立出来,而肤色模型又是建立在Cb、Cr的二维空间之上的,跟亮度无关,所以算法对环境亮度的适应能力比较强。

3 结束语

本文提出的基于肤色的人脸检测算法,计算量小、抗噪能力强、对姿态不敏感,但只对彩色图像有效。由于时间和水平的限制,实验结果仍有误检和漏检的情况。今后还需在以下几方面进行更深层次的研究:① 改进图像分割算法,考虑更多的环境因素,如光照、背景、装束等。另外可采用特征定位、模板匹配等方法对检测为人脸的区域进行验证。②进一步改进去除假区域的算法,比如增加判定规则并分配权重。③ 引入动态处理。④ 考虑系统对多人种的适应性。⑤ 进一步研究不同成像设备对肤色色度的影响,从而建立起自适应的肤色模型。

[1] 赵海涛,於东军,金 忠,等.基于形状和纹理的人脸自动识别[J].计算机研究与发展,2003,40(4):538-543.

[2] 李传林,鲁秀青.人脸照片的特征提取与查询[J].计算机应用研究,2002,19(7):110-111.

[3] 焦 峰,山世光,崔国勤,等.基于局部特征分析的人脸识别方法[J].计算机辅助设计与图形学报,2003,15(1):53-58.

[4] 丁 嵘,苏光大,林行刚.使用部件信息改进弹性匹配人脸识别[J].光电子·激光,2002,13(8):831-833.

[5] 朱俊青,王林泉,葛 元.基于模板匹配的快速人脸定位[J].计算机工程,2002,28(9):77-79.

[6] 张宏林.数字图像模式识别技术及工程实践[M].北京:人民邮电出版社,2003:17-40.

[7] 胡 恬.利用几何分析法和BP神经网络进行人脸识别研究[J].计算机工程与设计,2002,23(9):18-21.

[8] 周志勇,周激流,刘智明,等.基于彩色和投影的人脸检测和跟踪算法[J].贵州工业大学学报:自然科学版,2003,32(3):46-49.

[9] 王 伟,张佑生,方 芳,等.人脸检测与识别技术综述[J].合肥工业大学学报:自然科学版:2006,29(2):158-163.

猜你喜欢
肤色像素点人脸
有特点的人脸
一起学画人脸
基于局部相似性的特征匹配筛选算法
Conversation in a house
人的肤色为什么不同
为什么人有不同的肤色?
基于5×5邻域像素点相关性的划痕修复算法
三国漫——人脸解锁
基于canvas的前端数据加密
基于逐像素点深度卷积网络分割模型的上皮和间质组织分割