DIP - 基于MATLAB的人脸识别算法课程设计报告

合集下载

基于-MATLAB的人脸识别

基于-MATLAB的人脸识别

图像识别题目:基于MATLAB的人脸识别院系:计算机科学与应用系班级::学号:日期:目录引言 (1)1 人脸识别技术 (2)1.1人脸识别的研究容 (2)1.1.1人脸检测(Face Detection) (2)1.1.2人脸表征(Face Representation) (2)1.2几种典型的人脸识别方法 (3)1.2.1基于几何特征的人脸识别方法 (3)1.2.2基于K-L变换的特征脸方法 (4)1.2.3神经网络方法 (4)1.2.4基于小波包的识别方法 (5)1.2.5支持向量机的识别方法 (5)2 人脸特征提取与识别 (5)2.1利用PCA进行特征提取的经典算法——Eigenface算法 (6)2.2 PCA人脸识别流程 (6)2.3特征向量选取 (8)2.4距离函数的选择 (9)2.5 基于PCA的人脸识别 (9)MATLAB人脸识别程序 (10)3 MATLAB软件程序编写 (10)3.1.创建图片数据库 (10)3.2 主程序 (11)3.3最终程序结果 (12)4 心得与体会 (12)参考文献 (12)引言随着社会的发展及技术的进步,社会各方面对快速高效的自动身份验证的需求可以说无处不在,并与日俱增。

例如,某人是否是我国的居民,是否有权进入某安全系统,是否有权进行特定的交易等。

尤其是自2001年美国“9.1l”恐怖袭击发生以来,如何在车站、机场等公共场所利用高科技手段,迅速而准确地发现并确认可疑分子成了目前世界各国在反恐斗争中普遍关注的问题。

为此,各国都投入大量人力、物力研究发展各类识别技术,使得生物特征识别技术得到了极大的发展。

生物特征识别技术主要包括:人脸识别、虹膜识别、指纹识别、步态识别、语音识别、笔迹识别、掌纹识别以及多生物特征融合识别等。

人类通过视觉识别文字,感知外界信息。

在客观世界中,有75%的信息量都来自视觉,因此让计算机或机器人具有视觉,是人工智能的重要环节。

由于生物特征是人的在属性,具有很强的稳定性和个体差异性,因此是身份验证最理想的依据。

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

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

图像识别题目:基于MATLAB的人脸识别院系:计算机科学与应用系班级:姓名:学号:日期:目录引言 (1)1 人脸识别技术 (2)1.1人脸识别的研究内容 (2)1.1.1人脸检测(Face Detection) (2)1.1.2人脸表征(Face Representation) (2)1.2几种典型的人脸识别方法 (3)1.2.1基于几何特征的人脸识别方法 (3)1.2.2基于K-L变换的特征脸方法 (4)1.2.3神经网络方法 (4)1.2.4基于小波包的识别方法 (5)1.2.5支持向量机的识别方法 (5)2 人脸特征提取与识别 (5)2.1利用PCA进行特征提取的经典算法——Eigenface算法 (6)2.2 PCA人脸识别流程 (6)2.3特征向量选取 (8)2.4距离函数的选择 (9)2.5 基于PCA的人脸识别 (9)MATLAB人脸识别程序 (10)3 MATLAB软件程序编写 (10)3.1.创建图片数据库 (10)3.2 主程序 (11)3.3最终程序结果 (12)4 心得与体会 (12)参考文献 (13)引言随着社会的发展及技术的进步,社会各方面对快速高效的自动身份验证的需求可以说无处不在,并与日俱增。

例如,某人是否是我国的居民,是否有权进入某安全系统,是否有权进行特定的交易等。

尤其是自2001年美国“9.1l”恐怖袭击发生以来,如何在车站、机场等公共场所利用高科技手段,迅速而准确地发现并确认可疑分子成了目前世界各国在反恐斗争中普遍关注的问题。

为此,各国都投入大量人力、物力研究发展各类识别技术,使得生物特征识别技术得到了极大的发展。

生物特征识别技术主要包括:人脸识别、虹膜识别、指纹识别、步态识别、语音识别、笔迹识别、掌纹识别以及多生物特征融合识别等。

人类通过视觉识别文字,感知外界信息。

在客观世界中,有75%的信息量都来自视觉,因此让计算机或机器人具有视觉,是人工智能的重要环节。

基于matlab的人脸识别课程设计

基于matlab的人脸识别课程设计

基于matlab的人脸识别课程设计人脸识别方法的分析与研究目录摘要 ...................................................................... III 第1章绪论 .............................................................- 1 - 1.1人脸识别技术的细节 ................................................. - 1 - 1.2人脸识别技术的广泛应用 ............................................. - 1 - 1.3人脸识别技术的难点 ................................................. - 2 - 1.4 国内外研究状况 ..................................................... - 2 - 1.5人脸识别的研究内容 ................................................. - 3 - 1.5.1人脸识别研究内容 ............................................... -3 - 1.5.2人脸识别系统的组成 ............................................. -4 - 第2章人脸识别方法 ..................................................... -6 - 2.1基于特征脸的方法 ................................................... -6 - 2.2基于神经网络的方法 ................................................. -6 - 2.3弹性图匹配法 ....................................................... -7 - 2.4基于模板匹配的方法 ................................................. -7 - 2.5基于人脸特征的方法 ................................................. -7 - 第3章 PCA人脸识别方法 ................................................. - 9 - 3.1 引言 ............................................................... - 9 - 3.2 主成分分析 ......................................................... - 9 - 3.3特征脸方法 ........................................................ -11 - 第4章仿真实验 ........................................................- 13 - 4.1 流程图 ............................................................ - 13 - 4.2仿真结果 .......................................................... - 14 - 第5章总结与展望 ...................................................... - 15 - 5.1 总结 .............................................................. - 15 - 5.2 展望 .............................................................. - 15 -- I -人脸识别方法的分析与研究参考文献 ............................................................... - 17 - 附录 ...................................................................- 18 -- II -人脸识别方法的分析与研究摘要人脸识别是当前模式识别领域的一个前沿课题,人脸识别技术就是利用计算机技术,根据数据库的人脸图像,分析提取出有效的识别信息,用来“辨认”身份的技术。

基于matlab的人脸识别系统设计开题报告

基于matlab的人脸识别系统设计开题报告
根据以上内容利用matlab仿真软件和傅里叶变换及相关性算法做出的人脸识别的频谱图以及频谱图的相关性系数,由相关性系数可得到,时域图一样的,相关性系数都是1而且频域图也一样;时域图不一样时,相关性系数越接近于1相似度越大,频域图差别越小,进行人脸识别,但是也存在一些缺点,即使是相同的时域图,它们的频谱图也存在一些差异。
二、国内外研究现状:
(一)国内研究现状:在国内,最早研究人脸识别的当属于中科院计算所跟哈工大的一个联合面像实验室。该实验室的高文教授,陈曦林教授,山世光教授,直到今天,都一直活跃在人脸识别领域,更可贵的是,在IEEE上面发表了很多paper。这一点,很值得我们同学学习。后来该实验室,成为上海银晨的研发中心,专门为上海银晨做技术研发和技术支持。其次是中科院生物研究所的李子清教授,以及下属的中科奥森公司。接着是清华大学的丁晓晴教授。丁晓晴教授在OCR领域,可谓国内第一人。不过最近几年转行做人脸识别,也是非常有成就的。由此可见,在国内人脸识别领域来说,已经具有了国际水平。
常用的人脸图像的预处理方法有:图像类型转换、滤波去噪、灰度变换、边缘检测及二值化、尺寸归一化、灰度归一化等。作为通用人脸图像预处理模块,要能够充分适应不同人脸库中图像在人脸大小、光照强度、成像系统等方面的任意性和差异性,不能单独采用某种单一的滤波、灰度变换和边缘检测方法。所以,在本仿真系统中,对上述的每种预处理方法全部加以实现的同时,还对三种最常用预处理方法:滤波去噪、灰度变换、边缘检测,提供了多种不同的具体算法供用户比较、选择之用。同时还利用的方法有,在人脸识别的过程中利用傅里叶变换并求取共轭的互能量普,由傅里叶变换的时域图通过互相关性算法得到频域的频谱图。
同时人脸图像识别除了具有重大的理论价值以及极富挑战性外,还其有许多潜在的应用前景,利用人脸图像来进行身份验证,可以不与目标相接触就取得样本图像,而其它的身份验证手段,如指纹、眼睛虹膜等必须通过与目标接触或相当接近来取得样木,在某些场合,这些识别手段就会有不便之处。人脸检测越来越受到大家的关注,他作为生物特征识别中一个非常重要的一个分支,已成为计算机视觉与模式识别领域中非常活跃的一个研究领域。而基于人脸检测更是学术界的一个难点。

机器学习概述课程设计报告(MATLAB人脸识别)

机器学习概述课程设计报告(MATLAB人脸识别)

机器学习概述课程设计报告题目:MATLAB人脸识别系统姓名:**学号:**专业:**时间:2015/8/7目录一、课程设计得目得 ..............................................................................二、设计得内容与要求 ..........................................................................三、详细设计 ..........................................................................................四、课程设计得总结 ..............................................................................五、参考文献 ..........................................................................................一.课程设计得目得人脸识别作为一项新兴得科学研究项目,有着广泛得应用前景,而且随着计算机技术得更新发展,它得科学研究价值也越发凸显。

经过几十年得研发探讨,世界各大研究结构得研发人员得不断努力下,人脸识别技术一已取得丰硕得成果,可在一定限制条件下完成人脸得自动识别。

这些成果得取得更促进了人们对人脸识别这一课题得深入研究。

在电子商务飞速发展得今天,人脸识别系统得范畴一不足以涵括人脸识别得应用范围,在数字图像处理、视频领域、基于内容得检索等方面有着重要得应用价值。

二.设计得内容及要求1、选择KNN,聚类或SVM方法中得一种或其她机器学习方法得一种进行课程设计2、要求能完成具体得识别任务:如图像分割、语音识别、人脸识别3、要求识别得对象中有自己生活元素,比如图像中包括学校得图片或语音时本人得语音等。

基于某MATLAB的人脸识别

基于某MATLAB的人脸识别

燕山大学课程设计(论文)任务书说明:此表一式四份,学生、指导教师、基层教学单位、系部各一份。

目录引言 (1)1 人脸识别技术 (2)1.1人脸识别的研究容 (2)1.1.1人脸检测(Face Detection) (2)1.1.2人脸表征(Face Representation) (2)1.2几种典型的人脸识别方法 (3)1.2.1基于几何特征的人脸识别方法 (3)1.2.2基于K-L变换的特征脸方法 (4)1.2.3神经网络方法 (5)1.2.4基于小波包的识别方法 (6)1.2.5支持向量机的识别方法 (6)2 人脸特征提取与识别 (6)2.1利用PCA进行特征提取的经典算法——Eigenface算法 (7)2.2 PCA人脸识别流程 (7)2.3特征向量选取 (9)2.4距离函数的选择 (10)2.5 基于PCA的人脸识别 (11)MATLAB人脸识别程序 (12)3 MATLAB软件程序编写 (13)3.1.创建图片数据库 (13)3.2 主程序 (13)3.3最终程序结果 (14)4 心得与体会 (16)参考文献 (16)引言随着社会的发展及技术的进步,社会各方面对快速高效的自动身份验证的需求可以说无处不在,并与日俱增。

例如,某人是否是我国的居民,是否有权进入某安全系统,是否有权进行特定的交易等。

尤其是自2001年美国“9.1l”恐怖袭击发生以来,如何在车站、机场等公共场所利用高科技手段,迅速而准确地发现并确认可疑分子成了目前世界各国在反恐斗争中普遍关注的问题。

为此,各国都投入大量人力、物力研究发展各类识别技术,使得生物特征识别技术得到了极大的发展。

生物特征识别技术主要包括:人脸识别、虹膜识别、指纹识别、步态识别、语音识别、笔迹识别、掌纹识别以及多生物特征融合识别等。

人类通过视觉识别文字,感知外界信息。

在客观世界中,有75%的信息量都来自视觉,因此让计算机或机器人具有视觉,是人工智能的重要环节。

人脸识别课程设计报告材料

人脸识别课程设计报告材料

用Matlab实现人脸识别学院:信息工程学院班级:计科软件普131成员:一、问题描述在一个人脸库中,有 15 个人,每人有 11 幅图像。

要求选定每一个人的若干幅图像组成样本库,由样本库得到特征库。

再任取图像库的一张图片,识别它的身份。

对于一幅图像可以看作一个由像素值组成的矩阵,也可以扩展开,看成一个矢量。

如一幅N*N象素的图像可以视为长度为N2的矢量,这样就认为这幅图像是位于N2维空间中的一个点,这种图像的矢量表示就是原始的图像空间,但是这个空间仅是可以表示或者检测图像的许多个空间中的一个。

不管子空间的具体形式如何,这种方法用于图像识别的基本思想都是一样的,首先选择一个合适的子空间,图像将被投影到这个子空间上,然后利用对图像的这种投影间的某种度量来确定图像间的相似度,最常见的就是各种距离度量。

因此,本次采用PCA算法确定一个子空间,最后使用最小距离法进行识别,并用matlab实现。

二、PCA 原理和人脸识别方法1)K-L 变换K-L 变换以原始数据的协方差矩阵的归一化正交特征矢量构成的正交矩阵作为变换矩阵,对原始数据进行正交变换,在变换域上实现数据压缩。

它具有去相关性、能量集中等特性,属于均方误差测度下,失真最小的一种变换,是最能去除原始数据之间相关性的一种变换。

PCA 则是选取协方差矩阵前 k 个最大的特征值的特征向量构成K-L 变换矩阵。

2)主成分的数目的选取保留多少个主成分取决于保留部分的累积方差在方差总和中所占百分比(即累计贡献率),它标志着前几个主成分概括信息之多寡。

实践中,粗略规定一个百分比便可决定保留几个主成分;如果多留一个主成分,累积方差增加无几,便不再多留。

3)人脸空间建立假设一幅人脸图像包含 N 个像素点,它可以用一个 N 维向量Γ表示。

这样,训练样本库就可以用Γi(i=1,...,M)表示。

协方差矩阵 C 的正交特征向量就是组成人脸空间的基向量,即特征脸。

将特征值由大到小排列:λ1≥λ2≥...≥λr,其对应的特征向量为μk。

基于matlab的人脸识别系统实验报告

基于matlab的人脸识别系统实验报告

基于MATLAB的人脸识别系统小组成员:徐艺达、莫子韬邹明宇、罗远挥、周宁基于MATLAB的人脸识别系统第一部分绪论如图一个人的指纹一样,人脸也具有唯一性,也可用来鉴别一个人的身份。

现在已有实用的计算机自动指纹识别系统面试,并在安检部门得到了相应的应用。

人脸图像的自动识别较之于指纹识别系统、DNA鉴定等具有更加方便的性能,其取样方便,可不接触目标进行识别,从而具有更大意义的开发效应。

然而,与指纹成像技术不同的是,人脸图像受很多因素的干扰:人脸表情的多样性,以及外在成像过程中的关照、图像尺寸、旋转、姿势变化等方面,使得同一个人在不同的环境下拍摄所得到的人脸图像不同,有时往往会有很大的差别,给识别带来了很大的难度。

因此,人脸识别也更具有挑战性。

除了具有重大的理论价值及极富挑战性外,人脸识别还具有很多潜在的应用前景,利用人脸图像进行身份验证,可以不与目标接触就取得样本图像,而使用其他的身份手段,如指纹、眼睛虹膜等必须通过与目标接触或相当接近来取得样本,因此此类识别手段也具有很多不便之处。

本文通过使用PCA和NMF两种算法及MATLAB软件对所取图像进行预处理与识别,应用该工具箱对图像进行了经典图像处理,进而应用与人脸识别系统。

主要涉及到图像选取、脸部定位、特征提取及图像处理识别几个过程。

第二部分基于NMF算法的人脸识别系统一、摘要作为一种基于人的脸部特征信息进行身份识别的一种生物识别技术,人脸识别逐渐成为了计算机视觉领域的一个热门研究课题。

NMF就是其中一种主流算法,但由于人脸识别所存在光照、角度、遮挡等问题仍未解决,因此NMF算法仍存在局限性,该算法没有引入任何对空间的位置的约束,所以最小化目标函数很难产生揭示数据X的局部特征的因子分解。

本文以NMF算法为基础,结合LNMF算法来求解人脸问题。

二、实验目的运用NMF算法对数据库中的数据进行人脸识别分析三、实验原理 1.非负矩阵分解法NMF 1.1NMF 定义非负矩阵分解定义为:找到非负矩阵W 与H 得到下式 V ≈WH (1-1)在计算中等式两者很难完全相等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数字图像处理实验报告院系:计算机科学学院班级:计科11303小组成员:张世柳、邓伟养、兰洋、冯威成员学号: *********实验名称:基于MATLAB的人脸识别算法实验时间: 2015.10.01 - 2015.10.19实验地点:东4教2号机房目录一、绪论 (2)二、实验设计 (2)(一)实验题目 (2)(二)实验目的 (2)三、实验准备 (2)(一)环境准备 (2)(二)知识准备 (3)四、算法设计 (3)(一)问题描述 (3)1. 主成分的一般定义 (3)2. 主成分的性质 (4)3. 主成分的数目的选取 (4)(二)PCA算法的功能实现 (5)1. 人脸空间的建立 (5)2. 特征向量的选取 (5)3. 人脸识别 (5)4. 识别流程 (6)五、程序实现 (6)(一)人脸识别程序 (6)1. 用户界面 (6)2. 选择图片 (6)3. 图片选择后 (6)4. 查找后 (6)(二)测试及结果分析 (6)六、实验总结 (7)七、参考文献 (10)一、绪论随着科技的发展,人类社会的进步,传统身份识别由于容易遗失,容易被破解已不能起到身份识别作用。

人们需要更加安全可靠的身份识别技术。

而生物特征的独一无二,不易丢失和被复制的特性很好满足了身份识别的需要。

同时随着计算机科学技术和生物医学的发展使得利用生物特征识别成为了可能。

在生物特征识别领域,由于人脸识别的操作快速简单,结果直观,准确可靠,不需要人的配合等优点已成为人们关注的焦点。

主成分分析(PCA)通过提取高维度的人脸图像的主元,使得图像在低维度空间中被处理来降低了图像处理的难度。

由于其有效的解决了图像空间维数过高的问题,已经成为人脸识别领域非常重要的理论,本实验研究的是基于MATLAB人脸识别算法的实现。

二、实验设计(一)实验题目机器人视觉——基于MATLAB的人脸识别算法(二)实验目的1. 初步了解人脸识别的特征法;2. 学会使用主成分分析算法(PCA);3. 通过功能模块实现人脸识别系统;4. 完成数字图像处理课程的作业要求。

三、实验准备(一)环境准备MATLAB 7.0(二)知识准备1. MATLAB的优势特点:(1) 高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来;(2) 具有完备的图形处理功能,实现计算结果和编程的可视化;(3) 友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;(4) 功能丰富的应用工具箱,为用户提供了大量方便实用的处理工具。

2. 主成分分析(Principal Component Analysis,PCA),将多个变量通过线性变换以选出较少个数重要变量的一种多元统计分析方法。

PCA是数字图像处理中经常用到的降维方法,在处理有关数字图像处理方面的问题时,比如经常用的图像的查询问题,在一个几万或者几百万甚至更大的数据库中查询一幅相近的图像。

这时,我们通常的方法是对图像库中的图片提取响应的特征,如颜色,纹理,sift,surf,vlad等特征,然后将其保存,建立响应的数据索引,再对要查询的图像提取相应的特征,与数据库中的图像特征对比,找出与之最近的图片。

如果为了提高查询的准确率,通常会提取一些较为复杂的特征,如sift,surf等,一幅图像有很多个这种特征点,每个特征点又有一个相应的描述该特征点的128维的向量,设想如果一幅图像有300个这种特征点,那么该幅图像就有300*vector(128维)个,如果我们数据库中有一百万张图片,这个存储量是相当大的,建立索引也很耗时,所以用PCA将其降维。

四、算法设计(一)问题描述1. 主成分的一般定义设有随机变量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个。

2. 主成分的性质主成分C1,C2,…,Cp具有如下几个性质:(1) 主成分间互不相关,即对任意i和j,Ci 和Cj的相关系数Corr(Ci,Cj)=0 i j(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(Ci,xj)=aij =aij(6) 令X1,X2,…,Xp的相关矩阵为R, (ai1,ai2,…,aip)则是相关矩阵R的第i个特征向量(eigenvector)。

而且,特征值i就是第i主成分的方差,即Var(Ci)=i其中i为相关矩阵R的第i个特征值(eigenvalue)1≥2≥…≥p≥03. 主成分的数目的选取前面已指出,设有p个随机变量,便有p个主成分。

由于总方差不增不减,C1,C2等前几个综合变量的方差较大,而Cp,Cp-1等后几个综合变量的方差较小, 严格说来,只有前几个综合变量才称得上主(要)成份,后几个综合变量实为“次”(要)成份。

实践中总是保留前几个,忽略后几个。

保留多少个主成分取决于保留部分的累积方差在方差总和中所占百分比(即累计贡献率),它标志着前几个主成分概括信息之多寡。

实践中,粗略规定一个百分比便可决定保留几个主成分;如果多留一个主成分,累积方差增加无几,便不再多留。

(二)PCA算法的功能实现1. 人脸空间的建立假设一幅人脸图像包含N个像素点,它可以用一个N维向量Γ表示。

这样,训练样本库就可以用Γi(i=1,...,M)表示。

协方差矩阵C的正交特征向量就是组成人脸空间的基向量,即特征脸。

将特征值由大到小排列:λ1≥λ2≥...≥λr,其对应的特征向量为μk。

这样每一幅人脸图像都可以投影到由u1,u2,...,ur张成的子空间中。

因此,每一幅人脸图像对应于子空间中的一点。

同样,子空间的任意一点也对应于一幅图像。

2. 特征向量的选取虽然协方差矩阵Ω最多有对应于非零特征值的k(k远小于M)个特征向量,但是通常情况下,k仍然很大,而事实上,根据应用的要求,并非所有的特征向量都有需要保留,而特征空间投影的计算速度是直接与创建子空间所用的特征向量的数目相关,若考虑到计算时间的因素,可以适当的减去一些信息量少的特征向量,而且,去掉这些特征向量之后不一定不利于分类结果,有的情况下反而能够提高识别性能。

3. 人脸识别有了这样一个由"特征脸"张成的降维子空间,任何一幅人脸图像都可以向其投影得到一组坐标系数,这组系数表明了该图像在子空间中的位置,从而可以作为人脸识别的依据。

换句话说,任何一幅人脸图像都可以表示为这组"特征脸"的线性组合,其加权系数即是K-L变换的展开系数,也可以称为该图像的代数特征。

因此,在获得特征脸之后,就可以对每一类别的典型样本进行投影,由此得到每个人脸的投影特征从而构成人脸特征向量,作为下一步识别匹配的搜索空间。

输入图像及其在人脸空间上的投影(重构图像),人脸图像在人脸空间中的投影变化不明显而非人脸图像的投影变化明显。

因此,检测一幅图像中是否存在人脸的基本思想是,计算该图像中任意位置处的局部图像与人脸空间之间的距离ε。

其中,ε是局部图像是否为人脸的度量。

因此,计算给定图像任意一点上的ε,就可以得到一映射图ε(x,y)。

4. 识别流程五、程序实现(一)人脸识别程序1. 用户界面2. 选择图片3. 图片选择后4. 查找后(二)测试及结果分析实验在两个图库上测试,一个是自建人脸库,该库包含10个不同人物,每人有5张不同表情和姿态下的图片,总共50幅。

另一个是ORL人脸库,该库包含40个不同人物,每人有10张图片,共400幅。

用训练样本进行测试,识别率为100%。

而随着训练样本的增加,识别率会有所提升,由于标准人脸库在采集时考虑了多种因素,人脸图像比较标准,所以识别率较自建人脸库识别率高,另外因为自建人脸库的图片太少,即训练样本太少,也会对结果产生影响,效果不是很好。

进行直方图均衡化比灰度归一化的识别率高,预处理对识别的效果起着至关重要的作用。

而此次实验的预处理还比较粗糙,PCA也只是起到了简单的特征脸降维的作用,要有更好的效果,还必须寻找更好的特征表达,使得可以尽量消除光照、表情、遮掩和姿势的影响。

(三)程序源码1. “读取图片”按钮%% 读取待查找图片global im;%由于要在两个按钮函数中使用,故使用全局变量[filename, pathname]=...uigetfile({'*.bmp'},'选择图片');str = [pathname, filename];%合成路径+文件名im = imread(str);%读取图片axes( handles.axes1);%使用第一个axesimshow(im);title('待查找')%显示图片2. “开始查找”按钮%% PCA人脸识别global im;%使用全局变量imgdata=[];%训练图像矩阵for i=1:10for j=1:5a=imread(strcat('C:\Users\dell\Desktop\ORL\s',num2str(i),'\',num2str(j),'.bmp'));b=a(1:112*92); % b是行矢量1×N,其中N=10304b=double(b);imgdata=[imgdata; b]; % imgdata 是一个M * N 矩阵,imgdata中每一行数据一张图片,M=50 end;end;imgdata=imgdata'; %每一列为一张图片imgmean=mean(imgdata,2); % 平均图片,N维列向量for i=1:50minus(:,i) = imgdata(:,i)-imgmean; % minus是一个N*M矩阵,是训练图和平均图之间的差值end;covx=minus'* minus; % M * M 阶协方差矩阵[COEFF, latent,explained] = pcacov(covx'); %PCA,用协方差矩阵的转置来计算以减小计算量% 选择构成95%的能量的特征值i=1;proportion=0;while(proportion < 95)proportion=proportion+explained(i);i=i+1;end;p=i-1;% 训练得到特征脸坐标系i=1;while (i<=p && latent(i)>0)base(:,i) = latent(i)^(-1/2)*minus * COEFF(:,i); % base是N×p阶矩阵,用来进行投影,除以latent(i)^(1/2)是对人脸图像的标准化i = i + 1;end% 将训练样本对坐标系上进行投影,得到一个p*M 阶矩阵为参考reference = base'*minus;%% 测试过程——在测试图片文件夹中选择图片,进行查找测试a=im;b=a(1:10304);b=double(b);b=b';object = base'*(b-imgmean);distance=100000;%最小距离法,寻找和待识别图片最为接近的训练图片for k=1:50temp= norm(object - reference(:,k));if (distance > temp)which = k;distance = temp;end;end;%找出距离最近的图片所在的位置num1 = ceil(which/5);%第num1个文件夹num2 = mod(which,5);%第num2个图片文件if (num2 == 0)num2 = 5;end;I=imread(strcat('C:\Users\dell\Desktop\Face\s',num2str(num1),'\',num2str(num2),'.bmp'));%读取该图片axes( handles.axes2);%使用第2个axes%输出判断所最接近的训练样本的人脸图片并显示其人名switch num1case 1imshow(I);title('此人为Peter');%显示图片及人名case 2imshow(I);title('此人为Ben');case 3imshow(I);title('此人为Nick');case 4imshow(I);title('此人为Park');case 5imshow(I);title('此人为Linkin');case 6imshow(I);title('此人为Andy');case 7imshow(I);title('此人为Arthur');case 8imshow(I);title('此人为Lisa');case 9imshow(I);title('此人为Dana');case 10imshow(I);title('此人为Sara');end;3. “退出”按钮%% 退出close(gcf);六、实验总结因为我以前学过Matlab,所以本次试题我采用了Matlab中的GUI(图形用户界面)为主要表现形式,我认为在这次的题目下GUI比单纯的M文件会有更强的应用、测试及表现效果,但由于之前对人脸识别算法不太了解,所以花了很长时间去分析理解,最终选择了较为简单且实用的PCA算法。

相关文档
最新文档