基 于 超 像 素 的 肤 色 检 测

2018-07-09 13:08夏子涛
实验室研究与探索 2018年6期
关键词:肤色像素向量

华 容, 夏子涛, 冯 蕾

(上海应用技术大学 a.电气与电子工程学院;b.图书馆,上海 201418)

0 引 言

肤色检测算法在人脸检测、人体追踪、手势识别以及人机交互接口中有着广泛的应用[1]。目前肤色检测算法主要是基于像素的分类方法,该方法通过每个像素的特征来区分该像素是皮肤还是非皮肤区域。在这种肤色分类方法中,研究者主要考虑两个问题:首先是选择什么样的颜色空间;其次是建立什么样的分类模型[2]。肤色检测中采用的颜色空间有RGB、Normalized RGB、HIS、YCbCr、YUV等等,采用的分类算法有Adaboost、贝叶斯网络、J48、MLP、朴素贝叶斯、随机森林、径向基函数、支持向量机等[2-3]。文献[3]中比较了不同颜色空间下,不同的分类算法基于像素的肤色检测算法。文献[4]中提出了一种肤色检测方法,该方法提出了两个阈值,如果一个像素超过较高的阈值则该像素直接判定为肤色;如果一个像素只超过较低的阈值的肤色,而且其领域的像素超过较高的阈值,则这个像素也被判定为肤色。

文献[4]中的不同在于其肤色检测算法考虑到图像的空间关系。在某些情况下,背景像素和肤色像素是完全一样的,仅仅基于单个像素本身的信息是不能识别该像素是否为肤色区域。假如一个像素的邻域内的像素都是被识别为肤色,则该像素有较大的概率是肤色像素;反之,如果其领域都为非肤色,而像素本身的信息支持其为肤色,则其是肤色的概率较小。

对于肤色分类算法,通过单个像素本身的信息提取的特征信息并不充分。本文提出了一种基于超像素的肤色检测算法,通过分水岭算法将图像分割为成百上千的特征相似的超像素,从超像素中提取直方图特征值进行肤色检测。利用提取的特征值,比较了支持向量机和随机森林算法,在试验中取得了较好的效果。

1 特征值的提取

1.1 超像素的生成

超像素[5]指有一些纹理、颜色等特征相似的相邻的像素构成的图像块。

文献[6]中指出已有研究的超像素分割算法有分水岭、MeanShift、SLIC算法。分水岭算法是一种基于拓扑理论的数学形态学分割方法,该方法速度快,而且可以保证分割区域的连续性和封闭性。分水岭算法也存在着一些缺点,无法保证超像素的个数和容易导致过分割,但是对于本文提出的肤色识别方法没有影响。

本文为了更好地区分不同颜色的像素,采取的方式是对3个通道分别求导,然后再求3个通道的平方和的平方根。在得到该图像的基础上,利用分水岭算法生成超像素,分割结果如图1所示。

图1 基于分水岭的超像素分割

1.2 直方图特征值的提取

不同光照条件下,不同人种的肤色之间差异较大,所以肤色分布在颜色空间中分布并不是非常集中。对从不同环境和不同人种的图片中提取的160万个肤色像素的RGB颜色空间中的3个通道进行统计,如图2所示。

为了能够充分表达肤色的特征,同时又不使得特征向量的维度过多,本文采取的方式为每个颜色通道划分8个区域。在RGB颜色空间中,针对每个颜色通道,将0~255划分为8个区域,即[0,31]、[32,63]、依次类推直到[223,255],3个颜色通道总共24个区域。这种划分方法在处理像素值时会很便利,将像素的通道值逻辑右移5位即可以划分为对应的区域。

图2 肤色像素在RGB颜色空间3个通道的统计

所以本文方法是对每个超像素中的像素值进行统计,计算24个区域的每个区域中像素的个数。由于每个超像素中像素的个数是不确定的,因此对得到统计结果进行归一化处理,即每个超像素的统计结果除以该超像素中的全部像素个数。

2 分类算法的训练

2.1 支持向量机

支持向量机(SVM)本身是一类线性超平面分类器,由于核函数的引入,将分类的样本映射到更多维乃至于无限维的空间中,从而使得其可以应用到非线性的分类中[7]。

定义样本集D如下:

D={(xi,yi)|

(1)

式中:xi为第i个样本点的特征向量;yi为i个样本点的对应分类。

分类问题等价于如下凸优化问题:

(2)

式中:ω为特征向量对应的权重向量;b为残差。引入Lagrange乘子α,将目标函数和条件约束融合到Lagrange函数,如下式所示:

(3)

式中,αi>0,最优解在函数的鞍点上,对于函数的鞍点处有∂L/∂ω和∂L/∂b等于零,该QP问题可以转化为对应的对偶问题,如下式:

(4)

对于线性不可分的分类问题,考虑将样本特征映射到更多维度的空间,但是为了避免在高维空间爆炸问题而造成的计算困难,引入了Kernels的概念。上式变为:

(5)

式中,k(xi,xj)为核函数。本文的算法采用了径向基函数,能够逼近任意的非线性函数,可以处理系统内的难以解析的规律性,具有良好的泛化能力,并有很快的学习收敛速度。

2.2 随机森林算法

随机森林算法[8](Random Decision Forests,RBF)顾名思义是有很多决策树构成的森林,其中每一颗树都会按一定的概率抽取一部分样本进行分类,树的所有节点都会随机选择某几个特征进行分类。因为这种随机性,每一颗决策树相互之间都会存在一定的差异,最后以这些决策树的各自不完全相似的结果投票决定最终的结果,从而确定算法的最终分类结果。

本文随机森林的算法大致流程如下:将训练样本分为M份,从其中取样N次,以取到的数据合成一个训练集,没有被取中的当作算法的验证集,从而评估算法的误差。确定树的数目,在树的每一节点随机挑选少量的特征(相对所有的特征数目而言),根据这些特征分类,重复该过程,直到每棵树完整的生长而不被减枝。

3 算法实验

3.1 训练数据

本文采用文献[9]中的肤色数据集,该数据集的图像是网络上随机下载的用来研究人体皮肤检测方法。这些图像是在不同的光照下,并通过不同的色彩增强方法处理得到的,数据集中还包含了正确分类标注的图像,其中肤色像素的每个颜色通道被标记为255,而非肤色像素的每个颜色通道被标记为0。选取数据集中的两对图片如图3所示。图中:(c)为图片(a)对应的肤色标注;(d)为图片(b)对应的肤色标注。利用分水岭算法在图片及其对应的肤色标注图像上生成超像素,得到对应的图像,如图4所示,作为本文中基于超像素的肤色分类方法的训练集。

3.2 试验结果

基于超像素提取的特征值,本文比较了利用随机森林和支持向量机算法的试验结果(采用了十折交叉验证),如表1所示。

文献[10]中比较不同算法以及不同颜色空间下基于像素的肤色分类算法,得出的结论是基于随机森林的肤色分类算法的效果最好。文中采用了F-measure作为算法比较的标准,F-measure的公式:

(a)

(b)

(c)

(d)

(a) 原图

(b) 对应肤色分类标注图

精准率召回率支持向量机0.798 80.787 8随机森林0.807 40.727 2

(6)

式中:β是参数;P表示精准度;R表示召回率。本文中β选择为1,即是常用的F1-measure。

文献[10]是基于像素的肤色分类方法,得出的结论为在IHLS颜色空间下,利用随机森林的肤色分类算法的结果是最好的,其F-measure值为0.709 6。本文的肤色分类算法是基于超像素的直方图统计特征的,只在RGB颜色空间中,采用了随机森林和支持向量机验证了算法效果,得到F-measure值都优于文献[10]中的最高值。表2说明了本文提出的算法与文献[10]中一些算法的比较结果。

表2 算法验证结果F-measure的比较

从表2可以看出,基于超像素的肤色识别算法无论是应用随机森林还是支持向量机都要优于所有的基于像素的肤色分类算法。

图5展示了对图4中图片进行测试,比较了本文中利用SVM的基于超像素的肤色分类算法结果(见图6(a))和文献[10]中的利用随机森林的基于像素的肤色分类算法结果(见图6(b))。本文提出的基于超像素肤色分类算法,计算得到肤色分类结果也是基于超像素的,如图5所示,再利用一个3×3的结构元素进行闭运算,得到最终的肤色分类图,如6(a)所示。

图5 基于超像素的肤色分类结果

(a) 基于超像素肤色分类

(b) 基于像素的肤色分类

4 结 语

考虑到以往的肤色分类算法都是基于像素,这种方法没有考虑到像素皮肤通常集中在一个区域内,而基于超像素的肤色分类方法将同一个区域的相似像素划分为同一个超像素,同时有可能提供一种更稳定的特征。因此本文提出了一种基于超像素的肤色识别方法,通过实验验证了基于超像素的肤色分类算法可以得到比基于像素的分类算法更好的分类效果。

参考文献(References):

[1] Ruiz J, Verschae R. Skin detection using neighborhood information[C]//Automatic Face and Gesture Recognition, Proceedings. Sixth IEEE International Conference,2004:463-468.

[2] Kakumanu P, Bourbakis N. A survey of skin-color modeling and detection methods[J]. Pattern Recognition, 2007, 3(3): 1106-1122.

[3] Rehanullah K. Color based skin classification[J]. Pattern Recognition Letters, 2012, 33(2):157-163.

[4] Arpit M, Andrew Z, Philip T. Hand detection using multiple proposals[C]//Proceedings of the British Machine Vision Conference.[s.n.]:2011,75:1-11.

[5] Chen G, Zhang P, Wu Y,etal. Denoising magnetic resonance images using collaborative non-local means[J]. Neurocomputing, 2016, 177: 215-227.

[6] 王春瑶,陈俊周.超像素分割算法研究综述[J]. 计算机应用研究, 2014,31(1):6-11.

[7] Song Y, Ling Z, Chen S,etal. Accurate segmentation of cervical cytoplasm and nuclei based on multiscale convolutional network and graph partitioning[J]. IEEE Trans on Bio-medical Engineering, 2015, 62(10): 2421-2433.

[8] Madabhushi A, Lee G. Image analysis and machine learning in digital pathology: challenges and opportunities[J]. Medical Image Analysis, 2016, 33: 170-175.

[9] Huang L. Improved non-local means algorithm for image denoising[J]. Journal of Computer & Communications, 2015, 3(4): 23-29.

[10] Choi K, Oh K. Subsampling-based acceleration of simple linear iterative clustering for superpixel segmentation[J]. Computer Vision and Image Understanding, 2016, 146: 1-8.

[11] Bergh M V D, Boix X, Roig G,etal. SEEDS: Superpixels extracted via energy-driven sampling[J]. International Journal of Computer Vision, 2015, 111(3): 298-314.

[12] 杨 洲,陈 莉,贾 建.基于超像素分割的非局部均值去噪方法[J].计算机应用研究, 2017,35(4):15-20.

[13] Bensch R, Ronneberger O. Cell segmentation and tracking in phase contrast images using graph cut with asymmetric boundary costs[C]//Proc of IEEE International Symposium on Biomedical Imaging.[s.n.]: 2015.

[14] 於 敏,于凤芹,陈 莹.基于相似性和统计性的超像素的图像分割[J].计算机工程与应用,2017,53(2):177-180.

[15] Chan Sixian,Zhou Xiaolong,Zhang Zhuo,et al.Interactive multi-label image segmentation with multi-layer tumors automata[J].Acta Automatica Sinica,2017,43(10):1829-1840.

猜你喜欢
肤色像素向量
像素前线之“幻影”2000
向量的分解
聚焦“向量与三角”创新题
Conversation in a house
人的肤色为什么不同
为什么人有不同的肤色?
“像素”仙人掌
ÉVOLUTIONDIGAE Style de vie tactile
向量垂直在解析几何中的应用
高像素不是全部