资源简介
选用ORL_92x112人脸数据集,共包含了40张人脸,每张人脸有10张不同姿态图像。代码中人脸矩阵中每一行对应一个人脸,每一列对应一个属性。
代码片段和文件信息
clc;
clear;
npersons=40;%选取40个人的脸
global imgrow;
global imgcol;%读取图像的列
global edit2
imgrow=112;
imgcol=92;%读取的图像为112*92
set(edit2‘string‘‘读取训练数据....‘)%显示在句柄为edit2的文本框里
drawnow %更新窗口的内容,不然程序结束时才会显示,这样只能看到最后一句
f_matrix=ReadFace(npersons0);%读取训练数据
nfaces=size(f_matrix1);%样本人脸的数量
%低维空间的图像是(npersons*5)*k的矩阵,每行代表一个主成分脸,每个脸20维特征
set(edit2‘string‘‘训练数据PCA特征提取...‘)
drawnow
mA=mean(f_matrix);%求每个属性的均值
k=20;%降维至20维
[pcafaceV]=fastPCA(f_matrixkmA);%主成分分析法特征提取
set(edit2‘string‘‘训练特征数据规范化....‘)
drawnow %每次设置完之后要更新窗口内容
lowvec=min(pcaface);
upvec=max(pcaface);
scaledface=scaling(pcafacelowvecupvec)
set(edit2‘string‘‘SVM样本训练...‘)
drawnow %每次设置完之后要更新窗口内容
gamma=0.0078;
c=128;
multiSVMstruct=multiSVMtrain(scaledfacenpersonsgammac);
%save(‘recognize.mat‘‘multiSVMstruct‘‘npersons‘‘k‘‘mA‘‘V‘‘lowvec‘‘upvec‘);
set(edit2‘string‘‘读取测试数据...‘)
drawnow
[testfacerealclass]=ReadFace(npersons1);
set(edit2‘string‘‘测试数据降维...‘)
drawnow
m=size(testface1);
for i=1:m
testface(i:)=testface(i:)-mA;
end
pcatestface=testface*V;
set(edit2‘string‘‘测试特征数据规范化...‘)
scaledtestface=scaling(pcatestfacelowvecupvec);
set(edit2‘string‘‘样本分类...‘)
drawnow
class=multiSVM(scaledtestfacemultiSVMstructnpersons);
set(edit2‘string‘‘测试完成!‘)
accuracy=sum(class==realclass)/length(class);
msgbox([‘识别准确率:‘num2str(accuracy*100)‘%。‘])
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1626 2014-12-18 14:59 PCAface recognitionGUI\face.asv
文件 1629 2014-12-18 15:26 PCAface recognitionGUI\face.m
文件 974 2014-12-17 20:29 PCAface recognitionGUI\faceGUI.asv
文件 988 2014-12-18 09:50 PCAface recognitionGUI\faceGUI.m
文件 640 2014-12-17 11:49 PCAface recognitionGUI\fastPCA.m
文件 264 2014-12-17 20:37 PCAface recognitionGUI\GUIopen.m
文件 1221 2014-12-18 16:55 PCAface recognitionGUI\GUIrecg.asv
文件 2346 2014-12-18 17:19 PCAface recognitionGUI\GUIrecg.m
文件 702 2014-12-17 18:45 PCAface recognitionGUI\multiSVM.asv
文件 726 2014-12-17 18:46 PCAface recognitionGUI\multiSVM.m
文件 1023 2014-12-17 19:05 PCAface recognitionGUI\multiSVMtrain.asv
文件 1023 2014-12-17 19:07 PCAface recognitionGUI\multiSVMtrain.m
文件 1130 2014-12-17 11:50 PCAface recognitionGUI\ReadFace.m
文件 359 2014-12-17 14:46 PCAface recognitionGUI\scaling.asv
文件 392 2014-12-17 14:48 PCAface recognitionGUI\scaling.m
目录 0 2014-12-24 15:08 PCAface recognitionGUI
----------- --------- ---------- ----- ----
15043 16
相关资源
-
Matlab_Simuli
nk环境下无人机全过程飞 - 计算机仿真技术与CAD——基于MATLAB的
-
智能汽车 matlabsimuli
nk 模拟仿真技术 -
《基于matlab-simuli
nk仿真技术》薛定 -
基于MATLAB/Simuli
nk的系统仿真技术与 -
MATLAB_Simuli
nk的系统仿真技术与应用 -
基于MATLAB_Simuli
nk的系统仿真技术与 -
《基于MATLAB/Simuli
nk的系统仿真技术 -
薛定宇 陈阳泉基于 MATLAB+Simuli
nk 的 - 燃料电池汽车建模及仿真技术德周苏
-
薛定宇《基于MATLAB、Simuli
nk的系统仿 - SimMechanics机构动态仿真-基于SimMechan
评论
共有 条评论