网络出版时间:2012-06-15 17:25
网络出版地址:http://www.cnki.net/kcms/detail/11.2127.TP.20120615.1725.011.html
Computer Engineering and Applications 计算机工程与应用
基于分裂式 K 均值聚类的肤色检测方法
赵杰 1,桑庆兵 1,刘毅锟 2
ZHAO Jie1, SANG Qingbing1,LIU Yikun2
1.江南大学 物联网工程学院,江苏 无锡 214122;
2.西安测绘总站,陕西 西安 710054
1. School of IoT Engineering, Jiangnan University,Wuxi Jiangsu 214122,China;
2. Xi’an Information Technique Institute of Surveying and Mapping, Xi’an Shanxi 710054,China
ZHAO Jie,SANG Qingbing, LIU Yikun. Skin color detection by fissive K-mean clustering method.
Computer Engineering and Applications
Abstract: The complex image background and the varying lighting conditions lead to the low
detection rate , this article presents a novel color detection method to solve this problem. The
Gray world color balance is carried out to compensating the light before detecting the skin area.
After that choose to create the high detection efficiency ellipse model for skin color detection,
then this paper detects skin color area on the K-means clustering using Split (FKM) for the second
sentence to make the detection more accurate. The experiments results show that this detection
algorithm can detect skin area accurately and efficiently, it has higher accuracy and robustness.
Keywords: skin color detection; color balance; ellipse model; fissive K-Means (FKM); robustness
摘要:针对复杂图像背景及光照导致的肤色检测率不高的问题,提出一种基于分裂式 K 均值聚类的椭圆模
型肤色检测方法。该方法首先对图像进行光线补偿处理,采用 Gray World 方法对图像进行颜色均衡,然后
选择建立检测效率较高的椭圆肤色模型进行肤色检测,并在检测出的肤色区域上采用分裂式 K 均值聚类
(FKM)进行二次的肤色判决,进一步准确检测出肤色区域。实验表明,所提出的检测算法能准确高效的检测
出肤色区域,具有较高的准确率和较强的鲁棒性。
关键词:肤色检测;颜色均衡;椭圆肤色模型;分裂式 K 均值聚类(FKM);鲁棒性
文献标识码:A 中图分类号:TP391.41
1 引言
归纳起来可分为基于颜色特征、基于纹理特征以
肤色检测是人体图像信息处理的基础,是基
于彩色图像的表情分析、智能监控、人机交互等
研究领域的重要环节。由于肤色信息具有相对稳
定性,不受人体姿态,面部表情等的影响,因此
肤色检测被广泛应用于色情图像过滤、人脸检测
及基于形状和轮廓特征三类。比较具有代表性的
算法如:P. Kakumanu 等人对不同图像的光照情况
进行动态检测计算后再利用肤色的恒常性来进行
肤色像素和背景像素的识别分割[1],这种方法计算
量和存储量很大,影响肤色检测算法的速度,限
和识别等方面。目前,肤色检测引起了很多研究
人员的关注,提出的检测算法有很多。这些方法
制其在实时系统中的应用。张争珍等人提出一种
基于 YCgCr 颜色空间建立高斯肤色模型的肤色检
基金项目:国家自然科学基金(60973094) -Natural Science Foundation of China(60973094)
国家自然科学基金(61103128)- Natural Science Foundation of China(61103128)
作者简介:赵杰( 1988—),女,河南郑州人,硕士研究生,主要研究方向:图像处理、神经网络;桑庆兵
( 1973-),男,安徽明光人,副教授,博士研究生,主要研究方向:神经网络、图像处理、图像质量评价;
刘毅锟( 1982—),男,河南周口人,助理工程师,硕士,主要研究方向:图像处理、三维可视化、摄影遥
感。
测方法[2],通过实验发现其肤色检测率较高,速度
较之前也有提升,但是对于高光阴影肤色区域和
图像复杂背景的误检率较高。总结来看,这些方
法在某种程度上都能够成功的检测出肤色区域,
但由于光照和背景情况复杂很容易影响检测的准
确率,因此在保证肤色检测速率的同时,进一步
提高肤色检测算法的鲁棒性尤为重要。
本文在对比、分析已有算法优缺点的基础上,
(a)原图 (b)颜色均衡图
为解决多变光照及复杂背景带来的误检问题,提
出一种能良好应对光照并区分复杂背景的肤色检
测方法。考虑到光照的多变性,决定先对图像进
行光线补偿处理。经多种方法试验比对,选择简
单高效的 Gray World[3]方法对图像整体进行颜色
均衡。并在 YCbCr 空间进行非线性的色度变换,
建立可有效检测出肤色中高光阴影部分的椭圆肤
色模型进行肤色检测。最后结合初步检测结果采
用一种改进的 K 均值聚类分割方法对图像进行二
次的肤色判决,得到肤色和非肤色的二值化图像。
实验表明,本文提出的方法能够很好的解决光照
和复杂背景带来的误检问题,比传统的肤色检测
方法更具准确性和鲁棒性。
2 Gray world 颜色均衡处理
(c)原图 RGB 直方图 (d)颜色均衡图 RGB 直方图
图 1 Gray world 颜色均衡效果比对图
图 1 中(a)为原图,(b)为颜色均衡处理后的图,
(c)和(d)分别为原图和均衡后图中 R、G、B 分量的
直方图。观察可发现原图明显存在一定程度上的
颜色偏移,而均衡后的图从视觉效果来看接近于
实际颜色。通过对比观察(c)和(d)发现,原图中存
在高光和阴影部分,但是经过均衡化后,颜色分
受光源颜色及外界光照环境的影响,采集来
布整体趋于平衡,在高光阴影部分的像素数量明
的彩色图像经常会发生颜色偏移,为使肤色检测
显减少。实验证明该方法有效消除彩色偏移,使
能够适应不同的光照和光源的变化,必须对图像
进行颜色平衡和光线补偿。本文采用 Gray World
方法对图像进行颜色均衡处理。
具体算法如下:
1)计算图像的 R、G、B 三分量各自的平均值
avgR、avgG、avgB。并得到图像的平均灰度值
avgGray
=
(
avgR avgG avgB
+
+
) / 3
。
C R avgGray avgR
C G avgGray avgG
C B avgGray avgB
)
⋅
)
⋅
)
⋅
(
(
(
(
(
(
2)对图像中每个像素 C,计算调整其 R、G、
B 三 分 量 值 C(R) 、C(G) 、C(B) 分 别 为 :
C R
;
C G
;
C B
)
=
)
=
)
=
3)将计算后得到的 C(R)、C(G)、C(B)值调整
到可显示的范围内,若分量值大于 255,调整为
255。
/
/
/
.
像素在不同颜色值的分布上趋于平衡,起到良好
的光线补偿作用。
为证明 Gray world 颜色均衡对肤色检测效果
的影响及其优点,图 2 给出分别对 Gray world 颜
色均衡前、后的图像采用本文检测算法得到的不
同肤色检测效果图。显然,对图像进行 Gray world
均衡后得到的检测效果更加理想,对于头发,首
饰等非肤色区域的误检率更低。
(a)均衡前 (b)均衡后
图 2 采用本文检测算法,使用颜色均衡前后检测效果
调整后,图像 R、G、B 三个分量各自的平均
值都趋于平均灰度值 avgGray。图 1 给出了图像均
衡前后对比的直方图,如下所示:
3 椭圆肤色模型的建立
3.1 颜色空间
bCW Y 、
区域的中轴线,肤色区域的宽度分别用 (
rCW Y 来表示,则可得非线性变换的表达式如
(
下:
)
)
Y
C' ( )
i
i
i
−
Y
⎧
Y
(C( ) C( ))
⎪
=⎨
⎪
Y
C( )
⎩
i
⋅
Wc
i
)
(
Wc Y
i
+
C
i
(
K
h
)
Y K or K Y
,
<
<
h
l
Y
]
K
K ,
l,
h
⎡∈⎣
(2)
)
(
Wc Y
i
⎧
WLc
⎪⎪=⎨
i
⎪
WHc
i
⎪
⎩
+
+
Y Y
(
−
Y
(
max
i
min
) (Wc -WLc )
⋅
min
i
K Y
l
−
Y
) (Wc WHc )
− ⋅
i
Y
max
−
i
K
h
−
C Y
( )
b
⎧
108
⎪⎪
= ⎨
⎪
108
⎪
⎩
+
+
(
K Y
−
l
) (118 108)
⋅
K Y
−
l
Y K
(
) (118 108)
⋅
h
Y
max
−
min
−
K
h
−
−
Y K
l
<
,
K Y
,
h
<
Y K
l
<
,
K Y
h
<
,
Y K
l
<
,
(3)
(4)
肤色检测常用的色彩空间有:RGB、HSV、
YCbCr、YIQ 以及 CIE 颜色系统的 XYZ 和 LUV
空间等。RGB 空间是表示彩色图像时最常用的颜
色空间,但其表示颜色信息的 R、G、B 三个分量
均包含色度信息和亮度信息,三者间存在不利于
肤色的检测的相关性。研究发现不同光照条件下
的物体颜色亮度会产生很大差异,但色度在很大
范围内具有恒常性[4],因此亮度和色度具有独立性
的颜色空间会具有较好的类可分辨性和分类能
力。经过实验证明肤色像素在 YCbCr 颜色空间的
分布相对比较集中(肤色聚类性),因此本文选择
YCbCr 空间建立肤色模型以提高肤色检测的效率
和正确性。实验中,需要先将普遍采用 RGB 色彩
空间描述的图像转换到 YCbCr 色彩空间。
由 RGB 空间向 YCbCr 空间的转换公式如下:
Y
⎡
⎢
Cb
⎢
CR
⎢
⎣
⎤ ⎡
⎥ ⎢
=
⎥ ⎢
⎥ ⎢
⎦ ⎣
16
⎤
⎥
128
⎥
128
⎥
⎦
+
1
255
65.481 128.553 24.966
⎡
⎢
37.797 74.203 112.000
−
⎢
112.000 93.786 18.214
⎢
⎣
−
−
−
R
⎤ ⎡ ⎤
⎥ ⎢ ⎥
G
⋅
⎥ ⎢ ⎥
B
⎥ ⎢ ⎥
⎦ ⎣ ⎦
其中,Y 代表图像的亮度信息,Cb、Cr 为色
度信息。
3.2 椭圆肤色模型
在选定 YCbCr 颜色空间后,下一步就是如何
建立肤色模型。在已有算法中常见的肤色模型有
高斯混合模型、查表法、贝叶斯决策法等。高斯
混合模型简单且效果好,但是难以适应复杂环境
及图像中光照的影响;查表法、贝叶斯决策法是
通过训练集中的肤色出现频率直接估计每种颜色
的肤色概率,这类模型检测耗时长,效果一般[5]。
分析总结这些模型的特点其共同问题都在于鲁棒
性差,在复杂环境和光照的影响下,高光、阴影
部分经常会出现误检、漏检的情况。
实际上,肤色区域的颜色与亮度成非线性函
数关系,在低亮度条件下,YCbCr 空间中色度的
聚类性会随 Y 呈非线性变换降低。为了使肤色聚
类不受亮度 Y 的影响,R-L Hsu 等给肤色聚类设置
了分段的线性边缘,并将 YCbCr 颜色空间中的色
度 Cb、Cr 进行非线性变换,在研究 YCbCr 颜色
空间的肤色聚类情况的基础上,去掉高光阴影部
分(即 Y 的最大最小值),将聚类空间缩小,采用
四个边界来限制肤色聚类区域,就有效的解决了
肤色区域的高光阴影的误检问题。YCbCr 空间色
Cr Y 表示肤色
度非线性变换过程中,用 ( )
Cb Y 、 ( )
⎧
154
⎪⎪
= ⎨
⎪
154
⎪
⎩
(1)
Cr Y
( )
−
+
l
(
−
K Y
) (154 144)
⋅
K Y
−
l
Y K
(
) (154 132)
⋅
h
Y
max
−
min
−
K
h
−
−
K Y
<
h
,
=14, WCr=38.76, WLCr
(5)
其中,Ci 代表 Cb 与 Cr,WCb=46.97, WLCb=23,
=20,
WHCb
WHCr=10,Kl=125, Kh=188。Ymin 和 Ymax 也为常
数,他们分别是实验数据中肤色聚类区域中 Y 分
量的最大和最小值。这些参数值是由 Hsu 等人从
HHI(He-inrich Hertz Insitute)图像库中选了 137
张图像,对 853571 个肤色点进行统计后得出的。
图 3 中的(a)和(b)分别显示了肤色点在非线性变换
前后在 YCbCr 空间和 YCb’Cr’空间肤色聚类拟合
分布对比。其中 YCb’Cr’空间中的椭圆区域为 Hsu
建立的肤色模型,即椭圆肤色模型。
(a)变换前 YCbCr 肤色聚类拟合 (b)变换后 YCb’Cr’肤色聚类拟合
图 3 非线性变换前后肤色聚类拟合对比
本文中对肤色点的判断准则为:椭圆内部的
点判定为肤色点,椭圆外部的点判定为非肤色点。
经 统 计 试 验 得 出 椭 圆 公 式 中 的 相 关 参 数 有
cx=109.38,cy=152.02, θ =2.53( 弧 度 ),ecx=1.60,ecy
=2.41,a=25.39,b=14.03。这些参数都是由肤色点在
Cb’Cr’子空间的聚类特性计算得来的,是具有普遍
适用性的经验值。椭圆公式如下(6)所示,x、y 取
值如公式(7)所示。
此本文决定在使用肤色模型对图像进行肤色区域
分样本,表明这两类分布有重叠部分,预先进行
分裂式 K 均值的肤色分割算法主要步骤如
(6)
下:
(1)中值滤波去噪
中值滤波定义为:
,
,
i
)
+
+
(13)
[
∈ −
y w y w
(
(
)
f x y middle
σ
⎧⎪
⎨
]
[
x w x w j
;
=
∈ −
σ
⎪⎩
)
,
=
{
(
im i j
,
这里σ是边长为 2w+1,中心取(x,y)坐标的方
块的像素集合;middle()是取集合中元素的中间
值;im(i,j)是滤波前坐标(i,j)处的原始像素值;f(x,y)
为滤波变换后像素(x,y)处的像素值。
] }
(2)FKM 分裂聚类
如果在聚类分割中有两个类均值相近的待划
分裂聚类可以有效地分离类均值,可以使由于新
i
i
f
=
P
N
1 ,
{
∈ ⎡
⎣
划分造成的误分类最小。过程为:先从样本集
}
⎦ 随机抽取样本 fi
⎤
为 C1 类均值 u1 的初始估计;令初始类别数为 1;
然后对集合 Ci(i∈[1,k])遍历运行,得到 k 类中
离 各 类 中 心 ui 的 最 远 点 ; 再 根 据
i
对样本集的所有样本
依 照 其 各 自 最 近 的 均 值 Ci , 进 行 k 类 划 分
arg min(
Dist
f C
,
j
))
=
(
k
i
k
=
k
P
1 ,
∈ ⎡
⎣
{
C i
}
⎤
⎦ ;再依据样本集划分 Pk,
重新计算 K 类样本均值μi 和方差σi,若样本集划
分 Pk 有变动,即ε δ> ,使用公式(12),转回第二步
K 类划分,否则按下步骤进行。算法将最后一次
的样本集划分 Pk 认为是对样本集 P 的 K 类划分。
本文中用到的分裂式的 K 均值聚类算法是一
种改进的 K 均值聚类算法。它有效地减小样本噪
声并降低分类初始条件的影响,使分割速度更快,
(8)
2
)
(
x ec
−
x
a
2
(
y
+
2
)
ec
−
y
b
2
=
1,
x
⎡ ⎤
⎢ ⎥
y
⎣ ⎦
=
cos
sin
−
θ
θ
⎡
⎢
⎣
sin
cos
θ
θ
⎤ ⎡
⎥ ⎢
⎦ ⎣
C
C
'
'
b
r
−
−
x
c
c
y
⎤
⎥
⎦
(7)
4 分裂式 K 均值聚类肤色分割
目前的肤色分割算法大多是利用一个统计的
肤色模型来实现对图像的分割,如简单阈值法、
高斯模型法和混合高斯模型法等。这些方法没有
结合考虑图像中肤色区域和背景区域像素分布规
律不同,而仅仅是利用肤色模型的先验信息。因
检测基础上,对初步检测的肤色区域通过一种分
裂式 K 均值聚类(FKM)[6]方法再进行聚类分割,
并对形成的聚类结果通过判决策略进行二次肤色
判决,去除误检的伪肤色像素,进一步提高肤色
检测的准确率。
以下是该算法中主要用到的基本变量及相关
定义。
取样本特征向量 [
R G B
= , , 。定义两个
]T
f
f
样本 1
f
[
= , , , 2
R G B
1
]T
1
1
R G B
= , ,
2
[
2
]T
2
。
则样本间距离定义为:
d(
f
1,
f
)
2
=
f
−
1
f
2
=
(
R R
)
2
1
2
−
+
G G
(
)
2
1
2
−
+
(
B B
)
2
1
2
−
令 ni 为 Ci 类的样本总数。类内均值μi 和方
2
iσ 定义为:
差
µ =
i
1
n
i
∑
f C
j
∈
i
f
j
2
σ
i
=
1
∑
n f C
∈
i
j
d f
(
j
,
µ
i
)
i
(9)
避免陷入死循环,效果更好。该方法不需要确定
阈值,通过聚类的方法很好的把肤色区域和背景
(10)
区域分割开来,与以往的阈值分割方法相比,能
够明显的改善肤色分割性能。
样本点 fk 与第 i 类 Ci 的概率距离度量定义为:
5 实验结果与分析
Dist
Pr(
f c
k
i
,
)
=
d f u σ
(
i
) /
k
i
,
2
(11)
其中 ui 为 Ci 类的类内均值。两次划分的距离定
义为:
为验证本文算法的性能,作者从互联网上采
集了 1094 幅具有广泛的光照条件、包含不同的肤
色人种以及复杂背景的图像,建立实验图像库。
再从中抽选出 273 幅大小为 400×600 像素的图片
作为测试图像,先手工截取出这些图像中的肤色
d u u
( (
,
i
1
2
i
)
+
2
σ σ
i
−
i
1
2
2
)
(12)
区域,统计出肤色像素点数,作为之后计算算法
K
∑
i
1
=
ε
=
检测率及误检率的基础。然后对测试图像分别用
如下图 4 流程所示的本文检测算法和文献[2]中的
高斯肤色模型检测算法进行检测比对。
(b)高斯肤色模型检测效果
(c)本文算法检测效果
图 5 两种算法的肤色检测效果
基于本文算法的肤色检测效果和文献[2]中的
高斯混合模型检测相比,(a)是原始图片,(b)是高
斯肤色模型检测效果,(c)是本文算法检测效果。
比较可以看出,本文算法对真实肤色像素的检测
效果较好,对于肤色区域中的高光和阴影部分也
能很好的检测出来,特别是对于图片中的类肤色
背景区域,对于如头发、近肤色衣物及背景墙体
等的误检率明显比高斯肤色模型的误检率低,达
到了较为理想的聚类分割效果。
6 结论
在充分研究比对各个肤色模型特点的基础
上,决定要对图像先进行光线补偿以改善光照条
件,建立可解决肤色高光阴影问题的椭圆肤色模
型进行初步的肤色检测,再在初步检测出的肤色
区域中采用一种改进的 K 均值聚类分割方法对图
像进行二次的肤色判决,完成肤色检测。大量实
验证明这种二次判决取“与”值的方法和传统的
图 4 算法流程图
本文中采用肤色区域的检测率和误检率来进
行实验结果的评判。
检测率
=
被检测到的肤色点
肤色点集合
100%×
,
误检率
=
背景点被检为肤色点
背景点集合
100%×
。
实验环境如下:处理器为 Intel(R)Core(TM)i3,
内存 2G,编程环境为 MatlabR2010a。
表 1 两种算法的检测结果比较
肤色检测方法相比,能很好的解决光照和复杂背
算法
肤色检测率
肤色误检率
高斯肤色模型算法
78.2287%
本文中的算法
86.6271%
21.2861%
8.6083%
从实验结果可以看出,本文算法的肤色检测
率 86.6271%高于高斯肤色模型算法的检测率,而
本文算法的肤色误检率 8.6083%则低于高斯肤色
模型算法的误检率。图 5 给出部分实验效果图:
景带来的问题,具有更高的检测率和更低的误检
率。
由于不良图像背景复杂多变,人体图像中还
会包括一些类似肤色的背景色像素,还会导致误
检情况。下一步的研究工作将会结合皮肤其他的
如物理光反射类以及纹理等特征进一步提高肤色
与非肤色的检测判决能力。
参考文献
(a)原始图片
[1] P. Kakumanu, S. Makrogiannis, N. Bourbakis. A
survey of skin‐color modeling and detection
methods[J].PatternRecognition,2007,40(3):1106‐1122.
[2]张争珍,石跃祥,YCgCr 颜色空间的肤色聚类人
脸检测法[J].计算机工程与应用,2009,
45(22):163‐165.
[3]李智勇.Gray World 彩色均衡方法在肤色检测中
的应用[J].现代电子术,2011,34(5):198‐199.
[4]蒙丰博,张新荣,李雪威.一种新的基于颜色恒常
性的肤色分割算法[J].计算机工程与应用,2007,
43(17):82‐84.
[8]Guoliang Yang,Li Zhang,Huan Li.Face Detection
Based on Adaptive Skin Color Model and Geometric
[5]Min Zhao,Di‐hua Sun,Wan‐mei Fan.Hair‐color
Features[C].IEEE Conference on Electrical and Control
model and adaptive contour templates based head
Engineering(ICECE), Yichang,China :2011:1566‐1568.
detection[C].Intelligent Control and
Automation(WCICA),2010:6104‐6108.
[6]张健,宋刚.基于分裂式 K 均值聚类的图像分割
方法[J].计算机应用,2011,31(2):372‐374.
[7]Erdem,C.E,Ulukaya S,Karaali A.Combining Haar
[9]方奎,欧阳宁,莫建文.基于椭圆模型的手势识别
与 仿 真 [J]. 计 算 机 仿 真 ,2011,28(3):267‐270.
[10]Yongqiu Tu,Faling Yi,Guohua Chen. Etal.Fast
rotation invariant face detection in color image using
multi‐classifier
combination
method[C].IEEE
Feature and skin color based classifiers for face
Conference
on
E‐Health
Networking,Digital
detection[C]. IEEE Conference on Acoistics,Speech
Ecosystems
and
Technologies(EDT),
and Signal Processing(ICASSP),
Prague:2011:1497‐1500.
Guangdong,China:2010:211‐218.