本发明涉及一种人脸检测方法,尤其涉及一种基于肤色分层的人脸检测方法,属于人脸识别
技术领域:
。
背景技术:
:人脸检测是自动人脸识别系统中第一步,对给定的静态图像或者视频图像序列,检测其中有没有人脸,若有,将其从背景中分割出来,并确定其在图像中的位置及大小。在某些场合,拍摄图像的条件可以控制,比如警察拍罪犯的照片时要他们将脸的某一部分靠近标尺,这时人脸的定位很简单。在另一些情况下,人脸在图像中的位置预先是未知的,比如在一些复杂背景中拍摄的照片,这时人脸的检测将受以下因素的影响:(1)人脸在图像中的位置,旋转角度和尺度不固定;(2)发型和化妆会遮盖某些特征;(3)图像中出现的噪声;人脸检测的应用领域主要是人脸信息处理(验证、识别、表情分析等)系统,视频会议或者远程教育系统、监控系统与跟踪、基于内容的图像与视频检索等等。人脸检测方法大致可以分为两大类:基于人脸特征方法和基于图像内容的方法。此外,颜色和人脸运动信息可以用来作为人脸检测的预处理。基于特征的方法根据人脸的先验知识,利用人脸的底层特征如人脸轮廓、人脸边缘、器官特性、模板特征等进行人脸的检测;而基于图像内容的方法将人脸区域视为一个二维的像素矩阵,将其分为人脸和非人脸两类,使用样本训练和识别的方案。研究发现人脸的肤色在颜色空间中的分布相对比较集中,颜色信息在一定程度上可以将人脸同大部分背景分割开来,目前已经提出了很多不同的颜色空间模型,用于不同的场合。一旦颜色模型确定之后,首先可以进行肤色检测,根据它们在色度上的相似性和空间上的相关性分割出可能的人脸区域,同时利用区域的几何特性或灰度特征进行是否是人脸的验证。到90年代中期,大部分人脸检测的方法都是依靠提取人脸特征检测的。如利用Soble、Marr-Hildreth、Laplacian等算子对人脸图像提取边缘特征,将提取的边缘与预先定义的人脸边缘模型进行匹配从而推断出是否存在人脸。又如Bur首先提取人脸特征,如眼睛、鼻子、嘴巴、轮廓等,将这些特征进行整合,利用统计分析的方法推断出是否存在人脸。能动形状模型也被用于人脸检测中,主要的思想重建人脸形状可百变形模板,定义一个能量函数,通过不断调整模型参数是能量函数最小化,即能检测人脸,等等。基本上,基于特征的人脸检测方法常常转化为人脸面部特征的搜索的问题,比如,专家Hamouz就利用Gabor滤波器检测10个面部特征从而推断出人脸的存在是否。基于面部特征的检测方法优点在于面部特征相对于图像亮度,遮挡,角度等不敏感,此外,在检测到的特征信息还能用作后面的人脸识别模块。当然,缺点就在于这种算法的复杂性,特别是计算复杂性,对于处理低分辨率的图像和多人脸检测还存在困难。虽然颜色信息对于人脸检测来说是一个非常有用的信息,然而颜色信息只能将人脸肤色区域,包括人脸、手等同背景分割出来,减小人脸检测的范围,因此仅利用颜色信息来检测人脸还是不够的,还需要其他后续处理来证实肤色区域中人脸是否存在。人脸因人而异,绝无相同,即使一对双胞胎,其面部也一定存在某方面的差异。虽然人类在表情、年龄或者发型等发生巨大变化的情况下,可以毫不困难地由脸而检测和识别出某一个人,但是要建立一个能够完全自动进行人脸识别地系统却是非常困难地。它涉及到模式识别、图像处理、计算机视觉、生理学、心理学以及认知科学等方面的诸多知识,并与基于其他生物特征的身份识别方法以及计算机人机感知交互领域都有密切联系。不过,与指纹、视网膜、虹膜、基因、掌形等其他人体生物特征识别系统相比,人脸识别系统更加直接、友好,使用者无任何心理障碍,并且通过人脸的表情/姿态分析,还能获得其他识别系统难以得到的一些信息。技术实现要素:本发明要解决的技术问题是提供一种快速、准确、鲁棒性好的,基于肤色分层的人脸检测方法。为了解决上述技术问题,本发明的技术方案是提供一种基于肤色分层的人脸检测方法,其特征在于:步骤为:步骤1:人脸肤色模型建立1.1颜色空间选择采用YCrCb颜色空间来构建人脸肤色模型;1.2YCrCb颜色空间的非线性变换YCrCb色彩格式的色度分量并不是完全独立于亮度信息Y而存在的,肤色的聚类区域也是随亮度信息Y的不同而成非线性变化的;因此对YCrCb色彩格式进行非线性变换,使得Y值对于色度分量CrCb影响尽量小;1.3椭圆拟合用一个椭圆来近似肤色区域,并且计算其解析表达式,得到椭圆拟合后的人脸肤色模型;步骤2:形状认证建立分层式处理模型,用于人脸候选区域的认证,具体方式如下:1)利用人脸肤色模型进行肤色区域分割;2)为了处理不同方向的人脸,使用椭圆来近似描述人脸形状,根据椭圆长短轴的角度,分析出人脸的旋转角度,并且规定人脸候选椭圆长短轴比例,长短轴的大小在设定范围之内,对于不在这个范围内的椭圆区域将作为非人脸区域来处理;步骤3:纹理验证由于人脸区域中眼睛、嘴巴、眉毛脸部特征与人脸皮肤在颜色上的差异性,因此,人脸区域相比手形、脖子其他候选区域纹理更加复杂,计算纹理复杂度,根据纹理复杂度来进一步去除非人脸区域;步骤4:方向归一化对椭圆长短轴的夹角,旋转人脸候选区域进行方向规一化;步骤5:连通域分析眼睛、嘴巴、眉毛区域的灰度、纹理明显区别于脸部其他区域,从检测到的人脸区域可以明显看出;首先对检测到的候选人脸区域进行灰度化,经对人脸脸部特征图像分析,对其作Y方向上的梯度处理,Y代表黑色空间,再采用人脸模板进行连通域分析,当对应的连通域中灰度和超过某个阈值时,则认为该候选人脸区域为人脸区域;低于某个阈值时,则正好相反。优选地,所述步骤1中,YCrCb颜色空间的非线性变换的具体方法为:在色度分量CrCb的边界上做分段线性拟合,用色度分量CrCb的边界来限制肤色聚类区域,具体公式如下:C′i为变换后的色度分量C′b、C′r,i为b、r的分量,表示Ci的平均值,为C′i分量的比例缩放值,为C′i分量在Y方向上的比例缩放值,W为缩放比例值,LCi为C′i色调方向,HCi为C′i饱和度方向,Kl为L分量的偏移值,Kh为H方向的偏移值,Ymax为最大值,Ymin为最小值;经过上述非线性分段色彩变换,再将其投影到Cr’-Cb’二维空间中,就得到人脸肤色模型。优选地,所述步骤1中,根据HHI图像库中人脸肤色样本训练估计值,在YCrCb空间中:Kl=125,Kh=188,Ymin=16,Ymax=235。优选地,所述步骤1中,椭圆拟合的公式为:其中:ecx和ecy为椭圆中心坐标;a,b为长短轴;θ为旋转一个任意角;当旋转一个任意角之后,新的椭圆方程变为公式(10);C′b-cx表示色度空间在x方向上的投影;C′b-cy表示色度空间在y方向上的投影。优选地,所述步骤1中,式(9)和式(10)中,Cx=109.38,Cy=152.02,θ=2.53弧度,ecx=1.60,ecy=2.41,a=25.39,b=14.03。优选地,所述步骤2中,利用人脸肤色模型进行肤色区域分割时,使用中值滤波、形态学处理算子消除非人脸区域。优选地,所述步骤3中,使用方差计算纹理复杂度,根据方差的大小来进一步去除非人脸区域。由于人脸的肤色在颜色空间中的分布相对比较集中,颜色信息在一定程度上可以将人脸同大部分背景分割开来,因此选择合适的颜色模型,利用人脸肤色特性对图像进行预处理,大大缩小了人脸的搜索范围。此外,人脸的肤色特性计算复杂度小,对于人脸旋转、缩放等几何变化都是非常鲁棒的,因此利用人脸肤色特性对人脸的检测来说是有用的。本发明提供的方法首先使用人脸的肤色特性作为人脸检测的预处理,将彩色图像从RGB空间转到经过改进过的YCrCb颜色空间,利用人脸肤色在CrCb分量上比较集中的特性,分割人脸肤色区域;接着给出了一种分层人脸检测模型进行候选人脸区域的认证。本发明应用面较广,可以应用在图像识别、语音识别、数据挖掘、机器视觉等方面。附图说明图1为分层人脸检测模型框图。具体实施方式下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。一、颜色空间在介绍算法之前,先简要介绍几种颜色空间。颜色空间就是用数字来表示颜色属性的一种模型,没有一种颜色系统是通用的,因为可以用不同的模型和方法对颜色进行表达。每一种颜色空间都有它自己的颜色特性。在考虑到颜色量化的问题时,首先需要解决的问题就是定义一个颜色空间。针对不同的颜色属性存在着几种不同的色彩空间。目前,使用最广的视觉色彩空间是由CIE(CommissionInternationaledeI'Eclairage)国际生物电子学委员会在1920年第一个开发出来,并在其基础上衍变而来,不是自然界真实的颜色,其优点是,能用这些原色能将我们感觉到的颜色用数字表示。(1)RGB彩色空间:将波长分别为700nm、546.1nm、435.8nm的光定义为三原色就构成了RGB(红、绿、蓝)色彩空间。空间是一个加色空间。因为颜色是通过光色与光色相加而产生的。因此,组合出的第二种颜色总比原色更明亮。最大强度的红、绿、蓝三原色相加产生白色,相同数值的红、绿、蓝相加产生中性灰,数值越低产生的中性灰越暗,反之越亮。是电子输入设备普遍使用的色彩语言,如显示器、扫描仪和数字照相机等。这些设备是通过放射光线或吸收光线来再现色彩的,而不是使用反射光线。RGB空间是一个适合于机器处理的空间,而不是以人类视觉为基础的色彩空间。它的主要缺点是它依赖于这三原色的亮度值。因此基于RGB空间的系统对于亮度的变化、阴影和光照的不均匀性非常敏感。另外,它的色域范围也非常窄,有些可见光颜色不能用它表示。(2)CMY空间:CMY(青、品、黄)空间是一个减色空间,它被应用于印刷技术,印刷品通过反射光线的原理再现色彩。如果从白光中减去RGB三原色中的任一种,那么你将分别得到红、绿、蓝的补色CMY。用CMY减色空间产生的颜色和用RGB加色空间产生的颜色并不完全相同。特别地,CMY不能通过简单的转换表示RGB的颜色。当你从RGB的中性灰在印刷中转成CMY时,略带红紫色。这种现象可以用黑色Y来补救。但是增加第四种颜色破坏了RGB到CMYK的平等转换,使得RGB和CMYK之间的色彩对应变得更为复杂。没有简单的办法能够使它们一一对应。(3)XYZ空间:XYZ色彩空间定义了三种虚构的原色X、Y、Z,人眼的杆状和锥状细胞对它们最敏感。这个空间的特点是所有的颜色都用这些原色来表示,由RGB转换到XYZ的公式如下:(4)YUV空间:YUV色彩空间是用于复合彩色视频标准的一个基本色彩空间。区分几种原色的方法不同,YUV空间利用亮度信息Y和与色调、饱和度比例关系相对应的UV分量来表示颜色空间。UV分量也被叫做色度分量。从RGB转换到YUV的关系如下:(5)YCrCb空间:YCrCb空间是将YUV空间经过比例缩放和加上偏移量后得到的色彩空间,常用于图像压缩如JPEG、H.261和MPEG领域,它与RGB空间的关系是:二、算法研究表面人脸的肤色在颜色空间中的分布相对比较集中,颜色信息在一定程度上可以将人脸同大部分背景分割开来,因此选择合适的颜色模型,利用人脸肤色特性对图像进行预处理,大大缩小了人脸的搜索范围,此外,人脸的肤色特性计算复杂度小,对于人脸旋转,缩放等几何变化都是非常鲁棒的,因此利用人脸肤色特性对人脸的检测来说是有用的。1、颜色空间选择本实施例采用YCrCb颜色空间,其有如下优点:(1)YCrCb色彩格式具有与人类视觉感知过程相类似的构成原理。(2)YCrCb色彩格式被广泛的应用在电视显示等领域中,也是许多视频压缩编码,如MPEG、JPEG等标准中普遍采用的颜色表示格式。(3)YCrCb色彩格式具有与HIS等其他这些色彩格式相类似的将色彩中的亮度分量分离出来的优点。(4)相比HIS等其他一些色彩格式,YCrCb色彩格式的计算过程和空间坐标表示形式比较简单。(5)实验结果表明在YCrCb色彩空间中肤色的聚类特性比较好。2、YCrCb颜色空间的非线性变换由于颜色空间对于人脸图像表面的光照是敏感的,因此采用颜色空间的色度分量来构建肤色模型。选择CrCb来构建肤色模型,然而,YCrCb色彩格式直接由RGB色彩格式经过线性变换所得到,所以其色度分量并不是完全独立于亮度信息而存在的,肤色的聚类区域也是随亮度信息Y的不同而成非线性变化的。在YCrCb色彩空间中,肤色聚类是呈两头尖的纺锤形状,也就是在Y值较大和较小的部分,肤色聚类区域也随之缩减。由此可见,在Y值不同的地方,在Cr-Cb子平面中寻求肤色的聚类区域是不可行的,必须考虑Y值不同造成的影响,即对YCrCb色彩格式进行非线性变换,使得Y值对于色度分量CrCb影响尽量小。这里,在色度分量的边界上做分段线性拟合。用Cr-Cb的4个边界来限制肤色聚类区域,可以很好的适应亮度过明或过暗的区域,从而使肤色模型的鲁棒性大大提高。具体公式如下:Ci'为变换后的色度分量C′b、C′r,i为b、r的分量,表示Ci的平均值,为C′i分量的比例缩放值,为C′i分量在Y方向上的比例缩放值,W为缩放比例值,LCi为C′i色调方向,HCi为C′i饱和度方向,Kl为L分量的偏移值,Kh为H方向的偏移值,Ymax为最大值,Ymin为最小值。Kl=125,Kh=188,这些数据都是根据HHI图像库中人脸肤色样本训练估计出来的,在YCrCb空间中,Ymin=16,Ymax=235。经过这样的非线性分段色彩变换,再将其投影到Cr’-Cb’二维空间中,就可以得到实用的肤色聚类模型。按照传统的方法,可以用一个椭圆来近似这一肤色区域,并且得到它的解析表达式为:其中:ecx和ecy为椭圆中心坐标;a,b为长短轴;θ为旋转一个任意角;当旋转一个任意角之后,新的椭圆方程变为公式(10);C′b-cx表示色度空间在x方向上的投影;C′b-cy表示色度空间在y方向上的投影。解析式中的常量分别为:Cx=109.38,Cy=152.02,θ=2.53(弧度),ecx=1.60,ecy=2.41,a=25.39,b=14.033、认证虽然颜色信息对于人脸检测来说是一个非常有用的信息,然而颜色信息只能将人脸肤色区域,包括人脸、手等同背景分割出来,减小人脸检测的范围,因此仅利用颜色信息来检测人脸还是不够的,还需要其他后续处理来证实肤色区域中人脸是否存在,本实施例给出了一种分层式处理模型用于人脸候选区域的认证,如图1所示,具体方式如下:(1)首先,利用上面的人脸肤色模型进行肤色区域分割,使用中值滤波、形态学处理算子等消除非人脸区域;(2)其次,为了处理不同方向的人脸,使用椭圆来近似描述人脸形状,因为根据椭圆长短轴的角度,就能分析出人脸的旋转角度,并且规定人脸候选椭圆长短轴比例,长短轴的大小在一定范围之内,对于不在这个范围内的椭圆区域将作为非人脸区域来处理。在本实施例中,采用基于最小二乘法的椭圆拟合算法,对人脸候选区域进行拟合:设F(a,x)为待求的椭圆曲线,其中a=[a,b,c,d,e,f]为椭圆参数矢量,x=[x2,xy,y2,x,y]为样本点坐标多项式矢量;其中,a=[a,b,c,d,e,f]为椭圆参数矢量,x椭圆的X轴分量、y椭圆的Y轴分量。定义F(a,xi)=d为样本点xi到曲线F(a,x)=0的代数距离。给定N个样本点,那么椭圆参数矢量的解为:由于人脸区域中眼睛、嘴巴、眉毛等脸部特征与人脸皮肤在颜色上的差异性,因此,人脸区域相比手形、脖子等其他人脸候选区域纹理更加复杂,可以使用方差来计算纹理复杂度,根据方差的大小来进一步去除非人脸区域。随后,对椭圆长短轴的夹角θ,旋转人脸候选区域进行方向规一化,公式如下:Xrotated=Xcos(θ)+Ysin(θ)(13)Yrotated=Ycos(θ)-Xsin(θ)(14)Xrotated代表在椭圆长轴方向上旋转夹角θ后的值;Yrotated代表在椭圆短轴方向上旋转夹角θ后的值。最后进行连通域分析:眼睛、嘴巴、眉毛的区域的灰度、纹理要明显区别与脸部其他区域,从检测到的人脸区域可以明显看出。这里,首先对检测到的候选人脸区域进行灰度化,经对大量人脸脸部特征图像分析,对其作Y方向上的梯度处理,再采用人脸模板进行连通域分析,当对应的连通域中灰度和超过某个阈值时,则认为该候选人脸区域为人脸区域。低于某个阈值时,则正好相反。表2-1记录了单人脸和多人脸的检测速度。这里采用1000帧的视频图像序列作为实验样本,单人脸检测的总耗时为21258毫秒,速度大约为21毫秒/帧,而多人脸检测的总耗时为35666毫秒,速度为36毫秒/帧左右,检测精度分别为91.8%和86.6%,由于实验采用25帧/秒的视频图像,在AMD700/128RAM的PC机上显然已经满足了实时性的要求。从实验数据可以看出,本算法有着较好的效果。测试帧数测试时间(毫秒)检测速度(毫秒/帧)检测精度单人脸10002125821.25891.8%多人脸10003566635.66686.6%实验结果表明:本模型不仅能够检测正面人脸,而且对于任意水平角度、姿态的人脸表情同样有着较好的检测效果。对于各种姿态、角度、距离、相互遮挡等情况下,都能较有效的检测出多个人脸目标。当前第1页1 2 3