基于贝叶斯判决的肤色检测

一、概述

       本文提出一种与亮度关联的基于贝叶斯判决的双查询表方法,并用该方法构造了一种提取YCbCr颜色空间数据的肤色分类方法。该方法先从大量肤色样本和非肤色样本统计出实验数据,然后使用贝叶斯规则建立肤色分类器。考虑到在高亮度区和低亮度区肤色色度分量Cb, Cr与亮度分量Y非线性相关,因此采用Y2Cb和Y2Cr两个子空间的查询表来建立肤色模型。

二、模型建立

1、与亮度有关的双查询表的建立

       以往的研究常常丢弃亮度分量,虽然这样做看起来是合理的,因为与亮度分量相比,皮肤色调与色度分量关系更大,所以许多现有皮肤颜色建模的方法都是建立在Cb2Cr平面上,但是如图1所示,肤色分布情况受亮度影响也很大。

                           

       要考虑这个问题会遇到一些困难,这是因为描述肤色3维分布的数据量很大,而且需要大量的肤色样本,所以应综合考虑亮度对色度影响和减少维数来简化肤色分析的需要,本文通过两个联合颜色平面Y2Cb和Y2Cr来建立肤色模型,这样对于亮度变化较大的肤色区域也能有较好的检测效果。

2、贝叶斯分类器中判定阈值的选择

       由于研究对象的复杂性,因此建立肤色模型时要求助于统计方法。肤色像素和非肤色像素数据可从大量肤色样本和取自皮肤背景的非肤色样本的训练图像数据中获得。为了对Y2Cb和Y2Cr两个子平面的皮肤和非皮肤颜色的交叠区域进行分类,使用贝叶斯规则来建立皮肤颜色分类器:

                    

       其中 P(s|c) 是表示给定某子空间的具体颜色后,判定该子空间颜色 c 为肤色 s 的概率。P(c| s)和P(c| s-)则分别是肤色点总数和非肤色点总数中该颜色 c 所出现的概率;P(s) 和 P(s-) 分别是统计模型中肤色点总数和非肤色点总数各占的比例(s-是s的补事件)。由式(3)可得式(4):

                 

        本文采用式(5)作为肤色判决规则,即先给定某子空间具体颜色 c,然后用训练数据计算其为皮肤的概率和为非皮肤概率的比值。如果子空间的某一位置上,c与s的比值超过规定的阈值T,则将该颜色判为皮肤颜色,否则就判为非皮肤颜色。

              

3、肤色建模

        由式(4)计算得出的贝叶斯概率比值分布范围是[0, +∞)。本文采用了 3σ 高斯归一化和线性化方法,将两个分布图中的概率比值归一化至[0, 1]。归一化处理后,阈值的范围就缩小到[0, 1]区间,因此可以方便地分析阈值变化对模型性能的影响。

       值得注意的是,一个阈值对两个归一化的分布图有着相同的分类效果,即用一个阈值可以对两个面进行合理的分割。这是因为给定一个阈值后,如果它在Y2Cb平面上分类为肤色的区域中,每个位置的颜色(Y, Cb)为肤色的概率均不小于TP,那么它在Y2Cr平面上分类为肤色的区域中,每个位置的颜色(Y, Cr)为肤色的概率也都不小于TP。此处TP为概率比值归一化后使用的阈值,其范围为[0, 1]。

       实际上,在2维平面图中,非皮肤像素的颜色分布范围与皮肤像素的颜色分布相比,前者远比后者大,并且包含后者,从后面的图2中也可以看出这个情况,这是可以使用式(4)的原因。由于比值为零的区域表示对应颜色范围不存在皮肤像素数据,因此,阈值调整只对比值不为零的部分处理,其他区域将直接被视为非皮肤区域。

       采用3σ高斯归一化方法处理P(s| c)和P(s-|c)的比值为:

                

       其中, Ri, i =1, 2, …, N为2维平面图中每一个P(s|c) /P( s- | c) 不为零的比值,  N为2维平面图中非零比值Ri 的总数。

       经过 3σ 高斯归一化后,超过 99% 的非零比值被调整到[ - 1, 1]。为了把这些处理过的数据调整至最终范围[0, 1],可采用如下线性变换进行归一化,归一化后第i个数据为

               

        原始的比值数据经过式(6)和式(7)转换后,只有不到1%的归一化比值不在[0, 1]范围内。归一化后的比值反映的是查询表上某位置对应的颜色被判定为皮肤颜色的可能性。

        这样,对于一定的检测要求,就可以从 ROC(receiveroperatingcharacteristic) 曲线中获得合适的归一化阈值,并可由此生成两个对应的二值皮肤区域分布图,同时建立两个查询表,然后即可建立作为对皮肤区域进行检测使用的肤色模型。

 

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值