郑青碧, 王宏勇
(1.商丘职业技术学院 计算机系, 河南 商丘 476000; 2.河南工业大学 信息科学与工程学院, 河南 郑州 450001)
人脸特征点自动定位技术是人脸图像处理中的一项关键技术,它运用计算机技术对人脸图像进行分析与处理,进而自动定位出人脸特征点的位置.定位的准确度直接影响到后续工作的可靠性.快速精确的人脸特征点定位为人脸跟踪、姿态表情分析和三维人脸建模等研究工作提供了基础性数据.
目前,国内外学者已经提出了许多关于人脸特征点自动定位的方法,现有的特征点自动定位的主流方法可分为以下4种[1]:基于先验规则的方法、基于几何形状信息的方法、基于色彩信息的方法,基于统计模型的方法.基于先验规则的方法构造简单容易实现,但对事先设定的先验规则具有强烈的依赖性,因此算法不易于推广.基于几何形状信息的方法是目前应用范围最为广泛的一种特征点自动定位方法,易于理解和应用,但是模板的初始位置将直接影响到定位结果的精确度.基于色彩信息的方法虽然工作效率高,但容易受到光照和图像采集设备的影响,鲁棒性较差.基于统计模型的方法具有较好的鲁棒性,但算法过于复杂,计算量大,效率低.
针对以上算法的不足,本文提出一种基于肤色特征的人脸特征点定位方法.首先,利用多个色彩空间的肤色特性对图像中人脸区域进行精确定位.然后,根据各特征部位的特性构造色度模型函数提取其外包矩形,对其进行粗定位.最后,在各外包矩形内对特征部位进行细定位,实现人脸特征点的自动提取,从而能够满足被检测人脸特征点实时精确定位的需求.
对人脸图像进行预处理的目的是为了使人脸的特征点信息更加突出,减少背景噪声的干扰,降低特征点定位算法的复杂度,提高特征点定位的精确度.本文对图像进行预处理的步骤主要包括图像增强和图像二值化.
图像增强的目的是为了使特征部位显示更为清晰,从而会降低阈值大小对特征点分离出来效果的影响,增强特征点定位的效率和精确度.高通滤波能够突出图像的边缘部分[2],同时也补偿了人脸部的特征点信息,因此可以把高通滤波作为图像增强的途径.原始人脸图像和采用高通滤波增强后的人脸图像分别如图1、图2所示.
二值化的目的是减少图像冗余信息,同时降低运算复杂度[3].本文首先将彩色图像转化为灰度图像,然后使用类间方差分析法对灰度图像进行二值化处理,选取阈值的基本原则是满足类间方差与各类方差的比值为最大.实验结果表明:这种方法能够将五官部位更加突出地显示出来,且边缘清晰、噪声点较少,降低特征点定位的复杂度,为后续工作奠定良好基础.图像二值化处理结果如图3所示.
图1 原始人脸图像
图2 增强处理后的人脸图像
图3 二值化处理后的人脸图像
在人脸图像进行预处理后,可以根据增强处理后的人脸图像来定位人脸区域,从而可以缩小定位范围,降低运算复杂度和误差.
肤色是面部的显著特征,并且颜色信息对方向变化不敏感,因而能够实现具有复杂表情的人脸检测.由于不同色彩空间的适用范围不同,如果只利用单一的色彩空间来检测复杂背景的人脸区域,则检测效果不太理想[4].本文综合运用YCrCb、HSV、YIQ和归一化的RGB四种色彩空间,充分利用肤色特性来实现人脸特征点的自动定位.
RGB是一种在彩色图像中最常用的色彩空间,但是由于R、G、B分量易受周围环境光照变化的影响,往往会导致人脸检测失败.YCrCb色彩空间是一种广泛应用于数字图像中的色度和亮度分离的色彩空间,肤色在YCrCb空间存在特殊的聚类性[5].RGB色彩空间向YCrCb色彩空间转换的公式如式1所示.
(1)
HSV由于其三个分量存在不相关性,它被广泛应用于图像分割领域.从RGB色彩空间转换到HSV色彩空间的公式如下:
S=1-[(3*min(R,G,B))/(R+G+B)]
V=max(R,G,B)
(2)
YIQ色彩空间常用于电视信号的传输,具有很好的聚类性,常用于光照强度不断变化的复杂场合.从RGB色彩空间转换到YIQ空间的公式如下:
(3)
对于不同种族,亮度是形成肤色差异的一个主要方面,因此为了减少RGB色彩空间对亮度的依赖性,对RGB进行归一化处理,归一化RGB色彩 空间的计算公式为:
(4)
由于肤色的Cr、Cb和H分量在直方图上的分布较为集中,具有很好的聚类性,本文利用HSV和YCrCb色彩空间来实现检测图像的肤色分割.
经过实验验证,任何肤色在YCrCb和HSV色彩空间中均满足以下条件:
77 0 (5) 对两种色彩空间的肤色检测结果采用与运算排除差异,提取共同部分,以获取图像中的肤色区域,然后对获取区域进行清除孔洞、排除小范围像素连通区域、膨胀和腐蚀等形态学操作,可以较好地实现肤色分割,分割效果如图4所示. 从经过肤色分割后的效果图来看,由于颈部和脸部是相连的,因此把颈部和脸部作为一个整体分割出来,导致脸部下边界定位不精确.由于本文的输入图像是彩色证件照,人脸正面成像时在下巴处会有阴影存在,该部位的亮度值比其他肤色区域明显偏低,据此特性可以重新定位脸部的下边界,具体步骤如下: (1)以人脸图像最下方的肤色点为起点,自下向上逐行扫描各像素点. (2)提取每个像素点的R、G、B分量值,并用亮度公式Y=0.299R+0.587G+0.114B计算该像素点的亮度值. (3)如果某一点和其上下两行相邻像素点的亮度值之差在100以上,且此时人脸的宽高比在0.7~0.9之间,则证明该点位置处为下边界,分割后的图像如图5所示. 图4 肤色分割效果图 图5 肤色检测后的人脸区域 人脸特征的选取应该具有代表性、信息量大、冗余量小等特性.基于上述特性,结合本文算法,把眉毛、眼睛、鼻子和嘴巴作为人脸的特征区域. 人眼部区域的像素点相对于其他特征区域而言具有如下特性[6]: (1)在YCrCb色彩空间中,Cr分量的值较小; (2)在YIQ色彩空间中,I分量的值较小. 基于以上特性可以构建眼睛色度模型函数,如公式5所示: EyeMap=(1-Cr2)(1-I) (6) 通过使用眼睛色度模型函数,眼睛检测的准确率有很大的提高,甚至在有眼镜遮挡的情况下,也可以成功的检测出眼睛的位置. 由于眉毛位于眼睛特征区域的上方,因此可以在这一特定区域对眉毛进行边缘检测算法来定位眉毛特征区域.进行边缘检测的方法很多,本文使用Sobel算子进行边缘检测.它具有如下两个优点[7]:一是采用了加权平均和间隔两行或者两列的差分,因而具有较好的抗噪声特性,而且图像边缘呈粗亮显示;二是很容易获取眉毛特征区域的外包矩形. 参照以前的研究成果发现,对于嘴巴的检测特别是在有胡须或嘴巴张开的特殊状态下,存在一定的难度. 实验证明,与脸部的其他特征部位相比,嘴巴部位包含的红色分量较强,蓝色和绿色分量较弱,并且嘴唇颜色在归一化的R空间亮度较强,而在归一化的G空间亮度较弱[8].据此特性构建嘴部的色度模型函数如下所示: (7) 根据式7中的模型函数可以准确的定位出嘴巴特征区域的外包矩形,即使在有胡须或嘴巴张开的特殊情况下也可以准确的定位出嘴巴的位置. 鼻子的特征区域可以根据先验知识来确定,由上述眼睛特征区域和嘴巴特征区域来定位鼻子的特征部位.鼻子区域在水平方向上的范围应该在左右眼睛区域水平线中垂线范围内,垂直方向应该在左右眼睛区域靠内眼角垂线中点的连线作为上界线,嘴巴区域上方10个像素点位置做为下界线. 根据以上方法对人脸特征区域进行定位,特征区域检测结果如图6所示. 在人脸特征区域定位的基础上,下一步的工作就需要在特征区域内对特征点进行精确定位.本文总共选取21个特征点,主要包括:眼睛4个特征点、眉毛3个特征点、鼻子3个特征点和嘴巴4个特征点.由于各特征部位的性质差异,针对不同的特征部位选择不同的特征点提取算法,具体过程如下: (1)眼睛特征点的定位 在二值化图像的眼睛特征区域内,分别从左向右和从右向左搜索第一个出现的黑色像素点分别是眼睛的内外眼角特征点,从内外眼角点连线中点的位置开始,分别向上和向下搜索最后一个出现的黑色像素点分别是眼睛中间的上下特征点. (2)眉毛特征点的提取 在二值化图像中,可以采用同眼睛特征点定位相似的方法.在眉毛区域中,分别从左向右和从右向左搜索第一个出现的黑色像素点分别是眉毛的两端特征点,以这两端点横坐标的中间位置向上搜索出现的第一个黑色像素则是眉毛的中间特征点. (3)嘴巴特征点的提取 在增强图像的嘴巴区域内,充分利用嘴唇为红色的特点,运用边缘与红色像素点提取相结合的方法.从嘴巴区域的两侧分别搜索第一个出现的红色像素点为两嘴角特征点,在两嘴角特征点的中垂线分别向上向下搜索最后一个出现的红色像素点为嘴巴中间的上下两特征点. (4)鼻子特征点的提取 首先在二值化图像的鼻子特征区域内,分别从左向右和从右向左搜索第一个出现的黑色像素点分别是左右鼻孔的位置,然后在增强图像中,左右鼻孔连线的附近范围内进行搜索,高亮区域即为鼻尖特征点.至此,已经提取出脸部定义的全部特征点.如图7所示. 图6 特征区域检测结果 图7 脸部特征点自动定位结果 为了验证本文方法的时效性,本实验在计算机上进行了模拟.该实验的模拟硬件平台为Intel Core2/2.83GHz/2GB,软件环境是Windows XP,VC++6.0,Matlab7.1,OpenGL.实验中对20幅中性人脸图像分别采用参考文献[9]中改进的ASM算法和本文算法标注21个特征点,然后从精确度和运行效率两个方面分别进行对比分析. (1)定位精度评价标准 首先采用手工标注所有样本图像中的人脸特征点,并以此为标准,分别计算利用两种不同算法提取的特征点和手工标注的特征点之间的距离.假设手工标注的人脸特征点坐标为: X=(xi0,xi1,…,xi(n-1),yi0,yi1,…,yi(n-1))T 由ASM算法和本文算法标定的特征点坐标为: (8) 其中,N为人脸样本图像的总数,n为提取的特征点的个数.考虑所有n个特征点,总误差为: (9) 两种算法的平均定位误差分别如表1所示. 表1 平均定位误差对比表 实验结果表明,利用本文算法比改进的ASM算法在定位精度上提高了11.2%. (2)定位时间评价标准 人脸特征点平均定位时间定义如下: (10) 其中ti为第i幅图像的定位时间,N为样本人脸图像的个数.在实验中分别计算利用改进的ASM算法和本文算法实现人脸特征点自动定位的平均时间,具体时间如表2 所示. 表2 平均定位时间对比表 实验结果表明,本文算法比改进的ASM算法定位时间上提高了23.4% . 本文提出了一种基于肤色特征的人脸特征点自动定位方法.实验表明该方法实现简单、运行速度快、精确度较高.该方法对彩色证件照的人脸特征点定位有较好的效果,但对黑白照片或者出现人脸偏的情况,定位效果不太理想,这是下一步的工作中需要解决的问题. [1] Butakoff C,Frangi A F.Multi-view face segmentation using fusion of statistical shape and appearance models[J].Computer Vision and Image Understanding,2010,114(3):311-321. [2] 张争珍, 石跃祥.YCgCr颜色空间的肤色聚类人脸检测法[J].计算机工程与应用,2009,45(22):163-165. [3] Stegmann Mikkel B,Ersboll Bjarne K,Larsen Rasmus.Fame-a flexible appearance modeling environment[J].IEEE Transactions on Medical Imaging,2003,22(10):1 319-1 331. [4] Iain Matthews,Simon Baker.Active appearance models revisited[J].International Journal of Computer Vision,2004,60(2):135-164. [5] 王丽婷,丁晓青,方 驰.一种鲁棒的全自动人脸特征点定位方法[J].自动化学报,2009,35(1):9-16. [6] 林维训,潘 纲,吴朝晖,等.脸部特征定位方法[J].中国图像图形学报,2003,8(8):849-859. [7] Guo Yanwen,Pan Yongjuan,Cui Xiufen,et al.Harmonic maps based constrained texture mapping method[J].Journal of Computer Aided Design & Computer Graphics,2005,17(7):1 457-1 462. [8] 崔连延,徐 林,顾树生.基于复杂度和最佳阈值的人眼定位方法[J].控制工程,2008,15(1):12-14. [9] 韩玉峰,王小林.一种基于改进的ASM的人脸特征点定位方法[J].计算机科学,2013,40(4):271-274.3 特征区域定位
3.1 眼睛特征区域的定位
3.2 眉毛特征区域定位
3.3 嘴巴和鼻子特征区域定位
4 特征点的精确定位
5 实验结果分析
6 结束语