Matlab PCA+SVM人脸识别(一)

该博客介绍了在Matlab中使用PCA和SVM进行人脸识别的步骤,包括读取数据、主成分分析、数据规范化、SVM训练和测试。通过PCA降维和SVM分类,实现了人脸的识别和重构。
概述:

编程平台: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,表述读取原文件的后五幅图作为测试数据,数据存入f_matrix中,每一行为一个文件,每行为112*92列。

评论 94
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值