基于肤色分割的人脸检测算法

2019-11-27 01:16:50周品李先祥
自动化与信息工程 2019年5期
关键词:肤色像素点高斯

周品 李先祥

基于肤色分割的人脸检测算法

周品 李先祥

(佛山科学技术学院)

研究一种基于肤色分割的人脸检测算法。首先将图像色彩空间由RGB转化为YCbCr;其次根据肤色点在色彩空间的聚类性能建立肤色区域模型和简单高斯模型;最后通过计算肤色相似度得到肤色似然图,经过平滑滤波、形态学处理和阈值分割等图像处理过程,确定人脸位置。实验结果表明,该算法能够较好地实现人脸检测。

人脸检测;YCbCr色彩空间;高斯模型;肤色似然图

0 引言

近年来,人脸检测在安全访问控制和视觉监测等领域应用广泛。人脸检测是人脸识别的初级阶段,具体过程是判断给定的视频或图像中是否存在人脸,存在几个人脸,并最终返回人脸所在的具体位置和分割出人脸图像。目前人脸检测的方法主要有基于先验知识、机器学习、模板匹配和神经网络等[1]。其中,基于先验知识的肤色检测算法因肤色不受形状、大小和姿态等因素影响,且在特定的色彩空间表现出聚类特性,提高了基于肤色的人脸检测技术在实际应用中的鲁棒性。

1 色彩空间的选取

为把肤色区域和非肤色区域分离,需使用可靠的色彩空间。常用的色彩空间有RGB、YCbCr和HSV等。其中RGB色彩空间中色调、亮度及饱和度3个分量无法分开,导致颜色细节难以数字化处理,不适用于肤色建模[2]。HSV和YCbCr色彩空间满足色度和亮度分离的要求,但HSV色彩空间低饱和度范围肤色的紧凑性不够好[3],且计算量也较YCbCr色彩空间大。因此,本文选择YCbCr色彩空间进行肤色建模和人脸检测。

待检测图像由RGB色彩空间转换到YCbCr色彩空间的公式如式(1)所示,效果图如图1所示。

2 检测算法

人脸检测算法按图像输入预处理、算法实现和图像输出的顺序执行。

2.1 图像输入预处理

本文采用公开的LFW数据集图像。为规范待检测图像,同时方便操作,需对图像进行尺寸归一化处理。尺寸归一化处理过程:选取一个定值,通过式(2)得到归一化系数;图像按系数有比例地缩放。

其中,为图像的纵向像素点;为图像的横向像素点。

2.2 算法实现

算法实现包括建立肤色高斯模型、图像二值化和形态学处理、去除虚假区域等过程。

2.2.1建立肤色高斯模型

肤色在YCbCr色彩空间具有较好的聚类特性和相对稳定性,且呈高斯分布统计规律。本文利用高斯分布对肤色进行建模[4]。

根据肤色在色彩空间的高斯分布,利用图像中某个像素点在高斯分布模型中距离中心的远近表示肤色相似度。函数(,)是高斯概率密度函数,通过它来确定每个像素点的肤色相似度,其计算公式[5]为

肤色的高斯模型(,)描述为

通过统计样本的肤色色度分量,可得到样本均值与方差为

= [117.4316 148.5599]

= [260.1301 12.1430; 12.1430 150.4574]

2.2.2图像二值化和形态学处理

二值图像可由图像中的像素值通过式(6)选取适当的门限值转变而来。

其中,,,分别表示图像中某个点的像素值;为待检红色像素点;为待检绿色像素点;为亮度。

根据式(7)所示的范围,可判断该像素点是否为皮肤像素点区域。其中皮肤和非皮肤区域的像素值分别用0和1表示,将待检测图像转换为二值化图像。

判断像素点是否为皮肤区域的具体流程如图2所示。首先对待检测图像进行尺寸归一化处理;然后根据式(3)计算每一个像素点的高斯概率密度,确定该区域的肤色相似度分布;再根据肤色相似度分布确定肤色阈值;最后根据阈值对图像进行二值化处理及形态学去燥。形态学去噪效果如图3、图4所示。

2.2.3去除虚假区域并标记人脸区域

经过以上步骤,基本可以确定图像中所有疑似人脸皮肤的区域。接下来进一步排除非人脸部位的皮肤区域(虚假区域),如裸露在外面的躯干或手臂等区域。

图2 判断是否为皮肤区域的流程图

图3 原图和二值化图

图4 先腐蚀后膨胀效果图

本文基于肤色分割的人脸检测算法去除虚假区域规则:1)人脸区域的长宽比在[0.8, 2]区间,若某区域太过狭长或太过宽扁都可以确定为非人脸部位;2)设填充率=/(为实际肤色区域面积;为检测出的皮肤区域的矩形面积)。经过多次实验可知:若>0.85可能为裸露的皮肤区域(如胸和背部);若<0.5可能是手掌或单一的局部皮肤区域;只有在[0.50, 0.85]区间时,才被判定为人脸区域。

2.3 图像输出

根据本论文确定的算法思路,所得到的具体图片输出效果如图5所示。

3 实验结果分析

实验平台采用Matlab;操作系统为Win10,CPU 2.5 G。实验数据采用LFW人脸数据集。从该数据集中随机选取500张单人脸图像进行测试。同时,为说明算法的有效性,从日常生活中选取85张含有多个人脸(共计273个人脸)的图像进行测试。测试结果如表1所示。

图5 人脸检测效果图

表1 实验结果统计表

表1中检测准确率是指检测出来的人脸数占所检人脸总数的比值;误检率是指误检的人脸数占所检人脸总数的比值。

表1中的数据说明了该算法在检测人脸过程中,对于单人脸图像和多人脸图像的检测准确率比较高且相差不大;单人脸图像误检率比多人脸图像误检率高约5%,是因为单人脸图像来自LFW人脸数据集,该数据集的图像背景多样,亮度变化较大;而多人脸图像来自生活合照,背景相对单一。

4 结语

本文研究了基于肤色分割的人脸检测算法,该算法具有计算量小、抗噪能力强及对姿态不敏感等特点。算法测试结果表明,人脸图像的正确检测率可达92.22 %。但由于YCbCr色彩空间的局限性,只能对彩色图像进行检测。接下来可在图像预处理过程中,通过加入光照补偿的方式,减少光照对图片的干扰。

[1] 张新景,兰育飞,史颖刚.基于肤色特征的人脸检测[J].信息技术与信息化,2019(4):37-39.

[2] 李智勇,田贞.基于肤色模型的人脸检测研究[J].现代电子技术,2011,34(3):131-133.

[3] 秦立峰,何东健.基于肤色分割的人脸检测算法研究[J].计算机工程与设计,2009,30(19):4461-4464.

[4] 周满,罗浩,尉宇.基于肤色分割与几何特征的人脸检测[J].信息技术,2018(2):100-103,109.

[5] 胡晓燕,张宇.基于肤色的人脸检测算法研究[J].合肥工业大学学报(自然科学版),2012,35(7):908-912.

Face Detection Algorithm Based on Skin Color Segmentation

Zhou Pin Li Xianxiang

(Foshan University)

A face detection algorithm based on skin color segmentation is studied. Firstly, the color space of image is transformed from RGB to YCbCr; secondly, the skin color region model and simple Gaussian model are established according to the clustering performance of skin color points in color space; finally, the skin color likelihood map is obtained by calculating skin color similarity, and the face position is determined through image processing such as smooth filtering, morphological processing and threshold segmentation. The experimental results show that the algorithm can achieve face detection well.

Face Detection; YCbCr Color Space; Gauss Model; Skin Likelihood Map

周品,男,1993年生,在读硕士,主要研究方向:机器学习与图像处理。E-mail:1115013416@qq.com

李先祥,男,1965年生,硕士生导师,教授,主要研究方向:电力电子与运动控制。

猜你喜欢
肤色像素点高斯
小高斯的大发现
Conversation in a house
人的肤色为什么不同
好孩子画报(2020年3期)2020-05-14 13:42:44
天才数学家——高斯
基于canvas的前端数据加密
基于逐像素点深度卷积网络分割模型的上皮和间质组织分割
有限域上高斯正规基的一个注记
基于Node-Cell结构的HEVC帧内编码
电视技术(2014年11期)2014-12-02 02:43:28
肤色检测和Hu矩在安全帽识别中的应用
为什么人有不同的肤色?