PCA人脸识别


1.PCA人脸检测

Eigenface算法 

在利用PCA进行特征提取的算法中,特征脸方法(Eigenface)是其中的一个经典算法。特征脸方法是从主成分分析导出的一种人脸识别和描述技术。特征脸方法就是将包含人脸的图像区域看作是一种随机向量,因此可以采用K-L变换获得其正交K-L基底。对应其中较大特征值的基底具有与人脸相似的形状,因此又称为特征脸。利用这些基底的线性组合可以描述、表达和逼近人脸图像,因此可以进行人脸识别与合成。识别过程就是将人脸图像映射到由特征脸构成的子空间上,比较其与己知人脸在特征空间中的位置,具体步骤如下:

(1)初始化,获得人脸图像的训练集并计算特征脸,定义为人脸空间,存储在模板库中,以便系统进行识别;

(2)输入新的人脸图像,将其映射到特征脸空间,得到一组关于该人脸的特征数据;

(3)通过检查图像与人脸空间的距离判断它是否是人脸; 

(4)若为人脸,根据权值模式判断它是否为数据库中的某个人,并做出具体的操作。

计算特征脸

  设人脸图像I(x,y)为二维N*N灰度图像,用N维向量R表示。人脸图像训练集为{Ri|i=1,…,M},其中M为训练集中图像总数,这M幅图像的平均向量为:


每个人脸Ri与平均人脸ψ的差值向量是:


训练图像的协方差矩阵可表示为:

C=AAT.

其中,A=[φ1,…φM].

特征脸有协方差矩阵C的正交特征向量组成。对于N*N人脸图像,协方差矩阵C的大小为N2*N2,对它求解特征值和特征向量是很困难的。一种取而代之的方法是令L=ATA

即协方差矩阵的转置阵,则可以知道此矩阵是M*M(M是训练人脸的数量)的一个较小的矩阵。首先计算M*M矩阵L的特征向量vi(l=l,…,M),则矩阵C的特征向量ui(l=1,…,M)由差值图像φi(i=1,…,M)vi(l=l,…,M)线性组合得到:U=[u1,…,uM]=[[ψ1,…,ψM]T][v1.…,vM]。实际上,m(m<M)个特征值足够用于人脸识别。因此,仅取L的前m个最大特征值的特征向量计算特征脸。




你可能感兴趣的:(人脸检测)