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