资源简介
调试已通过的基于(KPCA)核主成分分析人脸识别代码 ,带有注释和ORL人脸库
对于学习KPCA很有帮助
代码片段和文件信息
%用KPCA进行人脸识别的Matlab代码
allsamples=[];%所有训练图像
for i=1:40
for j=6:10
%a=imread(strcat(‘Data\s‘num2str(i)‘\‘num2str(j)‘.pgm‘));
a=imread(strcat(‘C:\Documents and Settings\Administrator\桌面\人脸库\ORL人脸库\s‘num2str(i)‘\‘num2str(j)‘.jpg‘));
b=a(1:112*92); % b是行矢量 1×N,其中N=10304,提取顺序是先列后行,即从上到下,从左到右
b=double(b);
allsamples=[allsamples; b]; % allsamples 是一个200 * 10304 矩阵,allsamples 中每一行数据代表一张图片。
end
end
cov_size=size(allsamples1);
train_num=cov_size;
patterns=allsamples;
for i=1:cov_size
for j=i:cov_size
K(ij) =(patterns(i:)*patterns(j:)‘+1)^0.7;
K(ji) = K(ij); %核函数是对称的
end
end
unit = ones(cov_size cov_size)/cov_size;
K_n = K - unit*K - K*unit + unit*K*unit; %改变核矩阵以实现数据在高维空间去均值
[evecsevals] = eig(K_n); %求去均值后的核矩阵的特征值、特征向量
evals = real(diag(evals)); %取特征值实部
[l1l2]=sort(-1*evals‘);
evals=l1*(-1);
evecs=evecs(:l2); % 取排序后特征值对应的特征向量
for i=1:cov_size %因为K为满秩矩阵
evecs(:i) = evecs(:i)/(sqrt(evals(i))); %这样可以使特征空间中协方差矩阵C的特征向量归一化
end
% 90%的贡献率
dsum = sum(evals);
dsum_extract = 0;
p = 0;
while( dsum_extract/dsum < 0.9)
p = p + 1;
dsum_extract = sum(evals(1:p));
end
max_ev=p;
unit_train = ones(train_numcov_size)/cov_size;
for i=1:train_num
for j=1:cov_size
K_train(ij) =(patterns(i:)*patterns(j:)‘+1)^0.7;
end
end
K_train_n = K_train - unit_train*K - K_train*unit + unit_train*K*unit;
features = zeros(train_num max_ev);
features = K_train_n * evecs(:1:max_ev); % 训练样本在特征空间的投影
allcoor = features;
accu=0;
% 测试过程
for i=1:40
for j=1:5 %读入40 x 5 副测试图像
%a=imread(strcat(‘Data\s‘num2str(i)‘\‘num2str(j)‘.pgm‘));
a=imread(strcat(‘C:\Documents and Settings\Administrator\桌面\人脸库\ORL人脸库\s‘num2str(i)‘\‘num2str(j)‘.jpg‘));
b=a(1:10304);
b=double(b);
unit_test = ones(1cov_size)/cov_size;
K_test = zeros(1cov_size);
for j=1:cov_size
K_test(j) = (b*patterns(j:)‘+1)^0.7;
end
K_test_n = K_test - unit_test*K - K_test*unit + unit_test*K*unit; % 去均值
test_features = zeros(1 max_ev);
test_features = K_test_n * evecs(:1:max_ev);
tcoor=test_features; %计算坐标,是1×p阶矩阵
for k=1:200
mdist(k)=norm(tcoor-allcoor(k:)); %求2范数
end;
[distindex2]=sort(mdist);
class=ceil( index2(1)/5 );
if class==i
accu=accu+1;
end;
end;
end;
accuracy=accu/200;%输出识别率
p;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 10318 1994-04-18 14:17 KPCA人脸识别有效\程序\Data\s1\1.pgm
文件 10318 1994-04-18 14:07 KPCA人脸识别有效\程序\Data\s1\10.pgm
文件 10318 1994-04-18 14:17 KPCA人脸识别有效\程序\Data\s1\2.pgm
文件 10318 1994-04-18 14:17 KPCA人脸识别有效\程序\Data\s1\3.pgm
文件 10318 1994-04-18 14:17 KPCA人脸识别有效\程序\Data\s1\4.pgm
文件 10318 1994-04-18 14:17 KPCA人脸识别有效\程序\Data\s1\5.pgm
文件 10318 1994-04-18 14:07 KPCA人脸识别有效\程序\Data\s1\6.pgm
文件 10318 1994-04-18 14:07 KPCA人脸识别有效\程序\Data\s1\7.pgm
文件 10318 1994-04-18 14:07 KPCA人脸识别有效\程序\Data\s1\8.pgm
文件 10318 1994-04-18 14:07 KPCA人脸识别有效\程序\Data\s1\9.pgm
文件 10318 1994-04-18 14:18 KPCA人脸识别有效\程序\Data\s10\1.pgm
文件 10318 1994-04-18 14:07 KPCA人脸识别有效\程序\Data\s10\10.pgm
文件 10318 1994-04-18 14:18 KPCA人脸识别有效\程序\Data\s10\2.pgm
文件 10318 1994-04-18 14:18 KPCA人脸识别有效\程序\Data\s10\3.pgm
文件 10318 1994-04-18 14:18 KPCA人脸识别有效\程序\Data\s10\4.pgm
文件 10318 1994-04-18 14:18 KPCA人脸识别有效\程序\Data\s10\5.pgm
文件 10318 1994-04-18 14:07 KPCA人脸识别有效\程序\Data\s10\6.pgm
文件 10318 1994-04-18 14:07 KPCA人脸识别有效\程序\Data\s10\7.pgm
文件 10318 1994-04-18 14:07 KPCA人脸识别有效\程序\Data\s10\8.pgm
文件 10318 1994-04-18 14:07 KPCA人脸识别有效\程序\Data\s10\9.pgm
文件 10318 1994-04-18 14:18 KPCA人脸识别有效\程序\Data\s11\1.pgm
文件 10318 1994-04-18 14:07 KPCA人脸识别有效\程序\Data\s11\10.pgm
文件 10318 1994-04-18 14:18 KPCA人脸识别有效\程序\Data\s11\2.pgm
文件 10318 1994-04-18 14:18 KPCA人脸识别有效\程序\Data\s11\3.pgm
文件 10318 1994-04-18 14:18 KPCA人脸识别有效\程序\Data\s11\4.pgm
文件 10318 1994-04-18 14:18 KPCA人脸识别有效\程序\Data\s11\5.pgm
文件 10318 1994-04-18 14:07 KPCA人脸识别有效\程序\Data\s11\6.pgm
文件 10318 1994-04-18 14:07 KPCA人脸识别有效\程序\Data\s11\7.pgm
文件 10318 1994-04-18 14:07 KPCA人脸识别有效\程序\Data\s11\8.pgm
文件 10318 1994-04-18 14:07 KPCA人脸识别有效\程序\Data\s11\9.pgm
............此处省略419个文件信息
相关资源
- OpenCV人脸识别290071
- 用于人脸识别的AR人脸库
- Unity之离线人脸识别.rar
- 虹软Arcsoft_v2.0人脸识别Demo(Linux)
- 人脸识别最新论文
- 人脸识别以及考勤
- opencv3人脸识别正/负样本
- 基于深度学习和稀疏表达的人脸识别
- 人脸识别原理及算法动态人脸识别系
- 基于opencv的人脸识别
- 人脸识别.rar
- 刷脸背后 人脸检测 人脸识别 人脸检
- 毕设-人脸识别技术
-
Extend Yale B Databa
se 人脸识别 - 基于百度API的使用js实现的人脸识别
-
Extend Yale B databa
se - IMM人脸数据库
- 人脸识别 测试头像 800张图片
- face_recognition人脸识别
- 人脸识别数据库大全(ORL FERET YALE)
- 人脸识别软件
- 人脸识别+opencv
- 人脸识别 表情识别 疲劳驾驶 论文资
- 含遮挡人脸库
- 华硕笔记本人脸识别解锁软件
- 2D/3D人脸识别分析源码
- 人脸识别,完整代码和素材
- 人工智能-人脸识别源代码分享
- Handbook_Of_Face_Recognition 李子青 《人脸
- AT&T(ORL)、MIT、Yale三大人脸识别数据
评论
共有 条评论