﻿ 基于像素的肤色检测方法综述
 计算机系统应用  2020, Vol. 29 Issue (3): 1-10 PDF

Survey on Pixel-Based Skin Color Detection Methods
ZHENG Yan, ZHANG Xia
Department of Printing and Packaging, Wuhan University, Wuhan 430072, China
Foundation item: National Natural Science Foundation of China (61505149)
Abstract: Skin color detection is widely used in many fields such as face detection, image filtering, and machine vision. There are many methods for skin color detection. This paper comprehensively reviews the pixel-based skin color detection methods, focusing on the principles and characteristics of statistics-based, threshold-based, and machine-based learning methods, and discusses their advantages and disadvantages. The development trend of pixel-based skin color detection methods is also discussed.
Key words: skin color detection     statistical method     threshold method     machine learning

1 引言

2 基于统计的肤色检测方法

 图 1 基于统计的肤色检测方法

2.1 非参数方法

 ${P}({R_i}{G_i}{B_i}) = \dfrac{{{R_i}{G_i}{B_{i{\text{出现次数}}}}}}{{{\text{颜色总数}}}}$ (1)

 图 2 手势识别效果图[35]

 ${P}(skin|{R_i}{G_i}{B_i}) = \dfrac{{{P}(|{R_i}{G_i}{B_i}|skin){P}(skin)}}{{{P}(|{R_i}{G_i}{B_i}|skin){ P}(skin)+ { P}(|{R_i}{G_i}{B_i}|nonskin){P}(skin){\rm P}(nonskin)}}$ (2)

 $\dfrac{{{P}(|R_iG_iB_i|skin)}}{{{P}(|R_iG_iB_i|nonskin)}} > { \theta} ,\;{ \theta} = {K}\left(\dfrac{{{P}(nonskin)}}{{{P}(skin)}}\right)$ (3)

SOM的自适应性在于获胜神经元的特定邻域中的神经元根据参数化学习函数将其码本矢量调整为更接近输入矢量. Brown DA等[37]提出的基于SOM的肤色分类器中, 对500多个彩色图像在4个颜色空间中(HSV、笛卡尔XY、TSL、归一化RG)训练了两个不同的SOM, 通过训练肤色SOM和非肤色SOM, 发现SOM分类器的性能几乎与颜色空间的选择无关, 解决了肤色检测最优颜色空间的选择问题, 并实现了94%的高精度检测率. 随后Yin H等[38]提出自组织混合网络(SOMN)对此进行了修改, 用以提高SOM的稳定性和适用性.

SOM不需要区分训练集和测试集, 同时具有把高维输入映射到低维的能力, 有自适应性和拓扑保形特性的优点. 但是网络训练时神经元存在不完全抑制情况, 并且当输入模型较少时, 分类结果依赖于模式输入的先后次序.

2.2 参数方法

 ${P}({{C}};{{\mu }},\Lambda ){\rm{ = }}\dfrac{1}{{\mathop {{{(2}}\pi )}\nolimits^{\frac{m}{2}} \mathop {|\Lambda |}\nolimits^{0.5} }}\exp\left( - \dfrac{{\mathop {({{C}} - {{\mu }})}\nolimits^{\rm{T}} \mathop \Lambda \nolimits^{ - 1} ({{C}} - {{\mu }})}}{2}\right)$ (4)

 $\left\{\begin{array}{l}{ \mu = \dfrac{1}{N}\displaystyle\sum\nolimits_{j = 1}^N {\mathop {C}\nolimits_j }}\\ {\Lambda = \dfrac{1}{n - 1}\displaystyle\sum\nolimits_{j = 1}^N {(\mathop {C}\nolimits_j - {\mu} )} \mathop {(\mathop {C}\nolimits_j - {\mu })}\nolimits^{\rm{T}}} \end{array}\right.$ (5)

${P}({{C}};{ \mu} ,\Lambda )$ 可以直接衡量像素C属于肤色的可能性. 也可以通过高斯分布参数计算输入像素C与均值 ${ \mu}$ 的马氏距离(MD): $\mathop \lambda \nolimits_c (\mathop {{C}}\nolimits_j ) = \mathop {(\mathop {{C}}\nolimits_j - { \mu} )}^{\rm{T}} \mathop \Lambda ^{ - 1} {\rm{(}}\mathop {{C}}\nolimits_j - { \mu} {\rm{)}}$ , 距离大小表示输入像素与肤色模型的接近程度.

SGM方法比较简单, 具有计算成本低、存储要求低的优点, 但是在不同颜色空间中的性能不同. 例如, Zhu SP等[39]在YCbCr颜色空间中采用SGM进行肤色检测和唇部分割, 实验结果表明, 该方法满足实时性、鲁棒性和有效性的要求. Subban R等[40]比较了不同颜色空间中SGM的肤色检测性能, 结果显示SGM在YPbPr颜色空间性能优于CIE-XYZ, YCC和YDbDr颜色空间. Montenegro J等[41]基于自建数据库, 使用MCC(马修斯相关系数)作为评估指标在RGB、HSV、YCbCr、CIE L*a*b*和CIE L*u*v*颜色空间中评估SGM肤色检测性能, 得出CIE L*a*b*是性能最佳的颜色空间.

GMM是多个高斯密度函数的标准化加权和[42]. 它补偿了单高斯模型在处理一般肤色分割问题中误检率较高, 以及其峰值分布的不对称性而无法逼近实际分布的问题. GMM定义如下:

 ${P}({{C}};{\rm \mu} ,\Lambda ,w,N) = \sum\nolimits_{j = 1}^N {\mathop w\nolimits_j \mathop G\nolimits_j ({{C}};\mathop { \mu} \nolimits_j ,\mathop \Lambda \nolimits_j )}$ (6)

EM方法是在特定颜色空间中, 如RGB、YCbCr、CIE L*a*b*、CIE L*u*v*、CIE-XYZ等, 通过分析肤色簇的类椭圆形状来估计肤色分布模型的方法, Lee JY等[46]将椭圆模型定义为 ${ P}({{C}};{ \mu} ,\Lambda )$ :

 ${ P}({{C}};{ \mu} ,\Lambda ) = \mathop {({{C}} - {\rm \mu} )}\nolimits^{\rm{T}} \mathop \Lambda \nolimits^{ - 1} {{(C}} - { \mu} {{)}}$ (7)
 \left\{\begin{aligned} & { \mu} = \dfrac{1}{{{N}}}\sum\nolimits_{j = 1}^N {\mathop {{C}}\nolimits_j }\\ &\Lambda = \dfrac{1}{{{N}}}\sum\nolimits_{j = 1}^N {\mathop {{f}}\nolimits_j {{(}}\mathop {{C}}\nolimits_j - {{\Omega )}}\mathop {{{(}}\mathop {{C}}\nolimits_j - {{\Omega )}}}\nolimits^{\rm{T}} } \\ & {{\Omega }} = \dfrac{1}{{{N}}}\sum\nolimits_{j = 1}^N {\mathop {{f}}\nolimits_j \mathop {{C}}\nolimits_j } \end{aligned}\right. (8)

 图 3 8种高斯模型的ROC曲线图[45]

Xu D等[48]采用椭圆模型结合深度信息, 在光照和复杂背景的变化环境下实现多人脸的定位. Tan WJ等[49]针对肤色检测设备成像问题, 在YCbCr空间进行椭圆拟合, 并将其用于手势分割, 实验结果表明, 该方法具有良好的精度, 对特定的成像设备具有更好的通用性和环境适应性. Li W等[50]于CbCr-CgCr空间提出双椭圆模型进行肤色分割和提取肤色区域, 结合AdaBoost级联分类器进行人脸检测, 该算法能够有效地应用于单面、多面、不同光照、背景复杂的人脸检测.

Lee JY等[46]在多个色度平面中(rg、CIE-uv、CIE-ab、CIExy、IQ、CbCr)对EM和高斯模型进行评估并得出结论: 在所有颜色空间中, 从检测率的角度来看, EM优于SGM和6个内核的GMM; 从训练的角度来看, EM比GMM计算量少, 参数简单; 在计算速度上, EM几乎与SGM一样快, 但它比GMM快.

3 基于阈值的肤色检测方法

 图 4 不同颜色空间中肤色分布轨迹图

Kovac J等[5]在RGB颜色空间提出一种阈值定义方法, 在日光和闪光灯照明条件下, 若满足:

 $\left\{\begin{array}{l} R > 95,G > 40,{B} > 20,\max \left\{ {R,G,B} \right\} - \min \left\{ {R,G,B} \right\} > 15 \\ \left| {R - G} \right| > 15,R > G,R > B \\ \end{array} \right.$ (9)

 $R > 220,G > 210,B > 170,\left| {R - G} \right| < 15,R > G,R > B$ (10)

Gomez G等[53]提出结合Harr特征与肤色进行人脸检测的方法, 后处理采用了明确定义阈值边界的方法, 实验结果表明该方法优于著名的正面人脸检测Viola-Jones算法. 阈值调试法经常使用正交颜色空间进行阈值选择, 如Sagheer A等[54]在YCbCr颜色空间确定了两种照明条件下(正常光照和弱光照)的肤色CbCr阈值范围, 式(11)和式(12)所示.

 $Cb \in \left\{ {110,120} \right\},Cr \in \left\{ {135,150} \right\}$ (11)
 $Cb \in \left\{ {110,160} \right\},Cr \in \left\{ {120,150} \right\}$ (12)

 ${\rm{if}} \;{{Y}} > {128} \to \left\{\begin{array}{l} \mathop {\rm \theta} \nolimits_1 = - 2+ \dfrac{{256 - {{Y}} }}{{16}}\\ \mathop {\rm \theta} \nolimits_2 = 20 - \dfrac{{256 - {{Y}} }}{{16}}\\ \mathop {\rm \theta} \nolimits_3 = 6\\ \mathop {\rm \theta} \nolimits_4 = 8 \end{array}\right.$ (13)
 ${\rm{if}}\; Y \le {128} \to \left\{ \begin{array}{l} {\theta} _1 = 6\\ {\theta}_2 = 12\\ {\theta} _3 = 2+ \dfrac{Y}{32}\\ {\theta} _4 = - 16+ \dfrac{Y}{16} \end{array}\right.$ (14)

 $\left\{\begin{array}{l} Cr \ge - 2(Cb+ 24)\\ Cr \ge - (Cb+ 17)\\ Cr \ge - 4(Cb+ 32)\\ Cr \ge 2.5(Cb+ { \theta} _1 ) \\ Cr \ge {\theta} _3 \\ Cr \ge 0.5( { \theta}_4 - Cb)\\ Cr \le \dfrac{{220 - Cb}}{6}\\ Cr \le \dfrac{4}{3}({\theta} _2 - Cb) \end{array}\right.$ (15)

 $V \ge 40,0.2 < S < 0.6,(\mathop 0\nolimits^{\circ} < H < \mathop {25}\nolimits^{\circ} \;{\rm{or}}\;\mathop {355}\nolimits^{\circ} < H < \mathop {360}\nolimits^{\circ} )$ (16)

Garcia C等[58]基于HSV颜色空间设计了更复杂的规则, 如式(17)所示.

 $\left\{\begin{array}{l} V \ge 40\\ H \le - 0.4V+ 75\\ 10 \le S \le ( - H - 0.1V+ 110) \\ {\rm{ if}}\;(H \ge 0) \to S < 0.08(100 - V)H+ 0.5 \\ {\rm{ if}}\;(H < 0) \to S < 0.5H+ 35 \\ \end{array}\right.$ (17)

4 基于机器学习的肤色检测方法

 图 5 人工神经网络分类

 图 6 神经元模型

 $\mathop y\nolimits_j = f(\mathop b\nolimits_j+ \sum\nolimits_{i = 1}^n {(\mathop x\nolimits_i \times \mathop w\nolimits_{ij} )} )$ (18)

Al-Mohair HK等[68]考虑基于像素的检测方法性能会受到特定颜色空间中肤色和非肤色重叠的限制, 肤色点很难从非肤色点中分离出来. 为了提高肤色检测的准确性, 结合纹理特征提出了基于神经网络和K-均值聚类技术的混合人体肤色检测算法, 实验结果表明, 该方法在ECU数据库(包含相同数量的肤色和非肤色像素)图像可以实现高效率肤色检测, 表1是文献[68]的检测方法与相关文献中检测方法的结果对比. 可以看出神经网络结合K-均值聚类方法有更高的检测率.

5 存在问题与发展趋势

(1) 检测方法与颜色空间的选择. 基于像素的检测方法大部分都要确认颜色空间的选择, 颜色空间的选择与数据库图像若干因素相关, 例如照明、成像条件、噪声、图像尺寸及清晰度等. 这些图像可以改变特定颜色空间的检测结果. 为了找到检测方法的最优颜色空间, 应考虑可能影响性能的所有因素.

(2)检测任务的数据样本与评价标准的建设. 目前, 虽然文献中有许多肤色模型, 但是如何测量模型的实用性, 以及该模型的有效性范围都存在限制. 通常, 模型的性能取决于许多因素, 例如使用的颜色空间、分布的形状、使用的参数、数据的性质、训练样本的大小、图像特征、噪声数据等. 为了定量客观地比较各种肤色检测技术, 需要加强公用肤色数据库的建设, 统一方法评测标准和规范.

(3)光照、种族、成像设备和复杂背景等肤色挑战问题的解决与继续优化. 虽然许多检测方法考虑到肤色检测挑战带来的影响, 并试图解决这些不利因素. 但都是针对单一因素的解决, 需要改进算法解决多因素影响下的肤色挑战任务.

(1)结合空间信息的肤色检测. 肤色特征通常单独使用效果不佳, 结合与空间分布有关的信息, 如纹理、形状和梯度等, 可以有效提高肤色检测性能.

(2)自适应动态肤色模型的建立. 手动建立的肤色模型在不同的检测条件下会有局限性. 建立动态肤色模型包括动态直方图、高斯分布自适应等肤色分布动态更新方法, 在提高检测性的同时更好地适应于不同的检测环境.

(3)预处理与后处理步骤的加强. 预处理对于排除复杂背景以及减少光照影响至关重要, 可以通过照明补偿技术增强检测方法对光照的可控程度. 通过形态学后处理增强肤色分割的效果.

(4)结合不同检测算法进行肤色检测与识别. 每种肤色检测算法都有各自的优缺点, 可以通过不同方法的融合实现分类精度高、易操作和降低复杂度及训练成本, 同时提高肤色检测准确度的检测效果.

6 总结