人脸识别(Facial Recognition),就是通过视频采集设备获取用户的面部图像,再利用核心的算法对其脸部的五官位置、脸型和角度进行计算分析,进而和自身数据库里已有的范本进行比对,后判断出用户的真实身份。人脸识别技术基于局部特征区域的单训练样本人脸识别方法。
第一步,需要对局部区域进行定义;
第二步,人脸局部区域特征的提取,依据经过样本训练后得到的变换矩阵将人脸图像向量映射为人脸特征向量;
第三步,局部特征选择(可选);
后一步是进行分类。分类器多采用组合分类器的形式,每个局部特征 对应一个分类器,后可用投票或线性加权等方式得到终识别结果。
人脸识别综合运用了数字图像/视频处理、模式识别、计算机视觉等多种技术,核心技 术是人脸识别算法。目前人脸识别的算法有 4 种:基于人脸特征点的识别算法、基于整幅 人脸图像的识别算法、基于模板的识别算法、利用神经网络进行识别的算法。
作为人脸识别的第一步,人脸检测所进行的工作是将人脸从图像背景中检测出来,由于受图像背景、亮度变化以及人的头部姿势等因素影响使人脸检测成为一项复杂研究内容。检测定位:检测是判别一幅图像中是否存在人脸,定位则是给出人脸在图像中的位置。定位后得到的脸部图像信息是测量空间的模式,要进行识别工作,首先要将测量空间中的数据映射到特征空间中。采用主分量分析方法,原理是将一高维向量,通过一个特殊的特征向量矩阵,投影到一个低维的向量空间中,表征为一个低维向量,并且仅仅损失一些次要信息。通过对经过检测和定位过的人脸图像进行特征提取操作可以达到降低图像维数,从而可以减小识别计算量,提高识别精度的作用。人脸识别系统采用基于特征脸的主 成分分析法(PCA),根据一组人脸训练样本构造主元子空间,检测时,将测试图像投影到 主元空间上,得到一组投影系数,再和各已知的人脸图像模式比较,从而得到检测结果。
四种方法的详解:
1、基于几何特征识别
弹性图匹配(EGM)方法可采用属性拓扑图来表达人脸,其拓扑图的任一顶点均
包含一特征矢量,它记录了人脸在该顶点位置的分布信息,最初的拓扑图是矩形
的,并没有注重节点的位置。后来,Wiskott[32】提出~种基于关键点的图匹配算法,
称为弹性束图(elastic bunchgraph),其节点一般定位在如眼球、眼角等灰度变化
剧烈,信息丰富的地方。特征点先是手工定位,经过一段学习以后,即可达到自
动定位。如此几十个节点,其分离能力是不同的,并且前向、半侧、侧面人脸分
离能力较好的节点分布范围也不一样,g_,-ugert33】深入研究了这一问题,他给每个
节点不同的权重,与该节点的分离能力成正比。统计表明,眼在前向和半侧的人
脸中是最重要的分离特征,而鼻尖是侧面人脸最重要的分离特征。Wurtz【34】研究了
多分辨的情况,他假定在两幅人脸图中只有一部分节点有较好的对应,一些节点
根本没有对应节点,它们将干扰识别。因此在匹配的过程中只保留对应良好的节
点,并且将背景(包括头发区域)去掉。由于弹性匹配对每个存储的人脸需计算其模
型图,计算量大,存储量大,Lee【35】等提出了一种基于弹性图动态链接模型的方法,
既取得较高的识别速度,也获得了较理想的识别率,在一定程度上克服了以往方
法总是在速度与识别率之间进行折中的缺点。
2、基于代数特征识别
主分量分析(Principal.Component Analysis,PCA)是一种常用的方法。它根据图
像的统计特性进行的正交变换(K.L变换),以消除原有向量各个分量间的相关性。
变换得到对应特征值依次递减的特征向量,即特征脸1361。Turk和Pentland[37】进一步
提出了“特征脸”方法,该方法以训练样本集的总体散布矩阵为产生矩阵得到的
一组特征矢量,称作“特征脸”,这样就可产生了一个由“特征脸”矢量组成的
子空间,每一幅人脸图像其投影都可以获得一组坐标系数,这组坐标系数表明了
人脸在子空间的位置,实验表明该方法具有较强的稳定性,可以作为人脸识别的
依据。
特征脸方法使用由各个特征脸扩展的空间来表示人脸,虽然可以有效地表示
人脸信息,但是并不能有效地鉴别和区分人脸。Swets和Wen9138】提出PCA的基础上
使用LDA(Lillear Discriminant Analysis,线性鉴别矢量),也称Fisher脸方法【39】。它选
择以类内散布正交的矢量作为特征脸空间,从而能压制图像之间与识别信息无关
的差异,对光照及人脸表情变化都不太敏感。
Moghaddamt40】等提出了贝叶斯人脸识别方法。他们提出了一种基于概率的图
像相似度度量方法,将人脸图像之间的差异分为两类类间差异(即不同人的人脸图
像之间的差异)和类内差异(即同一个人的不同人脸图像之间的差异)。他们提出了
类间差异和类内差异度量的概率模型和计算方法。由于贝叶斯相似度的计算涉及
复杂的非线性的快速计算方法。这种人脸识别方法在1996年美国DAPAR组织的
FERET人脸测试中是效果最好的方法之一。
Yang[4l】等人考虑高阶统计量,从而提出了核特征脸(Kernel Eigenface)应用
Kernel PCA将人脸对应的向量映射到高维空间中,然后应用PCA。这种做法避免了
高维统计量计算中的组合爆炸问题,同时,还考虑了高维相关性。由于PCA为基
础的传统特征脸方法没有利用人脸的几何拓扑特征,为此Albertt421等将PCA与人脸
3、隐马尔科夫模型(HMM)
隐马尔科夫模霎j.t431(Hidden Markov Model,HMM)是用于描述信号统计特性的
一组统计模型。HMM使用马尔科夫链来模拟信号统计特性的变化,而这种变化又
是间接地通过观察序列来描述的,因此,隐马尔科夫过程是一个双重的随机过程。
用采集的脸像构造观察向量,观察向量和人脸的五官特征之间的关系可以用一个
一维的隐Markov模型(Hidden Markov Model,HMM)来表示,该模型的参数能较好
地表征具体的人脸模型,在人脸识别领域已取得到了初步成效州。这种方法至少
有两个问题,一个是直接采用灰度值作为观察值矢量会受到噪声、光线等很多随
机因素的影响,另外一个是计算量很大,学习和识别速度都比较慢。伪二维
HMM(P2.DHMM)模型是一维HMM模型的一种推广。P2.DHMM由一组主状态组
成,每一个主状态又包括了一个一维HMM。相当于将一组一维HMM模型嵌入另
外一组HMM模型中,因为这种结构并不是真正的二维HMM模型,因此取名为
伪二维HMM模型。可以看出这种结构利用了图像的二维特征,更适合于图像识
别,因此采用了这种HMM结构用于人脸识别。
4、支持向量机法(SVM)
支持向量机(Support Vector Machines,SVM)是Vapnik等提出的基于结构风险
最小化原理(Structural Ri.sk Minimization Principle,SRM)统计学习理论ml, 用于分
类与回归问题。SRM使vc(vapnik Cherovnenkis)维数的上限最小化,而经验风险
最小化(Empirical Risk Minimization Principle,ERM)使相对于训练数据的误差最小
化,这使得SVM方法比基于ERM的ANN方法具有更好的泛化能力。SVM最初
是针对分类问题提出来的,目前也被推广到回归问题中。直接使用SVM方法解决
人脸识别问题面临两个困难:(1)训练SVM需要求解二次规划问题,计算复杂度高、
内存需求量巨大;(2)在非人脸样本不受限制时,需要极大规模的训练集合,得到
的支持矢量会很多(约占训练样本总数的20%),使得分类器的计算量过高。
为了解决以上问题Osunal46】等人提出了分解算法,目的都是为了把求解原始的
大规模QP问题,转化成与之等价的一系列较小规模二次规划子问(quadratic
programming,QP)。Platt进一步提出了SMO[471(Sequential minimal ptimization)算法,
SMO算法把每一步QP子问题的规模降到最小,选择两个违例样本进行优化。
Keerthi等人对SMO算法的违例样本选取进行改进使得SMO算法的速度有了很大
的提高。
Guo dongGuot48】等人采用两个人脸数据库,一个是含有400幅图象,另一个含
有1079幅图象,并将SVM方法与其它算法进行了比较,证明SVM方法的错识率
最低。比较遗憾的是,虽然SVM方法在理论上具有很突出的优势,但与其理论研
第二章人脸检测识别方法 17
究相比,应用研究还相对比较滞后,目前只有较有限的实验研究报道,且多属仿
真和对比实验,SVM的应用应该是一个大有作为的方向。
弹性图匹配(EGM)方法可采用属性拓扑图来表达人脸,其拓扑图的任一顶点均
包含一特征矢量,它记录了人脸在该顶点位置的分布信息,最初的拓扑图是矩形
的,并没有注重节点的位置。后来,Wiskott[32】提出~种基于关键点的图匹配算法,
称为弹性束图(elastic bunchgraph),其节点一般定位在如眼球、眼角等灰度变化
剧烈,信息丰富的地方。特征点先是手工定位,经过一段学习以后,即可达到自
动定位。如此几十个节点,其分离能力是不同的,并且前向、半侧、侧面人脸分
离能力较好的节点分布范围也不一样,g_,-ugert33】深入研究了这一问题,他给每个
节点不同的权重,与该节点的分离能力成正比。统计表明,眼在前向和半侧的人
脸中是最重要的分离特征,而鼻尖是侧面人脸最重要的分离特征。Wurtz【34】研究了
多分辨的情况,他假定在两幅人脸图中只有一部分节点有较好的对应,一些节点
根本没有对应节点,它们将干扰识别。因此在匹配的过程中只保留对应良好的节
点,并且将背景(包括头发区域)去掉。由于弹性匹配对每个存储的人脸需计算其模
型图,计算量大,存储量大,Lee【35】等提出了一种基于弹性图动态链接模型的方法,
既取得较高的识别速度,也获得了较理想的识别率,在一定程度上克服了以往方
法总是在速度与识别率之间进行折中的缺点。
2、基于代数特征识别
主分量分析(Principal.Component Analysis,PCA)是一种常用的方法。它根据图
像的统计特性进行的正交变换(K.L变换),以消除原有向量各个分量间的相关性。
变换得到对应特征值依次递减的特征向量,即特征脸1361。Turk和Pentland[37】进一步
提出了“特征脸”方法,该方法以训练样本集的总体散布矩阵为产生矩阵得到的
一组特征矢量,称作“特征脸”,这样就可产生了一个由“特征脸”矢量组成的
子空间,每一幅人脸图像其投影都可以获得一组坐标系数,这组坐标系数表明了
人脸在子空间的位置,实验表明该方法具有较强的稳定性,可以作为人脸识别的
依据。
特征脸方法使用由各个特征脸扩展的空间来表示人脸,虽然可以有效地表示
人脸信息,但是并不能有效地鉴别和区分人脸。Swets和Wen9138】提出PCA的基础上
使用LDA(Lillear Discriminant Analysis,线性鉴别矢量),也称Fisher脸方法【39】。它选
择以类内散布正交的矢量作为特征脸空间,从而能压制图像之间与识别信息无关
的差异,对光照及人脸表情变化都不太敏感。
Moghaddamt40】等提出了贝叶斯人脸识别方法。他们提出了一种基于概率的图
像相似度度量方法,将人脸图像之间的差异分为两类类间差异(即不同人的人脸图
像之间的差异)和类内差异(即同一个人的不同人脸图像之间的差异)。他们提出了
类间差异和类内差异度量的概率模型和计算方法。由于贝叶斯相似度的计算涉及
复杂的非线性的快速计算方法。这种人脸识别方法在1996年美国DAPAR组织的
FERET人脸测试中是效果最好的方法之一。
Yang[4l】等人考虑高阶统计量,从而提出了核特征脸(Kernel Eigenface)应用
Kernel PCA将人脸对应的向量映射到高维空间中,然后应用PCA。这种做法避免了
高维统计量计算中的组合爆炸问题,同时,还考虑了高维相关性。由于PCA为基
础的传统特征脸方法没有利用人脸的几何拓扑特征,为此Albertt421等将PCA与人脸
3、隐马尔科夫模型(HMM)
隐马尔科夫模霎j.t431(Hidden Markov Model,HMM)是用于描述信号统计特性的
一组统计模型。HMM使用马尔科夫链来模拟信号统计特性的变化,而这种变化又
是间接地通过观察序列来描述的,因此,隐马尔科夫过程是一个双重的随机过程。
用采集的脸像构造观察向量,观察向量和人脸的五官特征之间的关系可以用一个
一维的隐Markov模型(Hidden Markov Model,HMM)来表示,该模型的参数能较好
地表征具体的人脸模型,在人脸识别领域已取得到了初步成效州。这种方法至少
有两个问题,一个是直接采用灰度值作为观察值矢量会受到噪声、光线等很多随
机因素的影响,另外一个是计算量很大,学习和识别速度都比较慢。伪二维
HMM(P2.DHMM)模型是一维HMM模型的一种推广。P2.DHMM由一组主状态组
成,每一个主状态又包括了一个一维HMM。相当于将一组一维HMM模型嵌入另
外一组HMM模型中,因为这种结构并不是真正的二维HMM模型,因此取名为
伪二维HMM模型。可以看出这种结构利用了图像的二维特征,更适合于图像识
别,因此采用了这种HMM结构用于人脸识别。
4、支持向量机法(SVM)
支持向量机(Support Vector Machines,SVM)是Vapnik等提出的基于结构风险
最小化原理(Structural Ri.sk Minimization Principle,SRM)统计学习理论ml, 用于分
类与回归问题。SRM使vc(vapnik Cherovnenkis)维数的上限最小化,而经验风险
最小化(Empirical Risk Minimization Principle,ERM)使相对于训练数据的误差最小
化,这使得SVM方法比基于ERM的ANN方法具有更好的泛化能力。SVM最初
是针对分类问题提出来的,目前也被推广到回归问题中。直接使用SVM方法解决
人脸识别问题面临两个困难:(1)训练SVM需要求解二次规划问题,计算复杂度高、
内存需求量巨大;(2)在非人脸样本不受限制时,需要极大规模的训练集合,得到
的支持矢量会很多(约占训练样本总数的20%),使得分类器的计算量过高。
为了解决以上问题Osunal46】等人提出了分解算法,目的都是为了把求解原始的
大规模QP问题,转化成与之等价的一系列较小规模二次规划子问(quadratic
programming,QP)。Platt进一步提出了SMO[471(Sequential minimal ptimization)算法,
SMO算法把每一步QP子问题的规模降到最小,选择两个违例样本进行优化。
Keerthi等人对SMO算法的违例样本选取进行改进使得SMO算法的速度有了很大
的提高。
Guo dongGuot48】等人采用两个人脸数据库,一个是含有400幅图象,另一个含
有1079幅图象,并将SVM方法与其它算法进行了比较,证明SVM方法的错识率
最低。比较遗憾的是,虽然SVM方法在理论上具有很突出的优势,但与其理论研
第二章人脸检测识别方法 17
究相比,应用研究还相对比较滞后,目前只有较有限的实验研究报道,且多属仿
真和对比实验,SVM的应用应该是一个大有作为的方向。