概述:
编程平台:Matlab;
数据: ORL人脸库。pgm格式的图片。40人,每人10幅图,图像大小为112*92像素。 图像本身已经经过处理,不需要进行归一化和校准等工作;下载地址第三段的两个都是下载链接数据处理:主成分分析法(PCA);有关算法原理可以参考这里
分类器: 支持向量机(SVM)。
人脸识别算法步骤概述:
1、读取训练数据集;
2、主成分分析法降维并去除数据之间的相关性;
3、数据规格化(去除数据单位因素对分类造成的影响,这个对此实验造成的影响不大);
4、SVM训练(选取径向基和函数);
5、读取测试数据、降维、规格化;
6、用步骤4产生的分类函数进行分类(多分类问题,采用一对一投票策略,归位得票最多的一类);
7、计算正确率。
准备工作:
下载人脸库
如果你用的不是ORL人脸库,可能还需要先进行人脸检测
把Matlab的左上角当前路径(current folder)设置为你的.m的保存的路径,或者用addpath('...... ')设置
编程实现:
读取数据:
ReadFace.m文件,若flag=0,表述读取原文件的前五幅图作为训练数据,若flag=1,表述读取原文件的后五幅图作为测试数据