这段资料提供了一段用于实现基于PCA(主成分分析)的人脸识别算法的MATLAB代码,特别强调了对图像进行去平均化的处理步骤。适用于研究和学习人脸识别技术的学生与研究人员使用。
这是我使用经典统计技术主成分分析(PCA)进行人脸识别的“代码之夏”项目的一部分内容。
该项目的主要里程碑包括:
- 开发了一个测试模型,在鸢尾花数据集上实现了分类任务,采用了PCA等统计工具来实现降维。
- 使用MATLAB设计了一套功能完善的人脸识别系统,准确率达到97%。
- 利用Keras库将复杂的神经网络与人脸识别模型集成,并在耶鲁人脸数据库上进行训练。
算法的机制如下:
1. 将RGB色带图像转换为灰度图,这可能增加检测过程中的计算时间;
2. 数据集中的图像实例被展平成一个向量空间,其中每行代表每个图像实例;
3. 通过从所有图像中减去平均值来对数据进行归一化处理以获得增强的特征空间;
4. 计算图像向量空间的协方差矩阵,并利用其计算出一系列正交且具有最大特征方差的特征向量,即主成分分析中的关键步骤。
5. 从N个样本的数据集中获取与每个图像实例对应的N个特征向量。根据它们所代表的特征值大小对这些特征向量进行排序,选取前m个对应于最高特征值的向量作为最终选择的标准。
超参数“m”在计算时间和模型准确性之间提供了一个权衡点:增加m可以提高准确率但会消耗更多资源和时间;反之亦然。