一、PCA基本原理
主成分分析(Principal Comonents Analysis, PCA)是多元统计分析中用来分析数据的一种方法,它是用一种较少数量的特征对样本进行描述以达到降低特征空间维数的方法。
对于一系列人脸图像samples的feature组成的多维向量,多维向量里的某些元素本身没有区分性,比如某个元素在所有的sample中都为1,或者与1差距不大,那么这个元素本身就没有区分性,用它做特征来区分,贡献会非常小。所以我们的目的是找那些变化大的元素,即方差大的那些维,而去除掉那些变化不大的维,从而使feature留下的都是最具有代表性的,而且计算量也变小了。
对于一个k维的feature来说,相当于它的每一维feature与其他维都是正交的(相当于在多维坐标系中,坐标轴都是垂直的),那么我们可以变化这些维的坐标系,从而使这个feature在某些维上方差大,而在某些维上方差很小。
PCA算法的目的正是为了求得一个k维特征的投影矩阵(变换矩阵)U,这个投影矩阵可以将高维向量X降到低维向量Y,并且仅仅损失一些次要信息,通过反变换可以基本重构出所对应的原始高维向量。新的低维特征必须每个维 都正交,特征向量都是正交的。通过求样本矩阵的协方差矩阵,然后求出协方差矩阵的特征向量,这些特征向量就可以构成这个投影矩阵了。特征向量的选择取决于协方差矩阵的特征值的大小。
二、人脸PCA降维(Eigenface)
设有N个人脸训练样本(如图 1),每个样本由其像素灰度值组成一个向量,则样本图像的像素点数即为的维数,M=width*height ,由向量构成的训练样本集为:
图1
该样本集的平均向量为:
平均向量又叫平均人脸(如图 2)
图2
样本集的协方差矩阵为:
求出协方差矩阵的特征向量和对应的特征值
,这些特征向量组成的矩阵就是姿态空间的正交基底。将协方差矩阵的特征值按大到小排序:
。提取
大于
的对应的特征向量构成主成分,主成分构成的变换矩阵为:
这样每一幅人脸图像都可以投影到构成的特征脸子空间中,U的维数为
。有了这样一个降维的子空间,任何一幅人脸图像都可以向其作投影,即并获得一组坐标系数,即低维向量y(
)。Eg:取前3个特征向量,则第一幅人脸图像投影后的低维向量为
[1.68557690e+003 -3.64503899e+001 -2.02489771e+003],其反投影后的人脸图像如图 3所示
图3
作者:Jacky_Ponder,转载或分享请注明出处。QQ:2814152689