PCA把多维数据降维,并使各维之间的相关性为零,从而最小化重构数据与原数据的方差。PCA可以用于人脸识别,即特征脸方法。PCA用于人脸识别的大体思路如下所述。
假设图片库中图片数为n,图片数据量为d=M*N
训练流程:
1,把图片库中的所有图片转化为灰度图片,然后形成n*d大小的矩阵X;
2,计算d维均值m,计算X中每个样本减去均值后的矩阵Y(n*d大小);
3,使用PCA生成维数为n*k维的方阵A(k<=n-1),k的值可以根据需要选择。其中A的各列为矩阵Y*Y'的最大的k个特征向量所构成。可以注意到Y*Y'即为协方差矩阵;
4,使用Y'*A生成d*k的特征脸EF(d*k大小);
5,对每张图片Y(i,:)*EF生成每张图片的k维投影向量P(i);
识别过程:
1,对识别图片转化为灰度图片,再转换为d维向量z;
2,计算z*EF生成待识别图片的投影向量的投影q;
3,计算P(i)中与q距离最近的i值作为结果。