毕业论文 基于PCA的人脸识别算法实现

更新时间:2024-05-14 17:42:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

毕业设计(论文)

毕业设计(论文)

设计(论文)题目:

基于PCA的人脸识别算法实现

- I -

毕业设计(论文)

摘 要

随着科技的发展,人类社会的进步,传统身份识别由于容易遗失,容易被破解已不能起到身份识别作用。人们需要更加安全可靠的身份识别技术。而生物特征的独一无二,不易丢失和被复制的特性很好满足了身份识别的需要。同时随着计算机科学技术和生物医学的发展使得利用生物特征识别成为了可能。在生物特征识别领域,由于人脸识别的操作快速简单,结果直观,准确可靠,不需要人的配合等优点已成为人们关注的焦点。主成分分析(PCA)通过提取高维度的人脸图像的主元,使得图像在低维度空间中被处理来降低了图像处理的难度。由于其有效的解决了图像空间维数过高的问题,已经成为人脸识别领域非常重要的理论。本文研究的就是基于PCA的人脸识别算法的实现。

本文按照完整人脸识别流程来分析基于PCA的人脸识别算法实现的性能。首先使用常用的人脸图像的获取方法获取人脸图像。本文为了更好的分析基于PCA人脸识别系统的性能选用了Essex人脸数据库。接下来是人脸图像预处理方法。由于Essex人脸图像质量较好,而且已经做过相应的预处理,所以本文试验中只使用灰度处理。接着使用PCA提取人脸特征,使用奇异值分解定理计算协方差矩阵的特征值和特征向量以及使用最近邻法分类器欧几里得距离来进行人脸判别分类。在实验中我们发现基于PCA的人脸识别系统的识别率很高,而且具有一定鲁棒性,所以基于PCA的人脸识别算法的实现的研究还是有意义。

【关键词】人脸识别 PCA算法 奇异值分解定理 欧几里得距离

- II -

毕业设计(论文)

ABSTRACT

With the development of science and technology, the progress of human society, the traditional identification is easy to lose, easy to be cracked and it has not play an identifiable role. People need a more secure and reliable identification technology. Biometric is unique, easy to lose and replication characteristics of good meet the needs of the identification. With the development of computer science and technology and biomedical makes use of biometric identification has become possible. In the field of biometric identification, face recognition with the advantages of operation is fast and simple, the results are intuitive, accurate and reliable,do not need co-ordination, has become the focus of attention. The principal component analysis (PCA) to extract high dimensional face image of the main element, making the images are processed in low-dimensional space and it reduces the difficulty of image processing. PCA solves effectively the problem of high dimension image space and it has become a very important theory in face recognition field. This paper is in this context of writing from.

In accordance with the full recognition process to analyze the performance of PCA-based face recognition algorithm. The first to use the method of access to commonly used face images for face images. In order to better analysis is based on the performance of the PCA face recognition system selected Essex face database. Next is the face image preprocessing methods. Essex face image quality is better, and have done the appropriate pretreatment, using only gray-scale processing of this trial. Then use the PCA for face feature extraction using singular value decomposition theorem to calculate the covariance matrix of the eigenvalues and eigenvectors, and use the Euclidean distance of the nearest neighbor classifier to the classification of human face discrimination. In the experiment, we found that a high recognition rate of the PCA-based face recognition system, but with a certain robustness, the PCA-based face recognition algorithm to achieve meaningful.

【Key words】face recognition PCA algorithm SVD Euclidean distance

- III -

毕业设计(论文)

目 录

前 言 ................................................................. 1 第一章 人脸识别系统概述 ............................................... 2

第一节 人脸识别的研究概况 .......................................... 2 第二节 人脸识别的发展趋势 .......................................... 3

一、多数据融合与方法综合 ........................................ 4 二、动态跟踪人脸识别系统 ........................................ 4 三、基于小波神经网络的人脸识别 .................................. 4 四、三维人脸识别 ................................................ 4 五、适应各种复杂背景的人脸分割技术 .............................. 4 六、全自动人脸识别技术 .......................................... 4 第三节 人脸识别技术的主要难点 ...................................... 5

一、复杂条件下人脸的检测和关键点定位 ............................ 5 二、光照问题 .................................................... 5 三、资态问题 .................................................... 5 四、表情问题 .................................................... 5 五、遮挡问题 .................................................... 5 第四节 人脸识别流程 ................................................ 6

一、人脸图像采集 ................................................ 6 二、预处理 ...................................................... 6 三、特征提取 .................................................... 6 第五节 本章小结 .................................................... 8 第二章 人脸图像的获取 ................................................. 9

第一节 人脸图像获取 ................................................ 9 第二节 人脸分割 .................................................... 9 第三节 人脸数据库 ................................................. 10 第四节 本章小结 ................................................... 11 第三章 人脸图像的预处理 .............................................. 12

第一节 人脸图像格式 ............................................... 12

一、JPEG格式 ................................................... 12 二、JPEG2000格式 ............................................... 12

- IV -

毕业设计(论文)

三、BMP格式 .................................................... 13 四、GIF格式 .................................................... 13 五、PNG格式 .................................................... 14 第二节 人脸图像常用预处理方法 ..................................... 14

一、灰度变化 ................................................... 14 二、二值化 ..................................................... 15 三、直方图均衡 ................................................. 15 四、图像滤波 ................................................... 16 五、图像锐化 ................................................... 17 六、图像归一化 ................................................. 18 第三节 本章小结 ................................................... 19 第四章 人脸识别 ...................................................... 20

第一节 主成分分析基本理论 ......................................... 20

一、什么是主成分分析? ......................................... 20 二、例子 ....................................................... 20 三、基变换 ..................................................... 21 四、方差 ....................................................... 24 五、PCA求解:特征根分解 ........................................ 27 六、PCA的假设 .................................................. 28 七、总结: ..................................................... 29 八、在计算机视觉领域的应用 ..................................... 31 第二节 基于PCA人脸识别算法的实现 ................................. 32

一、创建数据库 ................................................. 32 二、计算特征脸 ................................................. 33 三、人脸识别 ................................................... 35 第三节 本章小结 ................................................... 37 结 论 ................................................................ 38 致 谢 ................................................................ 39 参考文献 .............................................................. 40 附 录 ................................................................ 41

一、英文原文 ....................................................... 41 二、英文翻译 ....................................................... 54 三、源程序 ......................................................... 65

- V -

毕业设计(论文)

前 言

随着社会和科技的发展,社会步伐的加快,人们对高效可靠的身份识别需求日益强烈。各种技术在科研和实际中都受到了很大的重视和发展。由于生物特征内在的稳定性和唯一性使其成为了作为身份识别的理想依据。人脸特征作为典型的生物特征外,还有隐蔽性好,易于被用户接受,不需要人的配合等优点。现已成为了身份识别领域研究的热点。PCA算法通过降低维度,提取主元素,减少了数据冗余,解决了图像纬度太高无法处理或处理很慢的特点,同时保持了原始图像的绝大部分信息。在人脸识别领域,很多先进的识别算法都是在其基础上的改进。所以研究基于PCA的人脸识别算法实现具有重要的理论和使用价值。

本文主要介绍基于PCA的人脸识别算法的实现,除第一章外,其余内容按照人脸识别的流程可分为人脸图像获取,人脸图像预处理,人脸特征提取和特征匹配四个部分。具体安排如下:

第一章主要介绍人脸识别的研究现状,人脸识别技术的主要难点及人脸识别流程。 第二章主要介绍常用的人脸图像获取方法和人脸图像数据库。 第三章主要介绍常用的人脸图像预处理方法。

第四章主要介绍PCA算法,SVD定理,如何通过PCA和SVD提取人脸特征及如何使用最近邻法分类器欧几里得距离来进行判别分类。

- 1 -

毕业设计(论文)

第一章 人脸识别系统概述

第一节 人脸识别的研究概况

人脸识别的研究起源比较早,Galton 在1888年和1910年就已在Nature杂志发表两篇关于如何使用人脸进行身份识别的论文。在他的文章,他使用一组数字表示相异的人脸侧面特征,同时还对人类本身的人脸识别能进行了研究分析。自动人脸的研究历史相对比较短,到现在不过五十多年的时间。不过1990年以来,才得到了长足的进步。现在,已变成计算机视觉领域的一个焦点,很多著名的大学和IT公司都有研究组在从事这发面的研究。

对于人脸识别的研究历史可分为三个阶段:

第一阶段(1964-1990)这个阶段主要采取的技术是基于人脸几何结构的。研究的重点主要在剪影上。研究人员做了大量关于如何提取面部剪影曲线的结构特征的研究。这个阶段属于人脸识别的初级阶段,突出的研究成果不多,也没有获得的实际应用。

第二阶段(1991-1997)这个阶段虽然时间相对较短,但是硕果累累,出现了若干具有代表性的算法和几个商业化的人脸识别系统,如Identix(原为Visionics)公司的FaceIt系统。

这个时期最具盛名的人脸识别方法是MIT媒体实验室的Turk和Pentland提出的的“特征脸”方法。后来很多人脸识别技术都与特征脸有关,现在特征脸已与归一化的协相关量方法一起成为了人脸识别性能测试的基准算法。

这个时期的主要成果有:

1992年左右,Brunelli和Poggio做了一个基于结构特征的方法和基于模板匹配的方法性能对比的实验,并得出了模块匹配的方法优于基于特征的方法的结论。这个结论和特征脸的共同作用,基本上停止了纯粹基于结构特征人脸识别的研究,并且很大的促进了基于表观的线性子空间建模和基于统计模式识别技术的发展,使其逐渐成为主流技术。

Belhumeur等人的Fisherface方法也是此阶段一个重要的成果。该方法目前依然是主流人脸识别方法中的一种,产生了很多变种,比如子空间判别模型等。其先使用PCA即特征脸对人脸图像表现特征进行降维,并使用线性判别分析方法对降维后的主成分进行变换以获得“尽量大的类间散度和尽量小的类内散度”。

弹性匹配技术[1]为另一个重要方法。它用一个属性图来描述人脸:属性的顶点代表面部关键特征点,它的属性为相应特征点处的多分辨率,多方向局部特征—Gabor变换[2],称为Jet;边的属性为不同特征点间的几何关系。对于输入的图像,其通过一种优化搜索策略来定位预先定位的若干面部关键特征点,同时提取它们的Jet特征,得到输入人脸图像的属性图。最后通过计算其与已知人脸属性图的相似度来完成识别过程。弹性匹配方法的优点是既保留了面部的全局结构特征,也对人脸关键局部特征进行了建模。

- 2 -

毕业设计(论文)

局部特征分析由Atick等提出。其在本质上是基于统计的低维对象描述方法,与PCA相比,局部特征分析在全局主成分分析的基础上提取的是局部特征。它既保留了全局拓扑信息,有提取了局部特征,使其具有了更好的描述和识别能力。局部特征分析技术已商业化为著名FaceIt系统。

柔性模型,包括主动形状模型和主动外观模型。它是人脸建模方面的一个新的进步。其主要将人脸描述为2D形状和纹理两个分离的部分,分别用PCA建模,然后再通过PCA[3,4,5]将两者合成来对人脸建模。柔性模型具有良好的人脸合成能力,可以使用基于合成的图像分析技术对人脸图像进行特征提取和建模。

这个阶段所提出的算法在理想图像采集条件,人员配合,中小规模正面人脸数据库上达到了非常好的性能。,也诞生几个著名的人脸识别系统。

第三阶段(1998年—现在)这个时期关于人脸识别的研究非常热门。有大量的研究人员从事这方面的研究。主要针对的是主流的人脸识别技术在采集条件不理想和用户不配合下鲁棒性差的问题。光照和姿态问题成为了研究焦点。

这个时期主要成果有:

Georghiades等人基于光照锤模型的多姿态,多光照条件人脸识别方法。Blanz和Vetter等人基于3D变形模型的多姿态,多光照的人脸识别方法。Shashua等人基于上图像的人脸图像识别与绘制技术[6,7]。

总体而言,目前非理想成像条件下(尤其是光照和姿态),对象不配合,大规模人脸数据库上的人脸识别已逐渐成为研究的重点。而非线性建模方法,统计学习理论,基于Boosting的学习技术,基于3D模型的人脸建模与识别方法等逐渐成为备受重视的技术发展趋势。

从整个人脸识别的研究历史来看,基于PCA的特征脸[8,9]识别方法占据了非常重要的地位,也对后来的人脸识别技术产生甚远的影响。在后来很多的人脸识别技术,我们或多或少都会发现它的影子。人脸图像维数都很高,PCA方法不但很好表征人脸而且通过去除相关性,减少冗余,解决了在人脸识别过程中图像为数过高的问题。并且随着现代社会的发展,快速人脸识别的需求越来越大。所以研究基于PCA的人脸识别算法的实现还是有实际意义,本文也就在这样的背景下写作而成。

第二节 人脸识别的发展趋势

人脸识别至今虽然取得了丰硕的研究成果,但是还有很多问题需要解决。人脸识别的难度在于:人脸是非刚性物体,并且会随着年龄的增长而改变,特征难以完全描述;人脸常常有许多遮挡物,如:眼镜,帽子等;环境的光照和人脸的姿态等。人脸识别的未来主要的发展趋势如下:

- 3 -

毕业设计(论文)

一、多数据融合与方法综合

人脸识别技术经过这几十年的发展,已取得非常不错的成果。但是各种技术和方法都有自己不同的适应环境和各自的特点。如何使用数据融合理论,将不同的方法综合起来,相互补充,来取得较好的人脸识别效果,便成为人们的研究热点之一。

二、动态跟踪人脸识别系统

目前的静态人脸识别技术只能满足一般身份识别场合如门禁系统,考勤系统等,无法进行人脸的动态跟踪与识别。随着现在社会的发展,目前对动态人脸的跟踪与识别的需求越来越大,尤其是在一些安全领域。

三、基于小波神经网络的人脸识别

小波自提出以来,其理论和应用得到了长足的发展。它被认为是傅里叶分析的突破性的发展。随着神经网络的理论研究的深入,与小波,混沌,模糊集等非线性理论相结合已成为一个非常重要的发展方向。小波变换具有时频特性和变焦特性,神经网络具有自学习,自适应,鲁棒性,容错性和推广能力。如果能结合两者的优势,将会取得人脸识别不错的效果。

四、三维人脸识别

目前许多人脸识别成果是建立在二维人脸基础上的,而实际的人脸是三维的。三维人脸相比较于二维图像提供了更加完整的人脸信息。随着现在三维人脸采集技术的逐步发展,如何利用三维人脸进行人脸识别已成为一个新的研究热点。

五、适应各种复杂背景的人脸分割技术

现在在复杂背景下的人脸分割已经取得了一定的成果,如弹性匹配,但检测速度和效果还无法令人满意。在复杂背景下快速有效检测和分割人脸技术还需进一步的研究。

六、全自动人脸识别技术

全自动人脸识别技术目前还处于初级研究阶段,识别效果和速度离实际的要求还相差甚远。具体原因是人脸是非刚体,无法得到准确完整的描述人脸特征。如何有效的表达人脸特征将是其研究的重点。

- 4 -

毕业设计(论文)

第三节 人脸识别技术的主要难点

目前的人脸识别技术在人员配合,较理想采集条件下可以取得比较满意的结果。但在人员不配合,采集条件不理想下,系统的性能陡然下降。目前的主要的难点为:

一、复杂条件下人脸的检测和关键点定位

人脸检测和关键点定位为实际人脸识别系统的前端处理模块,此模块直接影响着人脸识别系统的性能。目前大多数特征定位算法的精度都会随着光照,姿态等变化而快速下降。复杂条件下的人脸检测与关键点定位是目前人脸识别急需解决的问题之一。

二、光照问题

关照问题是计算机视觉存在已久的问题,尤其在人脸识别中表现得更加明显。但目前为止光照处理技术远未达到实用的程度,还需要深入的研究。

三、资态问题

对于姿态的研究相对不多,现在人脸识别算法主要以正面或准正面姿态。当人脸姿态俯仰或左右比较大时,人脸识别的识别率骤降。如何提高人脸识别系统对姿态的鲁棒性是人脸识别中一个具有挑战性的任务。

四、表情问题

表情识别是生物特征识别的中的一种,是人机交互不可或缺的部分。表情是复杂的面部肌肉运动,每个表情都是几十块面部肌肉共同运动的结果,很难用精确的数学模型来表示这些肌肉的运动。面部表情的变化为面部特征点的运动。由于目前的计算机技术的限制,计算机还不能准确的定位这些面部特征点,也无法辨别面部肌肉的运动。而且,同一种表情在不同的人上也会有不同的表现形式。并且同一个人的不同表情之间也没有明确的界限。以上这些决定计算机很难用统一的标准来识别人的面部表情。

五、遮挡问题

对于非配合情况下,采集到的人脸图像一般都不是完整的,这会影响人脸特征提取与识别,可能还会导致人脸检测算法的失效。如何有效地排除遮挡物的影响有着非常重要的意义,如在监控环境下。

以上列举了部分主要的技术难点,其他难点由于本文的讨论不会涉及,所以不会再一一列

- 5 -

毕业设计(论文)

举。本文的实验是在人脸图像正面姿态,光照正常,表情正常,部分面部图像有小范围遮挡的情况下进行的。这样做的目的只是让我们的工作重心集中在分析PCA 人脸识别算法性能上。

第四节 人脸识别流程

人脸图像获取人脸图像获取预处理预处理特征提取特征提取特征匹配系统数据库输出结果 图1.1 人脸识别系统处理流程

一、人脸图像采集

采集人脸图像是通过传感器采集人脸图像,并将其转换为计算机可以处理的数字信号。这是人脸识别的第一步。在采集人脸图像时,要注意用户人脸姿态,脸部有无遮挡,周围光照是否满足要求及设备采集图像的质量是否能满足要求。

二、预处理

预处理是为了除去噪声和对测量仪器或其他因素对人脸图像造成退化现象进行复原。从传感器采集到图像除了包含人脸特征信息,还包含背景信息,所以必须从原始人脸图像分割出我们要处理的部分。如何分割就需要定位和分割算法。他们一般以人脸图像在图像结构和人脸信号分布的先验知识为依据。常用的人脸预处理有人脸图像灰度化,人脸图像二值化,人脸图像归一化,直方图修正,图像滤波和图像锐化。

三、特征提取

- 6 -

毕业设计(论文)

特征提取就是计算机通过提取人脸图像中能够凸显个性化差异的的本质特征,进而来实现身份识别。本文讲解如何使用PCA算法提取人脸特征,进而实现人脸识别。特征主要包括三种类型:物理特征,结构特征和数学特征。由于物理特征和结构特征容易被察觉,触觉以及其他感觉器官所感知,所以人类常常是利用这些特征来对对象进行识别。对于计算机而言,模拟人类的感觉器官是很难实现的,但计算机在处理数学特征的能力上要比人类强得多,因此我们通过诸如协方差矩阵,统计平均值和相关系数等数学特征来构建人脸识别系统。特征提取和选择的根本任务就是从许多特征中找出那些最有效的特征。在样本数不是很多的情况下,可以利用这些特征进行分类器的设计,但是在大多数情况下,由于测量空间的维数很高,不能直接进行分类器的设计。因此,如何把高维测量空间压缩到低维特征空间,以便有效的设计分类器,便成为了一个值得思考的问题。

为了获得有效的特征,一般需要经过特征形成,特征提取和特征选择等步骤。

1. 特征形成

特征形成是根据被识别对象产生出一组基本特征的过程,当被识别的对象是波形或数字图像时,这些特征可以通过计算得来;当被识别对象是实物或某种过程时,这些特征可以用仪表或传感器测量来得到。通过上面方法获得特征被称为原始特征。

2. 特征提取

原始数据组成的空间被称为测量空间。由于测量空间的维数一般都很高,不易设计分类器,所以在分类器设计之前,需要从测量空间变换到维数很少的特征空间,由特征向量表示。通过映射或变换方法用低纬空间来表示样本的过程被称为特征提取。映射后的特征称为二次特征,它们是原始特征的某种组合,通常是线性组合。

3. 特征选择

从一组特征中挑出一些最有效的特征从而达到降低特征空间维数目的的过程称为特征选择。由于在许多实际问题中常常不容易找到那些最重要的特征,或者由于条件限制而不能对这些重要特征进行测量。从而使得特征选择和特征提取的任务复杂化。

特征提取和特征选择在有些情况下并不是截然分开的,因为从一定意义上来讲,二者都是要达到对数据进行降维的目的,只是实现的途径不同。特征提取是通过某种变换的方法组合原有的高维特征,从而得到一组低维的特征。而特征选择是根据专家的检验知识或评价准则来挑选对分类最有影响的特征。比如可以先将原始特征空间映射到维数较低的空间,在这个空间中在进一步选择特征来进一步降低维度;也可以先去除那些明显不含有分类信息的特征,而后再进行映射以降低维度。

四、特征匹配

- 7 -

毕业设计(论文)

特征匹配是计算两个人脸图像特征样本的特征模块间的相似度即将采集到的人脸图像的特征模版与系统中已存储的特征模版进行比对,并输出最佳匹配对象。在本文主要讲解使用最近邻法分类器欧几里得距离来判别人脸图像,在实际广泛使用的还有基于SVM即支持向量机,基于神经网络和图匹配的方法。

第五节 本章小结

本章由人脸识别的研究背景,人脸识别技术的主要难点,人脸识别的发展趋势和人脸识别流程四个小节构成。在人脸识别的研究概况小节主要讲解人脸识别的研究概况及基于PCA人脸识别算法实现的研究意义。在人脸识别的发展趋势小节主要讲解人脸识别技术未来的走向。在人脸识别技术的主要难点小节主要讲解人脸识别的主要技术难点及本文是在什么样的条件进行试验的。人脸识别小节讲解本文人脸识别的流程。

- 8 -

毕业设计(论文)

第二章 人脸图像的获取

第一节 人脸图像获取

随着计算机科技和微电子的发展,现在人脸图像采集设备也越来越多。常用的采集设备有数码相机,数码摄影机等。但是采集设备成像原理各异,有些设备对某类人脸图像的采集效果比较好,进而人脸识别率高,对不同类的人脸图像采集效果差,进而人脸识别率低。不过随着现在科技的发展,这个问题已基本上被解决。另外,人脸图像采集的形式不同也会影响识别率。人脸图像的采集形式主要有两种:一为静态人脸图像,二位动态人脸图像。静态人脸图像的采集相对比较简单,用数码相机即可获取。动态人脸图像相比静态人脸图像获取难度较大,但其更加贴近实际需求,应用场合更加广阔。

动态人脸图像相比于静态人脸图提供了更加客观的信息量。但同时也带了问题,动态人脸图像序列里的某一幅图像可能会产生瞬间模糊,这将会影响其识别率。上述问题是由人脸的多变性产生的。对于动态人脸图像要考虑如何在序列中提取清晰的图像又不丢失局部信息。同时建立人脸图像间的相关性是有必要的,可以有效的提高识别率。在实际中,要采用何种人脸采集形式要取决于应用的需求和场合。一般而言,动态人脸图像采集应用于特殊场合,如犯罪识别过程,而静态人脸图像采集应用于普通的安全场合。

对于静态人脸图像采集要注意要确保人脸表情正常,姿态无倾斜,光线尽量均匀,并且要对周围的光源做必要的处理,避免受到周围强光和不均匀异色光的干扰。采集完成后要对每个对象的图像做必要的审核,剔除掉不符合要求的人脸图像。

第二节 人脸分割

人脸识别是通过对人脸进行精确定位,并从图像中提取人脸区域。人脸分割属于图像分割,是人脸识别系统中不可缺少的一环。要对人脸进行识别一般需要将人脸区域从采集到的图像中分离出来。

人脸分割比较经典的方法有数据驱动和模型驱动。数据驱动方法直接对图像进行处理,不依赖于先验知识。其包含有基于边缘检测的方法,基于阀值的方法和基于区域增长的方法。基于模型的方法需要先验知识。其包含有活动轮廓模型等。采集到图像中人脸区域颜色和纹理变化较大,因此如果要实现精确分割,只利用图像的数据信息是不够的,所以实际中基于模型的方法使用的比较多。

- 9 -

毕业设计(论文)

基于边缘的分割方法需要两个步骤,分别为边缘检测和边缘连接。该方法先提取边缘后再进行边界连接,得到分割轮廓。但是这个方法也存在问题,实际中由于噪声的图像的影响,常常会检测到假的边缘,从而导致错误的分割。

基于阀值的方法是使用采集到图像的灰度直方图计算出分割阀值,又可以分为全局阀值方法和局部阀值方法。全局阀值方法是使用整个图像的灰度信息,来得到用于分割的阀值。局部阀值方法是图像不同区域得到对应不同区域的阀值即一个阀值对应图像的一个子区域。在实际中,由于噪声等因素的影响,直方图经常不能有明显的峰值出现,这是选择阀值并不合理,它是由阀值分割的特点决定的。此方法只考虑了图像的灰度信息,抛弃了图像的其他信息。对于灰度差不明显的图像,得不到令人满意的结果。

基于区域增长的方法是将含有相似性质的像素集合起来形成一个新的区域。首先把图像分割成较小的区域,有可能非常小,甚至可能是一个像素。在每个子区域中,对经过适当定义能反映一个物体内成员隶属度的性质进行计算,每个子区域会用一组参数来表示该区域。然后对相邻区域所有边界进行分析,若便捷信息强,则边界不变,若边界信息弱,则消除个边界并合并相应的邻域。它是一个迭代过程,每一步重新计算边界信息,若没有区域合并,迭代完成,图像分割完成。该方法开销较大,但可以使用图像的相关性质进行边界定位。该方法当前研究的区别在于区域性质差异上。

基于模型的方法,都是通过引入统计信息来得到高鲁棒性。其中活动轮廓模型是使用在图像上的一条动态曲线,在内力曲线本身新的表现和外力图像信息的表现共同作用下趋于对象的轮廓。模型方法具有丰富的先验知识,在实际中具有很好的适应性和鲁棒性。目标分割与识别通过将目标集合和统计信息表示为模型,是其成为目标的搜索匹配或监督分类。

第三节 人脸数据库

人脸数据库是人脸识别研究,开发和评测不可缺少的。每个人脸识别系统都需要一个人脸数据库。人脸图像数据库的设计对人脸识别系统的识别率有着非常大影响。设计一个在所有变化情况下都能正确识别的系统是非常困难的,而且也没有必要。所有人脸识别系统都是在一定的约束条件进行的。所以有必要建立满足不同需要的人脸数据库。

常用人脸数据库如下:

国外人脸数据库的有FERET人脸数据库, MIT人脸数据库,YALE人脸数据库,PIE人脸数据库,ORL人脸数据库,AR人脸数据库和Essex人脸数据库。FERET人脸数据库是人脸识别中最常用的数据库,包含多姿态和多光照的人脸灰度图像,但其多为西方人脸图像,每个人的人脸图像变化较少。MIT人脸数据库有麻省理工大学媒体实验室建立,由16位志愿者的2592副多姿态,多光照和不同大小的图像组成。PIE人脸数据库有卡内基梅隆大学建立,由

- 10 -

毕业设计(论文)

68位志愿者的41368副不同姿态,多光照和不同表情的图像组成。ORL人脸数据库由剑桥大学AT&T实验室建立由40位志愿者的400幅图像组成,其中部分志愿者的图像还有姿态,表情和光照的变化。由于其人脸变化模式较少,现已很少使用。AR人脸数据库为西班牙巴塞罗那计算机视觉中心建立,由116人的3228幅图像构成。采集是在严格控制摄像机参数,光照变化,摄像机距离等条件下进行的。Essex人脸数据库是英国埃塞克斯大学的人脸数据库。任何人都可以下载它的人脸数据库,但是你不能发布,打印,销售或发行这些图像。这个人脸数据库由Libor Speacek博士主持的计算机视觉研究项目在维护。这个数据库由faces94,faces95,faces96,grimace四个库组成。这样做的目的是为了增加难度。Faces96和grimace是这个数据库最难识别的。它们的背景和比例是变化的,人脸表情是极度变化的。英国埃塞克斯大学计算机视觉研究项目鼓励研究者公布使用这个数据库取得人脸识别结果。我们在本文采用的是它的face94数据库。faces94数据库中人脸图像是在受试者坐在距离相机固定位置,并要求讲话的情况下采集而成。讲话的目的是为了采集面部表情的变化。每个图像的大小为180*200,图像的背景是蓝色的。有轻微的姿态变换,无光照变换。

国内人脸数据库有中科院计算技术研究所银晨科技面向识别联合实验室建立的CAS—PEAL人脸数据库。该数据库是基于目前的人脸数据库大多都较小或图像变化因素单一,人脸图像的多为西方人,其面部特征与东方人存在一定的差别,需要建立一个大规模,多因素的东方人脸数据库的需求建立的,共采集了1040位志愿者(595名男性,445名女性)的99450幅图像。该数据库根据不同的变化因素又分为7种模式子库。这7种变化因素为姿态,表情,饰物,光照,背景,距离和时间跨度,其中以姿态,表情,饰物和光照为主,故称为PEAL(pose,expression,accessory和lighting的简写)。CASE—PEAL—R1为CASE—PEAL的共享版,可以提供给研究人员用以研究使用。其中研究人员指的是研究生导师或其他固定职位的研究员,不包括学生。

第四节 本章小结

本章主要介绍人脸图像获取,人脸分割和人脸数据库。在人脸图像获取和人脸分割两个小节中主要介绍常用的人脸获取方法及获取人脸原始图像后如何分割出我们需要部分的方法,也为后面人脸图像数据库打下了基础。在人脸数据库一节中,主要介绍了常用的人脸数据库及本文的实验是在Essex人脸数据库中我们选择出来的子库中进行的。这样做的目的是我们的工作中心集中在核心人脸识别算法的性能研究上。

- 11 -

毕业设计(论文)

第三章 人脸图像的预处理

第一节 人脸图像格式

在计算机中任何信息都是以文件的形式存储,图像信息也不例外,它经过采样,量化和编码后以图像文件进行存储,所以在人脸识别之前有必要介绍图像文件格式。图像的文件格式很多,本节只介绍本文常用的几种图像格式。

一、JPEG格式

JPEG文件格式是常用的图像文件格式。它是由联合照片专家组(Joint Photographic Experts Group)开发的,并且命名为“ISO10918-1”,JPEG仅仅是一种俗称而已。JPEG文件以.jpg或.jpeg为扩展名,其压缩技术非常先进。JPEG使用有损压缩方法去除冗余图像和彩色数据,获得了较高的压缩率,同时还可以给人丰富生动的视觉感受,即可以使用最小的磁盘存储较好的图像质量。它是一种灵活的格式,可以调节图像质量,允许使用不同压缩比例压缩文件。由于JPEG优异的品质和杰出的表现,它的应用也非常广泛,特别是在网络和光盘读物上,肯定都能找到它的影子。目前各类浏览器均支持JPEG这种图像格式,因为JPEG格式的文件尺寸较小,下载速度快,使得Web页有可能以较短的下载时间提供大量美观的图像,JPEG同时也就顺理成章地成为网络上最受欢迎的图像格式。

二、JPEG2000格式

JPEG2000是基于小波变换的图像压缩标准,同样由联合照片专家组(Joint Photographic Experts Group)开发和维护。JPEG2000通常被认为是未来取代JPEG(基于离散余弦变换)的下一代图像压缩标准。JPEG2000文件的扩展名为jp2。JPEG2000压缩率比JPEG高约30%左右,同时支持有损和无损压缩,而且不会产生原先的基于离散余弦变换的JPEG标准的块状模糊瑕疵。JPEG2000格式有一个极其重要的特征在于它能实现渐进传输,即先传输图像的轮廓,然后逐步传输数据,不断提高图像质量,让图像由朦胧到清晰显示。此外,JPEG2000还支持所谓的\感兴趣区域\特性,可以任意指定影像上感兴趣区域的压缩质量,还可以选择指定的部分先解压缩。在有些情况下,图像中只有一小块区域对用户是有用的,对这些区域,采用低压缩比,而感兴趣区域之外采用高压缩比,在保证不丢失重要信息的同时,又能有效地压缩数据量,这就是基于感兴趣区域的编码方案所采取的压缩策略。其优点在于它结合了接收方对压缩的主观需求,实现了交互式压缩。而接收方随着观察,常常会有新的要求,可能对新的区域感兴趣,也可能希望某一区域更清晰

- 12 -

毕业设计(论文)

些。

三、BMP格式

BMP(Bitmap-File)图形文件是Windows采用的图形文件格式,在Windows环境下运行的所有图象处理软件都支持BMP图象文件格式。Windows系统内部各图像绘制操作都是以BMP为基础的。Windows 3.0以前的BMP图文件格式与显示设备有关,因此把这种BMP图象文件格式称为设备相关位图DDB(device-dependent bitmap)文件格式。Windows 3.0以后的BMP图象文件与显示设备无关,因此把这种BMP图象文件格式称为设备无关位图DIB(device-independent bitmap)格式。Windows 3.0以后,在系统中仍然存在DDB位图,只不过如果你想将图像以BMP格式保存到磁盘文件中时,微软极力推荐你以DIB格式保存。目的是为了让Windows能够在任何类型的显示设备上显示所存储的图象。BMP位图文件默认的文件扩展名是BMP或者bmp,有时它也会以.DIB或.RLE作扩展名。

BMP格式的特点是包含的图像信息较丰富,几乎不进行压缩,由此导致了它的缺点—占用磁盘空间过大。

四、GIF格式

GIF图像互换格式(Graphics Interchange Format)是CompuServe公司在 1987年开发的图像文件格式。GIF文件的数据,是一种基于LZW算法的连续色调的无损压缩格式。其压缩率一般在50%左右,它不属于任何应用程序。目前几乎所有相关软件都支持它,公共领域有大量的软件在使用GIF图像文件。GIF图像文件的数据是经过压缩的,而且是采用了可变长度等压缩算法。GIF格式的另一个特点是其在一个GIF文件中可以存多幅彩色图像,如果把存于一个文件中的多幅图像数据逐幅读出并显示到屏幕上,就可构成一种最简单的动画。在早期,GIF所用的LZW压缩算法是Compuserv所开发的一种免费算法。然而令很多软件开发商感到意外的是,GIF文件所采用的压缩算法忽然成了Unisys公司的专利。据Unisys公司称,他们已注册了LZW算法中的W部分。如果要开发生成(或显示)GIF文件的程序,则需向该公司支付版税。由此,人们开始寻求一种新技术,以减少开发成本。PNG(Portable Network Graphics,便携网络图形)标准就在这个背景下应运而生了。它一方面满足了市场对更少的法规限制的需要,另一方面也带来了更少的技术上的限制,如颜色的数量等。在2003年6月20日,LZW算法在美国的专利权已到期而失效。在欧洲、日本及加拿大的专利权亦已分别在2004年的6月18日、6月20日和7月7日到期失效。尽管如此,PNG文件格式凭着其技术上的优势,已然跻身于网络上第三广泛应用格式。与GIF相关的专利于2006年8月11日过期。

GIF格式的特点是压缩比高,磁盘空间占用少。目前互联网上大量彩色动画多为这种格式。

- 13 -

毕业设计(论文)

五、PNG格式

PNG,图像文件存储格式,其目的是替代GIF和TIFF文件格式,同时增加一些GIF文件格式所不具备的特性。流式网络图形格式(Portable Network Graphic Format,PNG)名称来源于非官方的“PNG's Not GIF”,是一种位图文件(bitmap file)存储格式,读成“ping”。PNG用来存储灰度图像时,灰度图像的深度可多到16位,存储彩色图像时,彩色图像的深度可多到48位,。PNG使用从LZ77派生的无损数据压缩算法。

PNG是目前保证最不失真的格式,它综合GIF和JPG两者的优点,存储形式丰富,兼有GIF和JPG的色彩模式。它能将图像文件压缩到极限以利于网络传输,又能保留所有与图像品质相关的信息。它的显示速度快,只需下载1/64的图像信息就可以显示出低分辨率的预览图像。PNG同样支持透明图像的制作。PNG的缺点是不支持动画应用效果。

第二节 人脸图像常用预处理方法

一般,系统采集到的原始图像都会受到各种各样的噪声的影响而失真。并且由于各种条件的限制,采集到的原始图像不能直接进行使用,必须做预处理,即消除噪声,校正失真,将图像变化为标准形式。这样才有利于稳定的进行特征提取。常用的人脸预处理有:灰度变化,二值化,直方图均衡,图像滤波,图像锐化和归一化处理。

一、灰度变化

人脸识别的研究常以灰度图像为处理对象。因为彩色图像的颜色信息常常受到复杂背景的影响。利用彩色图像进行人脸识别存在较多缺陷,而灰度图像为一种最简单有效的对比增强方法。彩色图像有红绿蓝三原色组合而成,灰度图像只含有亮度信息,并且灰度图像的亮度为连续变化的,所以灰度图像要对亮度值进行量化,为0-255,共256个等级。0为全黑,255为全亮。常用的经验公式为gray=0.39*R+0.5*G+0.11*B.

常用变换的方法如下:

线性变换:假设图像为f(i,j)灰度变化范围为[a,b],变换后的图像为g(i,j)灰度变化范围为[a,b],则它们之间关系为

''

b'?a'g(i,j)?a?(f(i,j)?a)

b?a' (3.1)

分段线性变换:假设图像为f(i,j)灰度变化范围为[0,Mf],变换后的图像为g(i,j),目标的灰度变化范围为[a,b],想使灰度变化到[c,d],则对应关系为

- 14 -

毕业设计(论文)

?(c/a)f(x,y)0?f(x,y)?a?g(x,y)??[(d?c)/(b?a)][f(x,y)?a]+ca?f(x,y)?b (3.2)

?[(M?d)/[M?b]]?db?f(x,y)?Mfgf?非线性变换:使用非线性函数作为映射函数如对数函数,进行灰度变换。对数变换和指数

变换分别为

g(i,j)?a?ln[f(i,j)?1] (3.3)

b?lnc g(i,j)?bc[f(i,j)?a]?1 (3.4)

其中a, b, c用来调整曲线的位置和形状。指数变换能对图像的高灰度区以较大的拉伸。对

数变换可以使图像低灰度区有较大拉伸而高灰度区进行压缩。对数变换可以使图像灰度分布相匹配于人的视觉特性。

二、二值化

二值化是通过选取适当的阀值将灰度图像的灰度值从0到255变换为只有0和255的黑白图像。在人脸识别中二值化用来把人的头发,眼睛,脸的轮廓及背影与人脸的亮域分开。在图像二值化过程中选择合适的阀值非常重要。常用的图像二值化选择方法如下:

整体阀值法:在二值化时候只使用一个全局阀值t。假设图像为g(n,m),灰度范围为[k1,km],t为k1和km之间选择的一个合适的灰度值,转换后的图像为gk(n,m),则转换关系为

?0g(n,m)?tgk(n,m)?? (3.5)

?255g(n,m)?t

局部阀值法:它是根据当前像素的灰度值和此像素周围点局部灰度特征值来共同决定阀值。

动态阀值法:它的阀值不仅和该像素和周围像素有关,还和该像素的坐标位置有关。 整体阀值法适合图像质量比较好的情况,此时图像在直方图一般有两个峰值。局部阀值法可以处理比较复杂的情况,但有些情况会发生失真。动态阀值法适应性和性能都比较好,实际中对于人脸识别常采用此法进行二值化。

三、直方图均衡

直方图均衡是将将各灰度级分量尽量均匀分布,从而来增强人脸图像的对比度。此外它还能减少光照对人脸图像的影响,使人脸特征提取变得容易,同时还提高了人脸图像的主观质量。其主要在于根据图像灰度分布和实际的需求选择合适的映射函数。选择函数可以连续平滑函数,也可以是分段函数。映射函数为分段函数时一般是基于想要突出人脸图像中某些灰度值物体的细节,又不想牺牲其他灰度值上的细节的考虑。这样可以是需要的细节灰度值区间得以拉

- 15 -

毕业设计(论文)

图4.1理想弹簧运动规律模型

对于一个具有先验知识的实验者来说,这个实验是非常容易的。球的运动只是在x轴向上发生,只需要记录下x轴上的运动序列并加以分析即可。但是,在实际中,对于第一次做这个实验的实验者来说(这也是实验科学中最常遇到的一种情况),是无法进行这样的假设的。那么,一般来说,必须记录下球的三维位置(x0,y0,z0)。这一点可以通过在不同角度放置三个摄像机实现(如图4.1所示),假设以200Hz的频率拍摄画面就可以得到球在空间中的运动序列。但是,由于实验的限制,这三台摄像机的角度可能比较任意,并不是正交的。事实上,在真实世界中也并没有所谓的x,y,z轴,每个摄像机记录下的都是一幅二维的图像,有其自己的空间坐标系,球的空间位置是由一组二维坐标记录的:[(xA,yA)(xB,yB)(xC,yC)]。经过实验,系统的摄像机记录了几分钟球的位置序列。怎样从这些数据中得到球是沿着某个x轴运动的规律呢?怎样将实验数据中的冗余变量剔除,化归到这个潜在的x轴上呢?

在真实的实验场景中,数据的噪音是必须面对的因素。在这个实验中噪音可能来自空气、摩擦、摄像机的误差以及非理想化的弹簧等等。噪音使数据变得混乱,掩盖了变量间的真实关系。如何去除噪音是实验者每天都要思考和解决的问题。

上面提出的两个问题就是PCA方法要解决的目标。PCA主成分分析方法是解决此类问题的一个非常有效的工具。下文将结合以上的例子提出解决方法,逐步叙述PCA方法的思想和求解过程。

三、基变换

从线形代数的角度来看,PCA的目标就是使用另一组基去重新描述得到的数据空间。而新的基要能尽量揭示原有的数据间的关系。在这个例子中,沿着某x轴上的运动是最重要的。这个维度即最重要的“主元”。PCA 的目标就是找到这样的“主元”,最大程度的去除冗余和噪音的干扰。

- 21 -

毕业设计(论文)

1. 标准正交基

为了更有利于推导,将对上述例子的数据作出定义为:在实验过程中,在每一个采样时间点上, 每个摄像机记录一组二维坐标为(x,y),综合三台摄像机数据,在每一个时间点上得到的位置数据对应于一个六维列向量。

?xA??y??A????xB?X=?? (4.1) ?yB??xC????yC???

如果以200Hz的频率拍摄10分钟,将得到10*60*200=120000个这样的向量数据。 ???X抽象一点来说,每一个采样点数据都是在m维向量空间(此例m=6)内的一个向量,这里的m是涉及到的变量个数。由线形代数知识可以知道,在m维向量空间中的每一个向量

都是一组正交基的线形组合。最普通的一组正交基是标准正交基,实验采样的结果通常可以看作是在标准正交基下表示的。举例来说,上例中每个摄像机记录的数据坐标为(x,y),这样的基便是[(1,0),(0,1)]。那为什么不取????22??22??,?,??,???或是其他任意的基呢?原因是,这22??22????样的标准正交基反映了数据的采集方式。假设采集数据点是(2,2),一般并不会记录(22,0)。(在????22??22??,因为一般的观测者都是习惯于取摄像机的屏幕坐标,即向上和向,?,??,???基下)

??22??22??右的方向作为观测的基准。也就是说,标准正交基表现了数据观测的一般方式。

在线形代数中,这组基表示为行列向量线形无关的单位矩阵。

?b1??1?b??0B??2????????????bm??00?0?1?0???I (4.2)

?????0?1?2. 基变换

从更严格的数学定义上来说,PCA回答的问题是:如何寻找到另一组正交基,它们是标准正交基的线性组合,而且能够最好的表示数据集?

在PCA方法中有一个很关键的假设:线性。这是一个非常好的假设,它使问题得到了很大程度的简化,具体表现为数据被限制在一个向量空间中,能被一组基表示,并且还隐含的假设了数据间的连续性关系。

- 22 -

毕业设计(论文)

这样一来数据就可以被表示为各种基的线性组合。令X表示原数据集。X是一个m*n的矩

???阵,它的每一个列向量都表示一个时间采样点上的数据X,在上面的例子中,m=6,n=120000。Y表示转换以后的新的数据集表示。P是他们之间的线性转换。它们间的转换关系为

有如下定义: pi表示P的行向量。 xi表示X的列向量。 yi表示Y的列向量。

PX?Y (4.3)

上式(3)在线性代数中,它有如下的含义:

P是从X到Y的转换矩阵。几何上来说,P对X进行旋转和拉伸得到Y。P的行向量,

(p1,p2,?,pm)是一组新的基,而Y是原数据X在这组新的基表示下得到的重新表示。 下面是对最后一个含义的说明:

?p1??x?x (4.4)PX??? n????1??pm???p1?x1?Y???????pm?x1?p1?xn??? ? (4.5)pmxn??

注意到Y的列向量:

?p1?xi?? (4.6)yi??? ????pm?xi??可见yi表示的是xi与P中对应列的点积,也就是相当于是在对应向量上的投影。所以,P的行向量事实上就是一组新的基。它对原数据X进行重新表示。

3. 问题

在线性的假设条件下,问题转化为寻找一组变换后的基,也就是P的行向量(p1,p2,?,pm),这些向量就是PCA中所谓的“主元”。问题转化为如下的形式:

怎样才能最好的表示原数据X? P的基怎样选择才是最好的?

解决问题的关键是如何体现数据的特征。那么,什么是数据的特征,如何体现呢?

- 23 -

毕业设计(论文)

四、方差

“最好的表示”是什么意思呢?下面将给出一个较为直观的解释,但同时会增加一些额外的假设条件。在线性系统中,所谓的“混乱数据”通常包含以下三种成分:噪音,旋转以及冗余。

1. 噪音和旋转

噪音对数据的影响是巨大的,如果不能对噪音进行区分,就不可能抽取到数据中有用的信息。噪音的衡量有多种方式,最常见的定义是信噪比SNR(signal-to-noise ratio),或是方差比?2:

?2signalSNR?2 (4.7)

?noise ?2??ni?1(xi?x)n?1 (4.8)

比较大的信噪比表示数据的准确度高,而信噪比低则说明数据中的噪音成分比较多。那么怎样区分什么是信号,什么是噪音呢?这里假设,变换较大的信息被认为是信号,变换较小的则是噪音。事实上,这个假设等价于一个低通的滤波器,是一种标准的除噪准则。而变换的大小则是由方差来描述的。它表示了采样点在平均值两侧的分布,对应于图表 4.2(a)就是采样点云的“胖瘦”。显然的,方差较大,也就是较“宽”较“胖”的分布,表示了采样点的主要分布趋势,是主信号或主要分量;而方差较小的分布则被认 为是噪音或次要分量。

(a) (b)

- 24 -

毕业设计(论文)

图 4.2 (a)摄像机A的采集数据。图中黑色垂直直线表示一组正交基的方向。?2signal是采样点云在长线方

向上分布的的方差,而?2noise是数据点在短线方向上分布的方差。(b)对P的基向量进行旋转使SNR和方差

最大。

假设摄像机A拍摄到的数据如表4.2(a)所示,圆圈代表采样点,因为运动理论上是只存在于一条直线上,所以偏离直线的分布都属于噪音。此时SNR描述的就是采样点云在某对垂直方向上的概率分布的比值。那么,最大限度的揭示原数据的结构和关系,找出潜在的最优的x轴,事实上等价寻找一对空间内的垂直直线(图中黑线表示,也对应于此空间的一组基),使得信噪比尽可能大的方向。容易看出,本例中潜在的x轴就是图上的较长黑线方向。那么怎样寻找这样一组方向呢?直接的想法是对基向量进行旋转。如图表4.2(b)所示,随着这对直线的转动SNR以及方差的变化情况。对应于SNR最大值的一组基p,就是最优的“主元”方向。

2. 冗余

在实验中,经常会出现由于我们先验知识的不足而引入了一些不必要的变量。这样可能会是两种情况:1)该变量对结果没有影响;2)该变量可以用其它变量表示,从而造成数据冗余。

(a) (b) (c)

图4.3可能冗余数据的频谱图表示。r1和r2分别表示两个不同的观测变量。(比如例子中的xA,yB)。最佳

拟合曲线r2=kr1用虚线表示。

如图表 3所示,它揭示了两个观测变量之间的关系。4.3(a)图所示的情况是低冗余的,从统计学上说,这两个观测变量是相互独立的,它们之间的信息没有冗余。而相反的极端情况如4.3(c),r1和r2高度相关,r2完全可以用r1表示。一般来说,这种情况发生可能是因为摄像机A和摄像机B放置的位置太近或是数据被重复记录了,也可能是由于实验设计的不合理所造成的。那么对于观测者而言,这个变量的观测数据就是完全冗余的,应当去除,只用

- 25 -

毕业设计(论文)

一个变量就可以表示。这也就是PCA中“降维”思想的本源。

3. 协方差矩阵

对于上面的简单情况,可以通过简单的线性拟合的方法来判断各观测变量之间是否出现冗余的情况,而对于复杂的情况,需要借助协方差[13]来进行衡量和判断:

ni?1

?2AB??(ai?a)(bi?b)n?1 (4.9)

A,B分别表示不同的观测变量所记录的一组值,在统计学中,由协方差的性质可以得到:

2222,当A=B等价的,将A,B写?0当且仅当观测变量A,B相互独立。?AB?AB?0,且?AB??B成行向量的形式:

A?[a1,a2,...,an],B?[b1,b2,...,bn]

协方差可以表示为

2?AB?1 ABT (4.10)

n?1那么,对于一组具有m个观测变量,n个采样时间点的采样数据X,将每个观测变量的值写为行向量,可以得到一个m*n的矩阵:

?x1?? (4.11)X??? ????xm??

接下来定义协方差矩阵如下:

CX?2??x1x1?2??x2x1CX????2??x?mx11 XXT (4.12)

n?1?x2x??12

2x2x2?x2xm22???x1xm?2??x?1xm? (4.13) ???2???xmxm?容易发现协方差矩阵具有如下性质:

1CX是一个m*m的平方对称矩阵。 ○

2 Cx对角线上的元素是对应的观测变量的方差。 ○

3 非对角线上的元素是对应的观测变量之间的协方差。 ○

协方差矩阵CX包含了所有观测变量之间的相关性度量。更重要的是,根据前两部分的说明,这些相关性度量反映了数据的噪音和冗余的程度。

在对角线上的元素越大,表明信号越强,变量的重要性越高;元素越小则表明可能是存在的噪音或是次要变量。

在非对角线上的元素大小则对应于相关观测变量对之间冗余程度的大小。

- 26 -

毕业设计(论文)

一般情况下,初始数据的协方差矩阵总是不太好的,表现为信噪比不高且变量间相关度大。PCA的目标就是通过基变换对协方差矩阵进行优化,找到相关“主元”。那么,如何进行优化?矩阵的那些性质是需要注意的呢?

4. 协防差矩阵的对角化

总结上面的部分可以发现主元分析以及协方差矩阵优化的原则是:1)最小化变量冗余即对应于协方差矩阵的非对角元素要尽量小;2)最大化信号即对应于要使协方差矩阵的对角线上的元素尽可能的大。因为协方差矩阵的每一项都是正值,最小值为0,所以优化的目标矩阵CY的非对角元素应该都是0,对应于冗余最小。所以优化的目标矩阵CY应该是一个对角阵。即只有对角线上的元素可能是非零值。同时,PCA假设P所对应的一组变换基必须是标准正交的,而优化矩阵CY对角线上的元素越大,就说明信号的成分越大,换句话就是对应于越重要的“主元”。

对于协方差矩阵进行对角化的方法很多。根据上面的分析,最简单最直接的算法就是在多维空间内进行搜索。和图表4.2(a)的例子中旋转的方法类似:

1在m维空间中进行遍历,找到一个方差最大的向量,令作p1。 ○

2在与p1垂直的向量空间中进行遍历,找出次大的方差对应的向量记作p2 ○

3对以上过程循环,直到找出全部m的向量。它们生成的顺序也就是“主元”的排序。 ○

这个理论上成立的算法说明了PCA的主要思想和过程。在这中间,牵涉到两个重要的特性:1)转换基是一组标准正交基。这给PCA的求解带来了很大的好处,它可以运用线性代数的相关理论进行快速有效的分解。这些方法将在后面提到。2)在PCA的过程中,可以同时得到新的基向量所对应的“主元排序”,利用这个重要性排序可以方便的对数据进行简化处理或是压缩。

五、PCA求解:特征根分解

在线形代数中,PCA问题可以描述成以下形式: 寻找一组正交基组成的矩阵P,有Y=PX,使得CY?就是一 组正交基),就是数据X的主元向量。

对CY进行推导:

CY?1111 YYT?(PX)(PX)T?PXXTPT?P(XXT)PT (4.14)

n?1n?1n?1n?11 CY?PAPT (4.15)

n?11YYT是对角阵。则P的行向量(也n?1

定义A?XXT,则A是一个对称阵。对A进行对角化求取特征向量得:

A?EDET (4.16)

- 27 -

毕业设计(论文)

则D是一个对角阵而E则是对称阵A的特征向量排成的矩阵。

这里要提出的一点是,A是一个m*m的矩阵,而它将有p(p<=m)个特征向量。其中p是矩阵A的的秩。如果p<=m,则A即为退化阵。此时分解出的特征向量不能覆盖整个m空间。此时只需要在保证基的正交性的前提下,在剩余的空间中任意取得m-p维正交向量填充E的空格即可。它们将不对结果造成影响。因为此时对应于这些特征向量的特征值,也就是方差值为零

求出特征向量矩阵后我们取P?ET,则A?PTDP,由线形代数知识可知矩阵P有性质

P?1?PT,从而进行如下计算:

1111 CY?PAPT?P(PTDP)PT?(PPT)D(PPT)?(PP?1)D(PP?1) (4.17)

n?1n?1n?1n?11 CY?D (4.18)

n?1可知此时的P就是我们需要求得变换基。至此我们可以得到PCA的结果: X的主元即是XXT的特征向量也就是矩阵P的行向量。 矩阵CY对角线上第i个元素是数据X在方向pi的方差。 我们可以得到PCA求解的一般步骤:

1采集数据形成m*n的矩阵。m为观测变量个数,n为采样点个数。 ○

2在每个观测变量(矩阵行向量)上减去该观测变量的平均值得到矩阵X。 ○

3对XXT进行特征分解,求取特征向量以及所对应的特征根。 ○

六、PCA的假设

PCA的模型中存在诸多的假设条件,决定了它存在一定的限制,在有些场合可能会造成效果不好甚至失效。PCA的假设条件包括:

1. 线形性假设

如同本节开始的例子,PCA的内部模型是线性的。这也就决定了它能进行的主元分析之间的关系也是线性的。现在比较流行的kernel-PCA的一类方法就是使用非线性的权值对原有PCA技术的拓展。

2. 使用中值和方差进行充分统计

使用中值和方差进行充分的概率分布描述的模型只限于指数型概率分布模型。(例如高斯分布),也就是说,如果我们考察的数据的概率分布并不满足高斯分布或是指数型的概率分布,那么PCA将会失效。在这种模型下,不能使用方差和协方差来很好的描述噪音和冗余,对转换之后的协方差矩阵并不能得到很合适的结果。不过,所幸的是,根据中央极限定理,现实生活中所遇到的大部分采样数据的概率分布都是遵从高斯分布的。所以PCA仍然是一个使用于绝大部分领域的稳定且有效的算法。

- 28 -

毕业设计(论文)

3. 大方差向量具有较大重要性

PCA方法隐含了这样的假设:数据本身具有较高的信噪比,所以具有最高方差的一维向量就可以被看作是主元,而方差较小的变化则被认为是噪音。这是由于低通滤波器的选择决定的。

4. 主元正交

PCA方法假设主元向量之间都是正交的,从而可以利用线形代数的一系列有效的数学工具进行求解,大大提高了效率和应用的范围。

七、总结:

PCA技术的一大好处是对数据进行降维的处理。我们可以对新求出的“主元”向量的重要性进行排序,根据需要取前面最重要的部分,将后面的维数省去,可以达到降维从而简化模型或是对数据进行压缩的效果。同时最大程度的保持了原有数据的信息。

在前文的例子中,经过PCA处理后的数据只剩下了一维,也就是弹簧运动的那一维,从而去除了冗余的变量,揭示了实验数据背后的物理原理。

PCA技术的一个很大的优点是,它是完全无参数限制的。在PCA的计算过程中完全不需要人为的设定参数或是根据任何经验模型对计算进行干预,最后的结果只与数据相关,与用户是独立的。但是,这一点同时也可以看作是缺点。如果用户对观测对象有一定的先验知识,掌握了数据的一些特征, 却无法通过参数化等方法对处理过程进行干预,可能会得不到预期的效果,效率也不高。

图4.4 黑点表示采集数据,排列成转盘的形状。容易想象,该数据的主元是(P1,P2)或是旋转角?。

- 29 -

毕业设计(论文)

如图表4.4中的例子,PCA找出的主元将是(P但是这显然不是最优和最简化的主元。1,P2)。

(P1,P2)之间存在着非线性的关系。根据先验的知识可知旋转角?是最优的主元。则在这种情

况下,PCA就会失效。但是,如果加入先验的知识,对数据进行某种划归,就可以将数据转化为以?为线性的空间中。这类根据先验知识对数据预先进行非线性转换的方法就成为kernel-PCA,它扩展了PCA能够处理的问题的范围,又可以结合一些先验约束,是比较流行的方法。

有时数据的分布并不是满足高斯分布。如图表 5所示,在非高斯分布的情况下,PCA方法得出的主元可能并不是最优的。在寻找主元时不能将方差作为衡量重要性的标准。要根据数据的分布情况选择合适的描述完全分布的变量,然后根据概率分布式P(y1,y2)=P(y1)P(y2)来计算两个向量上数据分布的相关性。等价的,保持主元间的正交假设,寻找的主元同样要使

P(y1,y2)=0这一类方法被称为独立主元分解(ICA)。

图4.5 数据的分布并不满足高斯分布,呈现明显的十字星状。这种情况下,方差最大的方向并不最优主元

方向。

PCA方法和线形代数中的奇异值分解(SVD)方法有内在的联系,一定意义上来说,PCA的解法是SVD的一种变形和弱化。对于m*n的矩阵X,通过奇异值分解可以直接得到如下形式:

X?U?VT (4.19)

其中U是一个m*m的矩阵,V是一个n*n的矩阵,而?是m*m的对角阵。?形式如下:

0???1????????r ? (4.20)?=?0???????00??- 30 -

毕业设计(论文)

其中?1??2?...??r,是原矩阵的奇异值。由简单推导可知,如果对奇异值分解加以约束:U的向量必须正交,则矩阵U即为PCA的特征值分解中的E,则说明PCA并不一定需要求取XXT,也可以直接对原数据矩阵X进行SVD奇异值分解即可得到特征向量矩阵,也就是主元向量。

八、在计算机视觉领域的应用

PCA方法是一个具有很高普适性的方法,被广泛应用于多个领域。这里要特别介绍的是它在计算机视觉领域的应用,包括如何对图像进行处理以及在人脸识别方面的特别作用。

1. 数据表示

如果要将PCA方法应用于视觉领域,最基本的问题就是图像的表达。如果是一幅N*N大小的图像,它的数据将被表达为一个N2维的向量:

X?(x1,x2,...,xN2)T (4.21)

在这里图像的结构将被打乱,每一个像素点被看作是一维,最直接的方法就是将图像的像素一行行的头尾相接成一个一维向量。还必须要注意的是,每一维上的数据对应于对应像素的亮度、灰度或是色彩值,但是需要划归到同一纬度上。

2. 模式识别

假设数据源是一系列的20幅图像,每幅图像都是大小N*N,那么它们都可以表示为一个

N2维的向量。 将它们排成一个矩阵:

ImagesMatrix?(ImageVec1,ImageVec2,?,ImageVec20) (4.22)

然后对它们进行PCA处理,找出主元。

为什么这样做呢?据人脸识别的例子来说,数据源是20幅不同的人脸图像,PCA方法的

实质是寻找这些图像中的相似的维度,因为人脸的结构有极大的相似性(特别是同一个人的人脸图像),则使用PCA方法就可以很容易的提取出人脸的内在结构,也就是所谓的“模式”,如果有新的图像需要与原有图像比较,就可以在变换后的主元维度上进行比较,衡量新图与原有数据集的相似度如何。对这样的一组人脸图像进行处理,提取其中最重要的主元,可以大致描述人脸的结构信息,称作“特征脸”(EigenFace)。这就是人脸识别中的重要方法“特征脸方法”的理论根据。近些年来,基于对一般PCA 方法的改进,结合ICA、kernel-PCA等方法,在主元分析中加入关于人脸图像的先验知识,则能得到更好的效果。

3. 图像信息压缩

使用PCA方法进行图像压缩,又被称为Hotelling算法,或者Karhunen and Leove(KL)变换。这是视觉领域内图像处理的经典算法之一。具体算法与上述过程相同,使用PCA方法处理一个图像序列,提取其中的主元。然后根据主元的排序去除其中次要的分量,然后变换

- 31 -

毕业设计(论文)

回原空间,则图像序列因为维数降低得到很大的压缩。例如上例中取出次要的5个维度,则图像就被压缩了1/4。但是这种有损的压缩方法同时又保持了其中最“重要”的信息,是一种非常重要且有效的算法。

第二节 基于PCA人脸识别算法的实现

主成分分析为一种统计学中特征提取方法,在实际中应用的非常广泛。PCA是通过提取原始数据的主元来减少数据的冗余,使数据在低维度的空间中被处理,同时它还能很好保持了原始数据的绝大部分信息,有效的解决了由于空间维数过高而导致的一系列问题。如下将详细介绍如何使用PCA算法进行人脸识别。

显示测试图像和匹配图像1主函数(main.m)13输入测试图像3OutputName2创建数据库(CreatDatabase.m)T计算特征脸(EigenFaceCore.m)m,A,EigenFaces人脸识别(Recognition.m)图

图4.6 基于PCA的人脸识别算法实现原理图

一、创建数据库

在本环节中主要分为两个阶段,分别为:

1. 读入系统人脸数据库,并将图像变换为相应的灰度图像

- 32 -

毕业设计(论文)

(a) (b)

图4.7 (a)图像为系统人脸数据库中的原始人脸图像,(b)图像为经过灰度转换后的人脸图像

2. 同时将变换后的二维人脸灰度图像变换为一维人脸向量矩阵

一个大小为M*N的二维人脸图像可以看成长度为MN的人脸图像列向量。为了将二维人脸图像变为以为列向量,我们采取的措施为:首先计算出人脸图像的大小,然后将人脸图像经行转置,最后按列依次取出取出所有灰度值形成大小为MN的一维向量,其实整个阶段的效果相当于将图像的灰度值按行取出依次连接成一维图像向量。

本环节完成后将会产生由一维图像向量组成的矩阵T。

二、计算特征脸

本环节主要包括三个阶段,分别为:

1. 对图像矩阵T进行规范化

首先计算出图像矩阵中一维列向量的平均值m,然后对图像矩阵的每一列都减去平均值形成规范化的图像矩阵A。

(a) (b)

图4.8 左图为人脸原始图像,右图为人脸规范化后的图像

- 33 -

毕业设计(论文)

2. 计算特征脸

人脸训练图像的协方差矩阵为C=AAT,其中人脸训练样本为A?[?1,...,?P],维度为

2M?N?P,则协方差矩阵C的维度为。这就出现问题,C的维度过高,在实际中直接(MN)计算它的特征值和特征向量非常困难。因此,本文使用奇异值分解定理来解决这个问题。

奇异值分解定理:

假设B为n?m维秩为p的矩阵,则存在两个正交矩阵和一个对角矩阵: 正交矩阵为

其中

U?[u1,u2,...,up]?Rn?n (4.23)

22V?[v1,v2,...,vp]?Rm?m (4.24)

对角矩阵为

12UTU?I (4.25)

VTV?I (4.26)

??diag[?1,?2,...,?p]?Rm?m

?1??2...??p

TTTTvuB?U?V 则可以得到,而且BB和BB有共同的非零特征值,i和i分别为BB和

BTB对应特征值的正交特征向量。

由上述定理可以得到

TU?BV? (4.27)

Tm?m则可以由协方差矩阵C?AA,构造出矩阵L?AA?R,从而容易求出L的特征值和

?12特征向量,再根据上述(4-27)式可以求得协方差C的特征值和特征向量。

实际上我们并不需要协方差所有的特征值和特征向量, m个(m

Tm?m在本环节,本文通过直接构造L?AA?R,来计算出L的特征值,再挑选L特征值大

于100的作为C的特征值,最后通过C的特征值计算出它的特征向量,从而形成特征脸。

- 34 -

毕业设计(论文)

图4.9 特征脸

三、人脸识别

人脸识别过程分为训练和测试两个阶段。在训练阶段,主要是提取数据库人脸图像的特征,并形成特征库。在测试阶段,主要是提取待识别图像的特征和计算提取的特征和特征库中特征之间的距离测度,并输出最小距离测度对应的人脸图像作为结果。

具体步骤如下:

1. 训练阶段

将规范化的图像矩阵A中的每一列向量投影到特征子空间,形成特征库。

2. 测试阶段

1假设测试人脸图像为Y,在人脸识别前,先对其进行标准化,即??Y??。 ○

T2把标准化后的人脸图像向特征子空间进行投影得到向量??U?。 ○

3本文使用最近领法分类器欧几里德距离[14,15]进行判决分类。○测试图像与每个人脸图像间

的距离为?k?R?Rk (k=1,2,…,P),并将最小距离对应的训练图像作为测试图像的匹配图像。

- 35 -

本文来源:https://www.bwwdw.com/article/c1z7.html

Top