資源簡介
選用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
評論
共有 條評論