基于PCA的人脸与非人脸分类识别系统
项目介绍
本项目为随机过程课程大作业实现,基于主成分分析(PCA)算法构建人脸与非人脸的图像分类识别系统。系统通过提取图像的主成分特征,建立特征脸空间,并采用距离分类器实现对输入图像的自动分类。该系统能够有效处理灰度图像,完成人脸检测的核心任务。
功能特性
- PCA特征提取与降维:自动计算训练集的主成分,并依据指定方差贡献率进行数据降维。
- 特征空间构建:基于降维后的特征向量构建人脸特征空间,并确定分类决策阈值。
- 图像二分类识别:对新输入的图像进行投影计算,通过比较特征空间中的距离完成“人脸”或“非人脸”的分类。
- 结果可视化:生成特征脸图像,并可展示测试样本在特征空间中的投影分布。
- 批量测试与性能评估:支持对多张图像进行批量测试,输出整体识别准确率、召回率等统计指标。
使用方法
- 准备数据:将人脸正样本和非人脸负样本分别放入指定的训练文件夹。确保所有图像为统一尺寸的灰度图。
- 配置参数:在代码中设置PCA降维的方差贡献率阈值(如95%)或直接指定主成分数量。
- 运行主程序:执行主程序文件,系统将自动完成训练、特征提取和模型构建。
- 进行分类:指定测试图像路径(单张或文件夹),系统将输出分类结果、置信度及可视化图表。
- 查看报告:程序运行结束后,将在控制台或指定文件中输出分类性能报告。
系统要求
- 编程环境:MATLAB
- 图像要求:输入训练与测试图像需为灰度格式,并具有相同的像素尺寸(如M×N)。
文件说明
主程序文件作为系统的核心入口,整合了完整的算法流程。其功能包括:读取并预处理训练图像数据、执行PCA分析以提取特征脸、根据训练结果确定分类阈值、对新的测试图像进行投影和分类决策,并最终生成分类结果、可视化图形以及性能评估报告。