人脸检测(Face Detection)是指在输入图像中确定所有人脸(如果存在)的位置与大小。人脸检测系统的输入是可能包含人脸的图像,输出是关于图像中是否存在人脸以及人脸的数目、位置、尺度等信息的参数化描述。
然而,人脸作为人类自身再熟悉不过的一个组成部分,其检测问题却是一个极富挑战性的课题。首先,人脸是一个包含五官、毛发等极不规则的复杂待测目标,不同的人脸在形状、大小、颜色、质地等方面都有很大的变化性;其次,为了实现检测方法的鲁棒性,要考虑人脸在各种复杂的背景中,不同的方向、角度、尺度等情况下所展现出来的不同表象;再次,我们所基于的检测对象或称为环境大多是由图像捕捉设备所采集的数字图像或视频流中的数字图像序列,所以采集条件,特别是光照条件,包括光源的方向、明暗、色彩等,都会对图像的效果产生很大的影响,进而影响对人脸的检测;另外,人脸上还可能长有胡须、戴有眼镜或其他装饰品等,这些也同样是设计一种有效的人脸检测算法时不可忽视的因素。
可见,人脸检测有一定的难度和复杂性,但对这一问题的深入研究必将推动模式识别、计算机视觉、人工智能等信息科学分支的发展。人脸检测问题在近十年中得到了广泛的关注,国内外很多研究人士提出了很多方法,在不同的领域取得了一定的成果。但是对于寻找一种能够普遍适用于各种复杂情况的、准确率很高的检测算法,还有很大的探索空间。
下面介绍一些人脸检测方法。
1.基于知识的自顶向下的方法
这种方法是基于在认识人脸的过程中所总结出来的一些先验知识,把它们归结成为一些复杂程度由简而繁的规则。例如:“正面人脸都包括两只位置相互对称的眼睛”“灰度图像中眼睛要比脸上其他地方暗”等。找到一系列规则后,把它们应用到输入图像中,搜索出符合规律的人脸区域。
2.基于人脸特征的自底向上的方法
这种思想首先用各种数字图像的处理方法对输入图像进行处理,根据处理结果提取出来的某些特征与人脸的某些共性进行比较,借此来判断某一区域是否为人脸。举例来说,可以用数字图像处理中常用的提取边界的方法在输入图像中寻找边界,然后试探哪些边界能够像正面人脸的左边线、右边线和发髻线那样构成人脸轮廓;还可以利用从图像中提取出来的色彩和纹理信息与人脸的色彩和纹理模型进行比较,得出可能的人脸区域。当然,各种人脸特征的综合运用,对于提高检测算法的性能会有很大的帮助。
3.模板匹配的方法
首先,建立并存储一些人脸模板作为标准,可以包括正面人脸或是单独的眼睛、鼻子、嘴。利用一些算法来计算各待测区域与标准模板的相似程度(或称为相关性)。利用这一详细程度来判断某一区域是否为人脸。
4.基于人脸外观的方法
这种思想是指通过搜集大量的人脸和非人脸样本作为训练集,用人工神经元网络、支持向量机(SVM)等方法训练出一个分类器来检测人脸。这种思想与其他思想的不同之处在于,它并不首先人工地对人脸进行分析或是抽取模板,也不对输入图像进行复杂的处理,而是利用大量的人脸整体外观,用结构化的方法来训练出人脸检测的分类器。在这一类方法中,特征向量、统计学、信息学等思想也得到了运用。
上述各种方法都存在着自身的优缺点和适用领域,很多学者在各自所面临问题的范围内不断探索,发明了许多卓有成效的检测算法。但各种检测算法都存在着效率与性能上的矛盾,也即在正确率、鲁棒性等方面更好的算法往往会花费更多的时间及系统消耗。
5.基于肤色的人脸检测算法
上面在对人脸检测方法进行综述的过程中,采取的分类原则主要是从研究方法的角度出发。当然,分类原则不同,自然会产生不同的分类结果。例如,若以检测过程中是否利用了色彩或肤色信息,可以分为给予彩色信息的人脸检测算法、基于灰度信息的人脸检测算法及彩色信息与灰度信息相结合的人脸检测算法;在彩色信息与灰度信息相结合的人脸检测算法中,又可以根据如何应用肤色信息这一角度再进行细分。例如,可以分为肤色信息作为前期预处理的方法、肤色信息作为后期验证的方法等。
由于本节所采取的人脸检测算法正是基于肤色算法的改进,所以下面首先对于肤色人脸检测算法进行详尽的阐述。
(1)色彩空间与色彩空间的聚类 根据计算机色彩理论,对一种颜色而言,在计算机中有不同的表达方式,这样就形成了各种不同的色彩空间。当然各种色彩空间都只不过是颜色在计算机内不同的表达形式而已,每一种色彩空间也都有其各自的产生背景、应用领域等。主要的色彩空间有以下几种:
1)RGB格式(红、绿、蓝三基色模型):由于彩色图像是多光谱图像的一种特殊形式,对应于人类视觉的三基色即红、绿、蓝三个波段,是对人眼的光谱量化性质的近似。因此利用R、G、B三基色这三个分量来表征颜色是很自然的一种格式。而且多数的图像采集设备都是以电荷耦合器件(CCD)技术为核心,直接感知色彩的R、G、B三个分量,这也使得三基色模型成为图像成像、显示、打印等设备的基础,具有十分重要的作用。
2)SHI格式(色度、饱和度、亮度模型):这是Munseu提出的色彩系统模型,经常为艺术家们所使用。这种格式反映了人类观察色彩的方式,同时也有利于图像处理。在对色彩信息的利用中,这种格式的优点在于它将亮度(I)与反映色彩本质特性的两个参数——色度(H)和饱和度(S)一一分开。当提取一类物体(比如现在研究的人脸)在色彩方面的特性时,经常需要了解其在某以色彩空间的聚类特性,而这一聚类特性往往体现在色彩的本质特性上,而又经常受到光照明暗等条件的干扰影响。光照明暗给物体颜色带来的直接影响就是亮度(I)分量,所以若能将亮度分量从色彩中提取出来,而只用反映色彩本质特性的色度、饱和度来进行聚类分析,会获得比较好的效果。这也正是SHI格式在彩色图像处理和计算机视觉研究中经常被使用的原因。
3)YCbCr(YUV)格式:这种色彩空间是以演播室质量标准为目标的CCIR601编码方案中采用的彩色表示模型,被广泛地应用在电视的色彩显示等领域中。它同样具有SHI格式中将亮度分量分离的优点,但由于它可以从RGB格式线性变化得到,所以直接应用于物体色彩聚类分析的情况不多,相比之下,在其基础上的变换模型的应用更为普遍。
以上介绍了在计算机视觉领域特别是在肤色信息的提取中比较常用的几种格式,目前这几种色彩空间在建立物体色彩模型中都有应用。例如:RGB色彩空间在利用查找表建立的肤色模型中很常见;也有人在提取唇色在色彩空间中的聚类特性时直接利用了YUV(YCbCr)色彩空间;A.K.Jain等利用变型的YCbCr色彩空间进行彩色图像中的人脸检测问题的研究。
(2)肤色模型的建立 肤色模型描述给定色度空间Rn(n=2或n=3)中的像素x∈Rn与“肤色”的相似程度λ的映射关系为f∶x→λ。传统的建模方法是选取大量的肤色像素样本,将其映射到给定的色度空间后,利用统计的方法得到上述映射关系。描述映射关系常用的模型有高斯模型、混合高斯模型及直方图模型等,为了消除光照的影响,一般去掉色度空间的亮度分量。但是这种方法仅考虑了单个肤色像素的统计特性,没有考虑人脸肤色区域像素间的相关性;同时除去亮度分量虽然提高了模型对光照变化的适应能力,但也会造成错误报警的增加。基于高斯模型合成的肤色模型,该模型考虑了人脸肤色区域像素的整体特性,为各个人脸样本的肤色分别建立三维高斯模型,然后将各个模型叠加,并映射到一个三维查找表中,构成通用的肤色模型。
首先,为手工选取的每个人脸样本的肤色区域建立模型。使用了锥形展开的SHI色度空间。考虑RGB格式的真彩色图像,首先将其变换到SHI色度空间:
SHI色度空间实际上是一个锥形的坐标系,将其展开为直角坐标系,得
就变换为锥形展开的SHI色度空间。其中各分量的取值范围分别为Yc∈[-255,255]、Ys∈[-255,255]和I′∈[0,255]。(www.daowen.com)
通过实验可以发现,单个人脸的肤色区域中的像素在该色度空间中大致符合二维高斯分布,因此使用二维高斯分布模型为每个人脸样本的肤色建模。
对于肤色光谱反射曲线而言,人类的自然肤色具有形状与走向规律的共同特点:短波范围反射率较低,随着波长的增长,反射率逐步升高,在500~600nm之间有一个陡升,人脸样本的色差分布相对集中。但由于分布范围的跨度较大,为了保证算法对不同种类的视频都具有适应性,肤色检测器的范围相对要取得大一些。
用一个二维高斯分布描述如下:
皮肤检测器的范围D满足
若像素Pi的色差值u在范围D内,则认为像素为肤色像素。当区域内标记为肤色像素的百分比超过p>Th时,则认为该块区域可能为人脸区域。通常取Th=0.7。
为单个人脸样本建立肤色高斯模型具有如下作用:①由于各个人脸样本存在尺度等差异,其中肤色区域的像素数有很大不同,如果直接利用肤色像素建立“肤色”直方图,则每个人脸样本的贡献是不同的(尺度大的,贡献大),这显然是不合理的。为每个人脸样本建立高斯模型的方法则消除了上述差异,起到了样本归一化的作用。②由于肤色区域中不可避免地存在噪声(例如由于图像采样引入介于“肤色”与“背景色”之间的像素),如果直接使用区域中的像素建立“肤色”直方图,这些噪声与正常的“肤色”叠加在一起,难以去除。使用高斯模型则可以通过阈值的方法在合成之前将这些噪声滤除。③由于图像采样和量化等因素的影响,人脸样本的肤色像素在色度空间中的分布可能不连续,反映在直方图中就是在“肤色”区域内存在一些“空洞”。高斯模型将填补这些“空洞”,其物理意义就是假设单个人脸的皮肤颜色在色度空间中为连续分布。普遍认为该假设是切合实际的。
(3)肤色算法的改进 传统上人脸定位多在亮度空间,由于没有任何区域或比例的限制,必须做多尺度空间的全搜索,运算量相当大,而利用色度信息可以大大降低搜索区域,肤色信息是最直接有效的,肤色检测可以在多个色度空间中进行:RGB归一化、SHI、CYMK、YCbCr方法等。本节中选用YCbCr空间来作为检测空间,该空间的优点是受亮度变化的影响较小,且是两维独立分布,和通用视频输入源的格式一致,无须额外作色度空间的变换。
选用的颜色空间是CCIR601推荐标准采用的彩色空间。在这个彩色空间中,每个分量、每个像素的电平规定为255级,用8bit代码表示。从RGB转换成YCbCr空间时,使用下面精确的转换关系:
式中,亮度电平EY′和色差电平E′Cb和E′Cr分别是CCIR 601定义的参数。由于EY′的范围是0~1,E′Cb和E′Cr的范围是-0.5~+0.5,因此Y、Cb和Cr的最大值必须达到255。于是RGB和YCbCr之间的转换关系需要按照下面的方法计算。
1)从RGB转换成YCbCr:YCbCr(256级)分量可直接从用8bit表示的RGB分量计算得到,即
2)从YCbCr转换成RGB:RGB分量可直接从用8bit表示的YCbCr分量计算得到,即
经过统计证明,不同人种、不同环境下的肤色区别主要受亮度影响,受色度影响较小,YCbCr空间下肤色的统计分布如图4-1、图4-2所示。
图4-1 肤色的Cb分量统计分布
图4-2 肤色的Cr分量统计分布
本节采用通用阈值方法对肤色区域进行判决,对于图像中每一个像素(i,j),有
这样将图像转变成一个二值图像。图4-3所示即为肤色检测的结果,白色的区域就是肤色区域。
图4-3 原始图像与肤色检测结果
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。