人脸识别系统报告解析.docx
《人脸识别系统报告解析.docx》由会员分享,可在线阅读,更多相关《人脸识别系统报告解析.docx(21页珍藏版)》请在冰豆网上搜索。
人脸识别系统报告解析
摘要
文章具体讨论了主成分分析(PCA)人脸识别算法的原理及实现。
它具有简单、快速和易行等特点,能从整体上反映人脸图像的灰度相关性具有一定的实用价值。
人脸识别是目前较活跃的研究领域,本文详细给出了基于主成分分析的人脸特征提取的原理与方法。
并使用matlab作为工具平台,实现了一个人脸自动识别的系统原型。
实验结果表明,该系统识别率为100%,达到预期的效果。
如果想进一步提高人脸识别率,可以考虑与其他方法结合。
仅单独使用任何一种现有的方法一般都不会取得很好的识别效果,将其他人脸识别方法组合是今后研究的一种趋势。
也可以考虑改进分类决策的方法。
本系统采用的最小距离分类法属于线性的分类器,而利用神经网络这类学习能力更强的非线性分类器对高维人脸识别问题可能会有更好的解决。
1.引言1
2.需求分析1
2.1课题的来源1
2.2人脸识别技术的研究意义2
2.2.1面部关键特征定位及人脸2D形状检测技术2
2.2.2面部感知系统的重要内容2
2.3人脸识别的国内外发展概况3
2.3.1国外的发展概况3
2.3.2国内的发展概况4
3.概要设计5
3.1问题描述5
3.2模块设计5
3.3主成分的一般定义6
3.4主成分的性质7
3.5主成分的数目的选取7
4.详细设计--PCA算法的功能实现8
4.1引言8
4.2K-L变换8
4.3PCA方法9
4.4利用PCA进行人脸识别10
5.实验及结果分析11
6.总结14
7.matlab源码15
参考文献19
1.引言
人脸识别是机器视觉和模式识别领域最富有挑战性的课题之一,同时也具有较为广泛的应用意义。
人脸识别技术是一个非常活跃的研究领域,它覆盖了数字图像处理、模式识别、计算机视觉、神经网络、心理学、生理学、数学等诸多学科的内容。
如今,虽然在这方面的研究已取得了一些可喜的成果,但是FRT在实用应用中仍面临着很严峻的问题,因为人脸五官的分布是非常相似的,而且人脸本身又是一个柔性物体,表情、姿态或发型、化妆的千变万化都给正确识别带来了相当大的麻烦。
如何能正确识别大量的人并满足实时性要求是迫切需要解决的问题。
现在人脸识别技术已经应用在许多领域中,并起到了举足轻重的作用,人脸识别研究开始于1966年PRI的Bledsoe的工作,经过三十多年的发展,人脸识别技术取得了长足的进步,现在就目前国内外的发展情况来进行展述。
2.需求分析
2.1课题的来源
随着安全入口控制和金融贸易方面应用需要的快速增长,生物统计识别技术得到了新的重视。
目前,微电子和视觉系统方面取得的新进展,使该领域中高性能自动识别技术的实现代价降低到了可以接受的程度。
而人脸识别是所有的生物识别方法中应用最广泛的技术之一,人脸识别技术是一项近年来兴起的,但不大为人所知的新技术。
人们更多的是在电影中看到这种技术的神奇应用:
警察将偷拍到的嫌疑犯的脸部照片,输入到电脑中,与警方数据库中的资料进行比对,并找出该嫌犯的详细资料和犯罪记录。
这并非虚构的情节。
在国外,人脸识别技术早已被大量使用在国家重要部门以及军警等安防部门。
在国内,对于人脸识别技术的研究始于上世纪90年代,目前主要应用在公安、金融、网络安全、物业管理以及考勤等领域。
2.2人脸识别技术的研究意义
2.2.1面部关键特征定位及人脸2D形状检测技术
在人脸检测的基础上,面部关键特征检测试图检测人脸上的主要的面部特征点的位置和眼睛和嘴巴等主要器官的形状信息。
灰度积分投影曲线分析、模板匹配、可变形模板、Hough变换、Snake算子、基于Gabor小波变换的弹性图匹配技术、主动性状模型和主动外观模型是常用的方法。
可变形模板的主要思想是根据待检测人脸特征的先验的形状信息,定义一个参数描述的形状模型,该模型的参数反映了对应特征形状的可变部分,如位置、大小、角度等,它们最终通过模型与图像的边缘、峰、谷和灰度分布特性的动态地交互适应来得以修正。
由于模板变形利用了特征区域的全局信息,因此可以较好地检测出相应的特征形状。
由于可变形模板要采用优化算法在参数空间内进行能量函数极小化,因此算法的主要缺点在于两点:
一、对参数初值的依赖程度高,很容易陷入局部最小;二、计算时间长。
针对这两方面的问题,我们采用了一种由粗到细的检测算法:
首先利用人脸器官构造的先验知识、面部图像灰度分布的峰谷和频率特性粗略检测出眼睛、鼻子、嘴、下巴的大致区域和一些关键的特征点;然后在此基础上,给出了较好的模板的初始参数,从而可以大幅提高算法的速度和精度。
眼睛是面部最重要的特征,它们的精确定位是识别的关键。
基于区域增长的眼睛定位技术,该技术在人脸检测的基础上,充分利用了眼睛是面部区域内脸部中心的左上方和右上方的灰度谷区这一特性,可以精确快速的定位两个眼睛瞳孔中心位置。
该算法采用了基于区域增长的搜索策略,在人脸定位算法给出的大致人脸框架中,估计鼻子的初始位置,然后定义两个初始搜索矩形,分别向左右两眼所处的大致位置生长。
该算法根据人眼灰度明显低于面部灰度的特点,利用搜索矩形找到眼部的边缘,最后定位到瞳孔的中心。
实验表明,本算法对于人脸大小、姿态和光照的变化,都有较强的适应能力,但在眼部阴影较重的情况下,会出现定位不准。
佩戴黑框眼镜,也会影响本算法的定位结果。
2.2.2面部感知系统的重要内容
基于视觉通道信息的面部感知系统,包括人脸检测和跟踪、面部特征定位、面部识别、人脸归类(年龄、种族、性别等的判别)、表情识别、唇读等分系统,如图1-1所式,可以看出,
继人脸检测和跟追之后,面部特征定位通常是面部感知的一个必备环节,是后续工作的基础,具有重要的意义。
尽管人脸识别不能说是其他面部感知模块的必备功能,但是,可以肯定的是,利用已知的身份信息,结合特定人的先验知识,可以提高表情分析、唇读和语音识别、手势识别乃至手写体识别的可靠性。
而计算机对使用者身份确认的最直接的应用就是基于特定使用者的环境设置:
如使用者的个性化工作环境,信息的共享和隐私保护等等。
图1面部感知系统结构图
2.3人脸识别的国内外发展概况
2.3.1国外的发展概况
见诸文献的机器自动人脸识别研究开始于1966年PRI的Bledsoe的工作,1990年日本研制的人像识别机,可在1秒钟内中从3500人中识别到你要找的人。
1993年,美国国防部高级研究项目署(AdvancedResearchProjectsAgency)和美国陆军研究实验室(ArmyResearchLaboratory)成立了Feret(FaceRecognitionTechnology)项目组,建立了feret人脸数据库,用于评价人脸识别算法的性能。
美国陆军实验室也是利用vc++开发,通过软件实现的,并且FAR为49%。
在美国的进行的公开测试中,FAR,为53%。
美国国防部高级研究项目署,利用半自动和全自动算法。
这种算法需要人工或自动指出图像中人的两眼的中心坐标,然后进行识别。
在机场开展的测试中,
系统发出的错误警报太多,国外的一些高校(卡内基梅隆大学(CarnegieMellonUniversity)为首,麻省理工大学(MassachusettsInstituteofTechnology)等,英国的雷丁大学(UniversityofReading))和公司(Visionics公司Facelt人脸识别系统、Viiage的FaceFINDER身份验证系统、LauTech公司Hunter系统、德国的BioID系统等)的工程研究工作也主要放在公安、刑事方面,在考试验证系统的实现方面深入研究并不多。
2.3.2国内的发展概况
人脸识别系统现在在大多数领域中起到举足轻重的作用,尤其是用在机关单位的安全和考勤、网络安全、银行、海关边检、物业管理、军队安全、智能身份证、智能门禁、司机驾照验证、计算机登录系统。
我国在这方面也取得了较好的成就,国家863项目“面像检测与识别核心技术”通过成果鉴定并初步应用,就标志着我国在人脸识别这一当今热点科研领域掌握了一定的核心技术。
北京科瑞奇技术开发股份有限公司在2002年开发了一种人脸鉴别系统,对人脸图像进行处理,消除了照相机的影响,再对图像进行特征提取和识别。
这对于人脸鉴别特别有价值,因为人脸鉴别通常使用正面照,要鉴别的人脸图像是不同时期拍摄的,使用的照相机不一样。
系统可以接受时间间隔较长的照片,并能达到较高的识别率,在计算机中库藏2300人的正面照片,每人一张照片,使用相距1--7年、差别比较大的照片去查询,首选率可以达到50%,前20张输出照片中包含有与输入照片为同一人的照片的概率可达70%。
2005年1月18日,由清华大学电子系人脸识别课题组负责人苏光大教授主持承担的国家"十五"攻关项
目《人脸识别系统》通过了由公安部主持的专家鉴定。
鉴定委员会认为,该项技术处于国内领先水平和国际先进水平。
本课程设计主要对该人脸识别系统进行模块划分,并介绍各模块的功能,重点介绍图像预处理模块,对其内的子模块的功能和算法进行详细讲述,主要介绍光线补偿、图像灰度化、高斯平滑、均衡直方图、图像对比度增强,图像预处理模块在整个系统中起着极其关键的作用,图像处理的好坏直接影响着后面的定位和识别工作。
3.概要设计
3.1问题描述
对于一幅图像可以看作一个由像素值组成的矩阵,也可以扩展开,看成一个矢量,如一幅N*N象素的图像可以视为长度为N2的矢量,这样就认为这幅图像是位于N2维空间中的一个点,这种图像的矢量表示就是原始的图像空间,但是这个空间仅是可以表示或者检测图像的许多个空间中的一个。
不管子空间的具体形式如何,这种方法用于图像识别的基本思想都是一样的,首先选择一个合适的子空间,图像将被投影到这个子空间上,然后利用对图像的这种投影间的某种度量来确定图像间的相似度,最常见的就是各种距离度量。
因此,本次试题采用PCA算法并利用GUI实现。
对同一个体进行多项观察时,必定涉及多个随机变量X1,X2,⋯,Xp,它们都是的相关性,一时难以综合。
这时就需要借助主成分分析来概括诸多信息的主要方面。
我们希望有一个或几个较好的综合指标来概括信息,而且希望综合指标互相独立地各代表某一方面的性质。
任何一个度量指标的好坏除了可靠、真实之外,还必须能充分反映个体间的变异。
如果有一项指标,不同个体的取值都大同小异,那么该指标不能用来区分不同的个体。
由这一点来看,一项指标在个体间的变异越大越好。
因此我们把“变异大”作为“好”的标准来寻求综合指标。
3.2模块设计
完成人脸识别的工作需要一系列的步骤,它们结合起来构成一个完整的流程。
由于研究人员来自不同的学科、具有不同的背脊,而且不同的人脸识别应用中对识别的目标也不同,所以人脸识别的流程并不统一一个比较通用的人脸识别流程如下图所示:
图2人脸识别流程图
其主要步骤包括:
人脸检测/跟踪,特征提取,特征降维,匹配识别.它们之间基本上是串行的关系。
1)人脸检测/跟踪。
人脸检测是完成人脸识别工作的自动系统的第一个步骤。
该步骤的目的是在输入的图像中寻找人脸区域。
具体来说:
给定意一幅任图像,人脸检测的目的是确定是否图像州有人脸存在,如果存在,给出每个人脸的具体位置和范围。
实际应用中人脸图像的采集或获取常在非受控的条件下进行,这样所得到的图像中的人脸在尺寸、朝向、明暗、遮挡、分辨率等方面都有很多不同,使同一的人脸出现各种变形,并有可能导致各种误识、漏识等失败的情况。
为校正人脸在尺度、光照和旋转等方面的变化,常需采用一些包括几何归一化(空间尺度归一化)和光照归一化(灰度幅值归一化)等手段来调整不同的人脸图像,以利于用统一算法进行识别。
(2)特征提取。
为区分不同的人脸,需提取各种人脸的独特性质。
也就是要从人脸图像中映射提取一组反映人脸特征的数值表示样本。
这里首先需要采取某种表示方式来表示检测出的人脸和数据库中的已知人脸。
通常的表示法包括几何特征(如欧氏距离、曲率、角度)、代数特征(如矩阵或特征向量)、固定特征模板、特征脸等。
(3)特征降维。
人脸是一个非刚性的自然物体(柔性体),从人脸图像中可提取很多不同特征,所以表征人脸的原始特征对应高维空间中的数据(对一幅M*N的图像,空间维数可达M*N)。
直接利用这样高维的数据进行识别除需要很多的匹配计算量外,由于很难对各高维数据的描述能力做有效的判断,故还不能保证基于这么多数据进行的识别结果的正确性。
在特征提取后,需采用紧凑的人脸表征方式,将原始特征进行筛选组合,集中信息,降低维数,使这些低维空间的有效性的到提高,以有利于接下来的匹配分类。
(4)匹配识别。
在特征提取的基础上,选择使当的匹配策略,可将待识别的人脸与数据库中的已知人脸进行匹配比较,建立它们的相关关系,并输出所作出的判断决策/决定(识
别结果)。
与人脸检测不同,这里利用的主要是人脸个体差异的信息。
有两种识别目的和情况需要区别:
一种是对人脸图像的验证,即要确认输入人脸图像中的人是否在数据库中,属于有监督的识别;另一种是对人脸图像的辨识,即要确认输入图像中的人的身份,属于无监督的识别。
3.3主成分的一般定义
设有随机变量X1,X2,⋯,Xp,其样本均数记为,,⋯,,样本标准差记为S1,S2,⋯,Sp。
首先作标准化变换,我们有如下的定义:
(1)若C1=a11x1+a12x2+⋯+a1pxp,⋯,且使Var(C1)最大,则称C1为第一主成分;
(2)若C2=a21x1+a22x2+⋯+a2pxp,⋯,(a21,a22,⋯,a2p)垂直于(a11,a12,⋯,a1p),且使Var(C2)最大,则称C2为第二主成分;
(3)类似地,可有第三、四、五⋯主成分,至多有p个。
3.4主成分的性质
主成分C1,C2,⋯,Cp具有如下几个性质:
(1)主成分间互不相关,即对任意i和j,Ci和Cj的相关系数
Corr(Ci,Cj)=0ij
(2)组合系数(ai1,ai2,⋯,aip)构成的向量为单位向量,
(3)各主成分的方差是依次递减的,即
Var(C1)≥Var(C2)≥⋯≥Var(Cp)
(4)总方差不增不减,即
Var(C1)+Var(C2)+⋯+Var(Cp)
=Var(x1)+Var(x2)+⋯+Var(xp)=p
这一性质说明,主成分是原变量的线性组合,是对原变量信息的一种改组,主成分不增加总信息量,也不减少总信息量。
(5)主成分和原变量的相关系数Corr(C,ixj)=aij=aij
(6)令X1,X2,⋯,Xp的相关矩阵为R,(ai1,ai2,⋯,aip)则是相关矩阵R的第i个特征向量(eigenvector),i就是第i主成分的方差。
3.5主成分的数目的选取
前已指出,设有p个随机变量,便有p个主成分。
由于总方差不增不减,C1,C2等前几个综合变量的方差较大,而Cp,Cp-1等后几个综合变量的方差较小,严格说来,只有前几个综合变量才称得上主(要)成份,后几个综合变量实为“次”(要)成份。
实践中总是保留前几个,忽略后几个。
保留多少个主成分取决于保留部分的累积方差在方差总和中所占百分比(即累计贡献率),
它标志着前几个主成分概括信息之多寡。
实践中,粗略规定一个百分比便可决定保留几个主成分;如果多留一个主成分,累积方差增加无几,便不再多留。
4.详细设计--PCA算法的功能实现
4.1引言
PCA,即PrincipalComponentAnalysis,主成分分析方法,是一种得到广泛应用的事实上的标准人脸识别方法。
传统主成分分析方法的基本原理是:
利用K-L变换抽取人脸的主要成分,
构成特征脸空间,识别时将测试图像投影到此空间,得到一组投影系数,通过与各个人脸图像比较进行识别。
这种方法使得压缩前后的均方误差最小,且变换后的低维空间有很好的分辨能力。
4.2K-L变换
PCA方法是由Turk和Pentlad提出来的,它的基础就是Karhunen-Loeve变换(简称K-L变换),是一种常用的正交变换。
首先对K-L变换作一个简单介绍:
假设X为n维的随机变量,X可以用n个基向量的加权和来表示:
n
a
X=i1iφi
式中:
αi是加权系数,φi是基向量,此式可以用矩阵的形式表示:
X=(φ1,φ2,φ3,⋯⋯,φn)(α1,α2,⋯⋯αn)=Φα系数向量为:
α=ΦTX
综上所述,K-L展开式的系数可用下列步骤求出:
步骤一求随机向量X的自相关矩阵R=E[XTX]由,于没有类别信息的样本集的μ均值向量,常常没有意义,所以也可以把数据的协方差矩阵=E[(x-μ)(x-μ)T]作为K-L坐标系的产生矩
阵,这里μ是总体均值向量。
步骤二求出自相关矩阵或者协方差矩阵R的本征值λi和本征向量φi,Φ=(φ1,φ2,φ3,⋯⋯,φn)
步骤三展开式系数即为α=ΦTXK-L变换的实质是建立一个新的坐标系,将一个物体主轴沿特征矢量对齐的转变换,这个变换解除了原有数据向量的各个分量之间相关性,从而有可能去掉那些带有较少信息的坐标系
以达到降低特征空间维数的目的
4.3PCA方法
PCA方法,也被叫做特征脸方法(eigenfaces),是一种基于整幅人脸图像的识别算法,被广泛用于降维,在人脸识别领域也表现突出。
一个N×N的二维脸部图片可以看成是N的一个一维向量,一张112×92的图片可以看成是一个10,304维的向量,同时也可以看成是一个10,304维空间中一点。
图片映射到这个巨大的空间后,由于人脸的构造相对来说比较接近,因此,可以用一个相应的低维子空间来表示。
我们把这个子空间叫做“脸空间”。
PCA的主要思想就是找到能够最好地说明图片在图片空间中的分布情况的那些向量。
这些向量能够定义“脸空间”,每个向量的长度为N,描述一张N×N的图片,并且是原始脸部图片的一个线性组合。
对于一副M*N的人脸图像,将其每列相连构成一个大小为D=M*N维的列向量。
D就是人脸图像的维数,也即是图像空间的维数。
设n是训练样本的数目;Xj表示第j幅人脸图像形成的人脸向量,则所需样本的协方差矩阵为:
N
(xju)(xiu)T
Sr=j1
(1)
其中u为训练样本的平均图像向量:
1xj
(2)
nj1
令A=[x1-ux2-u⋯⋯xn-u],则有Sr=AAT其,维数为D*D。
根据K-L变换原理,需要求得的新坐标系由矩阵AAT的非零特征值所对应得特征向量组成。
直接计算的计算量比较大,所以采用奇异值分解(SVD)定理,通过求解ATA的特征值和特征
向量来获得AAT的特征值和特征向量。
依据SVD定理,令li(i=1,2,⋯⋯,r)为矩阵ATA的r个非零特征值,vi为ATA对应于li的特征
向量,则AAT的正交归一特征向量ui为:
1
uilAvi
li(i=1,2,⋯⋯r)(3)
则特征脸空间为:
w=(u1,u2⋯⋯ur,)。
将训练样本投影到“特征脸”空间,得到一组投影向量Ω=wTu,构成人脸识别的数据库
在识别时,先将每一幅待是识别的人脸图像投影到“特征脸”空间,再利用最近邻分类器的比
较其与库中人脸的位置,从而识别出该图像是否是库中的人脸,如果是,是哪一个人脸
4.4利用PCA进行人脸识别
完整的PCA人脸识别的应用包括几个步骤:
人脸图像预处理;读入人脸库,训练形成特征子空间;把训练图像和测试图像投影到上一步骤中得到的子空间上;选择一定的距离函数进行识别。
本课程设计采用matlab作为工具平台,实现了一个人脸自动识别的系统原型。
实验在样本图库英国剑桥大学的ORL(OlivettiResearchLaboratory)人脸库上进行,它为网上下载的国外标准人脸数据库。
ORL库包含40个人,每个人10副图像,共计400幅人脸正面图像,每幅图像大小为92×112,图像是在不同时间,光线轻微变化的条件下摄制的,其中包括姿态、光照和表情的差别。
其中部分如图1所示:
图3ORL人脸数据库中的5幅图像
该数据库提供了经过预处理的人脸训练集和测试集。
选取前5张人脸图像作为训练样本,后5张人脸图像作为测试样本。
本实验运行的环境是IntelCeleronCPU2.00GHz处理器、
512MB内存,WindowsXP操作系统,对ORL人脸库样本训练时间为70.91s,识别率为90%,训练样本数目多增加人脸特征库的容量,会几何级增加人脸识别核心算法的时间和空间复杂度。
在识别结果的显示窗口中,一共显示了在整个人脸图像库中最小的10个欧氏距离,它们的排列也是从小到大进行排列的,同时,换句话说,这10个欧氏距离,也就分别代表了与实验中选取的待识别的人脸图像最相近的10幅人脸图像。
距离最近,当然也就是我们实验所需识别的人脸图像。
下面详细描述整个过程:
(1)读入人脸库
归一化人脸库后,将库中的没人选择一定数量的图像构成训练集,其余的构成测试集。
设归一化后的图像时n*m维,按列相连就构成N=n*m维矢量,可视为N维空间中的一个点,可
以空过K-L变换用一个低维子空间描述这个图像
(2)计算通过K-L变换的生成矩阵
所有训练样本的协方差矩阵为(以下三个等价);
M
xk.xk
C1=(k1T)/M-mx.mxT
C1=(A.AT)/M
(1)
M
(ximx)(ximx)T
C1=[i1]/M
A=(φ1φ2,⋯⋯,φm),φi=xi-mx,其中mx是平均人脸,M是训练人脸数,协方差矩阵C1是一个N*N的矩阵,N是xi的维数。
为了方便计算特征值和特征向量,一般选用第二个公式。
根据K-L变换原理,我们所求的
新坐标即由矩阵A.AT的非零特征值所对应的特征向量组成。
直接求N*N大小矩阵的C1的特征值和正交归一特征向量是很困难的,根据奇异值分解原理,可以通过求解ATA的特征值和特征向量来获得AAT的特征值和特征向量。
(3)识别
利用公式Y=UT*X,首先把所有图片进行投影,然后对于测试图片也进行同样的投影,采用判别函数对投影系数进行识别。
5.实验及结果分析
实验在两个图库上测试,一个是自建人脸库,该库包含10个不同人物,每人有5张不同表情和姿态下的图片,总共50幅。
另一个是ORL人脸库,该库包含40个不同人物,