基于pca与lda方法的人脸识别研究本科学位论文.doc

上传人:教**** 文档编号:88943382 上传时间:2023-05-04 格式:DOC 页数:25 大小:715.50KB
返回 下载 相关 举报
基于pca与lda方法的人脸识别研究本科学位论文.doc_第1页
第1页 / 共25页
基于pca与lda方法的人脸识别研究本科学位论文.doc_第2页
第2页 / 共25页
点击查看更多>>
资源描述

《基于pca与lda方法的人脸识别研究本科学位论文.doc》由会员分享,可在线阅读,更多相关《基于pca与lda方法的人脸识别研究本科学位论文.doc(25页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、河北大学2009届本科生毕业论文(设计)基于PCA与LDA方法的人脸识别研究摘 要人脸识别技术是生物特征识别中一个重要的研究领域,可以用于对人类身份的认证,该技术对新时代的综合安全具有非常重大的意义。人脸识别系统是以人脸做为识别身份的媒介,采用计算机强大的图像处理技术,利用人脸与众不同的特征,研究匹配和识别方法的系统。本文主要分析研究了人脸识别及其相关技术(例如LDA),主要包括基于PCA的算法、改进的PCA算法以及基于二维的PCA算法。首先介绍了人脸的预处理,其目的是增强图像的对比度与平滑度。预处理主要包括灰度变化、平滑处理和灰度变换;然后,利用经典的PCA算法对预处理后的图像进行处理,得到

2、特征子空间和各训练图像在特征子空间的投影系数。最后, 分析设计了一个基于PCA的人脸检测识别系统。关键词:人脸识别 特征脸 PCA 预处理 ABSTRACTFace recognition technology is an important area of research. It can be used in network authentication and biometric identification. Face recognition technology is of great significance for comprehensive security. Face rec

3、ognition system is to study matching and identifying method for face wherein it uses computer vision and image processing technology by using facial features alone. In this paper, analysis of the face recognition and related technologies (for example LDA) are analyzed, including algorithms based on

4、PCA, the modified PCA algorithm, and the two-dimensional PCA-based algorithm. Firstl, the preprocessing for face is introduced, its purpose is to enhance the image contrast and smoothness. Preprocessing mainly includes the gray changing, smooth handling and gray-scale transformation; and then, using

5、 the classic PCA algorithm to the image after preprocessing. By this way, sub-space with features and projection coefficients for training images in sub-space with features are obtained. Finally, a PCA-based face detection recognition system are analyzed and designed.Key words: Face Recognition feat

6、ure Face PCA Preprocessing目 录一 引言11.1研究背景和意义11.2人脸识别技术的发展和现状11.3人脸识别研究内容21.4论文组织与安排2二 人脸识别算法研究32.1算法分类32.1.1基于几何特征的人脸识别方法32.1.2基于相关匹配的方法32.1.3基于子空间方法32.1.4基于统计的识别方法42.1.5基于神经网络的方法4三 系统的需求分析和方案选择53.1可行性分析53.2需求分析53.2.1开发环境的需求分析53.2.2运行环境的需求分析6四 系统的详细设计74.1 PCA算法74.2.1应用程序的总体设计流程图114.2.2图像预处理的层次图124.3

7、各模块功能简介124.4图像处理具体算法14五 实验结果分析185.1 实验数据库简介185.2实验结果18六 结论19谢 辞20参考文献21一 引言1.1研究背景和意义 社会在不断的进步,同时社会生产生活等各方面也都有了飞速的发展。与此同时对人们身份的认证就有了更高的要求,人脸识别技术就应运而生了。人脸识别技术是一种生物特征识别技术,在近几十年中得到了飞速的发展。作为人自身的一种内在属性,具有固定不变性和个体差异性,人脸特征成为了身份验证的一个理想的依据。人脸识别直接、友好、还很方便,易于为用户所接受,从而得到了广泛的研究与应用。除此之外,我们甚至还能够对人脸识别的结果作更高一层次的分析,得

8、到有关人的性别、年纪等的很多其他信息。这就扩展了人脸识别的应用前景。人脸识别系统现在在大多数领域中起到非常重要的作用。最明显的是用在一些单位的安全和考勤、网络安全、银行、海关边检、物业管理、军队安全、智能身份证、司机驾照验证、计算机登录系统。我国在这方面也取得了较好的成就。当前的人脸识别技术主要被应用到了以下几个方面:公安部门在破获案件时有了人脸识别系统就可以事半而功倍,大大提高了刑侦破案的准确性和效率。另外证件检查也正是应用到了这个系统。除此以外闭路电视,录像等等在获得图像之后也可以应用人脸识别系统进行识别。人脸识别是机器视觉和模式识别领域最富有挑战性的课题之一,同时也具有较为广泛的应用意义

9、。人脸识别技术是一个非常活跃的研究领域,它覆盖了数字图像处理、模式识别、计算机视觉、神经网络、心理学、生理学、数学等诸多学科的内容。它具有十分广泛的应用意义,人脸识别应用于电脑网络安全,司机驾照验证,自动门系统,各类银行卡,智能玩具和虚拟游戏等等。1.2人脸识别技术的发展和现状人脸识别的研究已经有了很长的一段历史,它的发展大致可以分为以下四个阶段,第一阶段:人类对人脸识别最早的研究开始于二十世纪五十年代,首先始于对心理学方面的研究。第二阶段:是以Allen 和Parke 为代表的,这个阶段的主要研究工作就是对面部特征的研究。他们当时用最原始的计算机实现了质量较高的人脸部灰度图的模型。这一阶段的

10、工作比较辛苦,完全依赖于研究者的分析,技术相对来说也比较落后。第三阶段:人机交互式识别阶段。 Harmon 和Lesk 用几何特征参数来表示了人脸正面的图像。他们采用多维特征矢量表示人脸面部特征,并设计了基于这一特征表示法的识别系统。Kaya和Kobayashi 则采用了统计识别方法,用欧氏距离来表征人脸特征。欧氏距离即各维内积之和的开方,简而言之就是两点之间的直线距离。但这类方法需要利用操作员的某些先验知识,所以仍然摆脱不了人的干预。第四阶段:20世纪90年代以来,计算机技术得到了突飞猛进的发展,计算机的性能也有了很大程度的提高。人脸识别方法有了重大的突破,目前进入了相对的利用计算机的自动识

11、别阶段。在用静态图像或视频图像做人脸识别的领域中,国际上形成了基于几何特征的、基于相关匹配的、基于统计的识别的、基于神经网络的人脸识别方法1。1.3人脸识别研究内容人脸识别,就是指利用分析、比较人脸视觉特征信息进行身份鉴别的计算机技术。广义的人脸识别实际上包括构建人脸识别系统的一系列相关技术,包括人脸图像采集技术、人脸定位技术、人脸识别预处理技术、身份确认以及身份查找等技术;而狭义的人脸识别就是指通过人脸进行身份确认或者身份查找的技术或系统。 人脸识别是一个非常热的计算机技术研究领域,它属于生物特征识别技术,人脸识别的研究范围大体上分为:人脸定位和检测、人脸表征、人脸识别、表情分析、生理分析五

12、个方面的内容。1.4论文组织与安排本文分析研究了基于PCA的人脸识别方法,其中主要介绍和比较了基于PCA的各种方法。第一部分介绍了人脸识别研究的背景和意义,人脸识别技术的发展和现状,及人脸识别研究的内容。第二部分描述了人脸识别算法及其分类,主要包括基于几何特征的人脸识别方法、基于相关匹配的方法、基于子空间的方法、基于统计的识别方法和基于神经网络的方法。第三部分介绍了系统的需求分析和方案选择,主要有可行性分析、开发环境和运行环境的分析。第四部分阐述了系统的详细设计。具体包括基于PCA的人脸识别、改进的PCA人脸识别、基于二维的PCA人脸识别算法、应用程序的具体流程和图像预处理知识等等。第五部分对

13、实验结果进行了分析和说明。第六部分是对本文工作的总结。二 人脸识别算法研究我们在日常生活中很多都在进行模式识别。比如说各个国家目前对流动人口的身份安全性的要求已经越来越高,同时身份的验证也具有各种各样的手段:可以运用指纹识别、可以使用人脸识别、又可以使用语音识别,总之这样的手段是多种多样的。人脸识别理论在此领域进行研究开发有着广泛的前景,本文就是对人脸识别问题进行了初步的探讨,并给出了实现实例,仅仅当作是在此领域的一次小小的探讨吧。2.1算法分类2.1.1基于几何特征的人脸识别方法最常采用的几何特征是基于人脸的五官的,比如说嘴巴、鼻子、眼睛等的这些局部的形状特征。最早期的人脸识别方法之一就是基

14、于几何特征的方法。在对人的脸部提取特征时,往往要对人脸的结构知识有一定的了解。人脸识别所采用的几何特征是以人脸所包括的器官的形状和几何关系为基础的特征矢量,实质上就是对特征矢量进行匹配,它的分量通常包括在人的面部指定两点间的距离、角度等等。基于几何特征的识别方法相对而言还是比较简单的,容易理解,但是从人脸图像中抽取稳定的特征还是困难的,特别是当人脸的一些器官受到遮挡时; 对有较大的表情变化或姿态变化时,识别效果还是比较差的。2.1.2基于相关匹配的方法基于相关匹配的方法包括等强度线方法和模板匹配法:对等强度线法的描述是这样的:等强度线是对于灰度图像而言的。利用灰度图像的多级灰度值的等强度线作为

15、比较特征,进行两幅人脸图像的匹配识别。反映人脸的凸凹信息的一种方法就是等强度曲线。这些等强度线法要求比较严格,必须在背景与头发均为黑色,表面光照均匀的前提下才能求出符合人脸真实形状的等强度线。专门比较基于几何特征的人脸识别方法和基于模板匹配的人脸识别方法就是模板匹配法。并且由此得出一个结论:基于几何特征的人脸识别方法具有识别速度快和内存要求小的优点,但在识别率上模板匹配要优于基于几何特征的识别方法。2.1.3基于子空间方法一种方法是采用本征脸方法实现人脸识别。由于每一个本征矢量的图像形式都类似于人脸,所以称为本征脸。对原始图像和再一次重构的图像的差分图像再次进行K-L变换,就得到二阶的本征空间

16、,又称二阶本征脸。对于眼部、鼻子和嘴等特征部位分别建立一个本征子空间,并联合本征脸子空间的方法获得了好的识别结果。又有人采用特定人的本征空间法获得了好于本征脸方法的识别结果。TPCA(Topological PCA)方法,识别率有所提高。局部特征分析(LFA Local Feature Analysis)法的识别效果好于本征脸方法。当每个人有多个样本图像时,本征空间法没有考虑样本类别间的信息,因此,基于线性区别分析方法,获得了较好的识别结果2。2.1.4基于统计的识别方法基于统计的识别方法包括有:KL算法,隐马尔可夫(HMM)法。KL变换就是将人脸图像按行展开所形成的一个向量看作是一种随机的向

17、量,再采用K-L变换获得其正交K-L基底,然后相互比较,对应其中最大的特征值基底具有与人脸最相似的形状。用基于KL变换的本征空间的特征提取法,就称为“本征脸”。隐马尔可夫模型这种识别方法是用来描述信号统计特性的,将信号统计特性统计成一个模型。由于他是一个统计模型,所以对于一组特征序列,会可能出现多种状态序列,他们二者的关系是非确定的。基于HMM的人脸识别方法具有以下优点:第一,能够允许人脸有表情变化和较大的头部转动;第二,扩容性好.即增加新样本不需要对所有的样本进行训练;第三,较高的识别率。2.1.5基于神经网络的方法混合神经网络通过一个多级的实现样本的聚类,将卷积神经网络用于人脸识别采用基于

18、概率决策的神经网络方法,采用主元神经网络方法提取人脸图像特征,用自相关神经网络进一步压缩特征,最后才来实现人脸识别。采用PCA进行维数压缩,再用LDA抽取特征,然后基于神经网络进行人脸识别。神经网络的优势是通过学习的过程获得对这些规律和规则的隐性表达,它的适应性较强3。除了上述几种方法以外,在实际应用中也可以选择LDA方法(线性判别分析法),这种方法实际上是对离散度进行的一种运算,其目的是寻找到使类间离散度和类内离散度比值最大的一系列特征。通常,类间离散度可以表示成Ai=(ni-n)( ni-n)T ,类内离散度表示为Aw=(x* ni) (x* ni) T,其中Pi是先验概率,ni是Bi的均

19、值,n是所选的所有样本的均值。所以 A= , 求出的向量A就是所求的比值最大时所对应的向量。 20三 系统的需求分析和方案选择目前人脸识别系统已经应用到了许多不同的领域,人脸识别技术虽然是近几年新兴的一门新技术,但他的发展潜力是很大的,是一门前沿性的学科,引起了很多学者的注意,他们的研究使得人脸识别技术不断地更新,系统的识别率不断地提高。3.1可行性分析人脸识别系统需要的运行环境通常是比较低的:CPU:600M及以上;内存:64 M及以上。安装有Windows 98、Windows Me、Windows 2000、Windows XP等操作系统中的其中一种。另外电脑上还必须装有摄像头,以便我们

20、拍照进行人脸的提取和采样。所以,从操作可行性来说,只要系统用户的硬件软件设备满足以上条件,即可用该人脸识别软件进行人脸的识别。3.2需求分析3.2.1开发环境的需求分析人脸识别系统最主要的功能就是对人脸进行识别,首先该系统需要通过摄像头拍照或从文件中获取原始的人脸图片,然后对这些图像进行一系列处理并将处理结果进行整理,该处理过程也称图像预处理。预处理模块在整个人脸识别系统的开发过程中占有很重要的地位,只有预处理模块做的好,才可能很好的为后面的人脸定位和特征提取这两大关键模块奠定良好的基础。因此本设计中所要完成的主要功能如下所述:图3-1 人脸识别系统各模块的功能3.2.2运行环境的需求分析1、

21、硬件环境硬件配置:具有可靠性,稳定性和安全性,能够满足个人学习和设计需要。运行本软件所需的硬件资源:CPU: 800M及以上;内存: 128M及以上。2、软件环境系统软件配置原则:能够满足该软件的可靠,稳定,安全的运行;系统软件配置方案:配置有高度安全性,能支持各种操作软件的操作系统,如Windows2000,Windows XP,UNIX,Linux等。配备运行Java,mysql程序设计语言处理软件。如:Eclipse,MySQL数据库。熟练应用Java语言程序设计,熟悉mysql数据库,熟练应用sql语言。3、运行环境需求分析硬件环境:CPU:600M及以上;内存:64 M及以上。软件环

22、境:可以运行在微软公司近年来所出的各种操作系统:Windows 98、Windows Me、Windows 2000、Windows xp等。四 系统的详细设计计算机处理的图像是以数字形式表示的。如果我们仅仅从识别的角度出发,而不考虑其他的因素。我们就会希望数字图像能够尽量多的地保留原来的图像所带有的信息,但是在实际生活当中,通常会由于所处场合的不同,使原来输入的图像所保留的信息是不完全一样的。比如说图像失去了本身颜色信息;成了黑白色的。二维的图像失去了深度信息等等;红外图像仅仅和辐射的强度有关,很可能会造成分辨率太低; 又或者是图像失去了纹理信息;上述所说明的几种图像都没有动态的信息。除了图

23、像的形态不同,由于输入设备的不相同,有的图像是由摄像头拍摄的,有的则是由照片扫描或报纸扫描的,还有可能是在网上下载的压缩图像,等等。由于应用环境的不同,所得图像的性质也是不相同的,由于这些因素的存在,就自然而然的影响到了以后特征的提取过程,会使提取的特征也有所不同。本论文主要是在二维灰度静态图像上进行人脸识别的研究4。1、基于haar-like特征的人脸检测过程 人脸检测不仅要求有较高的检测率,同时也要求能够满足对实时性的要求,有很多关于haar-like特征人脸检测的文章,通过综合多种算法实现了实时的人脸检测系统,使得人脸检测从真正意义上走向了实用。因此,我们在综合考虑了各方面因素的前提下,

24、选择了这种基于haar-like特征的人脸检测方法。2、基于haar-like特征人脸检测的原理 层叠递进式分类方法与那些复杂的单层分类方法相比,不仅能够达到相同检测率的要求,而且能够很大程度地缩短检测时间,这种方法是起始于简单特征的,与传统的基于图像像素特征的方法相比具有以下几个优点:它比使用像素特征的方法具有更强的可分性,它能够在增大类间差异的同时更大限度的使类内差异减小。这是因为这些特征往往概括了相关领域知识,而这也恰恰是很难直接从像素中得到的。除此以外,它的特征的计算速度相当快,同时还可以满足在图像任意位置和任意大小条件下的计算要求。并且得到了一系列新的特征,同时抛弃了对原有旧的特征的

25、约束5。4.1 PCA算法1、基于PCA的人脸识别对于一幅P Q的人脸图像,将其每列相连构成一个大小为F = P Q 维的列向量,F 就是人脸图像的维数。设m 是训练样本的数目;xi 表示第i幅人脸图像形成的人脸向量,则所需样本的协方差矩阵为: (4-1)其中u 为训练样本的平均图像向量: (4-2)令B = x1 u,x2 - u, , xm - u,则有,其维数为FF,依据SVD 定理,令li ( i = 1 ,2 , , r) 为矩阵的r个非零特征值,vi 为 对应于l i 的特征向量,则的正交归一特征向量ui 为: (4-3)则“特征脸”空间为: w = ( u1 , u2 , , u

26、r)。将训练样本投影到上面计算所得到的“特征脸” 空间上,得到一组投影向量 = wT u ,将其存储到数据库中。在识别时,先将每一幅待识别的人脸图像投影到“特征脸”空间。再利用最邻近分类器比较其与数据库中人脸的位置。从而识别出该图像是否是数据库中的人脸6。2、改进的PCA人脸识别经典PCA算法对光照依赖较大,光照将影响经典PCA算法识别的准确率。而改进的PCA算法改善了这一缺点,从而增加了识别的准确率。该算法主要通过图像灰度的线性变换和对前三个特征向量进行加权处理来减少光照的影响。图像的灰度变换可以改变图像的质量,它可以增强图像的某些信息,也可以削弱或者去除图像的某些不需要信息,图像灰度的线性

27、变换是将图像中所有的点的灰度按照线性灰度变换函数进行变换。该线性变换函数f(x) 是一个二维线性函数: f(x) = fCx + fD,可以增强图像灰度的对比度,进而可以增强图像的质量。改进PCA方法的基本过程如下:首先,对图像进行预处理,包括对图像进行平滑处理、图像灰度变换、图像灰度变化。然后,利用经典的PCA算法对预处理后的图像进行处理,得到特征子空间和各训练图像在特征子空间的投影系数。 最后,进行识别得到最终的人脸空间距离。改进的PCA算法流程如下:假设由H张人脸图像组成原始图像集A,每幅人脸图像由M= AB个像素组成。(1) 对每幅图像进行图像的预处理处理,处理后的图像为X1 ,X2

28、, ,XH;(2) 对图像X1 ,X2 ,XH 做图像灰度的线性变化;(3) 利用经典PCA方法计算特征子空间以及每张人脸在特征子空间中的投影系数;(4) 识别过程:按(1) (3)计算待识别人脸在特征子空间的投影系数,然后利用加权后的投影系数计算未知人脸的人脸空间距离,与数据库进行比较,确定待识别的人脸是否是数据库中的人脸,得出结果7。3、基于二维的PCA人脸识别二维PCA人脸识别算法在进行人脸图像的特征提取时不需要预先将人脸图像矩阵转换成一维的向量,减小了后续算法的计算复杂度,有效地提高了特征提取的速度,并取得了较高的识别率。(1)特征向量的计算设人脸图像的训练样本总数为N ,人脸图像样本

29、的类别数为D ,Nc (1 c D) 为第c 类中的人脸样本个数,Aci表示人脸图像训练样本中第c 类的第i 个样本。其中人脸图像Aci为m n 的矩阵,则对第c 类中的每个训练样本进行规范化处理: i = 1 ,2 , ,Nc; (4-4)定义Bi表示人脸训练样本集中的第i 个规范化之后的样本,则人脸样本的图像协方差矩阵Gt 定义如下: (4-5)令x为n 维的单位列向量,根据图像协方差矩阵Gt,定义求解最优特征向量的准则函数J(x) 为: (4-6)通常选取Gt的前d 个最大的特征值所对应的单位正交特征向量作为一组最优特征向量,即: (4-7)于是,这d 个特征向量就构成了一个特征子空间。

30、(2)人脸图像样本在特征子空间上的投影对待识别样本和训练样本进行规范化处理,并将其向特征子空间进行投影,所得到的一组投影向量为: k = 1 ,2 , ,d; (4-8)从上式中我们可以得到一组投影向量y1 ,y2 , ,yd ,其中每个投影向量均为m 维的列向量,然后将这组投影向量组成一个矩阵Y如下: Y = y1,y2, ,yd (4-9)其中Y为m d 大小的矩阵,该矩阵称为人脸图像样本A 的特征矩阵,此矩阵即为所要提取的人脸样本A 的特征。(3)人脸识别在特征提取后,我们通常采用的是最近邻距离分类器来分类待识别样本。对于任意两个特征矩阵和,他们之间的距离定义为: (4-10) 对于给定

31、的一个待识别样本,得到它的特征矩阵,然后与数据库中的特征矩阵进行比较,且Yk c (c 表示第c 个人脸类别),则此人脸为识别结果 8。图4-1 主元分析法(PCA)算法理论广义上来说,特征提取是一种从高维测量空间(在本章即人脸图像空间)到低维特征空间的一种映射(或变换)。这种映射通常要遵循两个原则,即特征空间必须保留测量空间的主要分类信息:特征空间维数远小于测量空间维数。主元分析法正是满足上述准则的一种数据压缩方法,它可以将人脸图像投影到低维特征空间各个正交基上产生特征向量。这种特征向量不但对光照、姿态、表情等干扰因素不敏感,还可以较好地反映了人脸图像的全局与局部特征。从人脸图像重构的角度来

32、说,只要选取前K个最大的特征值所对应的特征向量,将人脸图像向量向这K个最大的特征值对应的特征向量投影,就可以获得一个由K个分量组成的图像重构均方误差最小的投影向量。该投影向量表征了人脸图像在特征子空间的位置,是主元分析法对人脸图像提取的最优特征9。 4.2.1应用程序的总体设计流程图用户输入系统界面显示结果获取图像图像预处理PCA算法识别图4-2 人脸识别程序设计流程图4.2.2图像预处理的层次图预处理灰度变化平滑处理灰度变换图4-3 人脸识别图像预处理的层次图4.3各模块功能简介以上是该系统的总体结构设计图以及图像预处理模块的层次图。下面介绍系统中的各模块的功能及算法:1、图像获取模块该模块

33、主要是从摄像头中进行图片的获取,或者图片库中获取,获取后的图片在软件的界面中显示出来以便进行识别。2、图像预处理模块图像预处理就是对获取得来的图像进行适当的处理,使它具有的特征能够在图像中明显的表现出来。该模块中的子模块有如下3个,下面对它们进行概述:灰度变化:图像灰度化的过程就是把彩色图像转换为灰度图像的过程,它是为了将图像的信息更加是具体,简单的表现出来。显然这样做也将会丢失图像信息。但是这样可以达到用简单的方式表现图像复杂的信息的效果。平滑处理:在图像的采集过程中,由于各种因素的影响,图像中往往会出现一些不规则的噪声,从而影响图像的质量。平滑可以降低图像的视觉噪声,同时除去图像中的高频部

34、分后,那些本来不明显的低频成分更容易识别。简言之,平滑处理就是减少图像的噪声。灰度变换:一幅图像灰度对比度差,就会影响图像的质量,为了改善图像灰度的对比度,可以对图像中的样点的灰度进行刻度尺方面的改变,即:灰度变换。通过灰度变换来改变图像区域对比度,使图像更加清晰。3、图像处理模块图像处理主要有以下两个步骤:(1)人脸图像预处理(2)读入人脸库,训练形成特征子空间在图像处理完后得到的相关数据存入后台数据库。4、识别模块把训练图像和测试图像投影到图像处理行成的子空间上,选择一定的距离函数进行识别。如果分析在我们所确定的范围内,我们就认为此人就是我们要找的。然后从数据库中提取相关信息,显示出来。如

35、果数据库中没有,则提示是否对此作为样本进行先关操作,存储起来。图4-4 程序总体示意图4.4图像处理具体算法1、灰度变化如果要将彩色图像转换为灰度图像,则先使用如下灰度变换公式: int gray=r0.3g0.59b0.11;下面是图像加载,提取R,G,B的分量和进行图像灰度变换的编码:/跟踪图像的加载MediaTracker tc = new MediaTracker(this);Tg=Toolkit.getDefaultToolkit().getImage(“图像名”);tc.addImage(Tg,0);/等待图像加载完trytc.waitForID(0);catch(Interrup

36、tedException e) e.printStackTrace(); /获得图像的高度和宽度iw = tg.getWidth(this);ih = tg.getHeight(this);pix = new int iw*ih;/对RGB值和alpha值进行重新计算和赋值ColorModel cm =ColorModel.getRGBdefault();for(i=0;iiw*ih;i+)int alpha = 100;int red = cm.getRed(pixi);int green = cm.getGreen(pixi);int blue = cm.getBlue(pixi);int

37、 gray=r0.3g0.59b0.11;red=green=blue=gray;pixi=alpha24|red16|greenT时g(m1,m2)= f(m1,m2) 其他 平滑处理的编码:/对图像进行平滑for(i=1;iih-1;i+) for(int j;jiw-1;j+) int alpha =cm.getAlpha(pixi*iw+j);int red =cm.getRed(pixi*iw+j);int alpha =cm.getGreen(pixi*iw+j);int alpha =cm.getBlue(pixi*iw+j);int r1 =cm.getRed(pix(i-1)

38、*iw+j-1);int r2 =cm.getRed(pix(i-1)*iw+j);int r3 =cm.getRed(pix(i-1)*iw+j+1);int r4 =cm.getRed(pixi*iw+j-1); int r6 =cm.getRed(pixi*iw+j+1);int r7 =cm.getRed(pix(i+1)*iw+j-1);int r8 =cm.getRed(pix(i+1)*iw+j);int r9 =cm.getRed(pix(i+1)*iw+j+1);int avRed = (r1+ r2+ r3+ r4+ r6+ r7+ r8+r9)/8;int g1 =cm.

39、getGreen(pix(i-1)*iw+j-1);int g2 =cm.getGreen(pix(i-1)*iw+j);int g3 =cm.getGreen (pix(i-1)*iw+j+1);int g4 =cm.getGreen (pixi*iw+j-1);int g6 =cm.getGreen (pixi*iw+j+1);int g7 =cm.getGreen (pix(i+1)*iw+j-1);int g8 =cm.getGreen (pix(i+1)*iw+j);int g9 =cm.getGreen (pix(i+1)*iw+j+1);int avGreen = (g1 + g

40、2 + g3 + g4 + g6 + g7 + g8 + g9)/8;int b1 =cm.getBlue(pix(i-1)*iw+j-1);int b2 =cm.getBlue (pix(i-1)*iw+j);int b3 =cm.getBlue (pix(i-1)*iw+j+1);int b4 =cm.geBlue (pixi*iw+j-1);int b6 =cm.getBlue (pixi*iw+j+1);int b7 =cm.getBlue (pix(i+1)*iw+j-1);int b8 =cm.getBlue (pix(i+1)*iw+j);int b9 =cm.getBlue (

41、pix(i+1)*iw+j+1);int avBlue = (b1 + b2 + b3 + b4 + b6 + b7 + b8 + b9)/8;pixpi*iw+j = alpha24| avRed16|avGreen8|avBlue;3、灰度变换灰度变换的一般表达式:(1) g(x ,y) = af(x ,y) + b 灰度取值范围从f1 ,f2变成g1 ,g2的表达式:(2) g(x ,y) = g1 + (g2-g1/f2-f1)f(x ,y)-f1灰度变换的编码如下:/对图像进行线性拉伸,alpha值保持不变for(i=0;i= 255)red = 255;if(green = 255

42、)green = 255;if(blue = 255)blue = 255;pixi=alpha24|red16|green8|blue;系统设计中的一些主要函数及简要说明见下表:表4-1 人脸识别系统的主要函数说明图像预处理Getpicture()获取图像Showpicture()显示图像To gray()彩色图像转换为灰度Tochangegray()灰度变换Toclear()平滑处理Getdatabase()获取数据库链接PCA算法Readface()读入人脸库并将二维人脸数据转为一维向量KL change()计算KL变换生成矩阵,进行KL变换Creatspace()计算矩阵的特征值和特征

43、向量,构造子空间Shadow()把训练图像测试图像投影到特征空间Compare()把投影到子空间的所有测试图像和训练图像进行比较显示结果Toshow()显示结果五 实验结果分析5.1 实验数据库简介在orl人脸图像库中,将其分为测试和训练两部分,每部分有40个不同人的不同的脸部图像,适用与不同的研究脸部的研究人员的需要。实验中采用orl人脸数据库,该数据库类别数为40个人,每人10幅图像,均为11292像素灰度图像,具备不同人的不同表情和姿态及光照等的照片,所有这些图像都满足如下条件:图像中只有一个人脸,且占40%以上的幅面,双眼和两个嘴角可见;头部在图像中倾斜度不超过45度。这些条件适合于本文的方法做人脸图

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com