DIP - 基于MATLAB的人脸识别算法课程设计报告
基于-MATLAB的人脸识别
![基于-MATLAB的人脸识别](https://img.taocdn.com/s3/m/e20fb04f0740be1e650e9a59.png)
图像识别题目:基于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的人脸识别](https://img.taocdn.com/s3/m/86900cd6b8f67c1cfad6b8bc.png)
图像识别题目:基于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的人脸识别课程设计](https://img.taocdn.com/s3/m/deab7091f7ec4afe05a1df48.png)
基于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的人脸识别系统设计开题报告](https://img.taocdn.com/s3/m/8fbb0fd16137ee06eff918ce.png)
二、国内外研究现状:
(一)国内研究现状:在国内,最早研究人脸识别的当属于中科院计算所跟哈工大的一个联合面像实验室。该实验室的高文教授,陈曦林教授,山世光教授,直到今天,都一直活跃在人脸识别领域,更可贵的是,在IEEE上面发表了很多paper。这一点,很值得我们同学学习。后来该实验室,成为上海银晨的研发中心,专门为上海银晨做技术研发和技术支持。其次是中科院生物研究所的李子清教授,以及下属的中科奥森公司。接着是清华大学的丁晓晴教授。丁晓晴教授在OCR领域,可谓国内第一人。不过最近几年转行做人脸识别,也是非常有成就的。由此可见,在国内人脸识别领域来说,已经具有了国际水平。
常用的人脸图像的预处理方法有:图像类型转换、滤波去噪、灰度变换、边缘检测及二值化、尺寸归一化、灰度归一化等。作为通用人脸图像预处理模块,要能够充分适应不同人脸库中图像在人脸大小、光照强度、成像系统等方面的任意性和差异性,不能单独采用某种单一的滤波、灰度变换和边缘检测方法。所以,在本仿真系统中,对上述的每种预处理方法全部加以实现的同时,还对三种最常用预处理方法:滤波去噪、灰度变换、边缘检测,提供了多种不同的具体算法供用户比较、选择之用。同时还利用的方法有,在人脸识别的过程中利用傅里叶变换并求取共轭的互能量普,由傅里叶变换的时域图通过互相关性算法得到频域的频谱图。
同时人脸图像识别除了具有重大的理论价值以及极富挑战性外,还其有许多潜在的应用前景,利用人脸图像来进行身份验证,可以不与目标相接触就取得样本图像,而其它的身份验证手段,如指纹、眼睛虹膜等必须通过与目标接触或相当接近来取得样木,在某些场合,这些识别手段就会有不便之处。人脸检测越来越受到大家的关注,他作为生物特征识别中一个非常重要的一个分支,已成为计算机视觉与模式识别领域中非常活跃的一个研究领域。而基于人脸检测更是学术界的一个难点。
机器学习概述课程设计报告(MATLAB人脸识别)
![机器学习概述课程设计报告(MATLAB人脸识别)](https://img.taocdn.com/s3/m/4c95a1b2453610661fd9f451.png)
机器学习概述课程设计报告题目:MATLAB人脸识别系统姓名:**学号:**专业:**时间:2015/8/7目录一、课程设计得目得 ..............................................................................二、设计得内容与要求 ..........................................................................三、详细设计 ..........................................................................................四、课程设计得总结 ..............................................................................五、参考文献 ..........................................................................................一.课程设计得目得人脸识别作为一项新兴得科学研究项目,有着广泛得应用前景,而且随着计算机技术得更新发展,它得科学研究价值也越发凸显。
经过几十年得研发探讨,世界各大研究结构得研发人员得不断努力下,人脸识别技术一已取得丰硕得成果,可在一定限制条件下完成人脸得自动识别。
这些成果得取得更促进了人们对人脸识别这一课题得深入研究。
在电子商务飞速发展得今天,人脸识别系统得范畴一不足以涵括人脸识别得应用范围,在数字图像处理、视频领域、基于内容得检索等方面有着重要得应用价值。
二.设计得内容及要求1、选择KNN,聚类或SVM方法中得一种或其她机器学习方法得一种进行课程设计2、要求能完成具体得识别任务:如图像分割、语音识别、人脸识别3、要求识别得对象中有自己生活元素,比如图像中包括学校得图片或语音时本人得语音等。
基于某MATLAB的人脸识别
![基于某MATLAB的人脸识别](https://img.taocdn.com/s3/m/c5721ac102768e9950e73834.png)
燕山大学课程设计(论文)任务书说明:此表一式四份,学生、指导教师、基层教学单位、系部各一份。
目录引言 (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%的信息量都来自视觉,因此让计算机或机器人具有视觉,是人工智能的重要环节。
人脸识别课程设计报告材料
![人脸识别课程设计报告材料](https://img.taocdn.com/s3/m/aadff62d33687e21af45a9ff.png)
用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的人脸识别系统实验报告](https://img.taocdn.com/s3/m/2e6fb5b4294ac850ad02de80d4d8d15abe2300ef.png)
基于MATLAB的人脸识别系统小组成员:徐艺达、莫子韬邹明宇、罗远挥、周宁基于MATLAB的人脸识别系统第一部分绪论如图一个人的指纹一样,人脸也具有唯一性,也可用来鉴别一个人的身份。
现在已有实用的计算机自动指纹识别系统面试,并在安检部门得到了相应的应用。
人脸图像的自动识别较之于指纹识别系统、DNA鉴定等具有更加方便的性能,其取样方便,可不接触目标进行识别,从而具有更大意义的开发效应。
然而,与指纹成像技术不同的是,人脸图像受很多因素的干扰:人脸表情的多样性,以及外在成像过程中的关照、图像尺寸、旋转、姿势变化等方面,使得同一个人在不同的环境下拍摄所得到的人脸图像不同,有时往往会有很大的差别,给识别带来了很大的难度。
因此,人脸识别也更具有挑战性。
除了具有重大的理论价值及极富挑战性外,人脸识别还具有很多潜在的应用前景,利用人脸图像进行身份验证,可以不与目标接触就取得样本图像,而使用其他的身份手段,如指纹、眼睛虹膜等必须通过与目标接触或相当接近来取得样本,因此此类识别手段也具有很多不便之处。
本文通过使用PCA和NMF两种算法及MATLAB软件对所取图像进行预处理与识别,应用该工具箱对图像进行了经典图像处理,进而应用与人脸识别系统。
主要涉及到图像选取、脸部定位、特征提取及图像处理识别几个过程。
第二部分基于NMF算法的人脸识别系统一、摘要作为一种基于人的脸部特征信息进行身份识别的一种生物识别技术,人脸识别逐渐成为了计算机视觉领域的一个热门研究课题。
NMF就是其中一种主流算法,但由于人脸识别所存在光照、角度、遮挡等问题仍未解决,因此NMF算法仍存在局限性,该算法没有引入任何对空间的位置的约束,所以最小化目标函数很难产生揭示数据X的局部特征的因子分解。
本文以NMF算法为基础,结合LNMF算法来求解人脸问题。
二、实验目的运用NMF算法对数据库中的数据进行人脸识别分析三、实验原理 1.非负矩阵分解法NMF 1.1NMF 定义非负矩阵分解定义为:找到非负矩阵W 与H 得到下式 V ≈WH (1-1)在计算中等式两者很难完全相等。
matlab人脸识别设计报告
![matlab人脸识别设计报告](https://img.taocdn.com/s3/m/9f25f28bd4bbfd0a79563c1ec5da50e2534dd17a.png)
matlab人脸识别设计报告人脸识别是一种常见的生物特征识别技术,它在安全领域、人机交互、人脸检测等方面有着广泛的应用。
在MATLAB中,人脸识别的设计涉及到图像处理、模式识别和机器学习等领域。
下面我将从以下几个方面来介绍MATLAB中人脸识别的设计报告:1. 人脸图像的获取和预处理,首先,需要使用MATLAB的图像处理工具箱来获取人脸图像,可以通过摄像头或者读取存储在计算机中的图像。
然后,对图像进行预处理,包括灰度化、直方图均衡化、人脸区域的定位和裁剪等操作,以便后续的特征提取和识别。
2. 人脸特征提取,在MATLAB中,可以利用各种特征提取方法,如主成分分析(PCA)、线性判别分析(LDA)、局部二值模式(LBP)等方法来提取人脸图像的特征。
这些特征可以帮助我们准确地描述和区分不同的人脸。
3. 人脸识别模型的建立,在MATLAB中,可以利用机器学习和模式识别工具箱来建立人脸识别模型,比如支持向量机(SVM)、人工神经网络(ANN)等。
通过对提取的人脸特征进行训练和学习,建立起识别模型,并对新的人脸图像进行识别和分类。
4. 性能评估和优化,设计报告还需要包括对人脸识别系统性能的评估和优化。
可以使用MATLAB的性能评估工具箱来进行准确率、召回率、F1值等指标的评估,同时根据评估结果对人脸识别系统的参数和算法进行优化和改进。
5. 应用和展望,最后,设计报告还应该包括对人脸识别技术在实际应用中的展望和未来发展方向的探讨,比如结合深度学习的人脸识别、多模态生物特征融合识别等方面的研究。
综上所述,MATLAB中人脸识别的设计报告需要涵盖人脸图像获取与预处理、特征提取、识别模型建立、性能评估与优化、应用展望等多个方面,而且需要结合实际案例和算法原理进行详细的阐述和分析。
希望这些内容能够对你有所帮助。
《基于MATLAB的人脸识别算法的研究》范文
![《基于MATLAB的人脸识别算法的研究》范文](https://img.taocdn.com/s3/m/c756fa8d250c844769eae009581b6bd97f19bcc3.png)
《基于MATLAB的人脸识别算法的研究》篇一一、引言人脸识别技术是近年来计算机视觉领域研究的热点之一,其应用范围广泛,包括安全监控、身份认证、人机交互等。
MATLAB作为一种强大的数学计算软件,为研究人员提供了丰富的工具和函数,使得人脸识别算法的研究和实现变得更加便捷。
本文将介绍基于MATLAB的人脸识别算法的研究,包括算法原理、实现方法、实验结果及分析等方面。
二、人脸识别算法原理人脸识别算法主要基于计算机视觉和模式识别技术,通过对人脸特征进行提取和匹配,实现身份识别。
常见的人脸识别算法包括特征提取、特征匹配等步骤。
其中,特征提取是关键步骤,需要从人脸图像中提取出有效的特征,如纹理、形状、颜色等。
特征匹配则是将提取出的特征与人脸库中的特征进行比对,找出最匹配的人脸。
三、基于MATLAB的人脸识别算法实现1. 预处理在人脸识别算法的实现中,首先需要对人脸图像进行预处理,包括灰度化、归一化、降噪等操作。
这些操作可以有效地提高图像的质量,为后续的特征提取和匹配提供更好的基础。
2. 特征提取特征提取是人脸识别算法的核心步骤之一。
在MATLAB中,可以使用各种算法进行特征提取,如主成分分析(PCA)、局部二值模式(LBP)、方向梯度直方图(HOG)等。
本文采用PCA 算法进行特征提取,通过降维的方式将高维的人脸图像数据转化为低维的特征向量。
3. 特征匹配特征匹配是将提取出的特征与人脸库中的特征进行比对的过程。
在MATLAB中,可以使用各种相似度度量方法进行特征匹配,如欧氏距离、余弦相似度等。
本文采用欧氏距离作为相似度度量方法,通过计算特征向量之间的欧氏距离来找出最匹配的人脸。
四、实验结果及分析为了验证基于MATLAB的人脸识别算法的有效性,我们进行了多组实验。
实验数据集包括ORL人脸库、Yale人脸库等。
在实验中,我们使用了不同的特征提取和匹配方法,对算法的性能进行了评估。
实验结果表明,基于PCA算法的特征提取方法和欧氏距离相似度度量方法在人脸识别中具有较好的性能。
基于matlab的人脸识别系统设计与仿真毕业设计
![基于matlab的人脸识别系统设计与仿真毕业设计](https://img.taocdn.com/s3/m/d0138c89daef5ef7ba0d3cff.png)
(此文档为word格式,下载后您可任意编辑修改!)佳木斯大学毕业论文基于Matlab的人脸识别系统设计与仿真学院信息电子技术专业电子信息工程班级11级1班姓名杨雷指导教师周经国佳木斯大学2015年6月10日摘要人脸识别即指利用分析比对人脸视觉特征信息从而达到身份鉴别效果的计算机技术。
人脸识别是一项当下十分热门的计算机技术的研究领域,该项技术可以人脸明暗侦测,并且自动调整动态曝光补偿,同时对人脸追踪侦测,并自动调整影像放大;这项技术属于生物特征识别技术的一种,是利用生物体(一般指人)本身的生物特征从而达到区分生物体个体的目的。
人脸识别技术目前主要用做身份识别。
由于视频监控的飞速普及,使这项应用迫切的需要一种能实现在用户非配合状态下、远距离的进行快速身份识别的技术,以求能在远距离之下快速识别人员身份,从而实现智能预警的功能。
最佳的选择无疑是人脸识别技术。
采用快速人脸检测识别技术可以从视频监控图象中实时捕获到人脸信息,并与人脸数据库中的已存信息进行实时比对,从而达到快速身份识别的效果。
报告利用MATLAB软件来实现人脸信息检测与识别,利用YCbCr空间以及灰度图像来实现人脸的边缘分割, 将真彩图像转换为灰度图像,并根据肤色在YCbCr色度空间上的分布范围,来设定门限阀值,从而实现人脸区域与非人脸区域的分割,通过图像处理等一系列的操作来剔除干扰因素,再通过长宽比和目标面积等方法在图像中定位出人脸区域,经试验,该方法能够排除面部表情、衣着背景、发型等干扰因素,从而定位出人脸区域。
关键词:Matlab软件;灰度图像;边缘分割;人脸区域AbstractFace recognition especially use comparative analysis face visual feature information for identification of computer technology. Face recognition is a , light and shade can be automatically adjusted dynamically exposure compensation, face tracking detection, automatic adjustment of image magnification; It belongs to the biometric identification technology, it is of organisms (generally refers to a person) individual biological characteristics to distinguish between the organism itself.Face recognition is mainly used for identification. Because of the video monitoring is fast popularization, many of the video monitoring application is an urgent need to a long distance, the user not cooperate condition of rapid identification technology, in order . Face recognition technology is undoubtedly the best choice, the fast face detection technology to monitor in real-time video image search from face, and with real-time than face database, so as to realize rapid identification.Report using MATLAB software to realize face information detection and recognition, using YCbCr space and gray image to realize the face edge segmentation, the true color image is converted to a grayscale image, and according to the color of skin in YCbCr chroma space distribution, to set the threshold threshold, so as to realize the segmentation of face region with the face region, through a series of operations such as image processing to eliminate interference factors, and through such means as aspect ratio and the target area locate the face region in the image, the experiment, this method can eliminate facial expressions, clothes, . Keywords:Matlab;Gray image;edge segmentation;face region目录摘要 (1)ABSTRACT (2)3 第1章绪论 (4)1.1课题的研究背景、目的及意义 (4)1.1.1 课题的研究背景 (4)1.1.2 研究目的及意义 (5)1.2本课题的主要内容 (5)第2章图像处理的MATLAB实现 (6)2.1识别系统构成 (6)2.2人脸图像的读取与显示 (7)2.3图像类型的转换 (7)2.4图像增强 (8)2.5灰度图像平滑与锐化处理..................... 错误!未定义书签。
DIP - 基于MATLAB的人脸识别算法课程设计报告
![DIP - 基于MATLAB的人脸识别算法课程设计报告](https://img.taocdn.com/s3/m/7e51b8d0aa00b52acfc7cab0.png)
数字图像处理实验报告院系:计算机科学学院班级:计科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程序实现人脸识别
![(完整版)基于matlab程序实现人脸识别](https://img.taocdn.com/s3/m/633fee5bb9f3f90f76c61bc8.png)
基于matlab程序实现人脸识别1.人脸识别流程1.1.1基本原理基于YCbCr颜色空间的肤色模型进行肤色分割。
在YCbCr色彩空间内对肤色进行了建模发现,肤色聚类区域在Cb—Cr子平面上的投影将缩减,与中心区域显著不同。
采用这种方法的图像分割已经能够较为精确的将人脸和非人脸分割开来。
1.1.2流程图人脸识别流程图读入原始图像将图像转化为YCbCr颜色空间利用肤色模型二值化图像并作形态学处理选取出二值图像中的白色区域,度量区域属性,筛选后得到所有矩形块否筛选特定区域(高度和宽度的比率在(0.6~2)之间,眼睛特征)是存储人脸的矩形区域特殊区域根据其他信息筛选,标记最终的人脸区域2.人脸识别程序(1)人脸和非人脸区域分割程序function result = skin(Y,Cb,Cr)%SKIN Summary of this function goes here% Detailed explanation goes herea=25.39;b=14.03;ecx=1.60;ecy=2.41;sita=2.53;cx=109.38;cy=152.02;xishu=[cos(sita) sin(sita);-sin(sita) cos(sita)];%如果亮度大于230,则将长短轴同时扩大为原来的1.1倍if(Y>230)a=1.1*a;b=1.1*b;end%根据公式进行计算Cb=double(Cb);Cr=double(Cr);t=[(Cb-cx);(Cr-cy)];temp=xishu*t;value=(temp(1)-ecx)^2/a^2+(temp(2)-ecy)^2/b^2;%大于1则不是肤色,返回0;否则为肤色,返回1if value>1result=0;elseresult=1;endend(2)人脸的确认程序function eye = findeye(bImage,x,y,w,h)%FINDEYE Summary of this function goes here % Detailed explanation goes herepart=zeros(h,w);%二值化for i=y:(y+h)for j=x:(x+w)if bImage(i,j)==0part(i-y+1,j-x+1)=255;elsepart(i-y+1,j-x+1)=0;endendend[L,num]=bwlabel(part,8);%如果区域中有两个以上的矩形则认为有眼睛if num<2eye=0;elseeye=1;endend(3)人脸识别主程序clear all;%读入原始图像I=imread('face3.jpg');gray=rgb2gray(I);ycbcr=rgb2ycbcr(I);%将图像转化为YCbCr空间heighth=size(gray,1);%读取图像尺寸width=size(gray,2);for i=1:heighth %利用肤色模型二值化图像for j=1:widthY=ycbcr(i,j,1);Cb=ycbcr(i,j,2);Cr=ycbcr(i,j,3);if(Y<80)gray(i,j)=0;elseif(skin(Y,Cb,Cr)==1)%根据色彩模型进行图像二值化gray(i,j)=255;elsegray(i,j)=0;endendendendse=strel('arbitrary',eye(5));%二值图像形态学处理gray=imopen(gray,se);figure;imshow(gray)[L,num]=bwlabel(gray,8);%采用标记方法选出图中的白色区域stats=regionprops(L,'BoundingBox');%度量区域属性n=1;%存放经过筛选以后得到的所有矩形块result=zeros(n,4);figure,imshow(I);hold on;for i=1:num %开始筛选特定区域box=stats(i).BoundingBox;x=box(1);%矩形坐标Xy=box(2);%矩形坐标Yw=box(3);%矩形宽度wh=box(4);%矩形高度hratio=h/w;%宽度和高度的比例ux=uint16(x);uy=uint8(y);if ux>1ux=ux-1;endif uy>1uy=uy-1;endif w<20 || h<20|| w*h<400 %矩形长宽的范围和矩形的面积可自行设定continueelseif ratio<2 && ratio>0.6 && findeye(gray,ux,uy,w,h)==1%根据“三庭五眼”规则高度和宽度比例应该在(0.6,2)内;result(n,:)=[ux uy w h];n=n+1;endendif size(result,1)==1 && result(1,1)>0 %对可能是人脸的区域进行标记rectangle('Position',[result(1,1),result(1,2),result(1,3),result(1,4)],'EdgeColor','r'); else%如果满足条件的矩形区域大于1,则再根据其他信息进行筛选a=0;arr1=[];arr2=[];for m=1:size(result,1)m1=result(m,1);m2=result(m,2);m3=result(m,3);m4=result(m,4);%得到符合和人脸匹配的数据if m1+m3<width && m2+m4<heighth && m3<0.2*widtha=a+1;arr1(a)=m3;arr2(a)=m4;%rectangle('Position',[m1,m2,m3,m4],'EdgeColor','r');endend%得到人脸长度和宽度的最小区域arr3=[];arr3=sort(arr1,'ascend');arr4=[];arr4=sort(arr2,'ascend');%根据得到的数据标定最终的人脸区域for m=1:size(result,1)m1=result(m,1);m2=result(m,2);m3=result(m,3);m4=result(m,4);%最终标定人脸if m1+m3<width && m2+m4<heighth && m3<0.2*widthm3=arr3(1);m4=arr4(1);rectangle('Position',[m1,m2,m3,m4],'EdgeColor','r');endendend(4)程序说明人脸识别程序主要包含三个程序模块,人脸识别主程序由三部分构成。
基于Matlab的人脸识别课程设计
![基于Matlab的人脸识别课程设计](https://img.taocdn.com/s3/m/1a3a4c6427284b73f2425029.png)
摘要人脸识别因其在安全验证系统、信用卡验证、医学、档案管理、视频会议、人机交互、系统公安(罪犯识别等)等方面的巨大应用前景而越来越成为当前模式识别和人工智能领域的一个研究热点。
本文提出了基于24位彩色图像对人脸进行识别的方法,介绍的主要内容是图像处理,它在整个软件中占有极其重要的地位,图像处理的好坏直接影响着定位和识别的准确率。
本软件主要用到的图像处理技术是:光线补偿、高斯平滑和二值化。
在识别前,先对图像进行补光处理,再通过肤色获得可能的脸部区域,最后根据人脸固有眼睛的对称性来确定是否就是人脸,同时采用高斯平滑来消除图像的噪声,再进行二值化,二值化主要采用局域取阈值方法,接下来就进行定位、提取特征值和识别等操作。
经过测试,图像预处理模块对图像的处理达到了较好的效果,提高了定位和识别的正确率。
【关键字】:人脸识别;光线补偿;高斯平滑;对比度增强AbstractFace recognition is a complex and difficult problem that is important for surveillance and security, telecommunications, digital libraries , video meeting, and human-computer intelligent interactions.The paper introduced the method of face recognition that based on the 24 bit multicolor image, Main content that the paper introduced is the picture treatment, It occupies the extremely important position in the whole software, the quality of picture process directly influenced the accuracy rate of localization and discerning. The picture process technology that the software mainly used included : light compensating、gauss smooth and twain value method. before discerning, we compensated the light for image, then we could obtain the possible face area through the complexion, finally, the system could depend on the symmetry of eyes to make sure whether it is the face of people, at the same time, the system could eliminate noises through the method that named gauss smoothness, then we used twain value method to deal with picture,the method got the threshold value in face area . After dealing with picture , the following operations are localization、draw characteristic value 、discerning and so on . After testing, we made true that the picture pretreatment modal has get the better effect in the process of dealing with picture, and improve the exactness rate of localization and discerning.【key word】: Face recognition;light compensating;gauss smooth;contrast enhancing目录一、绪论 (1)1. 背景 (1)2. 人脸识别技术研究的意义 (1)3. 发展史 (2)1) 国外的发展 (2)2) 国内的发展 (2)二、系统的需求分析和方案选择 (3)1. 可行性分析 (3)1) 技术可行性 (3)2) 操作可行性 (4)2. 需求分析 (4)3. 预处理法案选择 (5)1) 设计方案的原则选择 (5)2) 图像文件格式选择 (5)3) 开发工具选择 (5)4) 算法选择分析 (5)三、系统概要设计 (6)四、系统详细设计 (9)1. 系统整体设计流程图 (9)2. 图像处理详细设计 (9)3. 编程时的问题解决 (19)五、测试 (20)1. 测试方案的选择原则 (20)2. 测试方案 (21)结束语 (1)参考文献 (2)一、绪论1.背景随着安全入口控制和金融贸易方面应用需要的快速增长,生物统计识别技术得到了新的重视。
机器学习概述课程设计报告材料(MATLAB人脸识别)
![机器学习概述课程设计报告材料(MATLAB人脸识别)](https://img.taocdn.com/s3/m/c45719ba482fb4daa58d4ba3.png)
机器学习概述课程设计报告题目:MATLAB人脸识别系统姓名:**学号:**专业:**时间:2015/8/7目录一、课程设计的目的 ..............................................................................二、设计的容与要求 ..............................................................................三、详细设计 ..........................................................................................四、课程设计的总结 ..............................................................................五、参考文献 ..........................................................................................一.课程设计的目的人脸识别作为一项新兴的科学研究项目,有着广泛的应用前景,而且随着计算机技术的更新发展,它的科学研究价值也越发凸显。
经过几十年的研发探讨,世界各大研究结构的研发人员的不断努力下,人脸识别技术一已取得丰硕的成果,可在一定限制条件下完成人脸的自动识别。
这些成果的取得更促进了人们对人脸识别这一课题的深入研究。
在电子商务飞速发展的今天,人脸识别系统的畴一不足以涵括人脸识别的应用围,在数字图像处理、视频领域、基于容的检索等方面有着重要的应用价值。
二.设计的容及要求1、选择KNN,聚类或SVM方法中的一种或其他机器学习方法的一种进行课程设计2、要求能完成具体的识别任务:如图像分割、语音识别、人脸识别3、要求识别的对象中有自己生活元素,比如图像中包括学校的图片或语音时本人的语音等。
《基于MATLAB的人脸识别算法的研究》范文
![《基于MATLAB的人脸识别算法的研究》范文](https://img.taocdn.com/s3/m/567ba0b99a89680203d8ce2f0066f5335b816710.png)
《基于MATLAB的人脸识别算法的研究》篇一一、引言人脸识别技术是计算机视觉领域的重要分支,随着科技的发展和大数据的普及,其在安全监控、身份认证、智能交互等领域得到了广泛的应用。
本文旨在基于MATLAB平台,研究并分析几种常见的人脸识别算法,并对其性能进行对比与评价。
二、人脸识别算法概述人脸识别算法主要包括基于特征的人脸识别算法和基于深度学习的人脸识别算法两大类。
其中,基于特征的人脸识别算法如主成分分析(PCA)、线性判别分析(LDA)、局部二值模式(LBP)等,通过提取人脸特征进行识别;而基于深度学习的人脸识别算法如卷积神经网络(CNN)等,通过深度学习技术自动提取人脸特征并进行识别。
三、基于MATLAB的人脸识别算法实现1. 数据准备:使用MATLAB的Image Acquisition Toolbox获取人脸图像数据,并进行预处理,包括灰度化、归一化等操作。
2. 特征提取:采用PCA、LDA等算法提取人脸特征。
在MATLAB中,可以利用其内置的函数或编写自定义函数进行特征提取。
3. 分类器设计:根据提取的特征,设计分类器进行人脸识别。
在MATLAB中,可以使用其内置的分类器函数或自行设计分类器。
4. 算法实现:将上述步骤组合起来,实现基于MATLAB的人脸识别算法。
四、常见人脸识别算法的比较与分析1. PCA算法:PCA是一种常用的特征提取方法,能够有效地降低数据的维度,提高识别的速度和准确性。
但PCA算法对光照、表情等因素的敏感性较高,需要结合其他技术进行优化。
2. LDA算法:LDA算法通过最大化类间距离和最小化类内距离来提取特征,具有较好的分类性能。
但LDA算法对样本数量的要求较高,样本数量不足时可能导致性能下降。
3. CNN算法:CNN是一种基于深度学习的人脸识别算法,能够自动提取人脸特征并进行识别。
CNN算法具有较高的准确性和鲁棒性,但需要大量的训练数据和计算资源。
五、实验与结果分析为了验证上述人脸识别算法的性能,我们进行了多组实验。
机器学习概述课程设计报告(MATLAB人脸识别)
![机器学习概述课程设计报告(MATLAB人脸识别)](https://img.taocdn.com/s3/m/63660f95a300a6c30c229f92.png)
机器学习概述课程设计报告题目:MATLAB人脸识别系统姓名:**学号:**专业:**时间:2015/8/7目录一、课程设计的目的......................................二、设计的容与要求......................................三、详细设计 ...........................................四、课程设计的总结......................................五、参考文献 ...........................................一. 课程设计的目的人脸识别作为一项新兴的科学研究项目,有着广泛的应用前景,而且随着计算机技术的更新发展,它的科学研究价值也越发凸显。
经过几十年的研发探讨,世界各大研究结构的研发人员的不断努力下,人脸识别技术一已取得丰硕的成果,可在一定限制条件下完成人脸的自动识别。
这些成果的取得更促进了人们对人脸识别这一课题的深入研究。
在电子商务飞速发展的今天,人脸识别系统的畴一不足以涵括人脸识别的应用围,在数字图像处理、视频领域、基于容的检索等方面有着重要的应用价值。
二.设计的容及要求1、选择KNN,聚类或SVM方法中的一种或其他机器学习方法的一种进行课程设计2、要求能完成具体的识别任务:如图像分割、语音识别、人脸识别3、要求识别的对象中有自己生活元素,比如图像中包括学校的图片或语音时本人的语音等。
三.详细设计YCbCr空间——>灰度图像转换——>噪声消除——>图像填孔——>图像重构——>人脸区域确定——>边缘检测(原图-涉及个人隐私,未呈现原图)(YCbCr空间转换)(噪声消除)(图像填孔)(图像重构)(人脸区域的确定)(涉及个人隐私)四.课程设计的总结通过三天的学习以及课后学习,我利用SVM算法进行人脸识别,由于光照强度的不同、人脸肤色的不同、图片背景的不同往往导致每图片都具有自身的特色,将人脸区域从背景、衣着、发型等非人类区域中分割出来。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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算法。