• 大小: 2.94MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-10-27
  • 语言: Matlab
  • 标签: 人脸识别  

资源简介

模式识别课程作业,利用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个文件信息

评论

共有 条评论