资源简介
模式识别课程作业,利用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个文件信息
相关资源
- SRC人脸识别程序MATLAB
- 1维的简单LDA和2维LDA人脸识别的matla
- 基于MATLAB的人脸识别
- 人脸识别及匹配的matlab实现
- matlab基于BP神经网络的人脸识别13953
- 基于BP神经网络的人脸识别源码matla
- Matlab人脸识别
- BP神经网络的人脸识别matlab代码77617
- BP神经网络人脸识别MATLAB.zip
- 基于PCA算法实现人脸识别完整代码文
- 模式识别课程作业 matlab与libsvm环境
- 基于BP神经网络的人脸识别代码
- face recongnition
- 基于Matlab的人脸识别算法设计
- MATLAB人脸识别和人眼跟踪程序包
- 基于PCA的人脸识别matlab)
- Matlab人脸识别-PCA算法
- 基于BP神经网络的人脸识别系统_安大
- 基于稀疏表示的人脸识别代码
- camshift+kalman视频跟踪matlab代码
- 基于Haar分类和五官验证的人脸识别
- 基于PCA对人脸图像做特征选择matlab程
- MATLAB实现耶鲁人脸库,人脸识别的一
- 基于PCA算法的人脸识别包含人脸库
- 人脸识别MATLAB源码55226
- 基于直方图人脸识别MATLAB程序
- MATLAB实现人脸识别47134
- 基于PCA算法的人脸识别matlab程序
- pca实现人脸识别算法matlab
- 基于matlab的人脸识别系统
评论
共有 条评论