好文档 - 专业文书写作范文服务资料分享网站

(完整word版)基于MATLAB的人脸识别

天下 分享 时间: 加入收藏 我要投稿 点赞

1.2几种典型的人脸识别方法

对人脸识别方法的研究主要有两大方向:一是基于人脸图像局部特征的识别方法;二是基于人脸图像整体特征的识别方法。基于人脸图像局部特征的识别通常抽取人脸器官如眼睛、眉毛、鼻子和嘴等器官的位置,尺度以及彼此间的比率作为特征。进一步地可以用几何形状拟合人脸器官,从而以几何参数作为描述人脸的特征。由于此类方法通常要精确地抽取出位置、尺度、比率或几何参数作为描述人脸的特征,因此对人脸图像的表情变化比较敏感。同时,人脸器官分割的精确度也对人脸特征的提取有一定的影响。另外,该类方法并没有充分利用到人脸图像本身具有的获度信息,该方向已经不是人脸识别技术发展的主流方向。基于人脸图像整体特征的人脸识别方法由于不需要精确提取人脸图像中部件的具体信息,而且可以充分利用到人脸图像本身具有的灰度信息,因此可获得更好的识别性能。目前,绝大部分关于人脸识别方法的文章都是基于人脸图像整体特征的,主要有特征脸法、最佳鉴别向量集法,贝叶斯法,基予傅立叶不变特征法,弹性图匹配法,其他相关方法有线性子空间法,可变形模型法和神经网络法。这些方法中有的侧重于表述人脸图像的特征提取,如弹性图匹配法和傅立叶不变特征法;有的则侧重于分类,如最佳鉴别向量集法、贝叶斯法和神经网络法;而有的则侧重于人脸图像重构,如特征脸法和线性子空间法。所有这些基于人脸图像整体特征的人脸识别方法均取得了一定的识别性能。

1.2.1基于几何特征的人脸识别方法

基于几何特征的人脸识别方法主要源于人脸识别的初期研究阶段。这种方法是以人脸各个器官和几何关系为基础进行算法设计。对于不同人来说,脸上的各个器官,如眼睛、鼻子、嘴巴以及整个脸部的轮廓具有不同的形状、大小、相对位置和分布情况。

在基于几何特征的人脸识别方法中,可以用一个矢量来表示提取出来的几何参数。如果要获得一个准确、稳定和可靠的识别结果,就要求这些被选出的几何特征参数包含足够丰富的辨识人脸的信息,且能反映不同人脸之间的差别。也就是说对这些矢量要求具有较高的模式分类能力,同时还要有一定的稳健性,能够消除由于时间变迁、光照变化等其他干扰因素所带来的影响。具体来沈,这些几何参数一般包括人脸上两个指定特征点之间的欧式距离、边缘曲率、角度等等。

在实际应用过程中,基于几何特征的人脸识别方法存在着两个方面的问题:

(1)如何快速、准确地检测出入脸的重要标志点依然是一个没有很好解决的问题。脸上的重要标志点,如瞳孔、嘴巴和鼻子,它们在脸上的位置是进行脸部几何参数计算和测量的基准。

(2)脸部几何特征在人脸辨识中的有效性问题,即脸部几何特征能够提供多少可供识别的信息量。

虽然各人脸的器官在形状、大小及分布上各不相同,但是这种器官上的差异性更多是体现在某些细微的感觉意义上。例如眼睛显得比较小、鼻子显得比较宽,以及皮肤的纹理、颜色上的差异等等。显然,这些特征中的一部分是难以精确测量出来或者是不能用几何参数准确描述的。所以仅靠增加脸上几何参数的数目来提高人脸识别率是不太现实的。由于进一步改善测量精度是十分困难的,因而通过增加脸部几何参数的数量来改善识别率结果,其影响是极小的。因此,基于少量人脸几何特征进行大规模人脸辨识的可靠性是不容乐观的。

1.2.2基于K-L变换的特征脸方法

K-L变换是图像压缩的一种最优正交变换,人们将它应用于特征提取,形成了子空间法模式识别的基础。将K-L变换用于人脸识别,需要假设人脸处于低维的线性空间,不同人脸具有可分性。高维的图像空间经过K-L变换后得到一组新的正交基,保留其中重要的正交基从而形成了低维的人脸空间。

若将所有子空间的正交基排列成图像阵列,则正交基呈现人脸的形状,因此这些正交基也被称为特征脸。选择那些正交基形成的子空间则有不同的考虑,与较大特征值对应的一些正交基(也称主分量)能够表达人脸的大体形状,而具体细节需要那些小特征值对应的特征向量(也称次分量)来加以补充描述,因此低频成分用主分量表示,高频分量用次分量表示。采用主分量作为新的正交空间的正交基的方法称为主分量(Principal Component Analysis,简称PCA)方法。

K-L变换在90年代初受到了很大的重视,实际用于人脸识别取得了很好的效果,一般库德大小为100幅左右,识别率在70%-100%之间不等,这主要取决于人脸库图像的质量。 从压缩能量的角度来看,K-L变换是最优的,变换后的低维空间对于人脸有很好的表达能力,然而这并不等同于对不同人脸具有较好的判别能力。选择训练样本的散布矩阵作为K-L变换的生成矩阵,其最大特征向量反映了该样本集合的最大分布的方向,但这是图像统计方法,而不是人脸统计方法。它查找的是图像之间所有的差异,并根据这些差异来确定不同人脸间的距离,而不管这些差异是由于光线、发型或背景的改变引起的,还是属于人脸本身的内在差异,因此特征脸的方法用于人脸识别存在理论的缺陷。研究表明,特征连的方法随着光线、角度以及人脸的尺寸的引入而识别率急剧下降。主分量的方法使得变换后的表达能力最佳,次分量的方法考虑了高频的人脸区分能力,但是由于外在因素带来图像差异和人脸本身带来的差异对K-L变换而言是不加任何区分的,因此,如何选择正交基并不根本解决问题。改进的一个思路是针对干扰所在,对输入图像作规范化处理,包括输入图像的均值方差归一化,人脸尺寸归一化。另一种改进是考虑到局部人脸图像受到外在干扰相对较小的情况,除了计算特征脸之外,还利用K.L变换计算出特征眼、特征嘴等。将局部特征向量加权进行匹配得到一些好的效果。

总之,特征脸方法是一种简单、快速、使用的基于变换系数的算法,但由于它在本质上依赖于训练集合测试集图像的灰度相关性,而且要求测试图像与训练集比较接近,所以存在着很大局限。

1.2.3神经网络方法

人工神经网络是一种以大量的处理单元(神经元)为节点,处理单元之间实现加权值互连的拓扑结构。人工神经网络中的处理单元是人类大脑神经单元的简化。处理单元之间的互连则是轴突、树突这些信息传递路径的简化。根据不同的应用场合,现已研究出较多的神经元网络模型及其动态过程的算法。

人工神经元通常采用非线性的作用函数,当大量神经元连接成一个网络并动态运行时,则构成了一个非线性动力学系统。人工神经网络具有自组织性、高维性、模糊性、分布性和冗余性等等特点,较冯.诺依曼体系的计算机更适合模拟人类大脑的思维机理。但总的来说,由于人类对自身思维机理认识的不足,所以对人工神经元作了极度的简化,这种模拟表现为极其肤浅和简单。

很多脸部识别系统都采用了多层感知机作为人工神经网络的基本结构。多层感知机由

几层全互连的非线性神经组成。神经元之间有权值连接,权值包含了训练模式空间的特征。训练过程就是调整权值的过程,最常用的算法就是BP法则。

多层感知机的输入形式有很多种,最简单的就是将整个人脸图像作为输入层,也可以对人脸图像进行采样,然后用低分辨率图像作为输入层。

由此可以看出,人工神经网络有着与Eigenface方法非常相似的表达方法。

一般来说,BP算法的收敛速度非常缓慢,学习过程可能需要对整个训练集进行上千次反复迭代运算,这是神经网络实际应用的一个问题。此外,BP算法以误差梯度下降的方式达到极小值,但在实际应用中,容易陷入到局部极小中,无法得到全局最优解,这也是有待解决的一个问题。

1.2.4基于小波包的识别方法

基于小波包的面部识别方法首先对一幅人脸图像进行小波包分解。因为小波包分解得到的不同频带包含有不同的人脸信息,所以从每一个小波包中可以提取出不同的面部特征。对于小波包分解得到的离散逼近稀疏,Garcai进一步将它分解成三个部分,分别是边界区、上半部分和下半部分,然后就可以分别计算这三个区域的均值和方差,加上另外15个离散细节区域的方差,组成一个包含有21个分量的特征向量。小波包分解是一种多分辨率分析方法,能够提供良好的面部纹理描述,所以有利于提取面部特征。

1.2.5支持向量机的识别方法

支持向量机(SupportVectorMachine,SVM)起源于统计学习理论,它研究如何构造学习机,实现模式分类问题。其基本思想是通过非线性变换将输入空间变换到一个高维空间,在高维空间求取最优线性分类面,以解决那些线性不可分的分类问题。而这种非线性变换是通过定义适当的内积函数(即核函数)来实现的。SVM技术中核函数及其参数的选取难度较大。由于它基于结构风险最小化原理,而不是传统统计学的经验风险最小化,因而表现出很多优于已有方法的性能。由于SVM的训练需要大量的存储空间,非线性SVM分类器需要较多的支持向量,所以速度很慢。

2 人脸特征提取与识别

PCA方法将包含人脸的图像区域看作随机向量,因此可采用K-L变换得到正交K—L基,对应其中较大特征值的基具有与人脸相似的形状,因此又被称为特征脸。利用这些基的线性组合可以描述、表达和逼近人脸图像,所以可进行人脸识别与合成。识别过程就是将人脸图像映射到由特征脸组成的子空间上,并比较其在特征脸空间中的位置。PCA方法认为图像的全局结构信息对于识别最重要,将图像看作一个矩阵,计算矩阵的特征值和对应特征向量进行识别。这种方法利用图像的总体信息,不从图像中提取出眼、嘴、鼻等几何特征,算法较简单且具有较高的识别率。

主成分分析法(PCA)是模式识别判别分析中最常用的一种线性映射方法,该方法是根据样本点在多维模式空间的位置分布,以样本点在空间中变化最大方向,即方差最大的方向,作为判别矢量来实现数据的特征提取与数据压缩的。从概率统计观点可知,一个随机变量的方差越大,该随机变量所包含的信息就越多,如当一个变量的方差为零时,该变量为一

常数,不含任何信息。

2.1利用PCA进行特征提取的经典算法——Eigenface算法

在利用PCA进行特征提取的算法中,特征脸方法(Eigenface)是其中的一个经典算法。特征脸方法是从主成分分析导出的一种人脸识别和描述技术。特征脸方法就是将包含人脸的图像区域看作是一种随机向量,因此可以采用K-L变换获得其正交K-L基底。对应其中较大特征值的基底具有与人脸相似的形状,因此又称为特征脸。利用这些基底的线性组合可以描述、表达和逼近人脸图像,因此可以进行人脸识别与合成。识别过程就是将人脸图像映射到由特征脸张成的子空间上,比较其与己知人脸在特征空间中的位置,具体步骤如下:

(1)初始化,获得人脸图像的训练集并计算特征脸,定义为人脸空间,存储在模板库中,以便系统进行识别;

(2)输入新的人脸图像,将其映射到特征脸空间,得到一组关于该人脸的特征数据;

(3)通过检查图像与人脸空间的距离判断它是否是人脸;

(4)若为人脸,根据权值模式判断它是否为数据库中的某个人,并做出具体的操作。

2.2 PCA人脸识别流程

完整的PCA人脸识别应该包括以下四个步骤:人脸图像预处理;读入人脸库,训练成特征子空间;把训练图像和测试图像投影到上一步骤得到的子空间上;选择一定的距离函数进行识别。下面详细描述整个过程: (1)读入人脸库

归一化人脸库后,将库中的每人选择一定数量的图像构成训练集,其余构成测试集。设归一化后的图像是N×N的,按列相连就构成N维向量,可看作是N维空间中的一个点,可以通过K-L变换用一个低维子空间描述这个图像。

(2)计算K-L变换的生成矩阵,并求取图像的特征值和特征向量

假设人脸图像库中有N幅人脸图像,用向量表示为X1,X2,?XN(向量维数设为L),其人脸平均图像如式(2-1)所示: Xave221?N?Xi?1Ni (2-1)

由此可得到每幅图像的均差,如式(2-2)所示:

Xi'?Xi?Xave, i?1,2,?,N (2-2)

这样可计算协方差矩阵,如式(2-3)所示:

1 C?N?X(X)'ii?1N'Ti (2-3)

计算矩阵C的特征值λk和对应特征向量μk。

但是在实际计算中,矩阵C的大小是N?N,即使对尺寸较小的图像计算量还是很大。为了减小运算量,现将每幅图像的均差形成一个矩阵,如式(2-4)所示:

'''' X?[X1,X2,?,XN] (2-4)

22 则式(2-3)可以写成式(2-5): C?1''TX(X) (2-5) N''T 因此,根据线性代数理论,将计算X(X)的特征值λj和对应特征向量Φj的问题转化为求(X)X的特征值λj和对应的特征向量Φ'j的问题。(X)X的大小仅为N×N远远小于N?N,故简化了计算。在求出Φ'j后,Φj可以通过式(2-6)得到: Φj?22'T''T'1''XΦj (2-6) λj (3)把训练图像和测试图像投影到特征空间

由特征向量所形成的向量空间可表示人脸图像的主要特征信息,将人脸图像库中所有N个图像的均差向此空间投影,得到各自的投影向量Y1,Y2,?,YN,如式(2-7)和(2-8)所示:

T (Yi)?[y1i,y2i,?yMi],i?1,2,?,N (2-7)

μj)Xj,j?1,2,?,M (2-8) yμ?( 对于待识别人脸图像I,计算其与k差的投影向量,如式(2-9)所示:

pj?(μj)T(Ii?Xave),j?1,2,?,M (2-9) 再与人脸图像库中N个人脸图像对应的投影向量Y1,Y2,?,YN比较,按照一定的距离准则完成识别。

(4)比较测试图像和训练图像,确定待识别样本类别

这里可以采用多种不同的分类器进行分类:L1范式、L2范式、最小距离、角度以及Mahalanobis距离等。

MATLAB特征脸程序实现

m = mean(T,2); %求样本的平均向量 Train_Number = size(T,2);

%%%%计算每个样本与平均向量的差向量 A = [];

for i = 1 : Train_Number

temp = double(T(:,i)) - m; %计算训练集中每幅图像的均差 Ai = Ti - m

T'

(完整word版)基于MATLAB的人脸识别

1.2几种典型的人脸识别方法对人脸识别方法的研究主要有两大方向:一是基于人脸图像局部特征的识别方法;二是基于人脸图像整体特征的识别方法。基于人脸图像局部特征的识别通常抽取人脸器官如眼睛、眉毛、鼻子和嘴等器官的位置,尺度以及彼此间的比率作为特征。进一步地可以用几何形状拟合人脸器官,从而以几何参数作为描述人脸的特征。由于此类方法通常要精确地抽取出位置、尺度、比率或几何参数
推荐度:
点击下载文档文档为doc格式
1xe5i8vt2w5s23r4b01m9s4tl8lgrm00e23
领取福利

微信扫码领取福利

微信扫码分享