资源简介
模式识别课程作业,利用pca与svm进行人脸识别。
matlab与libsvm环境

代码片段和文件信息
function [F S] = extract_face_feature(X Y ratio scale)
% 利用PCA对人脸数据进行特征降维,并构造成LibSVM数据输入格式以及输出到特征文件
% X : 人脸数据,每行代表一个人脸
% Y :人脸数据标签,对应与X的每行
% ratio : PCA降维的能量大小,即降维后数据的最低能量大小,范围0-1 当scale矩阵存在是,无实际意义
% scale : 固定的PCA降维转换矩阵,当对于测试数据时需给定与训练数据相同的转换矩阵,默认不使用,仅当测试数据时使用
% F : 降维提取后的人脸特征并转换为LibSVM格式
% S : PCA降维转换矩阵,当训练数据时输出,测试数据与给定的scale相同
if nargin == 2
ratio = 0.95;
end
if nargin <= 3 % 当前为训练数据,进行PCA降维处理
%PCA降维
[coeff score latent] = pca(X);
%计算各个主成份累加的能量大小从而计算特征降维后的使用的维数
energy = cumsum(latent) ./ sum(latent);
[m n] = size(energy);
dim = -1;
for k = 1 : m
if energy(k) > ratio
dim = k;
break;
end
end
%根据得出的降维维数大小,构造降维后数据
F = score(: 1 : dim);
S = coeff(: 1 : dim);
elseif nargin == 4 % 当前为测试数据,使用scale矩阵进行降维处理
F = bsxfun(@minus X mean(X 1)) * scale;
S = scale;
end
% 按照LibSVM格式将特征数据保存到文件
if nargin <= 3
fid = fopen(‘train.feature‘ ‘w+‘);
elseif nargin == 4
fid = fopen(‘test.feature‘ ‘w+‘);
end
[m n] = size(F);
for k = 1 : m
fprintf(fid ‘%d ‘ Y(k)); % 写入类别标签
for l = 1 : n - 1
fprintf(fid ‘%d:%f ‘ l F(k l));
end
fprintf(fid ‘%d:%f\n‘ n F(k n));
end
fclose(fid);
end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1906008 2015-02-02 17:08 附件\libsvm-3.20.rar
文件 1567 2015-02-02 14:25 实验源代码\extract_face_feature.m
文件 2009 2015-02-02 12:40 实验源代码\FaceData\s1\1.jpg
文件 1960 2015-02-02 12:40 实验源代码\FaceData\s1\10.jpg
文件 1828 2015-02-02 12:40 实验源代码\FaceData\s1\2.jpg
文件 1985 2015-02-02 12:40 实验源代码\FaceData\s1\3.jpg
文件 1827 2015-02-02 12:40 实验源代码\FaceData\s1\4.jpg
文件 1854 2015-02-02 12:40 实验源代码\FaceData\s1\5.jpg
文件 1946 2015-02-02 12:40 实验源代码\FaceData\s1\6.jpg
文件 2021 2015-02-02 12:40 实验源代码\FaceData\s1\7.jpg
文件 1962 2015-02-02 12:40 实验源代码\FaceData\s1\8.jpg
文件 1993 2015-02-02 12:40 实验源代码\FaceData\s1\9.jpg
文件 2161 2015-02-02 12:40 实验源代码\FaceData\s10\1.jpg
文件 2159 2015-02-02 12:40 实验源代码\FaceData\s10\10.jpg
文件 2211 2015-02-02 12:40 实验源代码\FaceData\s10\2.jpg
文件 2235 2015-02-02 12:40 实验源代码\FaceData\s10\3.jpg
文件 2263 2015-02-02 12:40 实验源代码\FaceData\s10\4.jpg
文件 2185 2015-02-02 12:40 实验源代码\FaceData\s10\5.jpg
文件 2224 2015-02-02 12:40 实验源代码\FaceData\s10\6.jpg
文件 2200 2015-02-02 12:40 实验源代码\FaceData\s10\7.jpg
文件 2181 2015-02-02 12:40 实验源代码\FaceData\s10\8.jpg
文件 2179 2015-02-02 12:40 实验源代码\FaceData\s10\9.jpg
文件 2477 2015-02-02 12:40 实验源代码\FaceData\s11\1.jpg
文件 2414 2015-02-02 12:40 实验源代码\FaceData\s11\10.jpg
文件 2482 2015-02-02 12:40 实验源代码\FaceData\s11\2.jpg
文件 2507 2015-02-02 12:40 实验源代码\FaceData\s11\3.jpg
文件 2515 2015-02-02 12:40 实验源代码\FaceData\s11\4.jpg
文件 2562 2015-02-02 12:40 实验源代码\FaceData\s11\5.jpg
文件 2403 2015-02-02 12:40 实验源代码\FaceData\s11\6.jpg
文件 2462 2015-02-02 12:40 实验源代码\FaceData\s11\7.jpg
............此处省略423个文件信息
相关资源
- matlab人脸识别和特征提取
- matlab人脸识别
- PCA人脸识别Eigenface特征脸Matlab
- 基于KL变换的人脸识别 matlab
- 基于Matlab行人检测系统
- Face Recognition with KNN in MATLAB(12017108
- 人脸识别yale数据.mat格式
- 基于PCA和SVM的人脸识别.zip
- 基于SVD分解和最近邻算法的高维人脸
- MATLAB人脸识别考勤系统摄像头,记录
- PCA算法实现人脸识别基于matlab GUI界面
- 基于matlab的人脸识别271850
- 2D2DPCA人脸识别matlab代码/ORL库
- PCA人脸识别MATLAB代码/ORL库
- matlab结课大作业人脸识别是否戴口罩
- PCA人脸识别论文附MATLAB程序
- 应用matlab计算人脸识别率
- 个人收集的人脸识别经典算法源码
- 基于K-L变换的人脸识别系统
- 基于matlab的人脸识别源代码235297
- 基于PCA使用Yale人脸数据库的人脸识别
- 人脸识别系统
- SRC人脸识别程序MATLAB
- 1维的简单LDA和2维LDA人脸识别的matla
- 基于MATLAB的人脸识别
- 人脸识别及匹配的matlab实现
- matlab基于BP神经网络的人脸识别
- 基于BP神经网络的人脸识别源码matla
- Matlab人脸识别
- BP神经网络的人脸识别matlab代码
评论
共有 条评论