基于KL变换的人脸识别

合集下载

人脸识别系统的原理与发展

人脸识别系统的原理与发展

人脸识别系统的原理与发展一、引言人脸识别系统以人脸识别技术为核心,是一项新兴的生物识别技术,是当今国际科技领域攻关的高精尖技术。

它广泛采用区域特征分析算法,融合了计算机图像处理技术与生物统计学原理于一体,利用计算机图像处理技术从视频中提取人像特征点,利用生物统计学的原理进行分析建立数学模型,具有广阔的发展前景。

2012年4月,铁路部门宣布车站安检区域将安装用于身份识别的高科技安检系统人脸识别系统;可以对人脸明暗侦测,自动调整动态曝光补偿,人脸追踪侦测,自动调整影像放大;二、概述人脸识别系统概述广义的人脸识别实际包括构建人脸识别系统的一系列相关技术,包括人脸图像采集、人脸定位、人脸识别预处理、身份确认以及身份查找等;而狭义的人脸识别特指通过人脸进行身份确认或者身份查找的技术或系统。

生物特征识别技术所研究的生物特征包括脸、指纹、手掌纹、虹膜、视网膜、声音(语音)、体形、个人习惯(例如敲击键盘的力度和频率、签字)等,相应的识别技术就有人脸识别、指纹识别、掌纹识别、虹膜识别、视网膜识别、语音识别(用语音识别可以进行身份识别,也可以进行语音内容的识别,只有前者属于生物特征识别技术)、体形识别、键盘敲击识别、签字识别等。

人脸识别系统功能模块人脸捕获与跟踪功能:人脸捕获是指在一幅图像或视频流的一帧中检测出人像并将人像从背景中分离出来,并自动地将其保存。

人像跟踪是指利用人像捕获技术,当指定的人像在摄像头拍摄的范围内移动时自动地对其进行跟踪。

人脸识别比对:人脸识别分核实式和搜索式二种比对模式。

核实式是对指将捕获得到的人像或是指定的人像与数据库中已登记的某一对像作比对核实确定其是否为同一人。

搜索式的比对是指,从数据库中已登记的所有人像中搜索查找是否有指定的人像存在。

人脸的建模与检索:可以将登记入库的人像数据进行建模提取人脸的特征,并将其生成人脸模板(人脸特征文件)保存到数据库中。

在进行人脸搜索时(搜索式),将指定的人像进行建模,再将其与数据库中的所有人的模板相比对识别,最终将根据所比对的相似值列出最相似的人员列表。

实验二 利用K-L变换法进行人脸识别

实验二 利用K-L变换法进行人脸识别

实验二利用K-L变换法进行人脸识别
一、实验目的
主分量分析是一种有效的通过线性变换来降低特征维数的方法,也称为Karhunen-Loeve变换(K-L变换)。

此变换是一种基于目标统计特性的最佳正交变换,它的最佳性体现在变换后产生的新的分量正交或不相关。

编写利用K-L变换进行人脸识别的程序,体会K-L变换的基本思路,掌握K-L变换的性质,理解利用该方法进行人脸识别的原理。

二、实验要求
1、编写用K-L变换法进行人脸识别的程序,对标准图像库进行人脸识别实验。

ORL_faces图像库中有40组人脸图像,每组内的10幅图像取自同一个人,部分人脸图像如下图所示。

利用每组中的前5幅人脸图像(共200幅)作为训练样本,生成人脸识别的分类器,显示“平均脸”图像和“特征脸”图像。

用剩下的200幅图像作为测试样本,输出识别结果,检测识别率。

2、(选做)对自建图像库进行人脸识别实验,利用每组中的前5幅人脸图像作为训练样本,生成人脸识别的分类器,显示“平均脸”图像和“特征脸”图像。

用剩下的图像作为测试样本,输出识别结果,检测识别率。

三、实验报告要求
1、写出自己编写的程序(不用全抄下来,只写要求编写的部分即可)。

2、回答下列问题:
(1)K-L变换的特殊性体现在哪里?
(2)为什么利用K-L变换可以进行人脸识别?(3)如何理解“特征脸”?
(4)何谓“主分量”?。

人脸识别主要算法原理

人脸识别主要算法原理

人脸识别主要算法原理主流的人脸识别技术基本上可以归结为三类,即:基于几何特征的方法、基于模板的方法和基于模型的方法。

1. 基于几何特征的方法是最早、最传统的方法,通常需要和其他算法结合才能有比较好的效果;2. 基于模板的方法可以分为基于相关匹配的方法、特征脸方法、线性判别分析方法、奇异值分解方法、神经网络方法、动态连接匹配方法等。

3. 基于模型的方法则有基于隐马尔柯夫模型,主动形状模型和主动外观模型的方法等。

1. 基于几何特征的方法人脸由眼睛、鼻子、嘴巴、下巴等部件构成,正因为这些部件的形状、大小和结构上的各种差异才使得世界上每个人脸千差万别,因此对这些部件的形状和结构关系的几何描述,可以做为人脸识别的重要特征。

几何特征最早是用于人脸侧面轮廓的描述与识别,首先根据侧面轮廓曲线确定若干显著点,并由这些显著点导出一组用于识别的特征度量如距离、角度等。

Jia 等由正面灰度图中线附近的积分投影模拟侧面轮廓图是一种很有新意的方法。

采用几何特征进行正面人脸识别一般是通过提取人眼、口、鼻等重要特征点的位置和眼睛等重要器官的几何形状作为分类特征,但Roder对几何特征提取的精确性进行了实验性的研究,结果不容乐观。

可变形模板法可以视为几何特征方法的一种改进,其基本思想是:设计一个参数可调的器官模型(即可变形模板),定义一个能量函数,通过调整模型参数使能量函数最小化,此时的模型参数即做为该器官的几何特征。

这种方法思想很好,但是存在两个问题,一是能量函数中各种代价的加权系数只能由经验确定,难以推广,二是能量函数优化过程十分耗时,难以实际应用。

基于参数的人脸表示可以实现对人脸显著特征的一个高效描述,但它需要大量的前处理和精细的参数选择。

同时,采用一般几何特征只描述了部件的基本形状与结构关系,忽略了局部细微特征,造成部分信息的丢失,更适合于做粗分类,而且目前已有的特征点检测技术在精确率上还远不能满足要求,计算量也较大。

2. 局部特征分析方法(Local Face Analysis)主元子空间的表示是紧凑的,特征维数大大降低,但它是非局部化的,其核函数的支集扩展在整个坐标空间中,同时它是非拓扑的,某个轴投影后临近的点与原图像空间中点的临近性没有任何关系,而局部性和拓扑性对模式分析和分割是理想的特性,似乎这更符合神经信息处理的机制,因此寻找具有这种特性的表达十分重要。

基于静态灰度图像人脸识别算法的功图诊断方法研究

基于静态灰度图像人脸识别算法的功图诊断方法研究

基于静态灰度图像人脸识别算法的功图诊断方法研究作者:段泽英赵美刚张新政游莉来源:《中国管理信息化》2014年第03期[摘要] 油井示功图是判断泵工作状况好坏的一个重要依据。

目前,新疆油田数据库中已存有大量功图数据,并且经过专家审查分析后将解释成果数据入库管理,为我们后续的数据挖掘提供了宝贵的数据资源。

本文基于静态灰度图像人脸识别算法,对油井示功图诊断、分析进行应用研究,研究成果表明,利用灰度图像人脸识别算法可以有效辅助油田生产业务人员、管理人员快速、准确诊断油井示功图,及时采取措施,对提高单井生产时率有重要意义,同时也为智能新疆油田建设单井问题诊断应用研究提供了必要的技术支持。

[关键词] 智能油田;静态灰度图像;人脸识别算法;示功图;解释;参数判断doi : 10 . 3969 / j . issn . 1673 - 0194 . 2014 . 03. 019[中图分类号] F270.7;TP312 [文献标识码] A [文章编号] 1673 - 0194(2014)03- 0038- 041 引言目前,新疆油田数据库中已存有大量的功图数据和功图解释成果数据,这些数据是由功图仪现场测试、专家分析确认后入库的功图数据和解释成果数据,具有重要的参考价值。

为了减轻油田生产业务人员、管理人员重复解释功图的工作量,提高功图诊断的时效性,本文介绍灰度图像人脸识别算法的应用研究。

2 实测油井示功图常规分析方法所谓理论示功图是比较规则的平行四边形,而实测功图由于多种因素的影响(如:砂、蜡、气、黏度),图形变化很复杂,各不相同。

因此,要正确地分析抽油井的生产情况,必须全面掌握油井动态、静态资料以及设备的状况,结合示功图的变化找出油井的主要问题,采取适当的措施,提高油井产量和泵效。

传统分析示功图的方法是将示功图分割成4块,进行分析对比,找出泵工作不正常的原因,提出解决问题的措施。

即:左上角主要分析游动凡尔的问题,缺损为凡尔关闭不及时,多一块为出砂并卡泵现象;右上角主要分析光杆在上死点时活塞与工作筒的配合情况;右下角主要分析泵充满程度及气体影响情况;左下角主要分析光杆在下死点出现的问题,如:固定凡尔的漏失情况等。

人脸识别发展史

人脸识别发展史

1 人脸识别研究的发展状况1.1 发展历史早在1888年和1920年Galton就在《Nature》上发表过两篇关于利用人脸进行身份识别的论文。

真正意义上的自动人脸识别的研究开始于二十世纪六十年代中后期 1965年Chen 和Bledsoe的报告是最早的关于自动人脸识别的文献。

1965到1990年之间是人脸识别研究的初级阶段 这一阶段的研究主要集中在基于几何结构特征的人脸识别方法 Geometric feature based 。

该阶段的研究基本没有得到实际的应用。

1991年到1997年间是人脸识别研究非常活跃的重要时期。

出现了著名的特征脸方法Eigenface 该方法由麻省理工学院的Turk和Pentland提出 之后有许多基于该方法的研究。

Brunelli和Poggio在1992年对基于结构特征的方法和基于模板匹配的方法进行了实验对比 并给出了后者优于前者的明确结论。

该时期内 美国国防部资助的FERET FacE Recognition technology Test 项目资助多项人脸识别研究 创建了著名的FERET人脸图像数据库。

该项目极大地促进了人脸识别算法的改进以及算法的实用化。

1998年至今 研究者开始针对非理想条件下的人脸识别进行研究。

光照、姿势等问题成为研究热点。

出现了基于3D模型的人脸建模与识别方法。

在商业化的应用方面 美国国防部在2000年和2002年组织了针对人脸识别商业系统的评测FRVT Face Recognition Vendor Test) 比较领先的系统提供商有Cognitec, Identix和Eyematic。

1.2 主要公共数据库人脸数据库对于人脸识别算法的研究是不可缺少的 而公共人脸图像数据库的建立方便不同研究者之间的交流学习 并有助于不同算法的比较 下面列举常用的人脸图像数据库。

FERET人脸数据库 是FERET项目创建的人脸数据库 该库包含14,051幅多姿态、不同光照条件的灰度人脸图像 是人脸识别领域应用最广泛的人脸数据库之一。

人脸识别主要算法原理

人脸识别主要算法原理

人脸识别主要算法原理主流的人脸识别技术基本上可以归结为三类,即:基于几何特征的方法、基于模板的方法和基于模型的方法。

1.基于几何特征的方法是最早、最传统的方法,通常需要和其他算法结合才能有比较好的效果;2.基于模板的方法可以分为基于相关匹配的方法、特征脸方法、线性判别分析方法、奇异值分解方法、神经网络方法、动态连接匹配方法等。

3.基于模型的方法则有基于隐马尔柯夫模型,主动形状模型和主动外观模型的方法等。

1.基于几何特征的方法人脸由眼睛、鼻子、嘴巴、下巴等部件构成,正因为这些部件的形状、大小和结构上的各种差异才使得世界上每个人脸千差万别,因此对这些部件的形状和结构关系的几何描述,可以做为人脸识别的重要特征。

几何特征最早是用于人脸侧面轮廓的描述与识别,首先根据侧面轮廓曲线确定若干显著点,并由这些显著点导出一组用于识别的特征度量如距离、角度等。

Jia等由正面灰度图中线附近的积分投影模拟侧面轮廓图是一种很有新意的方法。

采用几何特征进行正面人脸识别一般是通过提取人眼、口、鼻等重要特征点的位置和眼睛等重要器官的几何形状作为分类特征,但Roder对几何特征提取的精确性进行了实验性的研究,结果不容乐观。

可变形模板法可以视为几何特征方法的一种改进,其基本思想是:设计一个参数可调的器官模型(即可变形模板),定义一个能量函数,通过调整模型参数使能量函数最小化,此时的模型参数即做为该器官的几何特征。

这种方法思想很好,但是存在两个问题,一是能量函数中各种代价的加权系数只能由经验确定,难以推广,二是能量函数优化过程十分耗时,难以实际应用。

基于参数的人脸表示可以实现对人脸显著特征的一个高效描述,但它需要大量的前处理和精细的参数选择。

同时,采用一般几何特征只描述了部件的基本形状与结构关系,忽略了局部细微特征,造成部分信息的丢失,更适合于做粗分类,而且目前已有的特征点检测技术在精确率上还远不能满足要求,计算量也较大。

2.局部特征分析方法(Local Face Analysis)主元子空间的表示是紧凑的,特征维数大大降低,但它是非局部化的,其核函数的支集扩展在整个坐标空间中,同时它是非拓扑的,某个轴投影后临近的点与原图像空间中点的临近性没有任何关系,而局部性和拓扑性对模式分析和分割是理想的特性,似乎这更符合神经信息处理的机制,因此寻找具有这种特性的表达十分重要。

K-L变换的一些典型应用

K-L变换的一些典型应用

K-L变换的性质。

归结起来,它消除了各分量之间的相关性,因而用它来描述事物时,可以减少描述量的冗余性,做到用最经济有效的方法描述事物。

下面结合一些应用实例来说明如何运用K-L变换的这一性质。

1.降维与压缩以人脸图象这个例子看,K-L变换的降维效果是十分明显的。

对一幅人脸图象,如果它由M行与N到象素组成,则原始的特征空间维数就应为M×N。

而如果在K-L变换以及只用到30个基,那么维数就降至30,由此可见降维的效果是极其明显的。

另一方面降维与数据压缩又是紧密联系在一起的。

譬如原训练样本集的数量为V,而现采用30个基,每个基实质上是一幅图象,再加上每幅图象的描述参数(式(补4-3)中的C),数据量是大大降低,尤其是图象数很大时,压缩量是十分明显的。

2.构造参数模型使用K-L变换不仅仅起到降维与压缩数据的作用,更重要的是每个描述量都有明确的意义,因而改变某一个参数就可让图象按所需要的方向变化。

在没有使用K-L变换的原数据集中对图象的描述量是每个象素的灰度值,而弧立地改变某个象素的灰度值是没有意义的。

而在使用K-L变换后,每个描述量都有其各自的作用。

因此通过改变这些参数的值就可实现对模型的有效描述,这在图象生成中是很有用的。

因此利用K-L变换构造出可控制的,连续可调的参数模型在人脸识别与人脸图象重构采方面的应用是十分有效的。

3.人脸识别利用K-L变换进行人脸图象识别是一个著名的方法。

其原理十分简单,首先搜集要识别的人的人脸图象,建立人脸图象库,然后利用K-L变换确定相应的人脸基图象,再反过来用这些基图象对人脸图象库中的有人脸图象进行K-L变换,从而得到每幅图象的参数向量(试问用哪个公式?)并将每幅图的参数向量存起来。

在识别时,先对一张所输入的脸图象进行必要的规范化,再进行K-L变换分析,得到其参数向量。

将这个参数向量与库中每幅图的参数向量进行比较,找到最相似的参数向量,也就等于找到最相似的人脸,从而认为所输入的人脸图象就是库内该人的一张人脸, 完成了识别过程。

人脸识别的方法

人脸识别的方法

人脸识别技术的基本方法人脸识别的方法很多,主要的人脸识别方法有:(1)几何特征的人脸识别方法:几何特征可以是眼、鼻、嘴等的形状和它们之间的几何关系(如相互之间的距离)。

这些算法识别速度快,需要的内存小,但识别率较低。

(2)基于特征脸(PCA)的人脸识别方法:特征脸方法是基于KL变换的人脸识别方法,KL变换是图像压缩的一种最优正交变换。

高维的图像空间经过KL 变换后得到一组新的正交基,保留其中重要的正交基,由这些基可以张成低维线性空间。

如果假设人脸在这些低维线性空间的投影具有可分性,就可以将这些投影用作识别的特征矢量,这就是特征脸方法的基本思想。

这些方法需要较多的训练样本,而且完全是基于图像灰度的统计特性的。

目前有一些改进型的特征脸方法。

(3)神经网络的人脸识别方法:神经网络的输入可以是降低分辨率的人脸图像、局部区域的自相关函数、局部纹理的二阶矩等。

这类方法同样需要较多的样本进行训练,而在许多应用中,样本数量是很有限的。

(4)弹性图匹配的人脸识别方法:弹性图匹配法在二维的空间中定义了一种对于通常的人脸变形具有一定的不变性的距离,并采用属性拓扑图来代表人脸,拓扑图的任一顶点均包含一特征向量,用来记录人脸在该顶点位置附近的信息。

该方法结合了灰度特性和几何因素,在比对时可以允许图像存在弹性形变,在克服表情变化对识别的影响方面收到了较好的效果,同时对于单个人也不再需要多个样本进行训练。

(5)线段Hausdorff 距离(LHD) 的人脸识别方法:心理学的研究表明,人类在识别轮廓图(比如漫画)的速度和准确度上丝毫不比识别灰度图差。

LHD是基于从人脸灰度图像中提取出来的线段图的,它定义的是两个线段集之间的距离,与众不同的是,LHD并不建立不同线段集之间线段的一一对应关系,因此它更能适应线段图之间的微小变化。

实验结果表明,LHD在不同光照条件下和不同姿态情况下都有非常出色的表现,但是它在大表情的情况下识别效果不好。

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

基于K-L变换的人脸识别一、实验原理及基本要求特征脸方法是基于K-L变换的人脸识别方法,K-L变换是图像压缩的一种最优正交变换。

高维的图像空间经过K-L变换后得到一组新的正交基,保留其中重要的正交基,由这些基可以张成低维线性空间。

如果假设人脸在这些低维线性空间的投影具有可分性,就可以将这些投影用作识别的特征矢量,这就是特征脸方法用于人脸识别的基本思想。

在人脸识别中,可以用离散K-L变换对人脸图像的原始空间进行转换,即构造人脸图像数据集的协方差矩阵,对之进行正交变换,求出协方差矩阵的特征向量,再依据特征值的大小对这些特征向量进行排序,每一个向量表示人脸图像中一个不同数量的变量,这些特征向量表示特征的一个集合,它们共同表示一个人脸图像。

在人脸识别领域,人们常称这些特征向量为特征脸。

每一个体人脸图像都可以确切地表示为一组特征脸的线性组合。

这样我们首先通过有指导的训练(给定训练样本集已知分类)得到样本集在特征脸空间中的坐标。

训练完成后,输入待辨识图像,求得在特征脸空间的坐标,采用欧式距离法,就可以实现人脸识别。

我们从网上下载人脸图像,构建人脸训练数据库和测试数据库,采用K-L变换进行特征脸提取,并实现人脸识别。

通过K-L变换在人脸识别中的应用,加深对所学内容的理解和感性认识。

二、具体做法及流程图ORL人脸库是由英国剑桥Olivetti实验室从1992年4月到1994年4月期间拍摄的一系列人脸图像组成,共有40个不同年龄、不同性别和不同种族的对象。

每个对象10幅图像共计400幅灰度图像组成,图像尺寸是92×112,图像背景为黑色。

其中人脸部分表情和细节均有变化,例如笑与不笑、眼睛睁着或闭着,戴或不戴眼镜等,人脸姿态也有变化,其深度旋转和平面旋转可达20度,人脸尺寸也有最多10%的变化。

该库是目前使用最广泛的标准数据库,它含有大量的比较结果。

本次试验我们用的是ORL人脸库中的人脸样本集,每个人的人脸样本集中含有十个人脸样本。

我们从其中挑出训练样本和测试样本。

对训练样本集采用K-L变换进行特征脸提取,并对测试样本集进行人脸识别。

步骤:1、读入训练人脸库。

读入时,将每个人脸图像转化为一维的列向量。

本次实验参与训练的人脸图像有N=40个,每个图像大小为92*112. 则训练图像可以表示为一个(92×112)×40的矩阵X 。

其中,第i 个人脸可以表示为],,,[)(:,112*9221ii i i x x x i X x ==, )40,2,1( =i2、计算平均脸和相应的距离向量。

平均脸就是所有人脸图像的平均值向量。

计算公式如下:∑==Ni i xNx 11则每张人脸与平均脸之间的距离向量可以表示为:x x d ii -=3、计算特征脸。

设矩阵],,[21N d d d A =,本次试验我们选择训练样本集的类间散布矩阵作为K-L变换的产生矩阵,即: ∑===Ni Ti i Tb d d NAA N S 111计算特征脸时要计算出协方差矩阵的前Z (Z<<N )个较大特征值的特征向量。

但是由于上式是一个(92*112)×(92*112)的高维向量,计算这个矩阵的特征值和特征向量的计算量非常大,所以先计算A A T 的特征值与特征向量,设它们分别为i λ和)40,,2,1( =i v i 。

再将i λ的值从大到小排列,选取前Z 个特征值,使其满足:αλλ≥∑∑==Ni iZi i11这里的α表示样本集的前Z 个轴上的能量占整个能量的α以上。

本次实验我们取的α为99%。

然后,从z i 2,1=,计算21-=i i i Av u λ,则由Z 个i u 可以组成一个特征脸空间},,{21Z u u u W=。

4、投影。

将每一幅人脸与平均脸的差值矢量i d 投影到“特征脸”空间,得到第i 个人脸的特征脸向量表示为:),,2,1(N i d W P i Ti== 5、对待识别的人脸进行识别( 利用欧氏距离分类) 。

先选定一个距离阈值,如果待识别的人脸图像投影到特征脸空间后与人脸集空间中点的最小距离仍然大于这个阈值,则说明待识别人脸包含的是未知人脸。

本次实验我们选取的阈值为),2,1,}({max 21,N k j P P k j kj ===θ把待识别的人脸图像R 投影到特征脸空间,得到:)(x R W P T-= P 与每个人脸的距离定义为:),2,1(22N k P P k k =-=ε人脸分类的规则如下: (1)、若,,θε≥∀kk 则输入图像中包含的是未知人脸。

(2)、若,}m in{θε<k 则输入图像为库中第k 个人的人脸。

流程图如下:三、 实验结果与分析1、首先,我们从人脸库中的二十个人脸样本集每个人脸样本集中抽取两个样本组成一个包含四十个样本的训练样本集,并将这二十个人脸样本集中每个人脸样本集剩下的8个人脸样本作为测试样本集待测试。

测试结果如下:个样本数为四十的训练样本集,用第一次实验的测试样本集继续进行测试,测试结果如下:原因有两个:一是实验一中得训练样本是由二十个人脸样本集各抽出两个人脸样本组成的;二是实验二中所用训练样本集来自四十个不同人的人脸样本集,所以出现错误的可能性会加大。

四、心得体会本次实验拿到题目之后,我们首先从书上以及其它资料上了解了K-L变换,弄懂了它的原理以及做法,然后从网上下载了人脸库,并根据设计好的实验步骤用MATLAB编写程序,最后对测试样本进行测试,得到结果并进行分析。

本次实验时在编写程序上我们已经能够很熟练了,并且出现的错误也很少了。

程序代码:1、用20个人每人两个人脸样本组成训练样本N=40;X=zeros(92*112,80);i=1;img1=imread('C:\Users\Administrator\Desktop\renlianXL\1.pgm','pgm'); for j=1:10304X(j,i)=img1(j);endi=i+1;%依次进行读入训练样本集for j=1:10304X(j,i)=img60(j);endSUM=sum(X');XP=1/N*SUM;XP=XP';A=zeros(10304,40);for i=1:40A(:,i)=X(:,i)-XP;endB=A'*A;[VV p]=eig(B);%下面需要将vi和di重新排列,保证按从大到小d=zeros(40,40);V=zeros(40,40);for i=1:40d(i,i)=p(41-i,41-i);V(:,i)=VV(:,41-i);enddd=0;for j=1:40dd=dd+d(j,j);%计算所有特征值之和endz=40;for a=1:40s=0;for j=1:as=s+d(j,j);endif s/dd>=0.99&&a<=z%求出占特征值总和的前z个特征值z=a;endendW=zeros(10304,z);for j=1:zW(:,j)=A*V(:,j)*1/sqrt(d(j,j));%此时的W是特征脸空间endP=zeros(z,40);for i=1:40P(:,i)=W'*A(:,i);%将每一幅人脸与平均脸的差值矢量投影到特征脸空间endsita1=0;for i=1:40for j=1:40ss=norm(P(:,i)-P(:,j));if ss>sita1sita1=ss;endendendsita=0.5*sita1;img01=imread('C:\Users\Administrator\Desktop\renlianCS\s4\1.pgm','pgm ');I=zeros(10304,1);for j=1:10304I(j,1)=img01(j);endP01=W'*(I-XP);P02=W*P01+XP;sigma=norm(I-P02);sigma1=zeros(z,1);for k=1:40sigma1(k,1)=norm(P01-P(:,k));end[sigma2,z0]=min(sigma1);if sigma>=sitafprintf('输入图像不是人脸图像');elseif sigma2>=sitafprintf('输入图像包含未知人脸');elsefprintf('输入图像为库中的第%d个人脸',z0)endend2、四十个人脸样本集中各出一个人脸样本组成人脸样本集N=40;X=zeros(92*112,40);i=1;img1=imread('C:\Users\Administrator\Desktop\renlianXL\1.pgm','pgm'); for j=1:10304X(j,i)=img1(j);endi=i+1;%依次进行,读入训练样本集。

for j=1:92*112X(j,i)=img40(j);endSUM=sum(X');XP=1/N*SUM;XP=XP';A=zeros(10304,40);for i=1:40A(:,i)=X(:,i)-XP;endB=A'*A;[VV p]=eig(B);%下面需要将vi和di重新排列,保证按从大到小d=zeros(40,40);V=zeros(40,40);for i=1:40d(i,i)=p(41-i,41-i);V(:,i)=VV(:,41-i);enddd=0;for j=1:40dd=dd+d(j,j);%计算所有特征值之和endz=80;for a=1:40s=0;for j=1:as=s+d(j,j);endif s/dd>=0.99&&a<=z%求出占特征值总和的前z个特征值z=a;endendW=zeros(10304,z);for j=1:zW(:,j)=A*V(:,j)*1/sqrt(d(j,j));%此时的W是特征脸空间endP=zeros(z,40);for i=1:40P(:,i)=W'*A(:,i);%将每一幅人脸与平均脸的差值矢量投影到特征脸空间endsita1=0;for i=1:40for j=1:40ss=norm(P(:,i)-P(:,j));if ss>sita1sita1=ss;endendendsita=0.5*sita1;img01=imread('C:\Users\Administrator\Desktop\renlianCS\s4\10.pgm','pg m');I=zeros(10304,1);for j=1:10304I(j,1)=img01(j);endP01=W'*(I-XP);P02=W*P01+XP;sigma=norm(I-P02);sigma1=zeros(z,1);for k=1:40sigma1(k,1)=norm(P01-P(:,k));end[sigma2,z0]=min(sigma1);if sigma>=sitafprintf('输入图像不是人脸图像');elseif sigma2>=sitafprintf('输入图像包含未知人脸');elsefprintf('输入图像为库中的第%d个人脸',z0);endend。

相关文档
最新文档