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

2019-03-28 22:53

毕业设计(论文)

其中?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 -


毕业论文 基于PCA的人脸识别算法实现(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:公司治理题库

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: