人脸肤色

2024-09-02

人脸肤色(精选7篇)

人脸肤色 篇1

1 概述

人脸识别是图像识别领域的一个热门话题,它自身有许多良好的特性,比如非侵扰性、采集方便等等,正是由于这些优点,它被广泛应用于海关监察、刑侦等安防领域。人脸识别过程一般包括人脸的检测和定位、特征提取和人脸识别三部分。很明显,人脸的检测是人脸识别过程中最基本的步骤,如果识别误差太大,那会对后续工作产生很大困难,甚至使结果没有任何意义。

那怎样进行检测呢?因为人脸本身有很多特征,可以根据这些特征进行检测。其中常用的特征检测有灰度特征检测和肤色特征检测。灰度特征包括轮廓特征、灰度分布特征、结构特征、模板特征等。由于人脸五官位置相对固定,灰度分布呈一定规律性,因此可利用灰度特征来进行人脸识别。通常采用统计的方法或特征空间变换的方法进行灰度特征的提取,如,利用K-L变换得到的特征脸等。下面要讲的肤色特征检测用到的肤色特征使用不同的概念,它利用的是颜色空间的聚类特性,运行速度较灰度特征要快很多。

2 肤色特征人脸检测

基于肤色特征进行人脸进行检测有很多优势,这种方法检测的速度快,而且直观,符合人们的感性认识,并且不受形状、大小的影响,算法简单易懂,相比于灰度特征的计算,它能大大提高运算速度。

在这一部分,首先介绍了颜色空间的一些特征,然后介绍了基于YCbCr颜色空间的人脸检测实验,并运用形态学的知识进行处理,最后讲了实验的结果。实验的实现使用的是matlab环境。

2.1 颜色空间的特征

RGB颜色空间是用于显示和保存彩色图像的最常用的彩色空间,由R(红)、G(绿)、B(蓝)三个分量所组成,三维空间中的三个轴分别与红、绿、蓝三基色相对应,原点对应于黑色,离原点最远的顶点对应于白色,而其他颜色则落在三维空间中由红、绿、蓝三基色组成的彩色立方体中。但是RGB颜色空间中亮度信息是隐含在三基色里面的,对光强的变化很敏感,所以不适合进行人脸检测,所以要使用色度跟亮度分离的颜色空间。色度、亮度分离的颜色空间很多,例如,VHS、YIQ、HIS、YUV、YCbCr等。

在YCbCr颜色空间里,Y分量代表亮度,Cb为蓝色分量,Cr为红色分量,实际上,还有一个分量Cg,它代表绿色分量,只是在YcbCr空间上没用到。在RGB颜色空间中,颜色由红、绿、蓝3个分量组成,每种颜色也就对应于3种颜色分量,即红色分量Cr、蓝色分量Cb和绿色分量Cg,任意2种颜色分量和亮度信息均可以构成一个三维的空间。在该颜色空间中肤色具有较好的聚类效果。所以还存在YCbCg,YCgCr等色彩空间.。在这里,使用YcbCr颜色空间。

2.2 基于YCbCr颜色空间的人脸检测

由于光线条件发生变化时,人脸颜色也会发生一定的变化,而且肤色信息会受光源颜色和肤色背景的影响,所以会在提取肤色信息产生错误提取,为了降低错误概率,需要对图像进行光照补偿,进行图像均衡处理。在这个试验中,对从网上下载的100幅人脸图像进行了检测,提取效果尚佳。

2.2.1 肤色信息的提取

图像进行预处理之后,下面进行肤色信息提取工作。由于读入的图像是JPG格式的,也就是说它的颜色空间是RGB空间,说以需要进行颜色空间之间的转换,利用颜色空间之间的转换关系:

Y=0.257*R+0.504*G+0.098*B+16;

Cb=-0.148*R-0.291*G+0.439*B+128;

Cr=0.439*R-0.368*G-0.071*B+128;

将颜色空间由RGB空间转换到YcbCr空间,那计算出YcbCr空间的系数之后,肤色信息该如何提取呢?因此要找到肤色信息的分布情况,即肤色信息集中在哪一数值段。经过多次实验得到,Y中的肤色信息范围为(50,180),Cb中的肤色信息范围为(140,190),Cr中的肤色信息范围为(142,190)。在范围内的点值设置为1,不在此范围内的点值设置为0,得到一个二值图像。如图1所示:

然而得到的二值图像中有很多不是人脸的小孔和毛刺,这些小孔和毛刺会引起特征的错误提取,那如何将这些小孔去掉呢?使用形态学的知识可以解决这个问题。

2.2.2 形态学处理

形态学以几何学为基础对图像进行分析,其基本思想是用一个结构元素作为基本工具来探测和提取图像特征。基本的运算有:膨胀,腐蚀,开启和闭合。膨胀的作用是:图像比原图像占的像素要多,是图像更大。腐蚀的作用是:图像比原图像占的像素少,有所收缩。这个实验里,试用了腐蚀,关闭,膨胀操作。开启的作用是:去掉轮廓上的突出毛刺,是有毛刺的部分变得圆滑,截断狭窄的连线,也就是将图像中细小的线给去掉。关闭的作用是:去掉区域中的小孔,填平狭窄的断裂、细长的沟壑以及轮廓的缺口,起到平滑图像的作用。

在此实验中,对前面得到的二值图像先进行腐蚀操作,将白色小孔腐蚀掉,这使得白色区域面积减小。然后对图像进行膨胀处理,增大白色区域的面积,使黑色区域减小,这是合理的结果。在这个实验中,进行了三次膨胀的到了比较理想的结果。经形态学处理后的图像如图2,3所示:

图2与图1相比,去掉了很多黑色区域,使提取的脸部区域更理想,实现了人脸的检测和定位。人脸检测出来之后,就可以进行后续处理了,例如一些准则进行分类识别,比如fisher准则等等。

总结

基于肤色特征进行人脸的检测有其独特的优势,它不受人脸图像的形状、大小的限制,能从图像中比较准确的检测出人脸,同时计算量小,在实时性要求比较严格时,肤色特征的人脸检测有很好的优势,还有,基于肤色特征的人脸检测容易让人理解,它是对颜色空间进行变换,涉及亮度、色度的转变,比较直观,符合人的视觉感受。但是肤色特征的人脸检测也有不足之处,这种方法易受光线的干扰,因为在YcbCr空间中,是基于亮度和色度的范围提取肤色区域的,如果亮度不理想,很容易影响提取效果。所以用这种方法进行人脸检测时,要对图像进行亮度调整。

参考文献

[1]李子青.国内智能视频监控技术的发展[J]. INTELLIGENT BUIDDING,2008(89):38-40.

[2]魏冬冬,詹颖.静态人脸识别技术探讨[J].图形图像,2006.

[3]尹飞,冯大政.基于PCA算法的人脸识别[J].计算机技术与发展,2008,18(10):31-33.

[4]杨淑莹.模式识别与智能计算Matlab技术实现[M].电子工业出版社,2008.

基于肤色的人脸检测算法的研究 篇2

人脸检测是指在图像中判断是否存在人脸区域并且检测人脸的位置、数目, 大小等相关信息。人脸检测问题是人脸识别的一个最关键的步骤, 其检测效果直接影响人脸识别的准确性。但对于有复杂背景和受光照影响的人脸图像, 使得准确检测人脸变的非常困难。所以, 选择何种彩色空间适合肤色表示和采用何种肤色模型能够更好的检测出人脸区域是非常关键的。

目前人脸检测方法主要有以下几种:第一类是基于模板匹配的人脸检测方法, 由于它需要大量的样本图像, 所以该方法计算量大, 速度慢。第二类是基于神经网络的方法, 通过大量的样本训练, 最后对图像各个区域进行判决, 但在实践中, 网络收敛算法却很难实现。第三类是基于彩色图像的肤色进行人脸检测, 与前两类相比, 其优点是, 肤色是人脸部最明显的特征, 在人脸区域中占主导地位的像素信息, 实验表明[1], 肤色在彩色空间中的一定范围内呈聚类特性, 而且肤色不受面部表情的影响。

1 基本算法

1.1 RGB颜色空间

RGB空间是最常用也是最简单的一种颜色表示方法, 它由R (红) , G (绿) , B (蓝) 三个颜色分量组成。计算机产生的任何一种颜色都可以由这三种基色组合而成。

经研究发现, 人脸肤色分布在RGB彩色空间的一个很小的范围内, Peter[2]给出了肤色在RGB空

此模式限制条件太多, 较为精细的给出了肤色在RGB彩色空间的分布。但是由于该模式限定了R, G, B的最小值, 所以在光线较暗时, 则会漏检肤色区域。

为了消除亮度的影响, Yang[3]提出了归一化的rgb模型, 而且验证了rgb在归一化后满足高斯分布。且归一化的颜色空间为

1.2 YCbCr彩色空间

YCbCr主要用于视频编码和广播中, 其中, Cr表示红色空间, Cb表示蓝色空间, 消除了色度对亮度的依赖关系, 同时, 肤色在YCbCr空间中具有良好的聚类特性, 将RGB彩色空间变换为YCbCr空间, 其公式如下:

考虑Y值对肤色分割的影响, 对2-1式的彩色变换做必要的修正, 在判断肤色区域前对其进行一次非线性分段彩色变换, 该变换的公式如下:

对于, 取分段阈值为Kl=125, Kh=188, Ymin=16, Ymax=235, 在Kl和Kh两个临界值之间的闭区间, 可以不考虑Y值的变化, 只用Cb和Cr来确定肤色聚类分布情况。对于在小于Kl和大于Kh的区间, 将YCbCr空间进行非线性分段变换得到YCb'Cr'彩色空间。变换的推到过程如下:

(1) 我们将肤色中轴线用来表示, 其表达式为:

(2) 同样, 将肤色区域的宽度分别用来表示, 其表达式为:

其中, Wci表示Wcb或者Wcr, Wcb=46.99, WLcb=23, WLcr=20, Wcr=38.76, WHcb=14, WHcr=10。

(3) 最后, 根据上面的结果得到分段变换的公式:

这里, Ci表示Cb或者Cr。

经过非线性变换后的YCb′Cr′空间聚类类似与柱状, 由于肤色的聚性, Rein-Lien Hsu等[1]提出的肤色在Cb′-Cr′空间的分布近似于椭圆, 因此, 肤色模型可以表示为:

其中Cx=109.38, Cy=152.02, 夼=2.53, ecx=1.6, ecy=2.41, a=25.39, b=14.03。用非线性变换的YCb′Cr′彩色空间进行肤色模型, 能够准确的从图像的复杂背景中将肤色提取出来。

1.3 K-L变换

K-L变换 (Karhunen-Loeve Transform) 是建立在统计特性基础上的一种变换, K-L变换的突出优点是相关性好, 是均方误差意义下的最佳变换。通过K-L变换, 尽量避免光照对模型的影响。周宗恒等[4]通过5000个肤色样本分析, 得到变换矩阵:

通过5000个肤色样本进行分析, 得到K-L过滤器的阈值为:

2 实验结果及分析

综上所述, 实验使用Visual C++实现上述各种算法。实验中的原始图像都来自通用USB摄像头在实验室中进行采集, 且都是光照均匀的正面人脸图像。检测的肤色图像用白色表示, 背景用黑色表示, 并用使用垂直投影以及水平投影计算出人脸区域, 使用矩形框标注出检测的人脸区域。

实验表明, 对于简单背景和正常光照的图像, YCbCr空间检测的效果较好。

3 结束语

通过上面的分析可知, 基于肤色的人脸检测算法可以去掉大量与肤色无关的背景, 在正常光照和简单背景下是一种行之有效的特征。最后需要指出的是, 肤色模型都是基于图像像素进行操作的, 不能取得非常快的检测速度。要想实现实时处理还需要考虑是否需要使用肤色模型。除此之外, 对于面对复杂背景, 亮度不均匀, 图像质量差的图片进行检测时总是容易出错。

所以, 肤色作为一种人脸最直观的特征, 在人脸识别中发挥着重要的作用。如果能将统计特征和YCbCr以及K-L变换相结合, 充分发挥各种算法的特点和优势, 则能完成对人脸区域的准确检测。

摘要:本文主要研究了基于RGB和YCbCr两种彩色空间下的肤色模型对人脸检测的准确性, 实验表明, 通过肤色进行人脸检测能够快速的去除复杂背景, 缩小检测范围, 为在复杂背景下快速和准确的进行人脸检测奠定基础。本文还对RGB和K-L变换相结合来进行人脸检测的方法进行了探讨。

关键词:人脸检测,肤色模型,RGB,YCbCr,K-L变换

参考文献

[1]Rein-Lien Hsu, Mohamed Abdel-Mottaleb, Anil K Jain.Face detection in color images[J].IEEE Trans.Pattern Analysis and Machine Intelligence, 2002, 24 (5) :696-706.

[2]Franc Solina, Peter Peer, Borut Batagelj, et al.15seconds of fame-an interactive, computer-vision based art installation[A].Proceeding of the7th International Conference on Control, Automation, Robotics and Vision (ICARCV2002) [C].Singapore, 2002:198-204

[3]Yang M.H., Ahuja N.Detecting Human Faces in Color Images[A].IEEE Int’l Conference Image and Video Processing[C].1998, 1:127-130

人脸肤色 篇3

自动人脸识别技术自20世纪90年代初以来得到了广泛的研究,并提出了很多解决方案。根据识别的图像类型,可分为基于灰度图像的人脸识别和基于彩色图像的人脸识别。根据采用的算法大体可分成两大类,基于几何特征的人脸识别和基于模板匹配的人脸识别[1]。早期的研究工作主要集中在对灰度图像的基于几何特征的方法上,但是这类方法人为地指定特征,丢失了大量判别信息,所以识别率不高。目前在模板的整体匹配方法上做了大量的工作,最具有代表意义的是基于特征脸的方法[2,3]。它从整体上提取人脸的代数特征进行识别,推动了人脸识别技术的发展。由于肤色是人脸的重要信息,不依赖面部的细节特征,对于旋转、表情等变化情况都能适用,具有相对的稳定性并且和大多数背景物体的颜色相区别,因此肤色特征在人脸识别中是最常用的一种特征。本文在基于肤色信息马氏图的特征脸空间上,用径向基概率神经网络进行人脸识别。根据人脸库中的人脸图像构造学习样本,将彩色的人脸图像缩放到标准大小,并将它转化到YCbCr空间中,在YCbCr空间,除去照度分量,用Cb、Cr分量构造基于肤色的马氏距离图,以这些人脸图像的马氏图为训练样本集进行K-L变换,构造一个各分量互不相关的特征脸空间。再将人脸库中的各人脸图像映像到特征脸空间,以特征脸空间的投影向量为输入,构造人脸识别径向基概率神经网络。

本论文结构安排如下:第二部分介绍基于肤色信息的马氏距离图;第三部分介绍径向基概率神经网络理论结构原理;第四部分构建特征脸空间;第五部分构建RBPNN人脸识别模型;第六部分结论。

2 基于肤色信息的马氏距离图

研究人员发现,在YCbCr颜色空间,皮肤颜色具有良好的类聚性,而且YCbCr很明确的将照度和色度部分区分开来,可以通过去除照度分量克服光照的影响[4,5]。对于常用的RGB三色图像,可以通过式(1)转化为YCbCr图像,其中Y表示照度分量,Cb和Cr是两个色度分量。

在YCbCr空间由色度Cb和Cr构成的二维平面上,皮肤颜色分布相对比较集中,我们采用高斯分布来描述,设c=[CbCr]T为输入像素的色度,则皮肤颜色概率分布为

其中:µs和Cs是该分布的参数,分别为均值向量和协方差矩阵。

该模型的参数可以根据训练集中的数据从下式中计算出来:

根据上述皮肤分布概率模型计算出来的概率值p(c|skin)可以直接作为颜色c是皮肤的可能性度量,也可用从颜色向量c到均值向量µs的Mahalanobis距离(马氏距离)作为皮肤可能性度量,计算公式如下:

用上述方法求得的图像各像素点的马氏距离Ds(c)构成的图像称之为该图像的马氏距离图,由于马氏距离图去除了亮度分量,相对于灰度图而言,大大减小了外界光照的影响,充分利用了色度信息。

3 径向基概率神经网络结构原理

径向基概率神经网络(Radial Basis Probabilistic Neural Networks,RBPNN)[6,7]利用了径向基函数神经网络(Radial Basis Function Neural Networks,RBFNN)[8]考虑样本集中模式交错影响及概率神经网络(Probabilistic Neural Networks,PNN)[9]实时训练的特点,其模型结构如图1所示。

该模型主要包括四层:第一层为输入层,第二、第三层为隐含层(分别称为第一隐含层和第二隐含层),第四层为输出层。第一隐含层等同于RBFNN的隐含层,第二隐含层等同于PNN的隐含层,即针对第一隐含层的隐中心向量有选择的求和。

1)RBPNN模型的第一隐含层

第一隐含层主要是由样本空间中每个模式类别的中心向量(隐中心向量)组成,在结构上等同于RBFNN的第一层,其节点传输函数与RBFNN、PNN一样,都是径向基函数,该函数的中心向量ci(i=,1,2L,H1)代表输入层与第一隐含层的连接权值wi(1)

其中:H1表示第一隐含层的节点数,同RBFNN一样,第一层连接权重向量wi()1可以事先确定或通过某种方法自适应学习来选择。

假定第一隐含层节点的传输函数为K(⋅),则第i个节点对应的输出可以表示为

2)径向基概率神经网络模型的第二隐含层

RBPNN模型的第二隐含层等同于PNN的隐层,其节点执行求和运算,即对第一隐含层节点的输出,按隐中心向量的类别进行有选择地连接,因此,第二隐含层中每个节点与第一隐含层的连接权值向量wi(2)∈RH1所对应的分量,根据隐中心向量的类别不同,取值为1或0。

3)径向基概率神经网络模型的输出层

RBPNN模型的输出层等同于RBFNN的输出层,其输出节点与RBFNN一样,都是线性的,如果只从这一层来看,相当于单层线性感知器网络。

4 构建特征脸空间

为了更好地提取图像的统计特征,以图像的有效统计特征作为人脸识别RBPNN的输入,我们用K-L变换[10]来构造特征脸空间。设训练集中有M幅彩色人脸图像,将图像缩放到N×N大小,根据前面介绍的方法,将它们转化为马氏距离图T1,T2,…,TM,其中,Ti(i=1,2,…,M)表示图像的一个二维N×N马氏距离图。将它们转化为向量形式,得到M个N2维向量Z1,Z2,…,ZM,以此作为训练集。训练集的平均向量可定义为

用向量Ai=Zi-ψ来表示每幅图像马氏距离图与平均向量的差。构造成图像集的协方差矩阵为

对协方差矩阵C进行特征值分解,求出它的特征值λi(i=1,2,…,M)和特征向量µi(i=1,2,…,M)。由这些特征向量所构成的空间称为特征空间。该特征空间是从训练样本图像构造的基本集中求出来的特征向量构造的。实际情况下,在判断一幅图像是否是人脸的过程中,不需要精确地构造和再现图像,因此,我们可以从以上求得的M个特征向量中取出对构造图像影响最大的M′个,这样就可以构造一个原始的N2维图像空间的M′维子空间,这个M′维子空间称为特征脸空间。

为了保证样本集中绝大部分信息都落在特征脸空间中,可根据式(10)求出M′。取α=99%,即保证前M′个轴上的能量占整个样本集能量的99%以上。

为便于求协方差矩阵的特征值λi和特征向量µi,先求M阶矩阵S的特征值和特征向量vi,其中矩阵S=ATA。根据奇异值分解(Singular Value Decomposition,SVD)定理:

其中:U、V为正交矩阵,Λ为对角阵。

则λi(i=1,2,…,M)为矩阵AAT和ATA的非零特征值,µi和vi分别为矩阵AAT和ATA对应于λi的特征向量。由上述定理得到:

即求得C的特征值λi和特征向量µi。

我们构造了80幅(10个人,每人8幅)人脸图像的训练集,用上述方法求得的M个相互正交的特征向量和相对应的M个特征值,图2为特征值及对应的特征向量所对应的坐标轴,从图中可以看出,当i>38时,特征值基本为零,即样本集中绝大部分能量集中于前38个轴上,因而,可以取M′=38。图3为特征向量对应的各特征脸子空间图像,从这些特征脸子空间图像也可看出,第38幅图像之后信息基本为零。

5 构建RBPNN识别模型

设有一幅图像的马氏距离图构成的向量Z,将它映射到第k维上:

ωk就是该图像的马氏距离图在第k维特征脸子空间上的特征系数,由此构成的特征系数向量ΩT=[ω1ω2 … ωM′]就是这幅人脸图像在特征脸空间中的映像。

这样图像集中的任意一幅图像都对应着一个特征系数向量ΩT,将这些作为RBPNN的学习样本的输入,这个向量是M′=38维,我们构建的神经网络的输入神经元为M′个。在训练图像集中,有J=10类人脸图像,对应的RBPNN的输出神经元为J个。则第j类第i个人脸图像相对应的RBPNN的学习样本的输入向量为xji=ΩT,其中ΩT是根据第j类第i个人脸图像计算的特征系数向量;输出向量为yji=[0,…,1,…,]0T,其中输出向量的第j个元素为1,其它元素为0。

根据训练图像集构成的RBPNN的学习样本,用改进的K—均值聚类算法确定隐中心矢量[7],用递推正交最小二乘法确定连接权重[7],则学习完成后得到的RBPNN就可以用来进行人脸识别与分类。给定一幅未知类别的人脸图像,将它转化为马氏图后映射到特征脸空间,得到的特征系数向量为神经网络的输入,经过网络的正向推导,得到各神经元的输出,如果其中的某一神经元的输出大于0.5,且都大于其它神经元的输出,则认为该图像为该神经元所对应的人脸图像的类别,如果所有的输出神经元的输出都小于0.5,则认为该图像不属于其中的任何一类人脸。

用交叉验证(Cross Validation,CV)方法[8]对上述构建的人脸识别模型进行误差评估。得到模型的正确识别率曲线如图4所示,图中曲线(a)为用欧氏距离法[2]进行识别的正确识别率(即在图像的马氏图的特征脸空间中,用欧氏距离作为图像之间的相似性度量,来进行人脸识别与分类);曲线(b)为用RBPNN进行识别的正确识别率。

从图4可得到以下几点结论:

1)所用的特征向量数较少时,RBPNN方法比欧氏距离法识别率低;所用的特征向量数较多时,RBPNN方法比欧氏距离法识别率高;总体的最大识别率是RBPNN方法比欧氏距离法高。

2)欧氏距离法,当所用的特征向量数在10左右时,识别率达到最大值,之后随着特征向量数的增加,识别率下降,说明当特征向量数增加到一定数量之后,它们所提供的信息不仅不能有助于人脸识别,而且起着干扰作用;RBPNN方法,当所用的特征向量数为9时,识别率达到最大值,继续增加特征向量数,识别率保持不变,说明它们所提供的信息不会影响人脸识别,或者对人脸识别影响很小。

综上所述,用K-L变换所构造的特征空间中,取前9个特征向量作为有效的分量构成用于人脸识别的特征脸空间,将给定图像的马氏图投影到特征脸空间中,得到的投影系数向量作为RBPNN的输入,用RBPNN进行人脸识别,能达到较好的效果。

6 结论

论文在分析了RBPNN神经网络理论的基础上提出用RBPNN来解决人脸识别问题。在人脸图像集中用K-L变换构造特征脸空间,将人脸图像基于肤色信息的马氏图转化到特征脸空间,人脸图像在特征脸空间中映射的各分量作为RBPNN的输入。RBPNN的输入节点对应着特征脸空间中各维坐标,RBPNN的输出节点对应着训练图像集中人脸的类别,用改进的K-均值聚类算法优选RBPNN的隐中心矢量,用递推正交最小二乘算法计算RBPNN的连接权值,得到的RBPNN就是人脸识别神经网络。

实验表明,在构造的特征脸空间中,并不是特征空间的维数越多,人脸识别率越高,维数增加到一定程度后,只会增加计算复杂度。与欧氏距离法相比,RBPNN人脸识别方法的识别正确率更高。

摘要:根据肤色信息在YCbCr空间分布特点,提出在基于肤色信息的马氏距离图的特征脸空间中用RBPNN神经网络进行人脸识别。该方法利用肤色信息构造图像的马氏距离图,利用K-L变换构造特征脸空间。在特征脸空间中提取图像的统计特征,以这些统计特征作为输入,构造径向基概率神经网络,利用它的非线性计算和映射能力,进行人脸识别与分类。实验证明,这种方法能够有效地完成人脸识别。

关键词:人脸识别,马氏距离图,特征脸,径向基概率神经网络

参考文献

[1]ZHAO W Y,Chellappa R,Rosenfeld A,et al.Face recognition:A literature survey[J].ACM Computing Surveys,2003,35(4):399-458.

[2]Turk M,Pentland A.Eigenfaces for recognition[J].Journal of Cognitive Neuroscience,1991,3(1):72-86.

[3]Yang M H.Kernel Eigenfaces vs kernel Fisherfaces:face recognition using kernel methods[C]//Proceedings of the Fifth IEEE International Conference on Automatic Face and Gesture Recognition(RGR’02).Washington:IEEE,2002:215-220.

[4]Angelopoulou E.Understanding the color of human skin[J].SPIE,2001,4299:243-251.

[5]Vezhnevets V,Sazonov V,Andreeva A.A Survey on Pixel-Based Skin Color Detection Techniques[C]//Proc.Graphicon-2003.Moscow Russia:[s.n.],2003:85-92.

[6]HUANG D S.Radial Basis Probabilistic Neural Networks:Model and Application[J].International Journal of Patern Recognition and Artificial Intelligence,1999,13(7):1083-1101.

[7]赵温波.径向基概率神经网络研究[D].合肥:中国科技大学,2003.ZHAO Wen-bo.Study of Radial Basis Probabilistic Neural Networks[D].Heifei:University of Science and Technology of China,2003.

[8]SIMON Haykin.神经网络原理[M].北京:机械工业出版社,2004.SIMON Haykin.Neural Network Principle[M].Beijing:China Machine Press,2004.

[9]黄德双.神经网络模式识别系统理论[M].北京:电子工业出版社,1996.HUANG De-shuang.The Principle of Neural Network Pattern Recognition System[M].Beijing:Publishing House of Electronics Industry,1996.

基于PCA和肤色提取的人脸检测 篇4

在机器学习模式识别应用中, 为了检测和识别, 人脸被认为是最常用的模式。在安全系统, 人脸识别和人机界面应用中, 人脸检测技术是关键的步骤。神经网络 (NN) , 主成份分析 (PCA) , 小波, 边缘检测, 霍夫变换, 模板匹配和常被主要应用的几何匹配, 这些技术都被应用于人脸检测。神经网络和匹配算法需要大量的人脸和非人脸图片的训练, 而且需要很多的时间来提取和分析。主成份分析方法只需要灰度图像来识别和分析。边缘检测受光线条件的影响很大。对于小波, 它只用于大尺寸的图片, 所以它不能识别很小的脸而且在极端光线条件下易出现错误。

显然, 选择合适的人脸检测算法取决于应用方面。本文研究的人脸检测技术是在驾驶员疲劳检测系统框架下的应用。当驾驶员开车过程中闭上眼睛, 系统就提醒驾驶员, 研究这个算法的目的是为了改进系统, 能够更快地对驾驶员定位, 所以人脸检测是整个系统的第一步。

正如网上申请, 它是由执行限期决定的。本文同时使用两种算法, 需要很少的时间来训练并产生快速结果;主成分分析和皮肤色调提取是为了提高算法效率。整个报警系统在普通台式机上应用, 芯片是AMD Turion M-30处理器, 内存2G。

1 理论介绍

1.1 主成份分析理论

主成分分析法 (PCA) [1,5]是模式识别判别分析中最常用的一种线性映射方法, 该方法是根据样本点在多维模式空间的位置分布, 以样本点在空间中变化最大方向, 即方差最大的方向, 作为判别矢量来实现数据的特征提取与数据压缩的。从概率统计观点可知, 一个随机变量的方差越大, 该随机变量所包含的信息就越多, 如当一个变量的方差为零时, 该变量为一常数, 不含任何信息。所谓主成分就是原始数据的m个变量经线性组合 (或映射) 后得到的变量, 该变化使得其变换后的变量方差为最大 (第一主成分) 的部分。各个主成分之间是相互线性无关的 (正交的) , 从第一主成分往后, 主成分按方差大小的顺序排列 (对应特征值按大小顺序) 。对于特征值为λi的主成分, λi也是该主成分的方差, 该值表示样本点在该主成分方向的离散程度, 主成份λi的贡献率ηi可用下式表示:

令x为表示环境的m维随机向量。假设x均值为零, 即

令w表示为m维单位向量, x在其上投影。这个投影被定义为向量x和w的内积, 表示为:

满足约束条件:

而主成分分析的目的就是寻找一个权值向量w使得表达式的值最大化:

根据线性代数的理论, 可以知道满足上式值最大化的w应该满足下式:

即使得上述式子最大化的w是矩阵的最大特征值所对应的特征向量。

1.2 肤色提取理论

很多寻找肤色和人脸检测的算法都是先寻找皮肤来达到的, 这些算法技术大多数是基于一个面部模型进行比较来寻找人脸模式的, 但是, 都是先寻找一个合适的颜色空间, 如YCbCr, HUV等。YCbCr是最常用的颜色空间, 上文所提到的算法都是为了从皮肤颜色中提取一些人脸特征, 如嘴或者眼睛。

1.2.1 肤色模型

肤色[3]是人脸的重要信息, 不依赖于面部的细节特征, 具有相对的稳定性并且和大多数背景物体的颜色相区别。因此肤色特征在人脸定位中是最常用的一种特征。肤色特征主要由肤色模型描述, 其主要的色彩空间有以下几种:RGB, CMY, HIS, YIQ, YUV, YCbCr。

基于肤色的人脸定位, 关键是颜色空间的选择以及肤色聚类的选取。为了把人脸区域从非人脸区域分割出来, 需要选用适合不同肤色和不同光照条件的可靠的肤色模型。为了消除光照因素的影响, 选择YCbCr颜色模型, 对输入的彩色图像进行颜色空间转换, 将其从颜色分量相关性较高的RGB空间转换到颜色分量相关性较小的YCbCr颜色空间, RGB与YCbCr的转换公式为

由于YCbCr色彩格式是由RGB通过线性变换得到的, 其亮度分量Y并不完全独立于色度信息而存在的, 因此肤色的聚类区域也是随Y的不同而呈分段线性变化的趋势。所以, 在肤色检测之前, 要先对图像进行分段线性色彩变换

经过分段色彩变换后, 将其投影到二维子空间, 得到一个实用的肤色聚类模型。虽然不同人的皮肤颜色可能相差很大, 但它们在色度上的差异远小于亮度上的差异, 也就是说, 不同人的肤色在色度上往往很相近具有聚类特性, 只是在亮度上差异较大。肤色空间在CbCr上的聚合主要聚集在Cb=100和Cr=150 左右, 采用YCbCr空间可以不用考虑不同的肤色对肤色模型CbCr中的聚合, 如图1所示。

2 人脸检测算法

本文的算法主要包括两个技术: (1) 应用肤色提取作为预处理方法。 (2) 应用主成份分析来成功检测人脸。

2.1 初始化

通过数据库的特征脸来获得脸的大概位置和大小进行初始化。首先从一个文本文件中获得训练设置名字, 接着通过应用基本特征脸算法从特征脸结果中获得主成份分析, 最后通过常用处理方法来确定人脸的大概位置和大小。

2.2 训练

首先本文从清单文件中获得训练集, 接着训练标准设置通过删减要满足上文的初始化过程, 通过主成份算法, 在最后通过找到的主成份来降低输出维数。

第一步就是需找训练设置的方法。

第二步通过减去零的方法来确定训练重点。

Φi=Γi-Ψ

第三步计算方差矩阵的特征值和特征向量。

最后, 通过特征值来获得特征脸的主成份。

2.3 图像预处理

本文选取一个彩色图片做为输入图片。图片大小为256×256像素。接着调整光线条件使图片正常化, 应用皮肤检测算法来消除图片的背景, 最后将图片转化成PGM格式的灰度图像。

2.4 投影

扫描灰度图像收集样本, 这些样本通过训练设置方法减少, 通过在训练阶段减少的多维矩阵来投影样本。

2.5 估计

最后一步, 将投影矩阵通过升序规则进行排序, 然后将最小投影作为最后人脸输出并画一个150×180的矩形方框, 如图2所示。

3 试验结果

这个算法在2个不同的数据库中测试。第一个从普通照片中选取, 每个照片有不同的人和背景。有部分测试不能达到理想效果, 有的是人脸尺寸太小或者是肤色和背景颜色太相近了。对于第2个数据库, 它是从需要应用的方向中寻找图片, 所以这些图片都是在自然光条件下获得的车内图片。成功率可以达到96%以上, 剩下的只是寻找到部分人脸, 如表1所示。

成功:包括眼睛嘴巴都在人脸检测范围中半成功:只有部分眼睛和嘴巴在人脸检测范围中

4 结束语

本文提出了一种新的人脸检测算法, 把检测皮肤作为预处理, 然后通过提供PCA规则来成功检测人脸。这个算法首先要初始化, 接着再进行训练。本文将输入图片进行预处理是为了获得灰度的皮肤。这个图片将作为样本然后在训练空间中投影。最后估计阶段被用来检测人脸。

对于以后的工作, 保证输出人脸的准确率, 为以后通过检测出的人脸再精确定位眼睛和嘴巴, 判断眼睛嘴巴是张开还是关闭。

摘要:人脸检测在安全、监视和人机界面应用中起到很重要的作用。在驾驶员疲劳检测系统中, 提出了一种新的人脸检测方法。算法融合了肤色检测和改变主成分分析两种不同的检测理论。该算法和其他单一的理论比较而言, 提高了效率和准确率, 并且它能在不同的光线条件下表现得很好。

关键词:人脸检测,主成分分析,肤色

参考文献

[1]曾阳艳.基于PCA方法的人脸特征提取和检测[J].人工智能及识别技术, 2008 (1) :743-744.

[2]边肇庆, 模式识别[P].清华大学出版社, 2000.

[3]沈常雨, 肤色建模和肤色分割的人脸定位研究[J].光电工程, 2007, 34 (9) :103-107.

[4]Hsu R-L, Abdel-Mottaleb M, Jain A K.Face Detection in Color Ima-ges[Z].IEEE Transaction on Pattern Analysis and Machine Intelli-gence, 2002:696-706.

[5]Hamdy A.Drowsy Driver Assistant System:Principal Component Analysis[Z].GUC, Cairo, 2007.

人脸肤色 篇5

关键词:Adaboost,肤色模型,人脸检测,多层特征

0 引言

人脸检测已成为生物鉴别技术应用、人机接口和监测等领域的重要研究课题。目前,人脸检测方法很多,最常用的就是Adaboost方法,该方法实时性好、鲁棒性强。但是,该方法需要大量的训练样本,需花费大量的时间在训练参数的修改上。为了得到更好的检测结果,Lienhart[1]提出了一种基于旋转人脸的Haar-like特征集,这样可以提高旋转人脸的检测精度。刘琼、彭光正[2]等提出一种改进的Adaboost人脸检测算法;陈世刚、马小虎[3]提出了基于多高斯肤色分割和Haar-like强度特征的人脸检测,例如文献[4-6]所用方法在检测时都需要比较长的检测时间,才可得到比较精确的检测结果。

本文所提出的人脸检测方法,能显著减少训练时间和检测时间,进一步提高特定环境下人脸检测的可行性。在肤色模型中通过肤色分割,可以筛选出大多数非人脸,准确地保留脸候选人脸。并利用改进的Adaboost算法,采用PBHF特征得到的强分类器进行人脸检测。

1 肤色分割

将RGB图像转换到亮度-色度空间,通常称之为YCbCr色彩空间,这样做是因为在YCbCr色彩空间中肤色的聚类性比较好。YCbCr色彩空间可直接由RGB色彩空间通过线性变换得到,所以其亮度分量Y并不是完全独立于色度信息而存在的,YCbCr色彩空间与RGB色彩空间相互转换的公式为:

最终建立如图1所示的的肤色空间模型。根据建立的肤色模型进行肤色分割操作。人脸区域一般可认为是一个椭圆,椭圆方程如下:

其中,cx=109.8,cy=152.02,θ=2.53(弧度),ecx=1.60,ecy=2.41,a=25.39,b=14.03。在预检测时,先将图像转换到YCbCr空间,然后对每一个像素的cb、cr值代入式(4)判断其是否在肤色空间中,从而分割出肤色区域。

由于生活中存在大量与人类皮肤颜色相似甚至相同的物体,因此肤色检测结果中,可能包含大量的非肤色区域。为了降低对后续检测所造成的影响,根据文献[7]中所提方法作进一步的区域分割,最终得到候选人脸区域。

图1 YCbCr空间肤色模型

2 基于像素的多层特征

在特征选择上,采用基于像素的多重特征。在特定区域内,传统矩形特征及其相关变量会非常巨大。相反,PBH特征利用统计方式,从整张人脸信息来产生人脸特征。所以,PBH特征的变量比起传统矩形特征要小很多,从而可以迅速减少训练时间。

PBH特征的产生过程及检测过程为:输入大小为M×N的训练样本图像Xi,其中每一个训练样本Xi的平均值为Ti,使用Ti作为相关样本的阈值,得到相应的二值化图像Bi,如图2所示。对于所有的Bi,对于其中的每一个位置(x,y)计算黑像素点产生的概率,进而得到P(x,y)。根据p(x,y)表值的分布,得到顺序表O(x,y),对应图像(1~M×N)的每一个位置,根据概率的大小,在O(x,y)中输入值,如果位置(x,y)的可能性最大,则令O(x,y)=1,以此类推,如果位置(x,y)的可能性次之,则令O(x,y)=2等。如图3所示,根据顺序表O(x,y),可以得到所有的特征Fj及其在子窗口M×N中特征值的大小。计算训练样本像素值的和并用sum表示,对于特征值:

其中,Xi(x,y)表示在训练样本图像Xi中(x,y)处的像素值。与Haar-like特征类似,每一个PBH特征都可看作是一个弱分类器,采用改进的Adaboost算法加以提升,得到最终的人脸分类器。

图3 产生的顺序表

3 改进的Adaboost算法

对于传统Adaboost算法,在训练样本包含一些比较难以划分的样本时,算法的重心就转移到了这些难以划分的样本上,使其权重急剧增加,严重时会出现退化现象。为了解决这种问题,黄兴、王小涛[8]等提出了改进的Adaboost算法,算法描述如下:

(1)设wt,i为第t次循环中第t个样本的误差权重。对训练样本的误差权重,按照如下公式进行初始化:对于yi=0的样本,对于yi=1的样本,其中,m、l分别代表样本中正样本和负样本的个数。

(2)for t=1....T:

(1)权重归一化,使wi为

(2)对于每个特征j,调用弱分类器生成算法,训练一个弱分类器hj,计算该分类器的错误率εj,εj的表达式如下:

(3)从(2)所确定的弱分类器中,找出一个具有最小错误率εt的弱分类器ht。

(4)设定该轮训练的权值更新阈值。

(5)更新样本权重:

其中,的归一化因子。

(3)最后形成的强分类器为:

4 实验结果

以CMU人脸集[9]为测试集,采用VC++6.0进行软件模拟。这些人脸集包含很多种人脸,比如旋转角度、不同光照情况、不同服装、不同肤色的人脸等。检测结果比较如表1所示。

表1 检测结果比较

人脸检测系统的性能指标主要有以下4部分:训练时间、检测时间、检测率、误检率。尽管本文所提方法相较于Haar-like特征而言,其检测率和误检率要差一些,但是在训练时间上要强很多。如果使用传统的Haar-like特征,训练时间较长,往往需要要1天以上,但如果使用PBH特征,只需要10分钟即可。训练时间会产生这么大的差异,其原因在于传统Haar-like特征多于150 000个,而PBH特征少于600个。尽管特征差距在数量上比较小,但在实际检测时,训练时间相差较大。这是因为对于传统Haar-like特征训练,数量较大造成了频繁的数据换入和换出,而PBH特征可以很容易地全部放入内存中,这就造成了训练时间的巨大差距。部分检测结果如图4所示。

5 结语

本文提出了一种基于肤色模型和改进Adaboost算法的人脸检测方法,首先采用肤色的聚类性进行预检测,然后使用基于像素的多层特征(PBHF)进行改进的Adaboost算法提升,最终得到强分类器作为人脸划分依据。实验结果表明,与传统Adaboost方法相比,训练时间大幅减少,而检测率相当。总体而言,本文所提出的方法是有效的。

图4 检测结果

参考文献

[1]R LIENHART,A KURANOV,V PISAREVSKY.Empirical analysis of datection cascades of boosted classifiers for rapid object[Z].in DAGM 25th Pattern Recongnition Symp.,2003:297-304.

[2]刘琼,彭光正.一种改进的Adaboost人脸检测算法[J]计算机应用与软件,2011,28(6):265-268.

[3]陈世刚,马小虎.基于多高斯肤色分割和Haar-like强度特征的人脸检测[J].苏州大学学报:自然科学版,2011,27(3):30-34.

[4]孙士名,王爱国,纪友芳.基于Adaboost算法的彩色图像人脸检测研究[J].微计算机应用,2011,32(3):7-11.

[5]张君昌,张译.基于改进Adaboost算法的人脸检测[J].计算机仿真,2011,28(7):240-244.

[6]张宁,李娜.基于Adaboost算法的人脸检测技术的研究与实现[J].现代电子技术,2011,34(14):4-6.

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

[8]黄兴,王小涛,陆丽华.一种快速高效的人脸检测方法[J].计算机工程与应用,2013,49(3):198-200.

人脸肤色 篇6

人脸检测问题最初源于人脸识别,人脸自动识别的研究最早可以追溯到20世纪60~70年代。经过几十年的曲折发展,人们已经提出了许多人脸检测方法,目前正日趋成熟,但同时也凸显了人脸检测的重要地位。如今人脸检测不只作为人脸识别的一个重要步骤,它还广泛应用于视频会议、安全检查、图像和视频检索以及人机交互等领域。

目前对人脸检测的方法主要有以下三类:一是基于颜色特征的算法[1],如基于肤色统计分布特征的算法;二是基于器官或轮廓等分布特征的方法,如基于椭圆轮廓特征的算法、基于马赛克规则的算法;三是直接利用灰度特征的方法,如基于特征脸的算法[2]、基于神经网络的算法、基于支持向量机的算法以及基于概率统计模型的算法。

本文综合运用人脸的颜色特征、外形特征和结构特征进行人脸检测。

1 肤色检测

在彩色图像中基于肤色进行人脸区域的提取,是一种有效而普遍使用的方法。肤色判断可以作为人脸检测的预处理,也可以作为人脸检测的后期验证,还可以作为一种核心方法使用。常用的颜色模型有:rgb、YIQ、HSV、YCbCr等。本文选用了归一化的rgb模型作为肤色分布统计的映射空间。

1.1 肤色模型

rgb模型是归一化的RGB模型,因为r+g+b=1,所以一般只使用(r,b)空间,这样实际上实现了三维空间到二维空间的转化,此外,rgb颜色模型还能很好地克服光照的影响。

为了基于颜色分割人的皮肤区域和非皮肤区域,文献[3]中对不同民族的40人的肤色在rgb模型中的分布进行了分析,研究结果表明人脸肤色在(r,b)空间近似于Gauss分布。每个像素为肤色点的概率可以通过下式计算:

P(r,b)=exp[-0.5(x-m)TC-1(x-m)] (1)

其中m是均值,C是协方差,x=(r,b)T。根据式(1)的计算,可以得到一幅图像中每个像素属于皮肤的概率大小,进而得到基于肤色统计特性的似然图。

1.2 肤色分割

图1(a)是待检测人脸的原图,图1(b)是利用式(1)计算的似然图。从图1(b)中可以看到,皮肤区域比非皮肤区域的亮度高,因此可以通过阈值处理将皮肤区域与非皮肤区域分割开。本文采用自适应阈值分割的方法进行分割。具体算法是:以0.1为间隔,阈值由0.75至0.10递减,计算每次肤色像素的数目与生成连通区域数目的商,并取该商值变化最小时的阈值作为最佳阈值进行分割,分割结果如图1(c)所示。

2 分割图像的处理

基于肤色特征分割出的皮肤区域中,常常存在多个肤色区域连接在一起的情况,影响进一步的人脸识别,为此我们首先利用边界信息将这些连接的肤色区域分割开,而后再结合人脸的形状和结构特征(本文选择了区域长宽比和空洞数)进一步排除非人脸的肤色区域,得到人脸候选区域。

2.1 基于SUSAN算子检测区域边界

针对多个肤色区域连接的问题,我们采用SUSAN算法提取区域边缘,进而将不同区域分开。SUSAN算法是基于对周边像素的灰度比较,不涉及梯度的运算,因此其抗噪声能力强,运算量也比较小。

2.1.1 SUSAN算子边缘检测原理

Susan边缘检测原理如图2所示,用一个圆形模板在图像上移动,若模板内像素的灰度与模板中心像素(称为核)灰度的差值小于一定阈值,则认为该点与核具有相同(或相近)的灰度,由满足这样条件的像素组成的区域称为USAN(Univalue Segment Assimilating Nucleus)。

当圆形模板完全处在图像或背景中时,USAN区域面积最大(如图2中的a和b);当模板移向图像边缘时,USAN区域逐渐变小(如图2中c);当模板中心处于边缘时,USAN区域很小(如图2中的d);当模板中心处于角点时,USAN区域最小(如图2中e)。可以看出,在边缘处像素的USAN值都小于或等于其最大值的一半。因此,计算图像中每一个像素的USAN值,通过设定一个USAN阈值,查找小于阈值的像素点,即可确定为边缘点。

2.1.2 SUSAN边界提取及肤色区域分割的编程实现方法

(1) 对整幅图像中的所有像素,用圆形模板进行扫描,比较模板内每一像素与中心像素的灰度值,通过与给定的阈值比较,来判别该像素是否属于USAN区域,判别函数c(r,r0)如下:

c(r¯,r¯0)={1if|Ι(r¯)-Ι(r¯0)|t0if|Ι(r¯)-Ι(r¯0)|>t

( 2 )

式中I(r0)是模板中心像素(核)的灰度值,I(r)为模板内其它任意像素的灰度值,t是灰度差门限。

(2) 图像中每一点的USAN区域大小为:

n(r0-)=r¯D(r¯0)c(r¯,r¯0)(3)

式中D(r0)为以r0为中心的圆形模板区域。

(3) 由式(3)得到每个像素的USAN值n(r0)以后,再与预先设定的门限g进行比较,当n(r0)<g时,所检测到像素位置r0可以认为是一个边缘点,进而提取了图像的边界(门限g取28)。

(4) 将所得到的边界与肤色分割后的二值图像叠加,得到了进一步分割结果,如图3(a)所示。

(5) 对分割后的图像进行了数学形态学开操作,去除噪声和多余边界,结果如图3(b)所示。

以下是MATLAB7.0 中Susan算法的部分代码:

2.2 人脸候选区域的筛选

由于眼睛、嘴等非肤色区域的存在,真正的人脸皮肤区域应包含一个或一个以上的空洞。因此可以通过去除不含空洞的区域,进一步排除非人脸区域。区域的空洞数可以由区域的欧拉数的计算得到。欧拉数定义为:

E=CH (4)

其中E为欧拉数,C为连通分支数,H为一个区域中的空洞。

由于每次只处理一个皮肤连通区域,所以连通分支数C为1。则空洞的数量为H=1-E

根据以上计算,对含有一个或一个以上空洞的区域填补空洞,进一步分析此区域的质心、偏角、宽和高等特性,以便下一步进行模板匹配。

二值图像中区域的中心就是质量的重心[4]——质心,可以由下式计算:

x¯=1Ai=1nj=1mjB[i,j]y¯=1Ai=1nj=1miB[i,j](5)

式中B是描述区域的n×m阶矩阵,A是区域中的一个子块,以像素为单位。

由于待匹配区域有倾角,模板也需要旋转同样的角度进行匹配才能取得较好的匹配效果。区域的偏角即是区域惯量最小的轴的倾角。轴是使其与区域中的点之间的平方距离和最小的一条线,可由计算直线到图像中的点的最小二乘得到。区域的倾角度θ为:

θ=12atanba-c(6)

式中:a=i=1nj=1m(xij)2B[i,j]

b=2i=1nj=1mxijyijB[i,j]

c=i=1nj=1m(yij)2B[i,j]

x=x-x¯,y=y-y¯

知道了区域的中心和倾斜角度,还要确定区域的宽和高,目的有两个:一是为了对人脸模板进行伸缩变换,使模板的大小与待匹配区域相同;二是把人脸的高宽比作为人脸的外形特征。我们确定区域的宽和高的方法是:对图像上、下、左、右四个方向进行扫描,把遇到的第一个值不为0的像素作为一个边界的坐标,找到四个边界坐标,通过相减得到区域的高和宽。

大量实验结果表明,人脸区域的高和宽的比率通常在0.8~1.6之间。但也发现在某些情况下(如没有穿衬衫或衣服遮盖了部分人脸区域),比率会高于1.6。所以我们把比率的范围定为0.8~2.0。通过限制区域的高和宽比率,可以去除图像中包含的较长胳膊的区域。

通过以上方式对肤色区域的处理,去除了大部分的干扰区域,得到了候选人脸区域。再对这些候选区域进一步做人脸模板的匹配就可以最终确定是否为人脸。

3 模板匹配

为了在图像中检测出已知的目标物,在约定的某种准则下可以通过使用这个目标物的模板与待检测图像进行匹配,检测出目标物图像,通常称其为模板匹配法。在人脸检测中,传统的模板匹配是单一准则下的匹配计算,在这种情况下,使用同一阈值对不同图像的检测效果会有所差别,即复杂的人脸变化导致对不同图像的人脸检测需要使用不同的阈值。基于此问题,本文采用了一种混合匹配准则进行匹配计算。

3.1 模板生成

首先制作人脸模板,方法是把图片里的人脸分割出来,分割成单独的人脸,得到人脸的样本集。从这个样本集里取出32张单独人脸,并利用双线性内插的方法调整这些人脸图片,使其大小相等,然后通过下式计算平均人脸:

φ¯=<φ>=1Μn=1Μφn(φn表示单独的人脸) (7)

把最后得到的平均人脸作为匹配模板,如图4所示。

3.2 匹配算法

假设人脸模板的灰度矩阵为T[M][N],灰度均值为μT,均方差为σT,待检测图像的灰度矩阵为R[M][N],灰度均值为μR,均方差为σR,则二者的相关系数r(T,R)和对应像素灰度值的平均偏差d(T,R)分别为:

r(Τ,R)=i=0Μ-1j=0Ν-1(Τ[i][j]-μΤ)(R[i][j]-μR)ΜΝσΤσR(8)

d(Τ,R)=i=0Μ-1j=0Ν-1(Τ[i][j]-R[i][j])2ΜΝ(9)

r(T,R)和d(T,R)从不同的角度表征了输入图像区域与模板的匹配程度。r(T,R)反映了输入图像区域与模板间图像向量的夹角,r(T,R)越大表示模板与输入图像区域的相似程度越高;d(T,R)反映了输入图像区域与模板间图像向量的欧式距离,d(T,R)越小表示模板与输入图像区域的相似程度越高。我们综合考虑这两方面的因素,定义了式(10)的匹配测度:

D(Τ,R)=r(Τ,R)+11+|d(Τ,R)-α|(10)

其中α为平衡系数,我们取经验值α=35.0,它是取大量d值的平均值。

匹配算法的具体实现过程如下:

1) 根据之前计算的区域高和宽将模板人脸调整到与皮肤区域相同的大小。

2) 依据计算的倾斜角θ调整模板脸,并去掉由于旋转造成的新图像边缘的混叠部分。

3) 进一步根据计算的质心,调整模板脸的质心,使模板与待匹配区域重合。

4) 在只含有人脸区域的原始灰度图像上,计算每一人脸候选区域匹配测度D

5) 将D值大于0.80的区域最终确定为人脸的区域。

4 实验结果

Matlab7.0图像处理平台中检验算法的有效性。我们进行了大量的实验,测试图像一部分是用数码相机采集的,一部分是从Internet下载的。图5中给出了部分检测结果。我们还将本算法检测结果与人们常用的肤色+模板匹配算法(采用了通常使用的0.6阈值)进行了比较,结果见表1。

在图5中,(a)中的人脸处于较暗的光线下,背景较复杂且存在与人脸相似的物体;(b)中有多个大小不一的人脸,并且与皮肤颜色相近的区域也比较多;(c)图旋转了一定的角度。从图5中的人脸检测结果可以看出,本文算法对大小不同以及具有一定旋转角度的人脸均有较好的检测效果。同时注意到(b)中出现了一处误检。

5 结 语

本文研究了彩色图像人脸检测问题,提出一种利用多种人脸特征的算法以提高正确检测率。首先利用人脸的肤色模型进行皮肤区域分割,针对存在大块皮肤连通区域的问题,采用SUSAN算子提取区域的边界,将连接的肤色区域分开;为了缩小人脸匹配范围提高检测速度,在模板匹配前,先利用人脸的形状特征和拓扑特征排除了部分非人脸区域,最后利用本文建立的人脸模板和匹配测度,对候选人脸区域进行匹配识别。实验证明本文提出的算法有较好的检测性能,对不同大小和不同方向的多人脸图像均具有较好的检测效果。实验也发现了类似图5(b)中出现的误检情况,分析主要原因是这些区域存在空洞,并具有与人脸相似的皮肤特征而被误检为人脸。同时我们也发现当脸部被遮挡过多时也会导致漏检。这些问题需要进一步研究解决。

参考文献

[1]Dai Y,Nakano Y.Face-Texture model based on SGLD and its applica-tion in-face dectection in a COLOR scene[J].Pattern Recognition,1996,29(6):1007-1016.

[2]Moghaddam B,Pentland A.Probabilistic visual leaning for object repre-sentation[J].IEEE transaction on Pattern Analys and Machine Intelli-gence,1998,19(7):696-710.

[3]McKenna S,Gong S.Tracking face[C]//Proceding of the Second In-ternational Conference on Automztic Face and Gesture Recognition,Killington,USA,1996:271-276.

[4]Ramesh R,Kasturi R,Schunck B.Machine vision[M].New You:McGr-aw Hill,1995:31-51.

[5]Lu Cunyu,Zhang Changshhui,Wen Fang,et al.Regional feature basedfast human face detection[J].Journal of Tsinghua University:Scienceand Technology,1997,19(7):696-710.

[6]徐艳,陈孝威.基于差分图像和PCA主元分析的人脸检测[J].计算机应用与软件,2008,25(8):229-230,273.

[7]梁路宏,艾海舟,何克忠,等.基于多关联模板匹配的人脸检测[J].软件学报,2001,12(1):1784-1792.

人脸肤色 篇7

人脸作为图像与视频中重要的视觉对象之一, 是智能人机接口等许多应用的处理目标对象。近年来, 人脸检测技术在模式识别、计算机视觉、人机交互等诸多领域引起了普遍重视。人脸检测技术在计算机视觉等领域的研究中有着重要的意义:一方面, 将人脸作为基本视觉对象来考虑, 是自动检测与人脸识别、人脸跟踪、表情识别、人脸合成与人脸编码、唇读等技术的必要前提;另一方面, 人脸检测技术有着从智能安全监控、电子商务、视频会议和远程教育、基于内容的检索等诸多领域的广泛应用。

人脸检测是指在使用计算机在输入图像中判断人脸是否存在, 若存在, 确定人脸的大小、位置。人脸检测系统的输入可能包含人脸图像, 输出是关于图像中是否存在人脸及人脸数目、位置、尺度、姿态等信息的参数化描述。具体地说, 就是根据一定的算法确定输入图像是否存在人脸, 如果存在的话, 标出人脸的位置作为人脸检测系统的输出。

1 肤色建模

肤色是人脸最重要的信息, 而且肤色不受面部细节特征、旋转、表情变化以及饰物遮挡等情况的影响。

不同种族、性别人的肤色差异主要体现在亮度上。要提高肤色的聚类性就要消除亮度的影响。经过实验验证, 在YCrCb色彩空间下, 利用肤色模型求相似度矩阵返回每个像素是否为肤色的概率Fmod。获取矩阵的最大值对相似度矩阵进行归一化。计算整张图片的亮度平均值。归一化之后的每个矩阵点乘以255, 如果该值仍然小于整张图片的Y分量平均值, 则认为该点不是人脸的皮肤。最后把认为是人脸皮肤的像素点置为白色, 其余的点置为黑色, 得到黑白二值图像。其中, RGB色彩空间转换YCrCb色彩空间如式 (1) 所示, YCrCb空间下肤色相似度Fmod计算如式 (2) 所示。

undefined

(1)

F mod=exp (-0.5 (x-m) TC-1 (x-m) ) (2)

其中, x= (Cb, Cr) T, m=E (x) , C为协方差矩阵, C=E[ (x-m) (x-m) T]。

2 眼睛定位

由肤色模型确定的区域并不一定就是人脸区域, 有可能是手臂、脖子或其它与肤色相近的色块区域, 为了进一步验证是否是人脸区域, 需进一步检测这些区域中是否有眼睛。

在之前确定的人脸区域内, 根据图1所示人脸结构, 以距左边界0.08~0.36宽度、距下边界0.58~0.78长度的矩形内检测左眼, 以距左边界0.64~0.92宽度、距下边界0.58~0.78长度的矩形内检测右眼。具体检测方法为:分别统计两个小矩形内亮度小于某个亮度的像素点比例, 当大于某个阈值时, 认为在该区域内存在眼睛, 这个区域为最终确定的人脸区域, 否则删除这个区域。

3 实验结果

(1) 打开位图文件的结果 (图2) 。

(2) 皮肤颜色建模结果 (图3) 。

(3) 得到人脸区域结果 (图4) 。

(4) 眼睛亮度匹配排除非任梁区域结果 (图5) 。

(5) 勾勒人脸, 得到最终确定的人脸区域 (图6) 。

4 结语

通过实验证明, 肤色模型能够很好地区分出皮肤区域, 依据人脸结构再在肤色区域内检测是否存在人眼, 就能筛选出人脸区域。本项目的方案是完全可行和有效的。

目前系统存在的主要问题为:①只能判断正面人像区域, 对于侧面人像不能准确判断;②对于配戴眼镜、头发遮挡额头等特殊情况准确率较差。这些问题是下一步研究的任务。

摘要:提出了基于肤色建模和眼睛亮度检测的方法对彩色图像中的人脸进行检测。在检测前, 先对图像进行光线补偿, 再通过肤色模型获得可能的脸部区域, 最后根据眼睛在人脸固有位置亮度检测人眼, 最终确定人脸区域。通过实验测试说明, 该方法对人脸的检测达到了较好的效果。

关键词:人脸检测,光线补偿,肤色建模

参考文献

[1]陶亮.复杂背景下人眼自动定位[J].计算机辅助设计与图形学学报, 2003 (11) .

[2]徐慧.Visual C++数字图像实用工程案例精选[M].北京:人民邮电出版社, 2004.

[3]周长发.精通Visual C++图像处理编程[M].北京:电子工业出版社, 2004.

[4]张宏林.Visual C++数字图像模式识别技术及工程实践[M].北京:人民邮电出版社, 2003.

上一篇:不典型急性阑尾炎下一篇:细胞因子水平

本站热搜