人脸--基于肤色模型的人脸检测研究

来源:互联网 发布:itools mac 卸载不了 编辑:程序博客网 时间:2024/04/27 13:13

0 引言
    在人脸检测领域,人脸特征的选取是基础与核心。目前主要的人脸检测方法可以分为基于特征的方法和基于统计的方法两大类。基于特征的方法可以处理较大尺度和视角变化的人脸检测问题,但其最大的困难在于很难找到相对稳定的特征,因为图像的显示特征容易受到光照、噪声等的影响;基于统计的方法可以避免特征提取和分析过程,但存在计算量大,以及非人脸样本收集和样本训练难的问题。
    为此,本文对基于肤色分割结合模板匹配的人脸检测方法进行了改进,提出基于“光照预处理+肤色模型+模板匹配”的人脸检测解决思路,即在光照预处理的前提下,利用肤色特征建立肤色模型;根据肤色模型进行肤色检测和阈值分割;在对分割区域特征分析的基础上,将筛选出的人脸候选区域与人脸模板相匹配;最后将匹配较好的区域在原图像中用矩形框标示出来。

1 肤色模型
   
人脸的肤色不依赖于面部的其他特征,对于人脸姿态和表情的变化不敏感,具有较好的稳定性,而且明显区别于大多数背景物体的颜色。大量实验证明,不同肤色的人脸对应的色调是比较一致的,其区别主要在于灰度。人脸的肤色特征主要通过肤色模型来描述。肤色模型是在一定色彩空间描述肤色分布规律的数学模型。本文选用备受青睐的高斯模型。
1.1 色彩空间
   
一般说来,色调和饱和度相对亮度来说,是相互独立的。在不同的光照条件下,虽然物体颜色的亮度会产生很大的差异,但是它的色度在很大范围内具有恒常性,基本保持不变。研究表明,人类的肤色在YCbCr色彩空间的分布相对比较集中(被称为肤色的聚类特性),不同种族之间肤色的差异主要是由亮度引起,而与颜色属性无关。利用此特性,将图像像素分为肤色和非肤色像素两类,这样可以大大提高人脸检测的效率和正确性。
    在YCbCr色彩空间中,Y表示亮度,Cb和Cr是颜色差别信号,代表色度。因此,本文的肤色模型只选用YCbCr色彩空间的Cb和Cr色度分量,并用这两个分量建立色度分布图。实验中,需要先将普遍采用RGB色彩空间描述的图像转换到YCbCr色彩空间。
1.2 建立肤色样本
   
建立肤色模型需要使用大量包含不同肤色、不同大小人脸的RGB图像。本文从互联网、人脸库和日常的生活照中选用了100幅肤色各不相同的人脸图像,然后从中裁剪出人脸皮肤区域的一小部分,作为肤色样本。接着将其从RGB色彩空间转换为YCrCb色彩空间。
    经过色彩空间转换之后,人脸图像不可避免地会出现噪声。本文采用滑动窗口为3×3的二维中值滤波器来去除椒盐噪声,并在速度和效果上都取得了很好的结果。
1.3 建立肤色模型
   
滤除噪声后,先用二维高斯分布来描述这种Cb-Cr的色度分布,然后对肤色样本进行训练,以此得到一个分布中心,再根据所观察的像素离该中心的远近来得到一个肤色的相似度。最后利用均值和方差计算得到高斯分布模型,这就是实验中的肤色模型。二维高斯分布的表达式为:
   

2 人脸检测
2.1 光照预处理

    由于受外界光照环境的影响,尤其是光源颜色,采集来的彩色图像经常会发生彩色偏移。本文使用Gray World彩色均衡方法来消除这种彩色偏移。该方法首先通过图像的R,G,B三个分量中各自的平均值avgR,avgG,avgB确定出图像的平均灰度值avgGray,然后调整每个像素的R,G,B值,使得调整后图像的R,G,B三个分量中各自的平均值都趋于平均灰度值avgGray。实验结果表明,消除彩色偏移能有效提高算
法的检测率和准确率。
2.2 类肤色检测
   
本文算法最为关键的一步便是人体皮肤区域的粗检测。检测方法是计算图像像素与肤色模型的相似度,这个值描述了像素与肤色的相似程度。相似度计算公式为:


    
    通过计算图像中每个像素与肤色模型的相似度,生成一幅类肤色灰度图像,如图1所示。