第四章 KL变换和PCA人脸识别方法
4.1 简介
我们希望将图像原特征做某种正交变换,获得的数据都是原数据的线性组合,从新数据中选出少数几个,使其尽可能多地反映各类模式之间的差异,又尽可能相互独立,一个常用的方法就是主成分分析(PCA)。KL(Karhunen-Loeve)变换或主分量分析 (Principal Component Analysis,PCA),这是一种特殊的正交变换,它是重建均方误差最小意义下的最佳变换,起到减少相关性,突出差异性的效果,在图像编码上能去除冗余信息,也常用于一维和二维信号的数据压缩;这种变换采用主要特征对应的特征向量构成变换矩阵,保留原模式样本中方差最大的数据分量,在对高维图像编码时起到了降维作用。由于KL变换和PCA去相关性和降维作用,Mathew
A.Turk和P.Pentland首先将主成分分析运用到人脸识别中来。通过K_L变换得到高
维人脸空间的投影矩阵,人脸图像都可以由这些矩阵的线性组合来表示,正是因为这些矩阵呈现人脸的形状,所以将这种人脸识别称为特征脸(Eigenface)方法[5]。
4.2 KL变换和PCA分析
对给定的信号x(n),如果它的各个分量之间完全不相关,那么表示该数据中没有冗余;若x(n)中有相关成分,通过去除其相关性则可达到数据压缩的目的。主成分分析方法(PCA)基本思想是提取出空间原始数据中的主要特征(主元),减少数据冗余,使得数据在一个低维的特征空间被处理,同时保持原始数据的绝大部分的有用信息,从而解决数据空间维数过高的瓶颈问题。
一个宽平稳的实随机向量x(n)=[[x(0),x(1),…,x(N-1)],其协方差矩阵Cx
定义为:
?C0,0?C0,N?1??Cx=E{(x-μx) (x-μx)}= ???????C? ?N?1,0?CN?1,N?1?T
T
式中E{·}代表求均值运算,μ=E{x}是信号x的均值向量,Cx的元素
Cx(i,j)=E{x(i)-μx)( x(j)-μx)}=Cx(j,i)
即协方差阵是实对称的。显然,矩阵Cx体现了信号向量x的各分量之间的相关性。若x的各分量互不相关,那么Cx中除对角线以外的元素皆为零。
KL变换的思路是寻求正交矩阵A,使得A对x的变换y的协方差阵Cx为对角矩阵,其步骤如下:
先由λ的N阶多项式|λI-Cx|=0,求矩阵Cx的特征值λ0,λ1,…λN-1,以及N个特征向量A0,A1,…AN-1。然后将A0,A1,…AN-1归一化,即令=1,i=0,1,2?,N-1。由归一化的向量成A0,A1,…AN-1就构成归一化正交矩阵A,即
A=[ A0,A1,…AN-1]T
最后由y-Ax实现对信号x的KL变换。显然,矩阵A各向量之间相互独立,体现了去相关性,在图像编码中去除了冗余。
4.2.1 KL变换原理
假设X为n维的随机变量,X可以用n个基向量的加权和来表示:
n X?aφi (4.2.1.1)
i
?i?1式中:ai为加权系数,Фi为基向量,此式也可以用矩阵的形式表示:
X=(φ1φ2?φn)(a1a2…an)T (4.2.1.2) 其中 Ф=(φ1φ2?φn), α=(a1a2…an)T
我们取基向量为正交向量,Ф由正交向量构成,所以Ф是正交矩阵,即ФTФ=I将公式(4.2.1.1)两边左乘ФT,并考虑到Ф为正交矩阵,得α=ФTX即:αi=ФTiX。
我们希望向量α的各个向量间互不相关。那么如何保证α的各个分量互不相关呢?这取决于选取什么样的正交向量集。设随即向量的总体自相关矩阵为:
R=E[XTX] (4.2.1.3)
将公式(4.2.1.1)代入上式(4.2.1.3),得
R=E[XX]=E[Фα αФ]= ФE[αα]Ф (4.2.1.4) 我们要求向量α的各个分量间互不相关,即满足下列关系:
(4.2.1.5)
??1???写成矩阵的形式 ?????T ??n?则:R=Ф△Ф (4.2.1.6) ??TTTTT
将上式两边右乘上Ф,得: RФ=Ф△ФФ (4.2.1.7) 因为Ф是正交矩阵,所以得: RФ=Ф△ (4.2.1.8)
T
RФj=Фj△j (j=1,2,3,?n) (4.2.1.9)
可以看出,λi是x的自相关矩阵R的特征值,。Фj是对应特征向量。因为R是实对称矩阵,其不同本征值对应的特征向量应正交。
综上所述,KL展开式的系数可用下列步骤求出:
步骤一:求随即向量x的自相关矩阵R=E[XTX],由于没有类别信息的样本集的均值向量,常常没有意义,所以也可以把数据的协方差矩阵作为KL坐标系的产生矩阵,这里召是总体均值向量。
步骤二:求出自相关矩阵或协方差矩阵R的本征值λj和本征向量Фj。其中j=1,2?n。同时本征向量组成的矩阵为Фj。j=1,2?n。
步骤三:展开式系数即为α=ФTX。
K-L变换的实质是建立了一个新的坐标系,将一个物体主轴沿特征矢量对齐的旋转变换,这个变换解除了原有数据向量的各个分量之间相关性,从而有可能去掉那些带有较少信息的坐标系以达到降低特征空间维数的目的。
4.2.2 主成分分析法 (PCA)
主成分分析法(PCA)在人脸识别领域成功应用的一个重要理论基础是较好的解决了K.L变换后协方差矩阵的特征向量的求解问题。人脸识别是一个典型的高维小样本
问题,即人脸图像向量的维数一般较高,比如,实验用的ORL人脸库的图像大小为112x92的人脸图像,其对应的图像向量特征空间高达10304维,在如此高维的图像空间内,按照通常的算法,计算样本的协方差矩阵的特征向量是异常耗时的。同时,在人脸识别问题中,由于客观条件的限制,训练样本的数目一般较小,通常,训练样本的总数远远小于人脸图像向量的维数。针对高维小样本的情况,求解特征向量所采取算法的基本思想是,将高维的问题转化为低维的问题加以解决。
主成分分析法(PCA)是模式识别判别分析中最常用的一种线性映射方法,该方法是根据样本点在多维模式空间的位置分布,以样本点在空间中变化最大方向,即方差最大的方向,作为判别矢量来实现数据的特征提取与数据压缩。主成分分析法的原理如下:
已知n维空间的随机向量用φ(φ∈Rn)表示,利用公式将φ进行零均值处理,x=φ-E(φ),则E(x)=0。如果对x用一组完备正交基μj,j二1,2,?n展开,可得
k
(4.2.2.1) iji?1
假设只用前k项进行重构,则
x??aukxrec??ajujj?1(4.2.2.2)
其均方误差为:ξ=E[(x-xrec)T(x-xrec)] 因为
且αj=μjTx
(4.2.2.3)
所以 nnT??TTuξ=E??ujxxuj?=(4.2.2.4) jCuj ?J?k?1T?J?k?1其中C=E[xx]=E[(φ-E[φ]) (φ-E[φ])T]是x和φ的总体协方差矩阵。
?为了使重构的均方误差最小,并满足正交条件的约束,采用拉格朗日乘子法,将函数
J?k?1?nuTjCujJ(uj)= -
J?k?1???ujnTjuj?1?对μj(j=1.2?n)求导,得
(C-λjI)μJ=0,J=k+1,k+2…,n (4.2.2.5)
令k=1,此时ul,u2,…,un为总体协方差矩阵C的本征向量,λ1, λ2…λn分别是它们对应的特征值,这些特征向量经过正交化处理所形成的空间称为特征空间。将特征向量ul,u2,…,un按照它们的特征值进行降序排列λ1≥λ2≥λ3…≥λn。,则得到结论:
对于任一随机变量x,如果采用总体协方差矩阵C的前k个最大非0特征值所对应的特征向量作为坐标轴展开,可在相等截断长度下获得所有正交展开中最小的截断均方误差ξ
min
?min?j?k?1??ni(4.2.2.6)
下面我们将主成分分析法用于人脸识别[6]。
假设训练人脸图像的个数为M,将每一副图像按列串相接的方式排成长度为N的向量Γ1,Γ2,Γ3?, ΓM.其均值向量(即平均脸)为
Ψ=1/M
则每个图像相对于均值图像的差为ΦI-Ψ(i=1,2,?,M)。令矩阵A=[Φ1, Φ2?,Φm],则散布矩阵∑可以表示为:
∑AA=1/M
T
j?k?1??ni (4.2.2.7)
求出∑的特征值λk和特征矢量μk,由于μk看起来像一张人脸,因此μk常称作特征脸向量,用特征向量构成的图像称为特征脸图像。由于∑是NxN大小的矩阵,而且N的值较大,一般远大于训练样本的个数M,因此为了降低计算量,通常不直接求∑的特征向量μk,而是先计算大小为MxM的矩阵ATA的特征向量νk,根据代数理论,有
对于这些相互正交的特征向量,根据其对应的特征值的大小按照从大到小的顺序
j?k?1???inTi (4.2.2.8)
uk?1?kj?k?1?nA?k(4.2.2.9)