收稿日期:2020年11月13日,修回日期:2020年12月27日
作者简介:邹奉天,男,硕士研究生,研究方向:机器学习计算机视觉。
∗
1引言
皮肤检测是计算机视觉领域的重要研究内容
之一,有着广泛的应用前景。长期以来,它在诸如人体识别、色情图片识别、人脸识别、皮肤病诊断等领域有着广泛的应用。皮肤检测过程是基于像素的颜色分类器,在不同的颜色空间下,通过图形分割,前景提取,颜色判断等方式,提取出皮肤区域。为了找出分类器的最佳组成和颜色空间对皮肤检测的影响,Vezhnevets 等做了广泛的研究和测试。Zarit 等在CIE Lab ,Fleck hs ,HSV ,归一化RGB ,
Ycrcb 五种颜色空间上,使用査表法与Baves 决策法来检测,并比较了检测结果。
人体检测、定位和跟踪过程中肤色是一种有特点和区别的图像特征。就像其他计算机视觉研究领域一样,成像条件如光照变化、阴影和高光都使皮肤检测过程更加复杂化。此外不同种族的肤色可能有所不同。此外对于同一个人,肤色在身体不同部位如脸和手和日照时间如长时日照后会出现显著差异。
细胞学习自动机(CLA )是由简单元素组成的系统模型。这些简单的元素基于它们的邻近元素行为和先前的经验来提高他们的性能。它们可以根据它们之间的相互作用来识别复杂的行为。像素间的邻域特性使得细胞学习自动机成为不错的图像处理选择。
2
几种皮肤检测算法介绍
2.1
基于RGB 颜色空间的皮肤检测
RGB 空间由红,绿,蓝三种颜色为原色在三维
轮胎拆装机直角坐标系中构成颜色空间,是当前最为广泛运用的颜色空间[1]。由peeretal 的研究表明,人体的肤色在RGB 空间中符合下列的规律。
在室内白光下:
(R >95)AND (G >40)AND (B >20)AND (max (R ,G ,B )-max (R ,G ,B )>15)AND (|R-G |>15)AND (R>G )AND (R>B )
在通常日光下:
(R >220)AND (G >210)AND (B >170)AND (|R-G |£15)AND (R>G )AND (R>B )
几种皮肤检测算法的仿真
∗
邹奉天
(南京理工大学
南京
210000)
摘
要
论文将两种传统的皮肤检测算法,基于RGB 颜色空间的肤色检测法和基于椭圆皮肤模型的肤色检测,以及一种新的基于机器学习的皮肤检测算法进行了仿真与比较。
关键词肤色检测;机器学习;仿真
中图分类号
TP301.6
DOI :10.3969/j.issn.1672-9722.2021.06.038
Simulation of Several Skin Detection Algorithms
ZOU Fengtian
(Nanjing University of Science and Technology ,Nanjing
210000)
Abstract
In this paper ,two traditional skin detection algorithms ,one bad on RGB color space ,the other bad on ellipti ⁃
cal skin model ,and a new skin detection algorithm bad on machine learning are simulated and compared.
Key Words
skin color detection ,machine learning ,simulation Class Number
TP301.6
2021年第6期计算机与数字工程通过上述对RGB 分量的阈值分割,我们可以得到皮肤检测的区域。
2.2
基于YCrCb 空间的椭圆皮肤模型检测
YCbCr 颜色空间是一种常用的肤色检测的色
彩模型,其中Y 代表亮度,Cr 代表光源中的红色分量,Cb 代表光源中的蓝色分量[2]。人的肤色在
外观上的差异是由色度引起的,不同人的肤色分布集中在较小的区域内。肤色的YCbCr 颜色空间CbCr 平
面分布在近似的椭圆区域内,通过判断当前像素点的CbCr 是否落在肤色分布的椭圆区域内,就可以很容易地确认当前像素点是否属于肤色。图1为椭圆区域。
0.70.650.60.550.5
0.45
C r
0.3
0.4
0.5李阳 疯狂英语
Cb
A 2
P 2B 1
B 2
A 1
P 1
图1椭圆区域
根据经验某点的CrCb 值满足:133£Cr £173,77£Cb £127那么该点被认为是肤色点,其他的就为非肤色点。
YCrCb 和RGB 互相转换的公式如下:Y =0.299R +0.587G +0.114B U =-0.147R -0.289G +0.436B
V =0.615R -0.515G -0.100B R =Y +1.14V G =Y -0.39U -0.58V B =Y +2.03U
通过将图像转化到YCbCr 空间并且在CbCr 平面进行投影,采集肤色的样本点并且投影后,再进行相应的非线性K-L 变换,遍历转换后的像素点,可得到皮肤区域。
2.3基于机器学习的皮肤检测算法
元胞自动机(CA )被广泛应用于空间扩展物理
系统的动力学建模[3]。元胞自动机是细胞的集合,每个细胞都适用于多种状态的一种。单个细胞的变化依赖于细胞环境的规则状态。一个细胞的环境是由一小部分邻细胞构成。图2显示了两种邻里关系。
学习自动机(LA )是用于执行简单任务的简单机器[4]。它们有一组有限的动作,并且在每个阶段根据自动机的状态选择一个动作的,自动机的状态通常由动作概率向量表示。对于自动机选择的每
一个动作,环境都会给出一个强化。环境给出一个固定的未知概率分布的强化信号,该信号指定了应用动作的为“增益”。然后,当接收到增益信号时,学习自动机用学习算法更新其动作概率向量。学习自动机与其环境的相互作用如图3
所示。
冯诺依曼摩尔
图2
邻里关系
β(n )
α(n )
环境
学习自动机
图3学习自动机
具体的学习算法是一种递推关系,如下,其中α为动作选择,β为环境对动作的回应,ρ为选择概率,如式(1)、(2)所示:
ρi (n +1)=ρi (n )+α(1-ρi (n ))
ρj (n +1)=(1-α)ρj (n )"j j Ïi β(k )=0
(1)
ρi (n +1)=(1-b )ρi (n )
ρj (n +1)=b r -1
-b ρj (n )"j j Ïi β(k )=1
(2)
基于机器学习的皮肤检测算法将皮肤的颜色和纹理信息与细胞学习自动机相结合,在彩色图像中分割皮肤区域[5]。首先,检测图像中的皮肤颜色,从若干明确的边界皮肤模型选定区域[6]。然后将检测到的肤色区域发送到颜色纹理提取器,它通过肤色统计属性提取皮肤区域的纹理特征,并将它们映射到皮肤概率图[7]。细胞学习自动机使用这张概率图来选定皮肤区域。
具体检测的步骤如图4所示。
输入图片
基于颜色的皮肤识别
纹理特征识别基于CLA 的纹理分析识别结果图4
基于CLA 的皮肤检测流程
1241
第49卷
皮肤区域的纹理是比较光滑,通过它的颜色
先选定皮肤区域,再结合肤色和纹理信息根据其不
同的纹理特性,通过CLA分析进行进一步识别[8]。
如图5其中显示了具有不同纹理的两个皮肤候选
skilled
区域的示例,
其颜色相似但纹理是完全不同的。
(a)(b)
图5皮肤检测候选区示例
我们可以根据相邻像素的颜色信息及其欧几
里德距离,提取区域的纹理。首先,对于图上的每
个像素(r,g,b)先使用式(3)计算该像素的颜色与
块中的所有邻域之间的欧几里德距离[9]。然后,通
过(4)计算“粗糙度图”,最后,使用计算的粗糙度值
来计算“概率图”式(5)。
D
Y,X
i,j
=(r
X
i,j
-r
Y
)2+(g
eigendecompositionX
i,j
-g
Y
)2+(b
X
i,j
-b
Y
)
2
(3)
C
i,j
=Variance(D
Y X
i j
)YÎW´W around X
i j
(4)
usingP
i j
=1-
C
i,j
max(C
m n
)
m nÎI(5)洛杉矶湖人英文
通过概率图的计算,学习机(CLA)可以对整张
图的皮肤纹理进行分析,我们根据中心自动机及其
邻域的选定动作来奖励或惩罚每个学习自动机[10]。
如果选择与皮肤相关行为的学习自动机数量更多
(超过7个),对中心学习自动机进行奖励。如果选
择与非皮肤相关的学习自动机的数目少(少于4
个),我们就用它的学习算法来惩罚中心学习自动
机[11]。具体如图6
。
图6学习自动机的奖惩机制
接头英文经过几次迭代后,CLA中的每个现有自动机都
会聚在一起,选择皮肤或非皮肤状态[12]。学习自动
机收敛到0或1,流程就会停止。至此可以将每个
像素划分为皮肤像素或非皮肤像素。
3仿真结果
仿真环境使用了Win10系统下的Visual Stu⁃
dio2013加OpenCV包完成RGB颜色空间和YCrCb
椭圆空间模型的皮肤检测,Matlab2016加Image
Processing Toolbox完成了基于机器学习(CLA)的皮
肤检测[13]。
图片选自网络中随机的三张街景,分别包含一
人两人和三人下面为具体的仿真结果,其中每组第
一张为原图,第二张为RGB颜色空间下的皮肤检
测结果,第三张为YCrCb椭圆空间模型下皮肤检测
结果,第四张为基于机器学习(CLA)的皮肤检测结
果。
科米课堂
(a)
单人皮肤检测算法结果
(b)
双人皮肤检测算法结果
(c)三人皮肤检测算法结果
图7单人、双人、三人皮肤检测算法结果
由上面对比明显见在街拍自然光背景存在干
扰的情况下,使用RGB颜色空间的皮肤检测存在
很高的误检率,YCrCb椭圆空间模型下相对较好但
还是存在部分环境影响导致的误检测[14],基于机器
全国乙卷语文答案学习(CLA)的皮肤检测获得了相对满意的检测效
果,最大程度地减少了皮肤误检测[15]。
表1为三种不同皮肤检测方式的皮肤正检率
与误检率统计。
表1各种皮肤检测算法正误检率
RGB颜色空间
YCrCb椭圆空间
CLA皮肤检测
图一正检
97.8%
97.4%
97.2%
图一误检
54.2%
35.5%
11.6%
图二正检
98.1%
97.4%
97.3%
图二误检
65.4%
41.6%
13.4%
图三正检
97.8%
97.8%
97.8%
图三误检
64.4%
26.5%
8.4%easterisland
邹奉天:几种皮肤检测算法的仿真
1242
2021年第6期计算机与数字工程
从数据上看基于机器学习(CLA)的皮肤检测可以在基本保持正检率的情况下极大地减少皮肤误检率。
4结语
通过对几种皮肤检测算法的仿真与比较,我们不难发现基于RGB的皮肤检测算法虽然算法简单,但在复杂环境光,复杂背景的情况下存在比较大的误检率,基于YCrCb椭圆空间模型下的皮肤检测则主要减少偏蓝色背景的误检,但还是存在比较大的皮肤误检率,特别是背景也存在偏黄色的场景时。基于机器学习(CLA)的皮肤检测因为引入了背景纹理可得分析,所以对于偏黄色的草地这类粗糙背景,可以有效过滤,但部分飞粗糙类肤色的背景如金色光滑的栏杆,衣服上白条等,还是存在部分的误检情况,不过相对来说误检已经极大地减少了。
在单一光源,教单一背景下很多算法都能比较准确地检测肤色,但遇到室外复杂自然光复杂背景的情况,对肤色检测的算法也提出了更高的要求,基于机器学习通过引入纹理检测肤色能部分解决误检的问题,但还是存在一定程度的误检情况,如果我们引入更多维度的特征,比如形态学特征,背景分析前景提取等,应该可以进一步提高检测率减少误检率,这也是我们可以进一步考虑改进算法的方向。
参考文献
[1]张巧运.基于深度学习及密度峰值聚类的皮肤检测算法研究[D].南京:南京邮电大学,2017:2-15. ZHANG Qiaoyun.Rearch on skin detection algorithm bad on deep learning and density peak clustering[D].
Nanjing:Nanjing University of Posts and Telecommunica⁃tions,2017:2-15.
[2]吴要领.基于YCrCb色彩空间的人脸检测算法的设计与实现[D].成都:电子科技大学,2013:4-20.
WU Yaoling.Design and implementation of face detection algorithm bad on YCrCb color space[D].Chengdu:Uni⁃versity of Electronic Science and Technology of China,2013:4-20.
[3]彭瑶.基于纹理特征的低质腿部图像识别研究[D].成都:四川师范大学,2018.
PENG Yao.Rearch on image recognition of low quality legs bad on texture features[D].Chengdu:Sichuan Nor⁃
mal University,2018.
[4]杨雯杰.基于皮肤镜图像的皮损区域识别研究[D].成都:电子科技大学,2018.
YANG Wenjie.Rearch on skin lesion recognition bad on dermoscopic image[D].Chengdu:University of Elec⁃tronic Science and Technology of China,2018.
[5]Huang,F.J.Chen,T.Tracking of multiple faces for hu⁃man-computer interfaces and virtual environments[C]// Proc.IEEE Int'l Conf.Multimedia and Expo,New York,2000.
[6]Ho,W.Watters.Statistical and structural approaches to filtering internet pornography[C]//in IEEE International Conference on Systems,Man and Cybernetics,2004:4792-4798.
[7]Meybodi,M.R.Kharazmi,M.R.,Application of Cellu⁃lar Learning Automata to Image Processing[D].Journal of Amirkabir,2004,14(56):1101-1126.
[8]Phung,S.L.Bouzerdoum,A.,Chai.Skin gmentation using color pixel classification:analy
sis and comparison [J].IEEE Trans.Pattern Anal.Mach.Intell,2005,27(1).[9]Meybodi,M.R.Beigy,H..New Learning AutomataBad Algorithms for Adaptation of Backpropagation Algorithm Parameters[J].International Journal of Neural Systems,2002,12(1):45-68.
[10]Navid Razmjooy,Mehdi Ramezani,Noradin Ghadimi.Im⁃perialist Competitive Algorithm-Bad Optimization of
Neuro-Fuzzy System Parameters for Automatic Red-eye
Removal[J].International Journal of Fuzzy Systems,
2017,3(11):1-13.
[11]Sofiane Medjram,Mohamed Chaouki Babahenini,Abdel⁃malik Taleb-Ahmed,et al.Real-time wrist localization
in color images bad on corner analysis[J].Multimedia
Tools and Applications,2017,76(14):15297-15324.[12]Sinan Naji,Hamid A.Jalab,Sameem A.Kareem.A sur⁃vey on skin detection in colored images[J].Artificial In⁃
telligence Review,2019.
[13]Ankit Chaudhary,J.L.Raheja.Light invariant real-time robust hand gesture recognition[J].Optik,2018:159.[14]Hanry Ham,Felix Jingga,Dewi Suryani,et al.Unsuper⁃vid Hand Detection in Class Room Using Combination
of Skin Detection and Hough Transform[J].Procedia
Computer Science,2017:116.
[15]Abdul Rahman El Sayed,Abdallah El Chakik,Hassan Alabboud,et al.Efficient3D point clouds classification
for face detection using linear programming and data min⁃
ing[J].The Imaging Science Journal,2018,66(1):
23-37.
1243