一种皮肤检测方法

文档序号:6563377阅读:233来源:国知局
专利名称:一种皮肤检测方法
技术领域
本发明涉及计算机图像处理技术领域,特别是指一种综合颜色、纹理和空间信息的皮肤检测方法。
背景技术
随着互连网发展和普及,人们可以在网络上获得各种信息,怎样防止青少年接触到色情内容是一个严肃的社会问题。由此产生一些网络过滤技术,色情图像的过滤是其中重要的一种。
基于图像内容的过滤技术通常有两种方法,第一种方法的代表是Forsyth等人的裸体检测系统,它首先检测出人体的皮肤区域,在此基础上识别出人的肢体部分,然后根据一定的规则将肢体进行组建,进而识别出裸体图像。第二种方法的代表是James Ze Wang等人的WIPE系统,它先利用皮肤和纹理过滤器将图像过滤,然后提取出形状和边缘等特征向量进行图像分类识别。
在许多涉及皮肤检测的计算机视觉系统中,颜色是一个重要的特征,这些系统通常包含一个颜色过滤器,这个过滤器依靠颜色识别出皮肤区域。专利申请号为200410042877.3,发明名称为一种色情图像检测方法的专利申请,以及专利申请号为200510048577.0,发明名称为基于内容的网络色情图像和不良图像检测系统的专利申请,都使用了皮肤检测方法。在许多敏感图像检测方法中,皮肤检测是重要的先行步骤,它的准确性直接影响到后续处理的精度,研究如何提高皮肤检测精度具有重要的意义。
皮肤检测方法有很多,比较典型的有直方图统计方法、高斯混合模型方法和基于SOM的方法,根据Vladimir Vezhnevets等人的实验比较发现,由M.J.Jones和J.M.Rehg提出的基于皮肤像素颜色的直方图统计方法(SPM,Skin Probability Map)具有最好的性能。虽然不同的人种,不同环境,不同的光照,使得皮肤颜色有很大的多样性和变化性,根据M.J.Jones和J.M.Rehg的研究,给出大量的预先标记好皮肤和非皮肤区域的图像数据集,依然可以估计出皮肤和非皮肤颜色在颜色空间中的概率。由此可以计算出像素颜色属于皮肤的似然比,将似然比大于预先设定好的阈值的像素点归入皮肤区域。这便是皮肤检测的SPM方法,该方法具有性能好,速度快的特点。它是许多皮肤检测系统采用的方法。然而SPM方法的错检率在许多实际应用中是无法令人满意的,尤其是当自然图像中包含有许多在颜色上接近人类皮肤的内容(比如沙漠,火焰,花朵以及黄色的皮毛等)以及存在过度曝光和曝光不足情况时,SPM方法会错误地把这些颜色接近人类皮肤的像素识别成皮肤区域,出现错检率高的情况。这是因为SPM方法仅仅利用了像素级上的颜色信息。
分水岭分割算法(watershed)是一种借鉴了形态学理论的分割方法,在该方法中,将一幅图象看成为一个拓扑地形图,其中灰度值被认为是地形高度值,高灰度值对应着山峰,低灰度值处对应着山谷。将水从任一处流下,它会朝地势底的地方流动,直到某一局部低洼处才停下来,这个低洼处被称为聚水盆地(catchment basin),最终所有的水会分聚在不同的聚水盆地,聚水盆地之间的山脊被称为分水岭(watershed)。将这种想法应用于图像分割,就是要在灰度图像中找出不同的聚水盆地和分水岭,由这些不同的聚水盆地和分水岭组成的区域即为我们要分割的目标。在分水岭分割算法实现中,我们可以认为水从各个聚水盆地由底往高上涨,随着水位的升高,各个聚水盆地的水平面区域不断扩展直到水位上升到分水岭的位置。它可以充分利用各种先验知识来设置局部最小。将没有通过颜色过滤器和没有通过纹理过滤器且具有较高纹理值的像素作为非皮肤区域极小标记,将通过颜色和纹理过滤器的像素点作为皮肤区域的局部极小标记,分割后得到许多封闭的区域,然后检查每个封闭的区域纹理值的平均值和标准方差,由此得出最后的皮肤区域。
它有4个主要的特点(1)分割结果是一些标记好的封闭的区域,这样就避免了其它分割算法分割后额外需要的产生封闭区域的操作;(2)分水岭总是对应于图像象中真实的边界;(3)详尽分割;(4)可以方便地利用各种先验知识来设置局部极小点标记(regionalminima)。
纹理是图像的重要视觉信息,人眼可以轻松地捕获到纹理特征,然而,到目前为止还缺乏一种可以描述各种纹理的数学定义。Gabor滤波器可被看作是方向和尺度可调的边和线的检测器,这种微观统计属性使得它可以较好地刻画图像的纹理特征。Gabor函数是一个被复正弦函数调制的高斯函数,它是能够取得空域和频域联合测不准原理下限的唯一函数。此外,Gabor函数具有很好的方向选择性。以Gabor函数作为母函数,通过伸缩和旋转可获得Gabor小波。Gabor小波变换在分析数字图像中局部区域的频率和方向信息具有优异的性能,基于Gabor小波的纹理特征受方向和光照影响小,是一种有力的纹理特征提取工具,在计算机视觉和纹理分割中得到了广泛的应用。根据B.S.Manjunath等人的实验结果,利用纹理检索图象,Gabor小波变换比金字塔结构的小波变换(PWT),树结构的小波变换(TWT)及多分辨率联立自回归模型(MRSAR)的效果要好。通常用Gabor小波变换系数的模的平均值和其标准方差来表示图像目标的纹理特征。我们在Gabor小波变换中,取三个尺度和四个方向,在每个像素点可以得到12个刻画纹理的变换系数,把各个变换系数的平方和的平方根作为该像素点的纹理特征值。我们把纹理特征值构成的图像称为纹理图,实验表明,纹理图可以非常好地表示图像的纹理特征。纹理是一种反映了图像中的一定区域的空间分布属性,从某个孤立的像素点来谈纹理是没有意义的。但是在我们的纹理特征计算方法中,每一像素点的特征值已经包含了它周围的空间结构信息,因此,纹理图的最大特点在于我们可以得到每个像素点的纹理特征值。

发明内容
本发明提供了一种皮肤检测方法,除颜色信息外,还引入了纹理和空间信息,克服了现有基于颜色直方图统计方法的缺点,提高皮肤检测的精度。
一种皮肤检测方法,依次包括以下步骤a)利用基于颜色直方图统计的方法,在图像中标记出皮肤和非皮肤像素,统计出皮肤和非皮肤颜色在颜色空间中的概率,计算出像素颜色属于皮肤的似然比,将颜色属于皮肤的似然比大于预先设定好的阈值的像素点归入皮肤区域;
b)提取在步骤a)中被归入皮肤区域的像素点的纹理特征值,利用纹理屏蔽位图将颜色接近皮肤但纹理特征值大于预先设定好的阈值的区域过滤掉;c)利用标记控制的分水岭分割算法扩展皮肤区域以提高正检率,对纹理图进行分割,将未通过颜色过滤的像素点和未通过纹理过滤且具有较高纹理特征值的像素点作为非皮肤区域极小标记,将通过颜色和纹理过滤的像素点作为皮肤区域的局部极小标记,分割得到若干封闭的区域,检查每个封闭区域的纹理平均值和标准方差,根据一致性原则从各封闭区域筛选出最终的皮肤区域。
步骤b)中采用Gabor小波提取像素点对应的纹理特征值。
步骤b)中像素点的纹理特征值通过该像素点的Gabor变换各特征量的平方和的平方根来表征。
本发明在基于皮肤像素颜色的直方图统计方法的基础上,还引入了纹理和空间信息,利用纹理将颜色接近人类皮肤而纹理明显的区域过滤掉,从而降低错检率;同时利用标记控制的分水岭分割算法来提高正检率,克服了现有基于颜色直方图统计方法的缺点,提高皮肤检测的精度。


图1为本发明皮肤检测的流程图。
具体实施例方式
如图1所示,一种皮肤检测方法,包括以下步骤一、利用基于颜色直方图统计的方法(SPM)检测皮肤区域从互连网收集了600幅包括各种人种的图像,用手工标记出皮肤和非皮肤像素,然后在RGB空间中统计出颜色rgb属于皮肤和非皮肤的概率如下式所示P(rgb|skin)=s[rgb]Ts]]>P(rgb|⫬skin)=n[rgb]Tn]]>其中,s[rgb]是皮肤颜色的直方图中rgb仓中的像素个数,n[rgb]是非皮肤颜色的直方图中rgb仓中的像素个数。Ts和Tn分别是皮肤和非皮肤直方图中的总像素个数。一般情况下,颜色rgb属于皮肤和非皮肤的概率如下式所示P(skin|rgb)=p(rgb|skin)p(skin)p(rgb)]]>P(⫬skin|rgb)=p(rgb|⫬skin)p(⫬skin)p(rgb)]]>颜色rgb属于皮肤的似然比L(rgb)为L(rgb)=P(rgb|skin)P(rgb|⫬skin)]]>当似然比L(rgb)满足L(rgb)≥θ时,具有颜色rgb的像素点被归类到皮肤区域,其中θ为阈值。
其中θ为阈值,当θ值取得小时,正检率和错检率都高;当θ值取得大时,错检率降低的同时正检率也会降低。由于我们并不单纯依赖SPM方法检测皮肤,因此一般把θ值取的比较小(θ≤0.3)使的绝大部分的皮肤像素都能通过这个阶段的检测。
二、利用纹理过滤降低错检率Gabor滤波器可被看作是方向和尺度可调的边和线的检测器,这种微观统计属性使得它可以较好地刻画图像的纹理特征。基于Gabor小波的纹理特征受方向和光照影响小,是一种有力的纹理特征提取工具。Gabor函数是一个被复正弦函数调制的高斯函数。两维的Gabor函数如下式所示。
g(x,y)=12πσxσyexp(-12(x2σx2+y2σy2)+2πjwx)]]>以g(x,y)为母函数,通过伸缩和旋转可获得Gabor小波如下式所示。
gmn(x,y)=a-mg(x′,y′),a>1,m,n=integerx′=a-m(xcosθ+ysinθ),y′=a-m(-xsinθ+ycosθ),θ=nπ/k,k=integer
其中k是方向的总数,m为尺度因子。图像I(x,y)的Gabor小波变换为Wmn(x,y)=∫I(x1,y1)gmn*(x-x1,y-y1)dx1dy1]]>其中g*为g的复共轭。我们取三个尺度(m=0,1,2)和四个方向(n=0,1,2,3),在每个像素点可以得到12个刻画纹理的特征量,把每个像素点各个特征量的平方和的平方根作为该像素点的纹理特征值,得到最后的纹理图如下式所示。
T(x,y)=(Σm=02Σn=03Wmn2(x,y))1/2]]>首先用公式I(x,y)=0.3R(x,y)+0.59G(x,y)+0.11B(x,y)把彩色图像转换为灰度图像,然后计算出纹理图,按下式将纹理图二值化得到纹理屏蔽位图。
M(x,y)=1,T(x,y)≤θT0,T(x,y)>θT]]>其中θT为纹理阈值。由于人的皮肤是比较光滑的,其纹理特征值也相对较小,因此利用纹理屏蔽位图可以将颜色接近人类皮肤而纹理明显的区域过滤掉,从而降低错检率。
三、利用标记控制的分水岭分割算法提高正检率。
经过颜色和纹理过滤后,可以将已有的皮肤区域作为聚水盆地的最低点,利用分水岭算法来扩展皮肤区域。它就是标记控制的分水岭分割算法。可以利用在颜色过滤和纹理过滤阶段的知识来设置标记,具体操作如下(1)未通过颜色过滤器的像素作为非皮肤区域极小标记(2)未通过纹理过滤器的且具有较高纹理值的像素作为非皮肤区域极小标记(3)通过颜色和纹理过滤器的像素作为皮肤区域极小标记分割是在纹理图上进行的,分割完成以后,我们计算出每一个皮肤扩展区域的纹理平均值μi和标准方差σi。一致性原则用下式表示0.9μ<μi<1.1μ0.9σ<σi<1.1σ满足一致性原则的区域判断为皮肤区域。其中μ和σ是在作颜色直方图统计的同时在人工标记为皮肤像素的区域上计算出来的。
需要提出的是,分割也可以在灰度图或三个颜色通道上进行,判断皮肤区域的一致性原则也可以采用灰度或颜色的均值与方差,这些变化都在本发明的专利要求范围内。
从互联网上收集了300幅各种类型的图像用于测试,这300幅图像中,100幅包含有人;100幅包含有在颜色上接近人的皮肤颜色的内容;另外100幅是任意的图像,保证了测试图像具有很好的多样性和代表性。实验结果表明,和SPM方法比较,本发明的方法可以将正检率由92.7%提高到95.2%,错检率由20.1%下降至4.3%。
权利要求
1.一种皮肤检测方法,其特征在于依次包括以下步骤a)利用基于颜色直方图统计的方法,在图像中标记出皮肤和非皮肤像素,统计出皮肤和非皮肤颜色在颜色空间中的概率,计算出像素颜色属于皮肤的似然比,将颜色属于皮肤的似然比大于预先设定好的阈值的像素点归入皮肤区域;b)提取在步骤a)中被归入皮肤区域的像素点的纹理特征值,利用纹理屏蔽位图将颜色接近皮肤但纹理特征值大于预先设定好的阈值的区域过滤掉;c)利用标记控制的分水岭分割算法扩展皮肤区域以提高正检率,对纹理图进行分割,将未通过颜色过滤的像素点和未通过纹理过滤且具有较高纹理特征值的像素点作为非皮肤区域极小标记,将通过颜色和纹理过滤的像素点作为皮肤区域的局部极小标记,分割得到若干封闭的区域,检查每个封闭区域的纹理平均值和标准方差,根据一致性原则从各封闭区域筛选出最终的皮肤区域。
2.如权利要求1所述的皮肤检测方法,其特征还在于步骤b)中采用Gabor小波提取像素点对应的纹理特征值。
3.如权利要求1所述的皮肤检测方法,其特征还在于步骤b)中像素点的纹理特征值通过该像素点的Gabor小波变换各特征量的平方和的平方根来表征。
全文摘要
本发明公开了一种皮肤检测方法,在基于皮肤像素颜色的直方图统计方法的基础上,引入了纹理和空间信息,利用纹理将颜色接近人类皮肤而纹理明显的区域过滤掉,从而降低错检率;同时利用标记控制的分水岭分割算法来提高正检率,克服了现有基于颜色直方图统计方法的缺点,提高皮肤检测的精度。
文档编号G06K9/00GK1975762SQ20061015513
公开日2007年6月6日 申请日期2006年12月11日 优先权日2006年12月11日
发明者姚敏, 江志伟, 吴朝晖 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1