PCA人脸识别理论基础(附源码) - 图文

更新时间:2023-10-09 11:02:01 阅读量: 综合文库 文档下载

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

1 PCA 与人脸识别及其理论基础

1.1问题描述[1]

对于一幅图像可以看作一个由像素值组成的矩阵,也可以扩展开,看成一个矢量,如一幅N*N象素的图像可以视为长度为N2 的矢量,这样就认为这幅图像是位于N2维空间中的一个点,这种图像的矢量表示就是原始的图像空间,但是这个空间仅是可以表示或者检测图像的许多个空间中的一个。不管子空间的具体形式如何,这种方法用于图像识别的基本思想都是一样的,首先选择一个合适的子空间,图像将被投影到这个子空间上,然后利用对图像的这种投影间的某种度量来确定图像间的相似度,最常见的就是各种距离度量。

1.1.1K-L变换

[1]

PCA方法是由Turk和Pentlad提出来的,它的基础就是Karhunen-Loeve变换(简称KL

变换),是一种常用的正交变换。下面我们首先对K-L 变换作一个简单介绍:

假设X 为n 维的随机变量,X 可以用n个基向量的加权和来表示:

X=∑αiφi

i=1 n

式中: αi是加权系数,φi是基向量,此式还可以用矩阵的形式表示:

T

X=(φ,φ,\,φ)(α1 2 n ,α1 ,\2 ,α) n

=Φα

取基向量为正交向量,即

则系数向量为:

?1 i=j T T

?Φ Φj =I ΦΦj = ?

0 i≠ j ?

α=ΦTX

综上所述,K-L 展开式的系数可用下列步骤求出:

T

步骤一求随即向量X的自相关矩阵R=E??XX??,由于没有类别信息的样本集的μ 均值向

T

?量,常常没有意义,所以也可以把数据的协方差矩阵∑ =E?(x?μ)(x?μ)??作为

K_L 坐标系的产生矩阵,这里μ是总体均值向量。

步骤二求出自相关矩阵或协方差矩阵R 的本征值λi 和本征向量φi,Φ=(φ1,φi,\,φn)

步骤三展开式系数即为α=ΦTX

K_L 变换的实质是建立了一个新的坐标系,将一个物体主轴沿特征矢量对齐的旋转 变换,这个变换解除了原有数据向量的各个分量之间相关性,从而有可能去掉那些带有较少信息的坐标系以达到降低特征空间维数的目的。

1.1.2利用PCA进行人脸识别

完整的PCA人脸识别的应用包括几个步骤:人脸图像预处理;读入人脸库,训练形成特征子空间;把训练图像和测试图像投影到上一步骤中得到的子空间上;选择一定的距离函数进行识别。下面详细描述整个过程(源码见’faceRec.m’)。

1. 读入人脸库归一化人脸库后,将库中的每人选择一定数量的图像构成训练集,其余构成

测试集。设

归一化后的图像是n*m,按列相连就构成N=n*m维矢量,可视为N维空间中的一个点,可以通过K-L 变换用一个低维子空间描述这个图像。

2. 计算K- L 变换的生成矩阵所有训练样本的协方差

矩阵为(以下三个等价):

M

? xixT )/M?mximx T ?1. CA =( ∑ kk

k=1

? ? =(AiAT)/M ? 2. CA

? M

??T?3. C (x?m)(x?m)? ? A=?∑ ??i=1 ? i x i x

(1)

A={φ1,φ2,...,φM}, φi=xi?mx,mx是平均人脸, M 训练人脸数,协方差矩阵CA 是

一个N*N的矩阵, N 是xi的维数。

为了方便计算特征值和特征向量,一般选用第2个公式。根据K - L变换原理,我们所求的新坐标系即由矩阵AiAT 的非零特征值所对应的特征向量组成。直接求N*N大小矩阵C 的特A 征值和正交归一特征向量是很困难的, 根据奇异值分解原理(见段落1.2.5和1.2.6),可以 通过求解ATiA的特征值和特征向量来获得ATiA的特征值和特征向量,。

在计算得到CA的所有非零特征值[λ0,λ1,\,λ

r?1](从大到小排序,1≤r

N*r 位正交特征向量[u0,u1,\,ur?1]后,可以得到特征空间U=[u0,u1,\,ur?1]∈? ,从而可以

计算一张图片X在特征空间上的投影系数(也可以理解为X在空间U中的坐标):

Y=UT *X∈?r*1 (2) 3. 识别

利用公式(2),首先把所有训练图片进行投影,然后对于测试图片也进行同样的投影,采用判别函数对投影系数进行识别。

1.2PCA的理论基础

1.2.1投影[2]

设d维样本x1,x2,\,xn,以及一个d维基w,那么标量:

T

y i =wx i

是相当于xi在基上的坐标值。如果w =1,yi就是把xi向方向为w 的直线进行投影的结果,

可以从图1 看到。推广之,如果有一组基(m个)组成的空间W=[w1,w2,\,wm],那么可 以得到xi在空间W上的坐标为:Y=W x∈?

T

m*1

x

w 证明:wTx =w? x?cosθ i

又∵ x?cosθ=y, ?wTx i =y

θ y 图1 投影图

w =1

进一步,表达式w=m+ae表示w是一条通过点m,方向为e的直线。

1.2.2PCA 的作用及其统计特性[3]

采用PCA对原始数据的处理,通常有三个方面的作用—降维、相关性去除、概率估计。下

面分别进行介绍:

? 去除原始数据相关性

从统计学上讲,E{[X?E(X)][Y?E(Y)]}称为随机变量X 与Y 协方差,记为

Cov(X,Y)。令ρXY =

Cov(X,Y) D(X) D(Y) ,称为随机变量X与Y的相关系数。ρXY =1则X与

Y 是相关的,ρXY =0,则X 与Y 是不相关的。

命题1对于矩阵A来说,如果

AAT是一个对角阵,那么A中的向量是非相关的。

由PCA 处理的人脸库数据的非相关性可以从两点进行说明。 (1)基底的非相关性

特征空间基U=[u0,u1,\,ur?1]是非相关的,即UU

(2)投影系数的非相关性

T

T

=I。

由SVD 可知A={φ1,φ2,...,φM}=UΛV

, 其中φi=xi?mx,mx是平均人脸。根

B=UT *A,其中B是非相

据公式(2)可以把A映射到特征空间上,得到:

关的,可由下面得到证明:

1 1TT

Y 的协方差矩阵为:C B = BBT = UAAU=M M 12

ΛM

(3)

由命题1可知,B是非相关的。

? 统计参数(均值及方差)

均值即mx--平均人脸。

命题2随机变量方差越大,包含的信息越多,当一个变量方差为0时,该变量为常数,不含任何信息。

用PCA计算主分量,就是寻找一组向量,使得原始数据A={φ1,φ2,...,φM}在这组向量上的投影值的方差尽可能大。最大方差对应的向量就是第一主成份,以后递推就是 第二主成份,第三主成份……。

用PCA 计算主分量就是求原始数据A={φ1,φ2,...,φM}(其中φi=xi?mx)协方差 矩阵的特征向量U=[u0,u1,\,ur?1],由公式(3)可知,P= ui

T

A=(p1, p2,\,pm)是A 在ui

上的投影值,其中P的方差就是ui 对应的特征值λi ,可以理解为: 命题3所有原始数据在主分量ui 上的投影值方差为λi 。 ? 降维

如果在原始空间表示一幅n*m大小的图片X,那么需要一个N=n*m维矢量,但是当用公式(2)把它映射到特征空间后,只需要一个r*1维的向量就可。

另外,由命题2可知,可以根据方差的大小来判断特征向量的重要性。由ORL图片库的200个人脸计算得到的特征值呈图2分布,可知特征向量重要性呈指数下降,据此可以只选用前面几个重要的特征向量来构建特征空间。

通过计算,前71个特征值占了90.17%,因此r 可以取71而非200,从而达到进一步降维的作用。

图2特征值的分布

1.2.3特征脸

U=[u0 ,u1,\,ur?1]中的每一个单位向量都构成一个特征脸,如图3所示。由这些特征脸

所张成的空间称为特征脸子空间,需要注意对于正交基的选择的不同考虑,对应较大特征值的特征向量(正交基)也称主分量,用于表示人脸的大体形状,而对应于较小特征值的特征向量则用于描述人脸的具体细节,或者从频域来看,

主分量表示了人脸的低频部分,而此分量则描述了人脸的高频部分(源码见’EigenFace.m’)。

1

2

10

50

70

average

图3特征脸,分别是第1,2,10,50,70分量,最后一张是平均脸。

1.2.4图片重建

要进行图片X 的重建,首先对X 投影到特征空间上,得到系数Y=UT (X?m

X

),然后选用一

部分系数与特征向量进行原始图片的重建:X'=mX +U(1:t)*Y(1:t),其中1:t表示取前t个 元素。(见’reconstruct.m’)

在图4中,其中前两张图片来自训练样本,第3张来自测试样本,可以看到对于训练样本, PCA 系数可以对图片实现很好重建,而对于训练样本以外的图片重建效果很差。

Original

15

50

100

150

199

图4人脸图像重建。第列张图片是输入原始图,其它列图片是重建结果,数字表示t的数目。

1.2.5奇异值分解(SVD)[1]

设A 是秩为r 的m*n(m>>n)维矩阵,则存在两个正交矩阵和一个对角阵:

A=[a1,a2,\,ar]=UΛV

T

其中U=[u0 ,u1,\,ur?1],V=[v0,v1,\,vr?1],Λ=diag(λ0,λ1,\,λ

r?1),且UU

T

=I,VVT =I,

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

Top