基于肤色模型和中线定位的人脸检测算法

2013-09-29 05:20刘在英朱琳玲
计算机工程 2013年1期
关键词:肤色中线人脸

刘在英,朱琳玲,杨 平

(上海杉达学院信息科学与技术学院,上海 201209)

1 概述

人脸检测作为人脸信息处理的重要内容,已广泛应用于视频监控等诸多领域。目前的人脸检测算法总体上分为基于显性特征的方法和基于隐性特征的方法。基于显示特征[1-2]的方法是指由人通过肉眼观察,总结出人脸的特征,如肤色、脸部轮廓等,然后根据被检测区域是否满足这些人脸特征来判定该区域是否包含人脸。而基于隐式特征的方法将人脸区域看成一类模式,使用大量人脸、非人脸样本训练[3-4],构造分类器,通过判别图像中所有可能区域是否属于人脸模式的方法来实现人脸检测。由于基于显性特征的人脸检测速度快、易于实现,已有多种算法,但面临的主要问题是对于背景复杂,待检测图片上人脸大小不一等情况,其检测率较低。为此,本文提出一种改进的基于肤色模型和中线定位的人脸检测算法。

2 肤色检测模型

肤色特征[5]是人脸检测中可以应用的一个重要特征,对于肤色检测,目前国内外提出了很多肤色空间模型,主要包括HIS、YCrCb和RGB空间比率等模型。复杂背景是肤色检测中不可回避的一个问题,这些类肤色区域若不能很好地被排除,后续的检测工作将很难进行。主要的类肤色包括:黄色,橙色,红色等。文献[6]提出进行类肤色区域排除的方法,但使用类似方法进行肤色检测会增加候选区域。本文采用RGB空间分布模型[7],可以较好地克服上述缺点,大大减少类肤色区域。实际上,人脸肤色模型中的R值一定会超过70,这是因为人的肤色会表现出血液的颜色,所以可以通过R的不同取值范围来调整G、B以及三者之间的差值,以获得真正的肤色区域。判定方法如下:

其中,P( x, y)是图像某点的像素值。肤色区域判定条件如图1所示。若图像中某一像素的R、G、B3个分量以及它们之间的差值全部满足图中某一行的限定范围,则认为该点为肤色点。

图1 肤色区域判定条件

3 人脸检测与定位

人脸检测是一个比较精细的过程,因此,对于前期的处理工作和后期的判别定位同等重要。

3.1 前期处理部分

前期处理部分是人脸检测的初步准备阶段,首先通过预处理操作获得处理后的图片,此时的图片被分为了很多个候选区域,再凭借人脸的特征把预处理后图片的非人脸肤色区域排除掉。

前期处理操作主要根据人脸的一些显性特征入手,这里面主要采用的显性特征包括脸部的孔洞特征、长宽比特征、面积大小以及边缘检测后人脸部分的变化剧烈程度特征等。

3.1.1 孔洞区域的取得与判定

人脸检测流程如图2所示。

图2 人脸检测流程

各个特征判定条件的参数选取可以通过图 2获得。由于人脸的五官特征,经过处理后的图片,人脸部分会出现很多的孔洞[8],它们分别对应人的双眼、鼻子、嘴部,通过该特征可排除大部分非人脸肤色区域。得到空洞区域的操作流程如下:

(1)将肤色检测后的图片进行开操作,分离肤色区域,然后对各个区域进行孔洞填充。

(2)对原始图像(灰度)用 Canny算法进行边缘检测,找到图像中的边缘部分,因为人脸的五官与周围的肤色反差很大,所以在人脸部分将会形成一个边缘区域。

(3)对步骤(1)和步骤(2)的处理结果进行一个与操作,以获得肤色区域的内外围边界。

(4)去掉步骤(3)中各个候选区域的外层边缘,然后再统计各个候选区域内的孔洞数,在统计孔洞的时候,可以采用行扫描的方法,看其是否出现0到1、1到0的变化(指灰度图象中像素值的变化),若出现,则认为该区域存在空洞。

3.1.2 其他判定特征说明

人脸部分由于五官的影响,其区域内部变化会很剧烈,这个特征是其他肤色区域和类肤色区域所不具备的。它的实现过程可以添加到空洞判别过程的步骤(3)中,作为空洞特征一个很好的补充[9]。

脸部长宽比例和面积大小特征是在孔洞填充后采用的,这种方法比较普遍,其参数的选取规则如下:

(1)长宽比例特征

人脸通常是椭圆形的,对于一个正面或是稍微倾斜的人脸而言,其长宽的比值是>1的,因此,可通过长宽比来排除一些不符合条件的区域,本文采用的比例关系是0.7~2.0,在此范围之内的区域被保留。

(2)面积大小特征

人脸检测作为人脸识别的前提,研究不能分辨人物特征的人脸是没有价值的,所以,在检测的过程中要把过小的候选区排除,能被分辨出人物特征的人脸大小应在20×20像素以上,因此,面积的阈值设定为400,只有大于该阈值的区域才被保留。

3.2 人脸定位

本文采用“中线定位”的方法,该法主要利用人脸五官附近在边缘检测后会出现很大的边缘特征[10],通过在水平方向上的投影,得到连续的非 0区域峰值。在一个正面或是倾斜的人脸上面,在边缘检测后,沿着鼻子和嘴的投影值最大,利用该特性可以确定人脸的中线位置。其确定过程如下:

(1)首先进行水平投影,然后确定最大水平投影值的位置,表达式为:

其中,Hi表示第i个区域的水平投影数组;cen( w)表示取得最大的投影值,它对应的实际横坐标为3×w。

(2)孤立极点的消除,规则为:

(3)由于鼻子与嘴都有一定的宽度,因此为了保证中线位置的中心性,对中线位置进行微调:

(4)嘴和鼻子的宽度的确定:中线的周围会有很多的亮点,对应鼻子和嘴边缘检测结果,以中线为中心,从该区域的顶端开始到底端,水平在(w−5,w+5),高度为 5个像素的范围内的积分,找到积分最大值max_mouth,若积分最大值左右的积分值大于0.5×max_mouth,则认为这个位置就是嘴的水平坐标,否则认为此点是噪声,应去除,重新取得最大值。确定嘴和鼻子的宽度(w_mouth)的方法与嘴的横坐标的确定方法相似,只要改变水平积分为范围即可。

(5)通过得到的嘴的宽度来确定人脸的高度,w_face=w_mouth×2,这样人脸的粗略位置已经得到定位。

(6)按照左、右、上、下的顺序进行微调:

其中,top、bottom、left、right表示初步定位的人脸的上部、下部、左部和右部;Higi表示第i个候选区域的人脸的高度;area表示人脸初步定位区域的水平积分值。同理,对其他3个边界进行微调。

(7)重新获得人脸的4个边界,对定位好的人脸进行最后的验证:

If((right−left)/(bottom −top)>1.5||(right−left)×(bottom −top)< 400)

清除标记区域内的亮点,返回步骤(4),进行二次扫描重新得到嘴和鼻子的宽度以及嘴的横坐标。

else 返回步骤(1)进行下一个候选区域的人脸定位。

4 实验结果与分析

在实验中,人脸图像主要来源于 Internet,包括不同环境、不同复杂背景的人脸图像,图像大小范围从120×120像素到600×480像素不等,中线定位法检测结果如图3所示。

图3 中线定位法检测结果

本文对50幅黑色头发单人脸图像,50幅棕色头发单人脸和80幅多人脸(共200张人脸)进行测试,测试系统是基于Microsoft Visual C++6.0和Matlab 6.5编程实现,在Intel酷睿2.8 GHz双核CPU、2 GB内存的机器上运行,单人脸检测结果(棕发)、单人脸检测结果(黑发)、多人脸检测结果的平均检测速度分别为39 ms/帧、39 ms/帧、41 ms/帧,实验结果如表1所示。

表1 本文算法的检测率、漏检率和误检率 (%)

由表1可知,该算法能实现多姿态人脸的快速检测,且定位率较高。但随着图像中人脸数目的增加,人脸提取算法错误率上升,其原因是随着人脸数目的增加,人脸面积会变小,人脸五官特征会模糊,预处理的部分算法会失效,导致人脸候选区域被排除。

5 结束语

本文提出一种基于肤色模型和中线定位的人脸检测算法。采用基于肤色模型的预处理技术排除非人脸区域,对图像进行边缘检测与腐蚀操作,在此基础上,采用中线定位法进行人脸的检测与定位。实验结果表明,该算法对于不同的人脸具有较高的检测率,较强的鲁棒性,且检测速度快,基本达到实时人脸检测的要求。下一步的工作重点是将其与基于隐性特征的方法结合,进一步提高检测率,并在大规模样本库中进行仿真验证。

[1]Hu Wu-Chih, Yang Ching-Yu, Huang Deng-Yuan, et al.Feature-based Face Detection Against Skin-color Like Backgrounds with Varying Illumination[J].Journal of Information Hiding and Multimedia Signal Processing,2011, 2(2): 123-132.

[2]章毓晋.图像理解与计算机视觉[M].北京: 清华大学出版社, 2000.

[3]驱仕茹, 熊 波.基于 Gabor滤波和神经网络的人脸检测方法研究[J].西北工业大学学报, 2011, 29(5): 690-694.

[4]梁路宏, 艾海舟, 徐光佑, 等.人脸检测研究综述[J].计算机学报, 2002, 25(5): 449-458.

[5]Yang Ming-Hsuan, Driegman D J, Ahuja N.Detecting Faces in Images: A Survey[J].IEEE Transactions on Pattern Analysis and Machine Intelligence, 2002, 24(1):34-58.

[6]Chiunhsiun L, Fan Kuo-Chin.Triangle-based Approach to the Detection of Human Face[J].Pattern Recognition,2001, 34(6): 1271-1284.

[7]侯建党.复杂背景下的多人脸检测[D].大连: 大连理工大学, 2007.

[8]黄福珍, 苏剑波.人脸检测[M].上海: 上海交通大学出版社, 2006.

[9]王文宁, 李慧娴.一种基于颜色和形状特征的人脸检测方法[J].计算机系统应用, 2008, 32(7): 58-61.

[10]Hsu R L, Abdel M M, Jain A K.Face Detection in Color Images[J].IEEE Transactions on Pattern Analysis and Machine Intelligence, 2002, 24(5): 696-706.

猜你喜欢
肤色中线人脸
有特点的人脸
一起学画人脸
Conversation in a house
人的肤色为什么不同
为什么人有不同的肤色?
课本内外
课本内外
——书写要点(三)
三国漫——人脸解锁
课本内外
长得象人脸的十种动物