基于MATLAB的人脸识别系统设计_第1页
基于MATLAB的人脸识别系统设计_第2页
基于MATLAB的人脸识别系统设计_第3页
基于MATLAB的人脸识别系统设计_第4页
基于MATLAB的人脸识别系统设计_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

SHANDONG毕业设计说明书基于MATLAB的人脸识别系统设计学 院: 电气与电子工程学院 专 业: 自动化 学生姓名: 宋明洋 学 号: 0812105482 指导教师: 姜世金 2012年06月中 文 摘 要摘 要MATLAB以强大的科学计算与可视化功能、简单易用、开放式可扩展环境成为当今最优秀的科技应用软件之一,针对不同学科领域都有不同的工具箱支持,使得它在许多科学领域中成为计算机辅助设计和分析、算法研究和应用开发大的基本工具平台。主成分分析(Principal Component Analysis ,PCA)是一种掌握事物主要矛盾的统计分析方法,它可以从多元事物中解析出主要影响因素,揭示事物的本质,简化复杂的问题。人脸的全局表达方式是一种十分有效的人脸识别方法。它是图像压缩中的一种最优正交变换,在数据空间找一组向量以尽可能解释数据的方差,实现数据的降维,使数据更易处理。BP神经网络是一种单向传播的多层前向网络,是一种有导师监督学习算法。它能够实现一种特殊的非线性映射,将输入空间变换到由输出所张成的空间,使得在输出空间的分类问题变得简单易行。本论文首先对PCA主成分分析方法进行了阐述,然后探讨了BP神经网络的集成识别方法,最后实现了基于MATLAB的人脸识别系统。关键词:MATLAB,人脸识别,PCA主成分分析,BP神经网络IV目 录Abstract 窗体顶端MATLAB with a strong scientific computing and visualization capabilities, easy to use, open and scalable environment to become one of the best scientific and technological applications, has a different toolbox support for different disciplines, making it in many fields of science in computer-aided design and analysis, algorithm research and application development tool platform.The principal component analysis (Principal Component Analysis, the PCA) is the method of statistical analysis of the principal contradiction of a grasp of things, from diverse things, it can parse out the main factors to reveal the nature of things, to simplify complex issues. The global expression of the face is a very effective method of face recognition. It is the image compression in an optimal orthogonal transform , to the extent possible, explain the variance of the data in the data space to find a set of vectors, the dimensionality reduction of the data, make data easier to handle.BP neural network is a one-way transmission of multi-layer forward network, is a mentor supervised learning algorithm. It can achieve a special kind of nonlinear mapping the input space is transformed by the output into the space, makes the classification problem in the output space becomes simple. This paper first described the PCA principal component analysis method, then discusses the integration of BP neural network identification method, the final realization of the face recognition system based on MATLAB.Keywords:MATLAB, face recognition, PCA principal component analysis, BP neural network目 录摘 要IAbstractII目 录II第一章 绪 论11.1研究背景11.2国内外研究现状31.3 论文的主要任务4第二章 基于PCA主成分分析的人脸图像特征提取62.1 经典主成分分析方法62.1.1 K-L变换.62.1.2 PCA方法.82.2 特征脸法102.3 本章小结10第三章 基于BP神经网络的人脸特征分类与识别123.1 BP神经网络的算法及实现方法123.1.1 基本BP神经网络的学习算法.123.1.2 神经网络综合优化学习训练算法143.2 BP神经网络的参数173.2.1 隐含层数目的确定173.2.2 选取隐含层内节点数目的方法183.2.3 激活函数的选取193.3 基于动态权值的BP神经网络的集成193.4集成BP神经网络的训练与识别过程203.5 本章小结21第四章 图像处理的MATLAB实现224.1 与人脸识别相关问题的概述224.2 人脸识别的实现方法224.2.1 人脸图像的获取224.2.2 人脸图像预处理224.2.3 人脸表征244.2.4 关于人脸检测的问题254.2.5 人脸判定264.3 本章小结27第五章 结 论28参考文献29致 谢31附录32附录一32附录二33附录三34附录四37第一章 绪 论第一章 绪 论1.1研究背景人脸识别技术是一种基于生理特征的识别技术,通过计算机提取人脸特征,并根据这些特征进行身份识别和验证的一种技术。与其他生物识别技术(如指纹识别,虹膜识别)相比,同样的具有唯一性和不容易被复制性,并且操作简单、结果直观,拥有良好的隐蔽优势。因此,人脸识别技术在信息安全领域,刑事检测,访问控制,具有广阔的应用前景。在1888年,高尔顿在“自然”杂志上表了第一篇关于利用人脸进行识别的文章,人脸识别在近年来的研究历史悠久,涌现出了很多新技术和新方法,每年都有大量的学术论文发表,也有很多成熟的人脸识别商业系统出现。目前,非理想的成像条件(如照明和姿势)、对象不配、大规模人脸数据库上的人脸识别问题成为主要的研究方向。而非线性建模方法、统计学习理论、基于Boosting的学习技术、基于3D模型的人脸识别建模与识别方法等逐渐成为备受重视的技术发展趋势。现有的人脸识别系统在用户配合、采集条件较适合的情况下可以取得理想的效果。但是,如果在用户不配合,采集条件不理想的情况下,如存在光照恶劣,有遮挡,图像分辨率低等情况,系统的识别率将骤然下降。因此,要将人脸识别技术应用到实际中还存在着诸多挑战性的问题需要解决:1)在复杂的条件人脸检测和关键点定位。2)光照变化和姿态。3)表情问题4)遮挡问题5)年龄变化问题6)低质量的照片7)大规模人脸识别8)样本缺乏的问题9)大量的数据10)人脸信息采集设备问题通常上述问题并不是单独作用,其中许多是自然组合的,如照明和表情问题同时出现,将进一步加大问题的难度。 人脸识别是一个跨学科的挑战性的课题,它是在涉及数字图像处理、计算机视觉、信号处理、模式识别、人工智能等多学科,发展迅速,取得了丰硕的研究成果,但仍有许多如图像背景复杂、有许多类似人脸的一部分的问题有待于深层次的研究。在人脸识别中的困难在于,人脸是非刚体对象,并且同年龄的增长而变化,难以完全描述其特性;人脸可能有很多遮挡物,如胡须、眼镜等;环境光线强度和观察角度有变化;发展缓慢的人脸自动识别技术,已成为迫切需要解决的脸部识别技术的问题。人脸识别原理如下图1-1所示:图1-1 人脸识别原理图人脸识别的一般过程如图1-2所示:图1-2 人脸识别的一般过程 输入图像的部分,是负责获取图像,并转换成一个可以处理的格式;预处理部分为人脸图像的提取之后做尺度和灰度的归一化,使不同的图像在大小和亮度方面统一;特征提取部分按照相关提取算法从正规化后的图像中抽取图像的识别特征;人脸识别部分进行分类和鉴定之后得出结果。1.2国内外研究现状人脸自动识别(automatic face recognition,AFR)的论文最早在1965年的Panoramic Research Inc.一份研究报告中出现,作者为Chan和Bledsoe,有超过40多年的历史。近年来的研究已经非常发达,几乎所有知名的理工科大学和知名的IT产业公司都有从事人脸识别的研究小组。下面将AFR的研究历史按照研究内容、技术方法等方面的特点大体划分为三个阶段,如表1-1所示。表1-1 AFR的研究历史1阶段19641990199119971998现在主要特征作为一般识别问题研究,基于特征的方法是主流重点是较理想条件下,用户配合、中小规模数据库上的识别问题;基于表现的子空间分析和统计方法是主流重点是非理想条件下、用户不配合、大规模数据库的识别问题;3D和非线性是趋势代表性的人脸识别技术与方法及其关键性事件和作品已知的最早的AFR研究论文特征脸光照锥技术基于特征的方法与模板的方法对比支持向量机用于人脸识别首个半自动人脸识别系统美国DARPA启动FERET测试项目3D可变形模型第一篇AFR方面的博士论文局部特征分析(LFA)人脸识别方法发展成为Visionics公司FaceIt商业系统基于AdaBoost的人脸检测技术基于剪影分析的人脸识别系统基于双子空间的贝叶斯概率学习流行学习ISOMAP,LLE7人脸识别研究综述朗伯反射与线性空间分析人脸的低维表示Fisher face基于商图像的识别方法弹性图匹配技术人脸检测综述ASM/AAMFRVT2000,2002,2006测试技术特点基于特征的方法基于模板的方法基于神经网络的识别方法基于表现的2D人脸子空间分析与统计学习方法线性模型方法分析流形分析技术基于2D图像模型的人脸识别基于3D图像模型的人脸识别1Suppor Vector Machine,支持向量机;2美国国防部高级研究计划局(署);3Face Recognition Technology Test,一个由美国国防部反毒品技术发展计划办公室资助的项目;4 Local Feature Analysis,局部特征分析;5一种采用多分类器级联的分类器设计方法;6 一种有效的基于流形理论的非线性降维方法;7 Locally Linear Embedding,一种非线性降维方法;8 基于Fisher线形判别分析方法的技术,是一种经典的人脸识别方法;9 Active Shape Model/ Active Appearance Model,主动形状模型/主动外观模型;10 Face Recognition Vendor Test,美工国防部有关部门进一步组织的针对人脸识别商业系统的评测2在国内,从20世纪90年代后期开始,许多研究机构的研究组开始研究,有代表性的研究性机构包括清华大学计算机科学系,哈尔滨工业大学中科院计算机科学研究所,中山大学等,取得了一系列的成果,很多不同的应用软件随之出现。尽管如此,识别效率和识别精度仍然很低,在实际应用中仍然需要改进。在理论研究不断深入的情况下,必定有更多的人脸识别技术得到应用。人脸识别的识别方法大体可分为两类:分离的、基于局部方法和整体的、基于全局特征方法。局部方法要先抽取离散的局部特征作为人脸识别的索引作为度量,然后用标准模式识别的技术来完成识别。全局的方法则把整个人脸作为一个全局的描述。一般的常用模版匹配策略,主要方法是互连方法、主元分析(PCA)、后向反馈的神经网络算法以及奇异值分析(SVD)方法等。他们的主要特点是计算量比较大、对人面的姿态、大小以及光照条件非常的敏感。1.3 论文的主要任务人脸识别在生物识别技术中是一个非常活跃的领域。主成分分析方法是图像压缩中的一种最优正交变换,在数据空间找一组向量以尽可能解释数据的方差,实现数据的降维,使数据更易处理。BP神经网络是一种单向传播的多层前向网络,是一种有导师监督学习算法。它能够实现一种特殊的非线性映射,将输入空间变换到由输出所张成的空间,使得在输出空间的分类问题变得简单易行。论文主要以PCA主成分分析的方法来实现人脸识别。论文分为五章:第一章简述了人脸识别的发展历史及现状,阐述了主要的内容和研究方向。第二章研究了基于主成分分析的人脸图像特征提取,阐述了主成分分析PCA的提取算法。第三章是基于BP神经网络的人脸特征分类与识别,研究了BP神经网络的算法。第四章是人脸系统的具体实现步骤,介绍了人脸识别具体的实现方案。第五章是对本论文工作的总结,在进行整个课题的过程中的收获和感悟。- 38 -第二章 基于PCA主成分分析的人脸图像特征提取第二章 基于PCA主成分分析的人脸图像特征提取主成分分析(Principle Component Analysis,PCA)方法是一种应用十分广泛的特征提取方法,PCA将图像看作具有一定分布的随机向量。由于人脸总体构形具有相似性,人脸图像在其中是不随机的的分布,PCA可以得到人脸图像分布的主成分方向,从而使用人脸的主成分来表达人脸图像,从本质上讲这是一种基于统计分析的信息压缩方法。主成分分析方法的基本思想是提取图像空间原始数据的主要特征,即主元,减少冗余数据,使数据能够在一个低维的特征空间被处理,同时保持数据的绝大部分信息,从而能够解决数据空间维数过高的问题。 2.1 经典主成分分析方法人脸的全局表达方式已经在人脸识别的领域内取得了良好的效果,它已经被证明是一种十分有效的人脸识别方法。主成分分析是图像压缩方面的一种最优的正交变换,在原有的数据空间中,可以找到一组合适的向量,最大可能的解释数据,表示它的方差,其目的是使数据得到降维和简化,这样就十分容易处理。它的降维处理是根据K-L变换的原理,从数据信息中在最大的压缩方向上提取特征的信息数据,这得到的信息数据就是降维之后的信息,从而我们就得到图像在低维空间的信息表示。K-L变换与PCA相类似,是一种在最小均方误差的条件之下数据的一种最优去相关,也是原始数据降维的变换方法,所以用PCA方法处理原始数据之后得到的数据空间,这个过程在一定意义上是一个最优低维逼近,这个最优低维逼近是对原始数据空间而言的。每个图像可以被视为一个像素值,它可以扩展成一个向量,如一个NN像素矩阵,图像可以被看作是一个长度为N2向量,使这一图像在位于N2维空间的向量表示,这个图像的矢量是原始图像的空间,但这个空间是唯一可以表达或检测的图像空间。不管子空间的具体形式如何,图像识别的基本思路是相同的方法:首先,选择一个合适的子空间,将图像投射到这个子空间部分,然后使用这个图片的投影之间的一些措施确定图像之间的相似度,最常见的是各种距离的度量。2.1.1 K-L变换PCA的基础理论就是从一种正交变换-K-L变换得来的,下面对K-L变换作一下介绍3。假设X为n维的随机变量,X用n个基向量的加权和来表示: (2-1)式中为加权系数,为基向量,(2-1)式用矩阵的形式表示: (2-2)其中, (2-3)取基向量为正交向量,即: (2-4)由正交向量构成,所以为正交矩阵,即 (2-5)将公式(2-2)两边左乘T,并考虑到为正交矩阵,得: (2-6)即: (2-7)通过正交向量集j的选择,保证的分量互不相关。设随机向量的总体自相关矩阵为:R=EXTX (2-8)将(2-2)代入(2-8)式,得 (2-9)要求向量的各个分量间互不相关,即满足下列关系: (2-10)写成矩阵的形式: (2-11)则有: (2-12)上式两边右乘,得: (2-13)因为是正交矩阵,所以有: (2-14)即: (2-15)R为自相关矩阵,由此可知,j是X和R的本征值,j是对应本征向量,因为R是实对称矩阵,其不同的本征值对应的本征向量应正交。2.1.2 PCA方法PCA的基础是一种基于统计特征的统计方法,用这种统计方法提取原始数据,构成了一个子空间,也是一种模式识别的基础,得到图像的整体代数特征之后,就可以对图像的整体数据信息进行分类识别。设训练样本集中的样本分别属于c个模式类别:,其中i=1,2,c;j=1,2,, ,其中表示第i类样本的数目,表示该样本是第i类中第j个样本,所有样本都为M维列向量,则类内散布矩阵、类间散步矩阵与总体散步矩阵分别为: (2-16)式中,为第i类中所有样本的均值向量,为所有样本的期望中心向量;为第i类的先验概率,一般取,此时为所有样本的均值向量。经典主成分分析的最优投影矢量集中的投影矢量是使得准则函数式(2-2)达到极值的一组标准正交向量,其物理意义是使投影后所得特征的总体散布量最大。 (2-17) 事实上,最优投影矢量为Si的d个最大特征值所对应的标准正交的特征向量。PCA的准则函数还可以表示为: (2-18)因此,最优投影矩阵。在进行人脸图像特征抽取时,首先需要将图像展开成向量,然后在求取最优投影矢量集。由于在实验中,人脸顺联样本的总数一般远小于训练样本的维数,故为了提高计算效率,常借鉴于奇异值分解定理间接的求解的特征向量。具体做法如下: 当时,总体散布矩阵可以表示为 (2-19)式中,为样本总数;矩阵。 构造矩阵,Q的维数为,根据奇异值分解,Q和的前N个特征值及相应的标准正交特征向量,然后根据式(2-5)得到前d个最大特征值对应的标准正交特征向量。 (2-20) 对于任意一个样本x,则它的主成分特征为 (2-21)2.2 特征脸法特征脸法是一种比较经典的识别方法,它的本质是一种基于代数特征的人脸识别方法,也称为特征子脸技术4。1991年,来自麻省理工的Turk和Pentland首先提出了该方法。该方法同主成分分析的方法也是用特征矢量来表示人脸图像的特征,有所不同的地方是,特征脸法使用的矢量是基于代数特征的向量矢量。基于代数特征的矢量表达是由Hong等发现的,代数特征是由图像数据自身决定的,对图像灰度进行解析之后,它的分布就决定了其代数特征,这是图像数据内存的信息的体现,图像数据的内存信息是通过对图像进行各种代数变换,再加之一些矩阵分解而得到的。把人脸图像当作一个二维的灰度图像,这个图像的灰度模版是变化的,在这个全局上抓取人脸的特征,并且对人脸特征进行描述,这种方法中主要采用的是一些标准的数据统计技术,数据运算的过程要非常的复杂。这种方法的基本出发点是基于统计学的分析方法,对人脸图像做数据解析之后,找到得人脸图像样本集的协方差矩阵,从而得到样本集的特征向量,我们就将这个特征向量近似的表示成人脸图像。于是,在一幅人脸图像由N个像素所组成,这N个像素可以被看成一个N维的向量组,这是一个N维矢量。特征脸方法假定人脸图像是一个抽离出的一个数据区域,与原有的这个高维图像空间相比,这是一个很小的子区域。特征脸方法依据主成分分析原理,从原始图像压缩到的人脸子区域的得到一个新的坐标,它对这个人脸的子区域进行降维,主要针对坐标而言的,使得每个人脸图像可以用很少几个参数来表示,使得表示每个人脸图像的参数大大减少,这就使人脸识别的计算量减少很多,计算的难度也降低了很多5。2.3 本章小结本章主要对人脸图像提取人脸特征的主要方法PCA主成分分析做了阐述。主成分分析包括PCA和K-L变换的相关内容,介绍了特征脸法的基本思想。PCA方法人脸的全局表达方式是一种十分有效的人脸识别方法。它是图像压缩中的一种最优正交变换,在数据空间找一组向量以尽可能解释数据的方差,实现数据的降维,使数据更易处理。特征脸法是PCA主成分分析方法的一个经典方法,它对这个人脸的子区域进行降维,主要针对坐标而言的,使得每个人脸图像可以用很少几个参数来表示,这就大大降低了人脸识别的计算复杂度。第三章 基于BP神经网络的人脸特征分类与识别第三章 基于BP神经网络的人脸特征分类与识别1986年,Rumelhart提出了BP(Back-Propagation)算法,它是一种误差反向传播学习算法,使有导师监督学习多层感知器网络模式分类器走向实用化5。BP神经网络是一种单向传播的多层前向网络,是一种有导师监督学习算法。它能够实现一种特殊的非线性映射,将输入空间变换到由输出所张成的空间,使得在输出空间的分类问题变得简单易行。 本章主要解决的问题是人脸特征分类与识别,本次设计主要用BP神经网络的算法来实现,本章主要对集成网络的训练与识别过程进行了描述。3.1 BP神经网络的算法及实现方法BP网络的学习算法包括正向和反向传输两部分。在正向传播中,每一层神经元的状态只影响下一层神经元网络。如果实际输出值和期望输出值之间误差较大时,那么转入反向传播过程,将误差信号沿原来的链接通路返回,通过修改各层神经元的权值,逐次地向输入层传播并进行计算,再经过正向传播,这两个过程的反复运用,使得误差信号最小。当误差达到预设值时,网络的学习算法结束。本节首先对基本BP神经网络的学习算法进行描述,然后再阐述BP神经网络综合优化学习训练算法。3.1.1 基本BP神经网络的学习算法一个标准的神经网络分为三层,即输入层、隐层和输出层。下面设有一个神经网络,总层数为m层。第k层的输入表示为Uik,i表示第i个神经元的输入,输出Xik;从第k-1层的第j个神经元到第k层的第i个神经元的权系数为Wij。各个神经元的激励函数为f,下面用数学关系式表示各个变量之间的关系: (3-1) (3-2)激励函数将输出信号压缩在一个允许的范围内,使其成为有限值,通常神经元输出的范围在0,1或者-1,1的闭区间上。常用的基本激励函数有阀值 函数、分段线性函数、sigmoid函数。本文所选的sigmoid函数也称为S型函数6。S型函数的定义如下: (3-3)函数图形如图4-1所示:在反向传播算法采用sigmoid为激励函数,并且应用于前馈多层网络,可用下列步骤对网络的权值系数Wij采用递归法来求。注意对于每层有n个神经元的时候,既有i=1,2,.,n;j=1,2,.,n。假设神经元位于第k层的第i个,则有n个权系数Wi1,Wi2,.,Win,另外再假设Win+1用于表示阀值i;并且当输入样本X的时候,取X=(x1,x2,.,xn,1)。 BP神经网络的学习算法可如下所示: 第一步 设置网络的变量,有训练样本X,Y,权值距阵W,学习速率等数据的参数。 第二步 变量及参数的初始化,Wij为权值系数,给它赋值一个较小的随机非零数,其中的Win+1=-。 第三步 输入数据,主要有样本和对应期望输出等。 第四步 计算BP神经网络前向输入和输出, 即每层神经元的输入信号和输出信号。 Xik 表示第k层的第i个神经元的输出,有: (3-4) (3-5)第五步 求各层的误差dik,由实际和期望输出分别来求。对于输出层k=m,有: di=Xi(1-Xi)( Xi-Yi) (3-6) dik=Xik(1-Xik)iWijdjk+1 (3-7)第六步 对权值Wij的系数和阀值进行修正。 Wij(t+1)=Wij(t)+Wij(t) (3-8)其中: Wijt=dikXjk-1 (3-9)第七步 对所有的样本是否被全部学习进行判断,是就更新学习的次数,然后继续,否则就转为第三步。第八步 对迭代次数进行判断,是否达到了最大值,是就结束,否则就转到第三步。3.1.2 神经网络综合优化学习训练算法由于BP网络的训练时间长,有时候网络会陷入局部极小值或者不能收敛。为了避免这种情况,提出了综合优化训练法,主要从两个方面来改善网络训练:训练算法的改进和训练策略的改进。为了加快训练速度,同时避免陷入局部极小值和改善其他能力,训练算法上采用的措施有:(1)采用带动量因子算法。即公式(3-9)变为: Wijt=dikXjk-1+Wij(t-1) (3-10)其中Wij(t-1)为附加因子,本系统取=0.1。附加动量的实质是将最后一次权值变化的影响,通过一个动量因子来传递。以此方式,当增加动量项后,促使权值的调节向着误差曲面底部的平均方向变化,当网络权值进入误差曲面底部的平坦区时,误差的变化dik会很小,于是Wij(t)Wijt-1,从而防止为了Wij(t)=0的出现,有助于使网速从误差曲面的局部极小值中跳出。(2)采用自适应学习速率。在误差曲面比较平坦的区域,加快搜索速度,加大学习速率;当遇到谷地区域,放慢速度搜索,减少学习速率。学习速率调整如下:(t+1)=1.5t, E(t+1)E(t)0.7t, E(t+1)1.04E(t) t, Others (3-11)其中E(t)为t时刻的网络总误差;(t)为t时刻的学习速率,本系统试验中.(3)目标向量修正。因采用的神经元激励函数是S行函数,所以函数的渐进值是0、1,那么期望输出只是小于1大于0的数,而不能是1或者0,否则可能会导致算法不收敛。本系统中用0.01来代表0,0.99代表1。为了进一步加快网络训练,同时保证网络的收敛性,采取的训练策略有:(1)采用子集分步学习。如果某子集收敛,保存该子集训练权值。再逐步扩大这个子集进行训练,读入保存的权值,继续训练,从而避免不收敛。(2)跳读。如果训练过程中误差太少,则跳过不进行反向权值更新。这样有助于加快网络训练。神经网络综合优化训练算法如下:第一步 权值及阀值初始化。第二步 将学习模式提供给网络。第三步 计算中间层各单元的输入和输出。第四步 调整输入层至中间层之间的连接权及中间各单元的输出阀值。第五步 计算中间层各单元的校正误差。第六步 判断误差是否小于阀值,是则转第七步,否则转第四步。第七步 计算输出层各单元的输入和输出。第八步 计算输出层各单元的输入和输出。第九步 计算输出层各单元的校正误差。第十步 判断误差是否小于阀值,是则转第十一步,否则转第八步。第十一步 调整学习速率。第十二步 判断全部模式是否训练完毕,是则转第十三步,否则更新学习模式,转第二步。第十三步 判断学习次数是否大于N,是则算法结束,否则更新学习模式,转第二步。图4-2是采用从人脸中提取的特征向量作为输入的训练过程,其中图4-2(a)采用的是基本训练算法,图4-2b是采用综合优化训练算法。采用基本训练算法训练过程结果表明网络在满足循环总次数250次时不收敛结束训练过程,总误差呈波动状态;采用综合优化训练算法的训练过程结果表明网络在68次时收敛而结束训练过程,总误差呈均匀下降态。(b)综合优化训练算法训练过程图4-2 从提取的特征向量作为输入的训练过程 由此可见采用综合优化训练算法能明显加快网络训练度,保证网络能够收敛。3.2 BP神经网络的参数BP算法在理论上来说,主要是由分层前向神经网络组成的,可以向一个连续的非线性函数逼近,并且是以任意的精度7。然而,实际上这个结论成立是有前提的,就是这个网络要足够的复杂。所以,在实际应用中,网络的复杂程度要根据完成的能力来设计对等的网络。一般情况下,确定复杂度的标准是要根据它的计算量来决定的,计算量越大复杂度就越高,反之就越小。为了改进网络的一些整体的性能,下面对神经网络的相关参数作了一些改进。3.2.1 隐含层数目的确定 在BP神经网络的具体运用中重要的是确定隐含层的结构。BP神经网络的隐含层分为多层和单层网络两种。隐含层数越多则网络的处理数据能力就越强,但相应的需要更多地运算和反馈调整,增加了运算量,并且划分空间过细,会导致网络的归纳与泛化能力下降。在BP神经网络的具体运用中,首先要确定隐含层的结构。Robert Hecht-Nielson曾经证明了当各个节点具有不同的门限时,对于在任何闭区间内的一个连续函数都可以用一个隐含层的神经网络来逼近。因而一个三层的BP神经网络可以完成任意的从n维到m维的映射。Cybenko也指出,当各节点均采用Sigmoid型函数时,一个隐含层就足以实现任意的判决分类问题,两个隐含层足以表示输入基于神经网络的人脸识别算法研究图形的任意输出函数。这个结论对BP神经网络隐含层数目的确定非常关键。采用两个隐层的BP神经网络比采用一个隐层的BP神经网络训练次数要多得多;一个隐层的BP神经网络逼近函数时,在函数的细节部分(如最大、最小值附近)要精确的多。一般来说,开始选取一个隐含层,如果层内节点数目不是太多的情况下,就能按要求完成任务,则可以不加隐层;否则可按需要在再增加隐层数目。因此,在实际的人脸识别应用中,考虑实际应用要求和计算复杂度,仅仅使用一个隐含层就可以解决问题。基于此,在本文中,采取了仅仅含有一个隐藏层的三层神经网络。3.2.2 选取隐含层内节点数目的方法由于神经网络本身的设计被称为艺术而不是科学,所以有关它的参数常常只能依靠经验选取。节点数目的多少,直接影响网络的性能,有时候影响的作用会特别明显,这个至关重要的作用是因为隐含层是负责特征值提取的,在输入的过程中,可以实现这个功能。一般情况下,整个神经网络的识别能力是由隐含层决定的,实际上起决定作用的是隐就含层中神经元数目的多少,神经元数目越多,整个神经网络的识别能力就相应的越强,精度就会越高,相应的网络的训练的时间也就会很长。隐含层的节点数目的确定是有数量限制的,当节点的数目选择的比较多,超过了这个数量的限制点也就是临界点时,整个神经网络的识别精度就会快速的降低,整个网络的抗噪声的能力也会急剧降低。现阶段确定隐含层的节点数目的经验方法,常用的有下面四种方法8:(1) 定理表明:在一个神经网络是个单隐含层的时候,并且这个单隐含层有N个输入的节点,则隐含层的节点数就可以取为2N+1;(2) 当神经网络的模式训练个数为T时,得到的隐含层估算公式表明:隐含层的节点个数可以取为;(3) 当L表示隐含层节点的个数,N表示输入层的节点个数,K表示输出层的节点个数,a表示之间的实数,则隐含层节点数。(4) 当l表示输入层的节点个数,m表示输出层的节点个数,n表示隐含层的节点数,若n为小数,那么对小数部分四舍五入取整,则隐含层节点数为: 由于对不同的应用问题,网络结构的确定会有所不同。针对隐含层内节点数的确定,这里选则方法(1)来确定隐含层内节点数目。3.2.3 激活函数的选取BP算法采用标准S激活函数,一般的说,一个神经元可以同时发送它的激励信号到其他的神经元,f(x)函数是处处可导的,只要输入特征值X尽量控制在收敛比较快的范围内即可,故可将其改为选用神经元的激活函数为:3.3基于动态权值的BP神经网络的集成构造一个具有动态权值的集成型的BP神经网络来识别人脸,集成网络设计的核心就是将一个K类的模式分类问题转化为K个相互独立的的二类分类问题。这种结构将一个复杂的分类问题化解为多个简单的分类问题,集成网络中的各个模块互相并联,各自负责一种模式的识别。根据这一思想,设计一种有多个BP网络组成的集成分类器,即将K个多输入单输出的BP网络集成,一个BP网络就是一个子网络,即一个分类器,只负责识别K类中的一个模式类。由于系统采用了多分类器,那么最后的识别结果的确定将依赖于系统集成方法。本系统采用一种动态权值的分类器方法进行系统集成,那么整个识别系统的框架如图4-3所示。设人脸图像特征脸训练集为X=X1,X2,Xm,其中Xi(i=1,2,m)表示第i幅人脸人脸图像的特征脸,即图像矢量Xi通过PCA特征提取,最后变成特征脸。实验证明,如果识别置信度高的识别向量的对应分量在集成时其权重能够较大的话,那么它在最终的集成结果向量中就能保持这种优势。于是,定义动态权值为:wi= maxyij-min(yij)i=1Nmaxyij-min(yij) (4-12)其中yij为第i个分类器输出向量的第j个分量。从而得到权值向量W。采用动态权值法进行分类器组合的规则为: Y=Y1,Y2,Yi,Yn W (4-13)其中Y为组合算法的输出,Yi为第i个分类器输出向量,N为分类器的数目。最后通过找出Y中最大分量yj,那么其下标就是最终的识别结果。表示如下: 其中yj为Y的分量。M为待分类模式的总模式数。3.4集成BP神经网络的训练与识别过程假设训练数据集中包含K类人的信息,每类人有s幅图像,第i个分类器(i=1,2,K)负责识别第i类人的s幅图像作为正例,目标输出置为0.99,其他人的图像信息作为反例目标输出均置为0.01。对于集成的BP网络,各分类器分别进行训练,分别达到一定精度停止后,集成网络的训练结束,其具体的训练及识别过程如下:(1) 从人脸库中读入数据;(2) 人脸图像进行预处理;(3) 构造平均脸及偏差矩阵;(4) 通过PCA生成特征矩阵,构造特征脸子空间;(5) 计算训练样本在特征脸子空间上的投影向量,生成训练集的人脸图像主分量;(6) 计算训练样本在特征脸子空间上的投影向量,生成训练集的人脸图像主分量;(7) 将(5)得到的训练集主分量作为BP神经网络输入进行训练、学习;(8) 将(6)得到的测试主分量作为BP神经网络的输入进行测试;(9) 生成测试样本;(10) 提交测试样本,分别输入各子网络进行识别:对于一个待识别的人脸特征x,分别计算各个分类器的输出,若第j(j=1,2,K)个子网络输出值最大,则将x归为第j类人。3.5 本章小结 本章讨论了基于BP神经网络的人脸特征分类与识别,阐述了BP神经网络的算法,并对相关参数进行了改进,研究了基于动态权值的BP神经网络的集成,简单描述了集成网络的训练与识别过程。这是本次设计人脸图像的识别方面采用的主要方法。第四章 图像处理的MATLAB实现第四章 图像处理的MATLAB实现4.1 与人脸识别相关问题的概述本文采用了一个10个人的20幅人脸图像的图像库,分辨率为180200,人脸姿态有较大变化。人脸识别系统依靠MATLAB7.1平台。由Math Work公司开发的MATLAB语言语法限制不严格,程序设计自由度大,程序的可移植性好。MATLAB还推出了功能强大的适应于图像分析和处理的工具箱,常用的有图像处理工具箱、小波分析工具箱及数字信号处理工具箱。利用这些工具箱,我们可以很方便的从各个方面对图像的性质进行深入的研究。MATLAB图像处理工具箱支持索引图像、RGB图像、灰度图像、二进制图像并能操作.bmp、.jpg、.tif等多种图像格式文件。4.2 人脸识别的实现方法4.2.1 人脸图像的获取本次设计要求是通过视频摄像头对人脸图像进行获取,将拍摄到的人脸图片实时传输到控制计算机中,进行人脸识别。所以获取十分简便。在MATLAB中读取和显示图像可以通过imread()和imshow()来实现;图像的输出用imwrite()函数就可以很方便的把图像输出到硬盘上;另外还可以用imcrop()、imrisize()、imrotate()等来实现图像的裁剪、缩放和旋转等功能。4.2.2 人脸图像预处理当获取的图像输入到计算机时,由于输入转换器件及环境的影响,输入的图像会因为含有各种各样的噪声而失真。为了能够稳定的进行特征提取,这就需要进行图像的预处理,即消除噪声、校正失真,将图像变换成标准形式。对于人脸图像而言,预处理过程主要包括人脸图像的灰度化、二值化、几何校正、滤波锐化等。1.人脸图像的格式常见的人脸图像格式有BMP、GIF、JPEG等。本次设计图像的格式为JPEG,它的扩展名为.jpg或者为.jpeg,其压缩技术十分先进,它用有损压缩方式去除冗余的图像和彩色数据,获得极高的压缩率,所以文件尺寸较小,但同时展现十分丰富生动的图像。2.人脸图像预处理的方法实现一般情况下,获取的原始图像由于受到各种条件的限制和随机干扰,往往需要对它进行灰度校正、噪声过滤等图像预处理之后才能使用。图像增强就是有选择性的突出图像中用户感兴趣的特征,主要有空间域法和频率域法两种方法。常用的人脸图像预处理方法有:人脸图像的灰度化、人脸图像的二值化,人脸图像的几何校正、直方图修正、人脸图像的滤波、图像锐化、像素平均法等。本次设计采用直方图修正的方法对图像进行预处理。下面对直方图修正进行介绍:图像的灰度直方图是图像各像素灰度值的一种统计度量,其横坐标表示像素的灰度级别,纵坐标表示该灰度出现的频率(像素个数)。运用直方图能够反映图像的概貌,如图像中有几类目标、目标和背景的分布如何,还可以计算图像中最大亮度、最小亮度、平均亮度、对比度及中间亮度等。其基本思想是将各灰度级分量尽量平均布满空间,在直方图上表现为由密集的灰度分布变为均匀的分布,从而增强图像的对比度。此外直方图修正还能减少光线对图像的干扰,使得特征提取变得更加容易,同时提高图像的主观质量。该部分的程序代码如下:i=imread(f:face1.tif);j=histeq(i);imshow(j);figure,subplot(1,2,1),imhist(i);subplot(1,2,2),imhist(j)执行后的效果图如图4-1和4-2所示。图4-1 均衡化后的灰

温馨提示

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

评论

0/150

提交评论