排版及课外学习特等奖1214b_第1页
排版及课外学习特等奖1214b_第2页
排版及课外学习特等奖1214b_第3页
排版及课外学习特等奖1214b_第4页
排版及课外学习特等奖1214b_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第十届数学中国数学建模网络赛地址:数学中国数学建模网络:赛:010021:第十届“认证杯”数学中国数学建模网络赛承诺书仔细阅读了第十届“认证杯”数学中国数学建模网络赛的竞赛规则。完全明白,在竞赛开始后参赛队员不能以任何方式(包括、电子邮件、网上等)与队外的任何人(包括指导教师)研究、与赛题有关。别人的成果是竞赛规则的, 如果知道,别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文处和参考文献中明确列出。郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。竞赛规则的行为,接受相应处理结果。允许数学中站(),以供网友之间学习交流,数学中站以非商业目的的交流不

2、需要提前取得的同意。的参赛队号为:1214参赛队员 (签名) :队员 1:队员 2:队员 3:乾参赛队员 (签名):参赛队伍组别(例如本科组): 本科组第十届数学中国数学建模网络赛地址:数学中国数学建模网络:赛:010021:第十届“认证杯”数学中国数学建模网络赛页参赛队伍的参赛队号:1214竞赛(由竞赛送至评委团前):竞赛评阅(由竞赛评委团评阅前进行):第十届数学中国数学建模网络赛地址:数学中国数学建模网络:赛:010021:2017 年第十届“认证杯”数学中国数学建模网络赛第一阶段题目 基于PCA 算法的跨人脸识别 人脸识别,跨变换,欧氏距离 人脸识别,PCA 主成分分析算法,K-L摘要:

3、近年来,人脸识别技术在众多领域得到了广泛的应用,从而促进了人脸识别技术的快速发展。而人脸的自动识别技术是一项具有极大性的技术,特别是鉴别不同段的两张是否为同一个人的技术更为复杂。首先,本文的人脸识别系统主要基于 PCA 主成分分析算法,其中的 PCA 主成分分析算主要包括了 PCA 基本算法和 K-L 变换这两大方面的内容。其次,选取了一个跨人脸数据库,将跨人脸数据库投影到向量空间中,通过 PCA 基本算法得到基本特征矩阵;然后进行 K-T 变换形成线性无关的特征向量和对应特征值,去除信息含量小的特征向量,从而形成含高信息量的低维特征脸子空间;接着只需要把待识别的人脸投影到特征脸子空间,通过欧

4、氏距离法来判断最小距离,达到识别跨最后,本文利用人脸。的图像处理工具箱制作人机交互的人脸识别仿真系统,通过 GUI 界面实现人脸识别功能。该系统主要包括两个图像显示框、4 个按钮,其中图像显示框分别显示待识别人脸图像和匹配到的图像,按钮功能分别为:选择待识别选择预存人脸数据库、开始辨认、计算程序可行性。、在实验中发现基于 PCA 的人脸识别系统的识别率很高,而且具有一定鲁棒性,所以基于 PCA 的人脸识别算法的实现的研究还是有意义。参赛队号:1214 参赛(由填写)所选题目: B题第十届数学中国数学建模网络赛地址:数学中国数学建模网络:赛:010021:SummaryIIn recent ye

5、ars, the development of trend oce recognition technology has avigorous, are usedany fields. In particular, the face of the automatic identificationtechnology is a very challenging technology, to identify two different age-span photos forthe sames is more complex.of all, the PCA(principal componentys

6、is) algorithm human face recognitionsystem is proedhis pr. Mainly includes the basic aspects of PCA algorithm andKaren-Loeve transform.In addition, we select n age-span face database, project-span face databaseothe vector space, getting the basic characteristic matrix through the PCA-based algorithm

7、,and then carry out Karen-Loeve transform to form linearly independent eigenvectorsand corresponding eigenvalues. The eigenvector with small information content is removedto form a low-dimenal feature fapace with high information content. Then onlyneeds to be recognition oce images projectedo the su

8、bspace, using Euclideandistance method to determine the minimum distance, achieve the recognition oce imagesage-span.Finally, the pputerr makes use ofimage prosing toolbox to produceeraction face recognition simulation system, through the GUIerfaceto achieve face recognition function. The system mai

9、nly includes two image-display-boxes,four buttons, which image-display-box displays to be-identified -image and match-image,the button functions are: selecting thcture to be identified, selecting the stored facedatabase, starting recognition, calculating program feasibility.he experiment, we foundt

10、a high recognition rate of the PCA-based face recognition system, but wieve meaningful.certain robustness, the PCA-based face recognition algorithm to achiKey words: face recognition; age-span face recognition; PCA algorithm; Kar transform; euclidean distanceen-Loeve参赛队号 # 1214目录一、问题重述2二、问题分析2三、模型假设

11、2四、符号说明3五、模型的建立与求解3人脸识别数据库的选择3基于 PCA 的人脸识别算法建立3基于 PCA 的人脸识别算法流程图4运用 PCA 算法和 K-L 变换建立的数学模型4获取协方差矩阵4Karen-Loeve(K-L)变换5特征值的选取5建立特征子脸空间6跨人脸识别6的实现65.4 基于系统仿真叙述6仿真实现分析及结果6六、模型评价与展望11模型的优点11模型的缺点11模型的展望11模型改进一:优化算法,采用 SVD 解决矩阵的特征值和特征向量11模型改进二:优化算法,构筑基于 Gabor 小波变换法的人脸识别系统11模型改进三:优化算法,以提高大幅度变化对识别的准确率116.3.1

12、.36.3.4对识别率的影响12模型改进四:优化算法,以降低额外七、模型社会价值与运用12八、参考文献13九、附录149.1 程序初始化14程序背景界面设置14程序添加14开始辨认15选择图库15开始检测16文本框内容显示1参赛队号 # 1214一、问题重述对同一个人来说,如果没有过改变面容的疾病、面部外伤或外科手术等经历,人在不同的阶段,面部的特征也会有所变化。人们在生活中也往往能够分辨出来两张不同段的是不是同一个人。当然,段相差越大,识别起来也就越。现在题目要求建立合理的数学模型,解决下面的一个问题:当给出两张不同段的面部时,可以通过

13、算法来自动识别是不是同一个人。为简单起见,可以假设两张一寸标准证件照。都是标准位置和标准光线下拍摄的,例如都为二、问题分析的变化而产生变换,具体表现在色相衰老和皱纹的出现。人脸人脸的会随着随等的限制1。 因此,目前人脸识别识别率通常会受到姿态、光照、表情以及的主要工作就是如何消除这些给人脸识别性能所造成的影响。当人脸发生变化时,常用算法的识别率会显著下降。然而,与人们对姿态、光照和表情的重视程度相比,人脸外貌的老化没有得到的关注。本题要求建立数学模型设计出算法,通过算法来自动识别出两张不同段的面部是不是同一个人,这就是实现不同段的人脸图像的自动识别。人脸识别的过程包括:图像中人脸的检测定位,人

14、脸的特征提取和自动识别。大学的 FG-NET Aging Data-Base2,其中包含了 76针对问题,采用了个人的 1002 幅图像作为人脸数据库。需要设计出能快速识别且准确率高的人脸识别算法,对于一幅图像可以看作一个由像素值组成的矩阵,扩展开可看成一个矢量,得到原始的图像空间。训练人脸库,得到特征脸空间。选择一个合适的子空间,将待识别人脸图像投影到特征脸空间中。然后计算与待测图像的人脸最匹配的人脸图像,最后完成人脸识别。此问题采用 PCA 算法,根据 K-L 变换得到特征脸向量,以此降低人脸空间维数;利用特征脸向量进行人脸的识别和重建,得到区别于其他人脸的特征,最后使用最小距离法进行识别

15、,并基于R2015b实现。三、模型假设针对本问题,建立如下假设: 1、假设不存在面部完全一样的两个人;2、假设人脸图像符合要求且真实有效,具有研究价值;3、假设同一配置电脑不同时刻对模型运行速度不会产生影响;4、假设电脑的配置满足处理 5000 张的需求。2参赛队号 # 1214四、符号说明符号符号说明1x均值向量 di c MX2平均脸向量3差值脸向量4协方差矩阵5样本库中的人脸数由差值脸向量d1 , d2 ,dn 特征值6的矩阵iuiTy78特征向量9由特征向量的特征矩阵由 x 经过 T 线性变换成的一个矩阵y 的协方差矩阵贡献率10cykd111213欧氏距离五、模型的建立与求解5.1

16、人脸识别数据库的选择跨度的人脸识别与普通的人脸识别最大的区别在于测试样本和训练样本的人脸图像具有不同的的特点是每个人有不同取值。实验数据库采用 FG-NET aging database ,该数据库最大的人脸6 18 张,同一个人某一特定的图像只有1 张,因此正好适合于跨段的人脸识别的研究。5.2 基于 PCA 的人脸识别算法建立用 FG-NET aging database 作为一个样本库,由样本库得到特征库,建立一个特征子空间。然后选取数据中的一张比较小的(或者比较大的比较小的),计算与),最后完ysis,PCA),比较大的待测图像库的人脸最匹配的人脸图像(或者成跨度的人脸识别。本文主要采

17、用主成分析(Principle component即是加入 K-L 变换将问题。空间中的主要信息提取出来,以此解决计算量过大和数据冗余此模型采用的是 PCA 算法,它是一种非常流行和实用的数据分析技术,最重要的应用是对原有数据进行简化。主成分分析(Principle Componentysis,PCA)包涵 K-T3参赛队号 # 1214变换,可以有效的找出数据中最“主要”的元素和结构,去除噪声和冗余,将原有的复杂数据降维处理,揭示出隐藏在复杂数据背后的简单结构。它的优点是简单,而且无参数限制,可以方便的应用与各个场合。因此应用极其广泛,从神经科学到计算机图形学都有它的身影。PCA 被称为应用

18、线形代数最有价值的结果之一。5.2.1 基于PCA 的人脸识别算法流程图算法的基本流程图如下图所示:图 1:基于 PCA 的人脸识别算法流程图运用PCA 算法和K-L 变换建立的数学模型获取协方差矩阵特征脸方法具体可描述为,对于一幅 N N 个像素组成的人脸图像,可以将其看作一个特征为 N 2 维向量的样本。设训练样本集有C 类样本,每类样本的个数为 N ,则所有样本个数为M C N ,样本集表示为x RN 2 , i 1,., M ,同时设样本集的向量为 x 。i样本集的平均脸向量表示为, 1Mx(5-1)iMi1每个样本减去平均脸,得到差值脸di ,di xi , i 1,., M协方差矩

19、阵c (也称总体散布矩阵)表示为,(5-2)1M1 didic MXX MTT(5-3)i1 d1 , d2 ,., dM ,因为矩阵 XX 的维度为 N N ,因此考虑另一个矩阵T22其中 X 2N MX T X ,它的维度为M M ,通常M N 2 。矩阵 X T X 的特征方程为,( X T X ) (5-4)ii i两边同时X ,得,i ) i ( Xi )(记ui Xi ,则式(5-5)可写成(5-5)4参赛队号 # 1214( X T X )u uii i(5-6)因此,M M 维的矩阵 X T X 和 N 2 N 2 维矩阵 XXT 具有相同的特征值,特征向量具有如下关系,ui

20、Xi(5-7)两规范化特征向量的关系为,1u X , i 1,., M(5-8)iii由于每个特征向量u 仍然是一个 N 2 维的向量,即仍然是一个 N N 的图像。这些特i征向量的图像仍然具有一些人脸的特点,因此被称作“特征脸”。通过求 XX 来求得了协方差矩阵特征值 ,特征向量,将M 个这样的特征向量按Tuii照特征值从大到小的顺序排列成行,组成矩阵T 。再运用 Karen-Loeve(K-L)变换进行变换。5.3.2 KarKaren-Loeve(K-L)变换en-Loeve 变换简称为 K-L 变换,是模式识别中常用的一种特征提取方法。K-L变换以原始数据的协方差矩阵的归一化正交特征矢

21、量的正交矩阵作为变换矩阵,对原始数据进行正交变换,在变换域上实现数据压缩。它具有减少相关性、突出差异性等特性,属于均方误差测度下,失真最小的一种变换。PCA 则是选取协方差矩阵前 K 个最大的特征值的特征向量变换。3,4K-L变换矩阵,KL 变换是图像压缩中的一种最优正交由上面的协方差矩阵可以得到协方差矩阵为 c ,特征值值i ,特征向量ui。将M 个这样的特征向量按照特征值从大到小的顺序排列成行,组成矩阵T 。假设T 是将 x 转化为 y 的一个线性变换,则y T (x )从上式可以看出 y 的均值为零, y 的协方差矩阵可以表示为:cy TCTT于是可以得到变换后的协方差矩阵为:(5-9)

22、(5-10) 10 .cy .(5-11) 0M 由此可以看出 y 的各个元素不相关,也就是说 y 的协方差cy 的特征值是 y 中对应变量方差。向量信号进行 K-L 变换的前后是相同的,但是各个分量在变换前后的值是不同的,一般在变换以后会出现许多非常小的值。5.3.3 特征值的选取由于计算量的巨大、数据冗余,需要对特征值进行选取,已达到从降到低维的效果,从而降低计算量和除去数据的冗余。是由大到小的进行选取,选取 k 个大的特征值(非零特征值),其余小的特征值舍去。因为主成分分析可以得到M个主成分,各个主成分的方差是递减的,包含的信息也是递减的。5参赛队号 # 1214因为特征脸空间维数由特征

23、向量的贡献率来确定,所以为了保障信息量达到一定的比例,需要计算特征值的贡献率: ik i1 (5-12)kM ii1选取的特征值的代表的信息量占总信息量的比例,i 代表的是cy 中k 代表的是的特征值。 代表的是所选取的信息量的标准,定该值为: 95% ,从而保证人脸库中的大量信息得以保留下来。5.3.4 建立特征子脸空间根据 Karen-Loeve(K-L)变换所得到特征向量,建立特征脸空间。将选取的特征值按照由大到小的顺序排列1 2 k ,其对应的特征向量为ui 。于是每一张人脸图像都可以投影到由u1, u2 ,uk中的一个点。的子空间中,那么每一张人脸图像就对应着子空间由 Karen-L

24、oeve(K-L)变换所得到特征向量建立的特征脸空间是低维的,因为只保留了较大特征值,而除去了一些较小的特征值,减少了计算量和信息的冗余。这样就得到了一个由特征量组成的低维特征脸子空间。5.3.5 跨人脸识别建立了由特征脸降维后的低维特征脸子空间后,将所有样本特征脸和待识别的人脸图像投影到特征脸子空间。然后得到特征脸子空间的一系列坐标点,每个点的位置对应着特征脸子空间中人脸图像的位置。这些点的在特征脸子空间的位置,可以作为人脸识别的依据。计算输入待识别的人脸在特征脸子空间的坐标,采用最小距离法,搜索遍历整个特征脸子空间,找出与待识别的人脸的坐标距离最短的坐标,那么该坐标对应的人脸就是识别出来的

25、。这就是同一个人两张不同时段的人脸。人脸对应的坐标的距离可以用欧氏距离来计算,计算公式为:12 2nd (x, y) | x y | (xi yi )(5-13) i1基于系统仿真叙述的实现语言是一种十分有效的工具,能容易地解决在系统仿真及控制系统计算机辅助设计领域的教学与研究中遇到GUI 是的人机交互界面。由于 GUI 本身提供了 windows 基本控件的支持,并且具有良好的事件驱制,同时数学库的接口,所以 GUI 对于控制系统仿真的提供了本文通过设计显得十分合适,主要实现的功R2015b设计一个人脸识别系统的仿真能为:当输入一张人脸图像是,系统能够从选择的预存人脸数据库中找出与待识别人脸

26、图最匹配的一张图像,并可以计算本文所建立的算法的准确性。5.4.2 仿真实现分析及结果本文是基于PCA 算法和R2015b,实现人脸识别功能的,通过6参赛队号 # 1214的图像处理工具箱制作 GUI 界面,并运用 GUI 编程实现简单的人机交互识别人脸,包括预存人脸图像和待识别图像的特征提取,对人脸的识别和待识别图库在不同路径下的提取。人脸识别的任务就是利用这个人脸数据库训练一个系统,使它能够在接受一个新人脸图像的时候,判别人脸图像的,下面即时人脸识别系统实现的简要流程图:图 2:人脸识别系统实现的简要流程图1)输入待识别人脸图像通过程序设计显示的 GUI 初始界面,选择待识别的人脸,如下图

27、所示:7参赛队号#1214图 3GUI 初始界面2) 读入预存人脸数据库通过资料的搜索及收集,最终收集到包含 76 个对象共 1002 幅的人脸图像,每张图像经过程序转换均为像素 92*112、jpg 格式的灰度图像,最终将所有图像汇一个文件中,且每幅图像按照数字代号及部分数据库如下图所示:段命名,每人有 6-18 张不同段图像。8参赛队号#1214图 4预存人脸图库部分图通过 GUI 界面,选取上述的预存人脸图库作为识别的图库路径。3) 形成特征脸子空间预存人脸数据库,实现将预存人脸数据库中的图像转换为列向量来人脸向量库 T。预存的首先,找到预存人脸数据库中的文件,批量并计算该文件夹中所含的

28、总数L。再将每一张转换为一个列向量。不妨假设灰度图像的行数为 n,列数为 m,则灰度图像就转换为一个 nm 行,L 列的新矩阵 T,求出矩阵 T 中每一行数据的均值。 计算每一副图像相对均值的差值,形成偏差矩阵。于是便可以应用主成分分析算法,得到预存人脸数据库中所有图像样本的协方差的特征向量和特征值。保留主要特征向量的同时降低向量维数,并选取占整个特征值 95%的特征值。将选取的特征向量特征脸子空间的转换矩阵,然后将特征脸子空间输出。4) 匹配识别并显示当点击“开始辨认”按钮时,程序开始预处理新数据,将差值图像投影到特征脸空间,这样每一张预存人脸图像和待识别人脸图像在特征脸子空间上都有一个坐标

29、。按照欧氏距离的计算方法计算得出最小的距离,以此来寻找和待识别人脸图像最为接近的图像。通过 GUI 人脸识别系统,将计算得到的距离里最小的预存人脸图像作为匹配识别的结果并输出,同时输出该图像的名称代号于 GUI 界面中,如下是一次检验成功实验的截图:9参赛队号#1214图 5匹配成功而当跨度过大的时候,本实验的人脸识别系统则很大几率无法成功匹配,这是本系统存在的缺陷之一。5) 检测准确度为了统计该系统程序执行的准确性,在 GUI 用户界面添加了开始检测的按钮,可直观显示出程序准确性,如上述图 5 所示。选取了英国 ORL 人脸数据库,该人脸数据库共有 40 个不同、不同和不同种族的对象。每个人

30、 10 幅图像共计 400 幅灰度图像组成,图像尺寸是 92112,图像背景为黑色。其中人脸部分表情和细节均有变化,例如笑与不笑、眼睛睁着或闭着,戴或不戴眼镜等,人脸姿态也有变化,其深度旋转和平面旋转可达 20 度,人脸尺寸也有最多 10%的变化。通过实验仿真结果显示,对 自定义的人脸数据库,本文所建立的算法的可行性即程序准确度可达到 71.5%。而当高达 90%。库减少为 100 幅时,本文所建立的算法的可行性10参赛队号 # 1214六、模型评价与展望6.1 模型的优点1、GUI 系统界面友好,使用方便,操作简单,运行效率高。可方便新增图像或改变图像快速建立训练图像人脸知识库,方便观察与分

31、析研究。2、KL 变换是图像压缩中的一种最优正交变换。从能量的角度看,KL 变换是最优的,它不仅使降维前后的均方误差最小,通过低维子空间表示对原数据进行有效压缩,使计算简单快速,而且变换后的低有很好的人脸表达能力。3、基于 PCA 的特征脸方法是一种有效的特征提取方法,它不仅可以有效地降低人 脸图像的维数, 同时又能保留主要的识别信息,而且这些信息对表情、姿态等都具有不敏感性。6.2 模型的缺点1、由于硬件要求无法达到大量数据处理的需求,当样本数据库过于庞大时候,程序的运行效率降低、准确率会下降,甚至会出现死机需要重新启动的情况。2、如果跨度过大,相貌变换过大,程序的准确率会降低,实验结果受到

32、影响。模型的展望模型改进一:优化算法,采用SVD 解决矩阵的特征值和特征向量矩阵的特征值和特征向量一般是通过 K-L 变换来计算的,但是对于矩阵的特征值和特征向量的求解释相当的,为了解决该问题,可以采用奇异值分解法(SVD)来解决。奇异值分解法(SVD)可以将矩阵拆分为几个交小的低维矩阵,然后再进行特征值和特征向量的求解,奇异值的性质保证了人脸图像的特征具有代数的不变性,奇异值也具有一定的稳定性。6.3.2 模型改进二:优化算法,构筑基于Gabor 小波变换法的人脸识别系统5Gabor 小波方法是一种多分辨率的描述,在频率和方向上对图像的表示特性与人类视觉系统的相关特性非常相似。它对光线、变换

33、、尺寸和角度等具有一定的不变性,因此能够较好地解决由于环境变化而引起的图像变化问题,并取得了较高的识别率。设计步骤流程图如下:图 6改良后的人脸识别算法流程图6.3.3 模型改进三:优化算法,以提高大幅度变化对识别的准确率11参赛队号 # 1214由于变化引起人脸形状和纹理上的变化,导致人脸识别率严重下降。若想提高识别率,则需要进一步优化算法,加入估计和人脸图像重构的人脸识别算法,从而实现了变化的人脸识别。6.3.4 模型改进四:优化算法,以降低额外对识别率的影响在进一步的研究中,可以考虑多方法的组合使用。因为实际情况下,光线、姿态、表情、背景等直接影响着算法的准确性,使得单一算法不能保证图像

34、处理的准确性。对于人脸表示框架,对于大的姿态变化,遮挡以及表情变化引起的表观改变,很多情况下表现并不好,可能需要重新改变目前的人脸表示方式,采用多个局部模型而不是一个整体模型来进行表示6,还可以考虑一些人脸姿态/表情矫正方法,从而保证识别的准确性和鲁棒性。七、模型社会价值与运用研究人脸识别中的在刑侦领域、寻找1、可直接应用在问题,实现对变化的人脸识别,可以推动人脸识别技术等实际运用。、护照等个人明中,进行自动个人辩识。、护照以及许多其他证件上都有证件所有者的正面的免冠,可以保证在进行验证时,虽然证件持有者的样貌已经与有一定的差距,仍能较为准确的识别出对象的。此外,还可以有效地打击制造、使用假、

35、件等违法发生后,行为。门会根据嫌疑犯的特2、可以协助门抓捕通缉犯。当刑事征体貌以及目击者的描述锁定若干个嫌疑人,并对于在逃的要发通缉令进行通缉。但是一般情况下,可获得的通缉犯都比较模糊、老旧。利用考虑了的人脸识别头,并将系统,仅需在客运站、机场、火车站等公共场所安装连接门的到的进行比对,即使犯人在逃,也能比较容易发现他的踪影。3、可以将与数据库进行比对,找出。一个小朋友走失了,也可以用人脸识别技术由他的面像知道他的,继而找到他的家庭住址。12参赛队号 # 1214八、参考文献PHILLIPS P J,SCRUGGS W T,OTOOLE A J,et al,FRVT 2006 and ICE

36、2006 large-scale results: TechnicalReport NISTIR 7408R,Gaithersburg,USA: National In-stitute of Standards and Technology,2007James Crowley,FGnet - IST-2000-26434 Face and Gesture Recognition Working group,2017 年 4 月 15 日3 Lindsay I Smi 32(9):5-8,2005tutorial on Principle ComponentsysisJ,Pattern Reco

37、gnition,4 Rajkiran Gottumukkal,Vijay.Asari,Letters An improved face recongnition techniquebased on modular PCA approachJ,Pattern Recognition,25(3):429-436,20045,应用小波变换和 K-L 变换的人脸识别因方法,交通大学,20016Dong Chen,Xudong Cao,Wen,Jian Sun,Blessing of Dimenality:High-dimenal Feature and Its Efficient Compresfor

38、 Face Verification, CVPR 20137 杜吉祥,使用稀疏约束非负矩阵分解算法的跨人脸识别,智能系统学报,第 7 卷第 3 期:271-274,2012820139,基于 PCA 人脸识别系统设计与实现,厦门理工学院学报,第 21 卷 第 3 期,知贵,张,基于改进PCA 算法的人脸识别研究,电脑知识与技术,Vol.5,No.33,200910刘向东,基于 PCA 算法人脸识别的2016实现,电脑知识与技术,Vol.12, No.12,1112的人脸识别算法的研究,内大学,2014,基于,基于图像的估计与人脸图像重构D,中南大学,200713武军,遗传算法在 PCA 人脸识

39、别算法中的应用研究D,电子科技大学, 201114,具有变化的人脸识别技术研究,江苏大学,200615机器之眼,从事人脸识别研究必读的 N 篇文章,https:/z/p/22591740,2017 年 4 月 16 日13参赛队号#1214九、附录9.1 程序初始化function varargout = untitled(varargin)%初始化 gui_Singleton = 1;gui_Se= struct(gui_Name, gui_, umfilename, ., ., ,u );if nargingui_Send& ischar(varargin1)e.gui_Callback=

40、 str2func(varargin1);if nargoutvarargout1:nargout else=(gui_Se, varargin:);(gui_Se,varargin:);end9.2 程序背景界面设置% - Execu function unntitled is made visible. (hObject, eventdata, handles,varargin)handles.output = hObject; guidata(hObject, handles);%背景界面设置 axes(handles.axes3);filename = 人脸识别背景图.jpg;path

41、name = C:Usersonly乾Desktop认证杯试题B; fpath=pathname filename;imshow(imread(fpath);%左空白头像设置axes(handles.axes1); filename =空白头像.jpg;pathname = C:Usersonly乾Desktop认证杯试题B; fpath=pathname filename;imshow(imread(fpath);%右空白头像设置 axes(handles.axes2); filename =空白头像.jpg;pathname = C:Usersonly乾Desktop认证杯试题B; fpa

42、th=pathname filename;imshow(imread(fpath);9.3 程序添加% - Outputs from thi function varargout = uturned to the (hObject, evend line. handles)varargout1 = handles.output;%选择% - Executes on button press in pushbutton1.function pushbutton1_Callback(hObject, eventdata, handles)14参赛队号#1214global im; global f

43、ile1;filename, pathname = uigetfile(*.bmp,choose photo); str = pathname, filename;im = imread(str); axes(handles.axes1); imshow(im); file1=filename; file1(end-6:end)=;sendles.edit3,string,file1)9.4 开始辨认%开始辨认% - Executes on button press in pushbutton2.function pushbutton2_Callback(hObject, eventdata,

44、 handles)global imglobal reference global Wglobal imgmean global col_of_data global pathname global img_path_list global file1% 预处理新数据im = double(im(:); objectone = distance =; %计算每幅图像的投影 9;% 最小距离法,寻找和待识别最为接近的训练for k = 1:col_of_datatemp = norm(objectone - reference(:,k); if(distancetemp)aimone = k;

45、distance = temp;aimpath = strcat(pathname, /,img_path_list(aimone).name); axes(handles.axes2)imshow(aimpath) file2=img_path_list(aimone).name; file2(end-6:end)=;sendles.edit4,string,file2)jieguo=识别失败; if(strcmp(file1,file2)=1)jieguo=识别成功;endsendles.edit1,string,jieguo)endend9.5 选择图库%选择图库% - Executes

46、 on button press in pushbutton2.function pushbutton3_Callback(hObject, eventdata, handles)global reference global Wglobal imgmean15参赛队号#1214global col_of_data global pathname global img_path_list% 批量指定文件夹下的pathname = uigetdir;img_path_list = dir(strcat(pathname,*.bmp); img_num = length(img_path_list

47、);imagedata = ; if img_num 0for j = 1:img_numimg_name = img_path_list(j).name;temp = imread(strcat(pathname, /, img_name); temp = double(temp(:);imagedata = imagedata, temp;endendcol_of_data = size(imagedata,2);% 中心化 & 计算协方差矩阵 imgmean = mean(imagedata,2); for i = 1:col_of_dataimagedata(:,i) = imaged

48、ata(:,i) - imgmean;endcovMat = imagedata*imagedata;COEFF, latent, explained = pcacov(covMat);% 选择i = 1;95%能量的特征值proportion = 0;while(proportion 95)proportion = proportion + explained(i); i = i+1;endp = i - 1;% 特征脸W = imaged W = W(:,1:OEFF;% N*M % N*p % 训练样本在新座标基下的表达矩阵 p*M reference = W*imagedata;9.6

49、 开始检测%开始检测% - Executes on button press in pushbutton2. function pushbutton4_Callback(hObject, eventdata,%计算准确度handles)alls forles=;:40for j=1:5if(i10)a=imread(strcat( C:Usersonly乾Desktop认证杯ORL集合00,num2str(i),0,num2str(j),.bmp); elsea=imread(strcat( C:Usersonly乾Desktop认证杯ORL集合0,num2str(i),0,num2str(j

50、),.bmp);16参赛队号#1214end b=a(1:112*92);b=doub alls);=allsles; b;endend sflemean=me i=1:200lsles); % 平均,1 Nxmean(i,:)=allsles(i,:)-slemean;end;sigma=xmean*xmean; v,d=eig(sigma); d1=diag(d);d2,index=sort(d1);% M * M 阶矩阵%以升序排序cols=size(v,2); % 特征向量矩阵的列数for i=1:colsvsort(:,i) = v(:, index(cols-i+1) );dsort(i)= d1( index(cols-i+1) );end%以下选择90%的能量 dsum = sum(dsort); dsum_extract = 0;p = 0;while( dsum_extract/dsum 0.9) p = p + 1;dsum_extract = sum(dsort(1:p);endi=1;% (训练阶段)计算特征脸形成的坐标系 while (i0)base(:,i) = dsort(i)(-1/2) * xmean i = i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论