首页 文学文摘 时政新闻 科技科普 经济法律 健康生活 管理财经 教育教学 文化艺术 社科历史

基于YCbCr高斯肤色模型的人脸检测技术研究

作者:王航宇 来源:现代电子技术


  摘 要:人脸的检测是人脸信息处理领域中的一项关键技术,其自动人脸识别系统、基于内容的检索、视觉监测、新一代人机交互技术等领域具有广阔的应用前景。而高斯模型是模型识别研究中经常用到的一个模型。建立一种基于YCbCr高斯肤色模型,并对其进行验证和分析,随后对二值化图像进行基于数学形态学和连通区域分析和处理,尽可能地去掉大部分非人脸区域,对于人脸识别的研究有一定的价值和意义。
  关键词:人脸检测;肤色模型;高斯模型;相似度分割;阈值
  中图分类号:TN9198文献标识码:A
  文章编号:1004-373X(2008)22-102-04
  
  Research on the Face Detection Based on YcbCr Skin Gaussian Model
  WANG Hangyu
  (Xi′an Aeronautical Polytechnic Institute,Xi′an,710089,China)
  Abstract:The face detection and tracking is key technology in the field of face information processing,it′s widely applied in the fields of automated face recognition system,based on content index,video monitoring and human-machine alternative technology.But Gaussian model is often used in the pattern recognition research.A skin Gaussian model based on the color space of YCbCr is proposed,at the same time,it is validated and analyzed.After analyzing the connected component and using the filter based on mathematical morphology,the candidate facial regions can be obtained,most non-face regions can be wiped off,it has some research and application value in face recognition.
  Keywords:face detection;skin model;Gaussian model;similar degree dividing;threshold value
  
  1 引 言
  
  视觉是人类从大自然中获取信息的最主要的手段。据统计,在人类获取的信息中,视觉信息约占60%,听觉信息约占20%,其他的如味觉信息、触觉信息等加起来约占20%。由此可见视觉信息对人类的重要性,而对图像的处理正是人类获取视觉信息的主要途径。人脸检测(face detection)正是针对视觉信息的数字图像处理领域的一个重要课题,也是计算机视觉和人机交互领域中的研究热点。在彩色数字图像中,基于肤色信息的人脸检测方法无论是作为一种初检测的手段为后续方法提供更准确的查找范围,还是作为一种直接使用的核心方法进
  行精确的人脸检测定位,都有重要的研究和应用价值。
  
  2 肤色建模
  
  用数学表达式明确规定肤色范围是一种简单的肤色建模方法。例如Chair采用YCbCr颜色空间的CbCr平面;如果输入像素的颜色落入Cr=[133,173]和Cb=[77,127]限定的矩形区域,就为是属于肤色像素,有人注意到在不同的亮度分量Y上的矩形区域(Cr,Cb)不同,因此在Y分量上分段定义肤色矩形区域。张洪明等在YUV空间中根据Y范围和UV平面中的色度范围进行肤色检测。这种简单明确的判断运行起来快速高效,特别是在实时系统中更具有吸引力。
  规定肤色范围虽然快捷,但要取得好的效果需要解决2个问题:
  (1) 如何选择合适的颜色空间;
  (2) 怎么样确定规则中的参数。选择颜色空间不仅要考虑肤色样本在颜色空间中的聚集程度,还要注意在该空间的色域。因为有些颜色空间的色域没有规则边界。
  2.1 高斯分布模型
  高斯密度函数估计是一种参数化建模。可以用单峰高斯模型SGM或混合高斯模型GMM。
  (1) 单峰高斯模型
  这种方法是假设肤色分布服从单峰高斯分布。它主要通过统计分析,预测高斯分布的参数,其中参数确定常用的方法有EM算法,Maximum-Likelihood 或通过统计直接求得色彩空间中每个分量(一般利用的是该色彩空间中的色度分量)的均值与方差。采用这种方法也分为2步:首先选择方法确定模型的参数(即均值和方差);其次利用该模型来判别新的像素或区域是否为肤色。
  (2) 混合高斯模型
  由于具有不同种族的肤色直方图并不完全满足单峰高斯分布,通过研究可以采用多峰的高斯分布来精确表示。因此,提出了混合高斯模型,如式(1)所示:
  p(x)=∑mi=1P(wi)p(x|wi)(1)
  其中,p(x)为肤色像素在色彩空间中的混合概率密度;p(x|wi)为分量的概率密度;P(wi)为分量的先验概率;i=1,2,…,m为混合密度的分量个数。该模型表明肤色的每个像素密度都属于概率密度的混合体。
  2.2 肤色模型的选择与建立
  在色彩空间中不同色调的物体聚类在各自不同的色带中,由此可以利用彩色信息在图像中快速地检测出相应的目标。在用于人脸检测的图像中,脸部所在的肤色区域通常总是与图像的其他部分在颜色上存在差异,能从色度信息上很好区分开进而从图像中分割出来。
  YCbCr格式是从YUV色彩模型衍生出来的,选择YCbCr彩色空间,其中的Y分量是表示像素的亮度,Cr和Cb称为色度,Cr分量表示红色分量,Cb表示蓝色分量,具有HSV的特性,能将亮度和色度分离,肤色在该色彩空间中聚集在一个很小的范围内。并且YCbCr空间既能充分表达人脸肤色,又能在很大程度上消除了亮度影响,降低了色彩空间的维数,减少了计算复杂度。将图像转换到YCbCr空间具有以下优点:
  (1) YCbCr色彩格式具有与人类视觉感知过程相类似的构成原理;
  (2) YCbCr色彩格式被广泛地应用在电视显示等领域中,也是许多视频压缩编码,如MPEG,JPEG等标准中普遍采用的颜色表示格式;
  (3) 在YCbCr空间中,Y分量给出所有的亮度信息,Cb和Cr分量不受亮度影响,有效地将亮度分量分离出来;
  (4) 相比HSV等其他一些色彩格式,YCbCr色彩格式的计算过程和空间坐标表示形式比较简单,色彩分量Y,Cb,Cr可由3基色R,G,B经过线性变换得到,计算效率比较高,同时避免了非线性空间的奇异性;
  (5) 在YCbCr色彩空间中肤色的聚类特性比较好。
  YCbCr色彩空间的这些特点在人脸检测的肤色分割中具有较高的使用价值。在本文中,选用YCbCr色彩空间作为肤色分布统计的映射空间,根据人脸肤色在该空间的统计分布特性提出一种基于相似度的人脸检测方法。
  
  肤色样本选择合适与否将直接决定着人脸检测的工作效果。为了准确统计出人脸区域的肤色聚类特征,选取了各种彩色人脸图片作为人脸肤色样本的采集源,其中包括了不同光照、性别、年龄和人种(主要以黄种、白种和印第安人为主,如图1所示)以使统计的肤色分布更具代表性。
  图1 采集的不同人种肤色在CbCr空间的分布
  图1表明:不同亮度的人脸肤色在YCbCr色彩空间中,在忽略亮度分量影响情况下,其色度分量Cb和Cr的分布趋于一致,而且集中在1个较小的区域里,本文将采样得到的肤色样本中的每个肤色像素点的R,G,B值转换到YCbCr色彩空间,得到每个肤色像素点的色度值(Cb,Cr)。并在CbCr空间中对肤色像素进行统计分析。其肤色像素在CbCr区域分布如图2所示。
  图2 肤色像素在CbCr区域的分布
  从图2中可以得出结论:肤色像素在CbCr空间上具有较好的聚类性,并且符合二维高斯分布,采用YCbCr色彩空间可以不用考虑不同的肤色对肤色模型CbCr中的聚合。
  由于通过采样得到的是离散的点,如果直接通过像素Cb,Cr的值来判断是否是肤色像素是不现实的,故需要通过数学的方法建立一个模型得到1个函数,输入为1个像素的Cb,Cr值,输出为该像素是肤色像素的概率或者直接设置阈值输出判断。下面确定二维高斯模型G(m,C)中的未知参数,具体计算公式如下:
  m=(Cr,Cb)T(2)
  Cr=1N∑Ni=1Cri(3)
  Cb=1N∑Ni=1Cbi(4)
  C=E[(x-m)(x-m)T]=σ2CrσCb,Cr
  σCr,Cbσ2Cb〗(5)
  x是每个像素点的色度向量;第一个分量是Cr;第二个分量是Cb;m和C分别是统计出来的均值和方差。经过实验统计,均值和方差分别为:
  m=(156.559 9,117.436 1)T(6)
  C=299.457 412.1430
  12.143 0160.130 1〗(7)
  经上述参数拟合的肤色分布高斯模型如图3所示。
  图3 肤色分布的高斯模型
  
  3 肤色相似度分割
  
  根据已建立的肤色模型,计算人脸图像中所有像素点颜色与肤色的可能性大小,即相似度大小,其取值范围为[0,1],相似度计算公式如式(8)所示:
  P(Cr,Cb)=exp[-0.5(x-m)TC-1(x-m)](8)
  其中:x=[Cr,Cb]T为像素点在CbCr空间中的向量。
  计算完毕后,对所求得的每个P(Cr,Cb)值进行归一化处理,即将每个P(Cr,Cb)值除以该图像中最大的P(Cr,Cb)值,这样就使得各像素的相似度的值在[0,1]之间,并且使肤色区域亮度更加突出。该值越大,表示属于肤色的可能性也越大,反之越小。
  
  4 阈值的选取及其二值化
  
  在完成肤色相似度分割之后,接下来进行二值化。二值化阈值的选取非常关键,前面的叙述已经提到,目前国内外学者针对这一课题进行了广泛深入的研究和大量试验,提出了各种各样的阈值处理技术,包括全局阈值、自适应阈值、最佳阈值等。本文主要通过自适应阈值法,将相似度图像进一步转化为二值图,其中0,1分别表示非肤色区域和肤色区域。
  由于真正的肤色像素相比于非肤色像素往往拥有更高的亮度,所以可以设定一个阈值,当该点像素的相似度高于这个阈值则认为该点为肤色像素并置1,反之若低于该阈值则置0。但由于不同的图片中人的肤色是不相同的,而且不同人种的肤色有一定的差异,如果阈值取得太大,许多皮肤区域将无法检出,造成漏检;若阈值取得太小,肤色的数量就会增加,并有部分非肤色像素加入,起不到排除非肤色点的作用。故在设定阈值时需要对每一张不同的图片计算出自适应阈值,该阈值应该能够最优地区分出肤色与非肤色像素。
  从直觉上来说,随着阈值的下降将会导致分割区域的增加,然而试验结果表明当阈值处于某个范围中,随着阈值的降低,分割区域并不会明显增加(这是因为这个阶段的肤色像素已经被完全检测出来,而非肤色像素还没有被认为是肤色像素)。如果继续降低阈值到达某一个特定值后,随着非肤色区域被错认为肤色区域,则会出现分割区域面积大幅度增加的情形。故最优阈值应该是在随着阈值增长,类肤色区域面积增长最小的范围之内。在本文中采用的方法是让阈值从0.65开始减少,每次减少0.1,直到0.05为止,并记录下每次阈值变化时属于肤色像素数量的变化,然后找出属于肤色像素数量变化最小时的那个阈值作为最优化阈值,如得到在从0.45减少到0.35区间时肤色像素数量增加最少,则优化后的阈值为0.40。阈值分割比较结果如图4所示。
  图4 阈值分割比较
  从图4(c)得到的二值图中可以看出,由于阈值选取较低,导致除了肤色外,还有大量的其他非肤色区域也被检测出来,误检率比较高;而在图4(d)中,由于阈值选取时比最优阈值高,致使面部部分肤色没有被完全检测出来,导致漏检率增大。但经过自适应阈值分割后的二值(见图4(e)),能很好的将肤色和背景分离,准确率得到提高。
  
  5 肤色区域的验证
  
  在对肤色区域进行一系列处理后,得到了一系列的候选区域。由于在背景中可能存在很多和人脸肤色相近或相同的区域被误判为人脸区域,因此需进一步根据一些先验知识对这些侯选区域进行判别优化,剔除那些明显不是人脸的区域。
  通过大量实验发现,对肤色区域的形状、密集度等几何特征加以考虑,可以得到较为满意的效果。
  具体的判别规则如下:
  (1) 噪声规则:若目标区域的宽度(Facerect_W)小于20,高度(Facerect_H)小于30,则删除该区域(一般来说,人脸在图像中应占有一定比例)。
  (2) 形状规则:若目标区域的外接矩形高宽之比ratio不在规定的阈值范围(0.8~2.5)内时,则删除该区域。
  一般来说,人脸的高宽比大约为1,考虑到人姿态各异,为了防止漏选,规定这个比例的下限为0.8,ratio<0.8的所有待检区域将被滤除。另一方面,人脸高宽比也应当规定一个上限。这是因为在实际中存在一些情况,待检区域中含有人脸,但是图像的高宽比高出了人脸正常高宽比的范围。如人由于颈部及其以下皮肤区域有所暴露,在这种情况下通过肤色分割得到的待检区域高宽比就超出了正常的范围。因此必须考虑这种特殊情况,给出一个更宽的高宽比上限2.5。通过形状规则的使用,就可以排除一些不规则但和皮肤颜色接近的物体,同时也可以排除一些人体的其他非人脸区域,如弯曲的四肢等。
  (3) 占有率规则:若目标区域的密集度C小于45%,则删除该区域(人脸区域一般近似为椭圆)。
  人脸验证的算法框图如图5所示,通过上述判别准则,非人脸区域得到了过滤,对干扰区域实现了较为满意的排除,能排除大部分非人脸的候选区域,进一步提高了检测的正确率。
  如对图4进行区域验证后可得到结果如图6所示。由图6可以看出,在通过人脸几何特征验证过后,一些肤色区域但非人脸区域如人的手臂等得到了较好的排除,减小了一些噪声对检测结果的影响。即通过上述判别准则,非人脸区域得到了一定的过滤,对干扰区域实现了较为满意的排除。
  图5 人脸验证框图
  图6 人脸几何特征验证图
  
  6 结 语
  
  利用YCbCr 色彩空间建立肤色模型更接近人对彩色的认识和理解,进行肤色判断也更为方便和有效,还可以有效地将亮度和色度进行分离,也非常适合于将肤色区域从图像背景中分割出来。
  
  参考文献
  [1]何斌.Visual C++数字图像处理[M].北京:人民邮电出版社,2007.
  [2]俞海珍.基于差分图像的人脸检测与跟踪研究[D].杭州:浙江工业大学,2003.
  [3]Elettheriadis A.Automatic Face Location Detection and Tracking for Model-assisted Coding of Video Teleconferencing Sequences at Low bit-Rates [J].Signal Processing: Image Communication,2005,7(3):231-248.
  [4]张洪明,赵德斌,高文.基于肤色模型、神经网络和人脸结构模型的平面旋转人脸检测[J].计算机学报,2002,25(11): 1 250-1 256.
  [5]李传林,鲁秀青.人脸照片的特征提取与查询[J].计算机应用研究,2002(7):110-111.
  [6]Xiaobo Li,Nichols Roeder.Face Contour Extraction from Front-View Images[J].Pattern Recognition,2006,28(8):1 167-1 179.
  [7]汤彦萌,吴乐南.复杂背景下彩色人脸的快速预处理算法[J].现代电子技术,2007,31(24):115-117.
  [8]董梁,王忠民.图像边缘检测算法研究.[J].现代电子技术,2007,30(15):179-180.
  
  作者简介
  王航宇 男,1981年出生,陕西临潼人,助理讲师,工学硕士。研究方向为计算机信息技术与智能控制。
  注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文