人脸识别是机器学习和机器视觉领域非常重要的一个研究方向,而特征脸算法是人脸识别里非常经典的一个算法,EigenFaces 是基于PCA (principal component analysis) 即主分量分析的。
一张尺寸为 .
利用PCA 分析:
1: 先求训练集
2: 向量去均值:
3: 求协方差矩阵
4: 特征值分解:
我们知道协方差矩阵是一个高维矩阵 来说,维度要小得多。我们可以得到:
进一步可以得到:
即:
所以我们看到:
换句话说, 有相同的特征值,而特征向量满足如下关系:
严格说来, 个 特征值与特征向量。
而 个 特征值与特征向量。
个最大的特征值以及特征值相对应的特征向量。
所以通过这种变换, 可以非常快速地求得 。
5: 将特征值从大到小排序,截取前面 个特征值及对应的特征向量。我们可以用特征向量的线性组合来表示原来的去均值向量,即:
如果定义, , 那么可以得到
。
做人脸识别的时候,我们可以先将训练集中的每个subject的人脸图像映射到低维空间,我们要求解如下的目标函数:
进而确定测试样本属于哪个subject。