公式及符号说明如下:人脸库:ORL(OlivettiResearchLaboratory)人脸库。图像尺寸:=92112WH训练集的人数:15N人每个人的训练图像:4张/人训练集的图像数:41560M张人脸空间维度:160159DM训练集图像向量:12,,...,(60)MM平均脸:mm11=MM(60)M差脸:mmM(m=1,...,)矩阵:123[,,,...,]MA协方差矩阵:TCAA辅助矩阵:TLAAL的特征值和特征向量vC单位正交化后的特征向量u(即特征脸)一幅图像投影到人脸空间后得到的一套权值:()Tddu,(1,...,)dD一幅图像投影到人脸空间后得到的模式向量:,计算公式为12[,,...,]TD平均模式向量:__(1,...,)nnN,由每人各自所对应的4条模式向量求平均得到测试图像到人脸空间之间的距离:22f||||,其中,f1Ddddu测试图像与训练集中某已知个体之间的距离:__22||||nn,1,...,nN判断图像是否为人脸图像的阈值:1,根据经验设定判断人脸是否为某个已知人脸的阈值:2,根据经验设定特征脸方法进行人脸识别的步骤如下:1.获取一个尺寸一致(=92112WH)的人脸图像训练集,训练集图像来自ORL库中的15个人,每个人有10张图像(都是正面图像,光照和表情有细微差异),取4张作训练图像,剩下的6张作测试图像,所以共有60张训练图像,90张测试图像。2.把这60张训练图像都转化为灰度图,再以每张图像像素点的灰度值为元素,组成60条列向量:12,,...,(60)MM,每条向量的长度为=92112=10304WH。3.先根据公式mm11=MM(60)M,计算平均脸;然后,根据公式mm(m=1,...,60),计算出每个人脸与平均脸之差(差脸)。接着,引入矩阵123[,,,...,]MA,(60)M,最后构造两个矩阵:TCAA和TLAA,其中C是1030410304的协方差矩阵,L是6060的辅助矩阵。4.求出矩阵L的特征值(1,...,)mmM,(60)M,对m进行降序排列,挑出59D个较大的特征值,并求出与它们对应的特征向量(1,...,)dvdD,59D,根据公式(1,...,)dduAviD,59D,注意:不要把这里的du与前面的m混淆,du是C的特征向量,m是L的特征值。计算出59D个(1,...,)dudD,然后把这些du归一化为单位正交向量。单位正交化后的du就是我们常说的“特征脸”。最后由这59个特征脸构成一个人脸空间。5.下面介绍一下怎样把一张图像投影到人脸空间上,并计算出模式向量(patternvector)。在计算之前,需要先计算一套权值(1,...,)ddD,59D。计算公式为:()Tddu。然后根据这一套权值就可以组合成,公式为12[,,...,]TD,59D;6.根据第6步的介绍,把训练集的60张图像依次投影到人脸空间上,计算出各自的模式向量(patternvector)(1,...,60)mm,我们知道,训练集里的15个人各自都对应着4条模式向量,我们把每个人所对应的4条模式向量分别求平均,就可得到15条平均模式向量__(1,...,)nnN。7.当遇到一副测试图像时,根据步骤6,我们计算出它的模式向量12[,,...,]TD,59D;8.计算测试图像到人脸空间之间的距离。计算公式为:22f||||其中,,f1Ddddu,其中59D。若距离小于阈值1(多次试验后,根据经验设定),则表明这是一张人脸图像;9.如果输入图像为人脸图像,则计算它与训练集中各个个体(共15个人)之间的距离,如果距离小于阈值2(根据经验设定),则它属于这个已知个体。计算公式为:__22||||nn,1,...,nN,其中n表示测试图像与第n个个体之间的距离,12[,,...,]TD表示测试图像的模式向量,__n表示第n个个体的平均模式向量。10.当所有的测试图像都测试完之后,统计识别正确率,并将其打印输出。