function [ correct_rate,mean_face_image,eigen_face_5 ] = FaceRecognition( k )
clear all;
% 训练阶段
cols = 92;
rows = 112;
train_samples = [];
sample_size = 40 * 7;
for i = 1:40
for j = 1: 7
img = imread(strcat('att_faces/s',num2str(i),'/',num2str(j),'.pgm'));
%imshow(img);
img_vec = img(:);
img_vec = im2double(img_vec);
train_samples = [train_samples img_vec];
end
end
mean_face = mean(train_samples,2);
mean_face_image = reshape(mean_face,rows,cols);
dif_face = train_samples - mean_face;
% 协方差矩阵
cov = dif_face' * dif_face / (sample_size - 1);
% 计算特征值与特征向量
[v, d] = eig(cov);
% 提取特征值
eigenvalue = diag(d);
% 特征值排序和特征向量排序
eigenvalue_sort = flipud(eigenvalue);
eigenvector_sort = fliplr(v);
% eigenvalue_sum = sum(eigenvalue);
% extract_value = 0;
% p = 0;
% while (extract_value / eigenvalue_sum < 0.90)
% p = p + 1;
% extract_value = sum(eigenvalue_sort(1:p));
% end
w = [];
for i = 1:k
u = eigenvalue_sort(i,1)^(-1/2) * dif_face * eigenvector_sort(:,i);
w = [w u];
if (i == 24)
eigen_face_5 = w;
end
end
eigen_face = w' * dif_face ;
% 识别阶段
correct = 0;
for i = 1:40
for j = 8:10
img = imread(strcat('att_faces/s',num2str(i),'/',num2str(j),'.pgm'));
img = im2double(img(:));
eigen_space = w' * (img - mean_face);
e = [];
for t = 1:280
e(1,t) = norm(eigen_face(:,t) - eigen_space,2);
end
[~,reg] = min(e);
if (ceil(reg / 7) == i)
correct = correct + 1;
end
end
end
testSample_size = 120;
correct_rate = correct / testSample_size;
end
没有合适的资源?快使用搜索试试~ 我知道了~
人脸识别PCA
共403个文件
pgm:400个
m:2个
readme:1个
需积分: 10 6 下载量 90 浏览量
2019-04-14
17:33:29
上传
评论 4
收藏 3.61MB ZIP 举报
温馨提示
PCA人脸识别,利用Matlab软件实现 1. 算法PCA人脸识别或Eigenfaces人脸识别 2. 采用数据库为剑桥大学ORL人脸数据库,包含40个人的400张人脸图像(每 人对应10张),图像为92x112灰度图像(256灰度级) 3. 对于每个人的10张图像,随机选择7张用来训练,另外3张用于测试。对于每 人的7张训练图像,可以将7张训练图像平均后作为一个特征图像再进行PCA 特征抽取。 4. 选择合适的特征维数,建议为50-100;采用2范数最小匹配。 5. 对每个人的另外3张训练图像分别测试,共测试3x40个图像,计算识别系统 的正确率 =(识别正确的图像数)/120。 6.可以使用Matlab的工具库。
资源推荐
资源详情
资源评论
收起资源包目录
人脸识别PCA (403个子文件)
FaceRecognition.m 2KB
FaceRecognition_test.m 663B
7.pgm 10KB
6.pgm 10KB
1.pgm 10KB
5.pgm 10KB
10.pgm 10KB
1.pgm 10KB
8.pgm 10KB
1.pgm 10KB
5.pgm 10KB
8.pgm 10KB
3.pgm 10KB
4.pgm 10KB
3.pgm 10KB
8.pgm 10KB
9.pgm 10KB
9.pgm 10KB
7.pgm 10KB
10.pgm 10KB
3.pgm 10KB
1.pgm 10KB
8.pgm 10KB
4.pgm 10KB
6.pgm 10KB
4.pgm 10KB
2.pgm 10KB
1.pgm 10KB
6.pgm 10KB
10.pgm 10KB
4.pgm 10KB
7.pgm 10KB
5.pgm 10KB
2.pgm 10KB
6.pgm 10KB
3.pgm 10KB
7.pgm 10KB
10.pgm 10KB
5.pgm 10KB
2.pgm 10KB
4.pgm 10KB
3.pgm 10KB
8.pgm 10KB
3.pgm 10KB
9.pgm 10KB
6.pgm 10KB
7.pgm 10KB
10.pgm 10KB
5.pgm 10KB
9.pgm 10KB
9.pgm 10KB
2.pgm 10KB
2.pgm 10KB
9.pgm 10KB
1.pgm 10KB
7.pgm 10KB
6.pgm 10KB
4.pgm 10KB
3.pgm 10KB
2.pgm 10KB
8.pgm 10KB
7.pgm 10KB
8.pgm 10KB
4.pgm 10KB
6.pgm 10KB
1.pgm 10KB
3.pgm 10KB
4.pgm 10KB
4.pgm 10KB
7.pgm 10KB
8.pgm 10KB
10.pgm 10KB
9.pgm 10KB
9.pgm 10KB
7.pgm 10KB
6.pgm 10KB
1.pgm 10KB
4.pgm 10KB
2.pgm 10KB
2.pgm 10KB
9.pgm 10KB
3.pgm 10KB
3.pgm 10KB
2.pgm 10KB
6.pgm 10KB
9.pgm 10KB
1.pgm 10KB
10.pgm 10KB
2.pgm 10KB
8.pgm 10KB
8.pgm 10KB
9.pgm 10KB
3.pgm 10KB
9.pgm 10KB
9.pgm 10KB
2.pgm 10KB
1.pgm 10KB
1.pgm 10KB
1.pgm 10KB
10.pgm 10KB
共 403 条
- 1
- 2
- 3
- 4
- 5
资源评论
Howlyao
- 粉丝: 1
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 计算机毕业设计:python+爬虫+cnki网站爬
- nyakumi-lewd-snack-3-4k_720p.7z.002
- 现在微信小程序能用的mqtt.min.js
- 基于MPC的非线性摆锤系统轨迹跟踪控制matlab仿真,包括程序中文注释,仿真操作步骤
- 基于MATLAB的ITS信道模型数值模拟仿真,包括程序中文注释,仿真操作步骤
- 基于Java、JavaScript、CSS的电子产品商城设计与实现源码
- 基于Vue 2的zjc项目设计源码,适用于赶项目需求
- 基于跨语言统一的C++头文件设计源码开发方案
- 基于MindSpore 1.3的T-GCNTemporal Graph Convolutional Network设计源码
- 基于Java的贝塞尔曲线绘制酷炫轮廓背景设计源码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功