資源簡介
模式識別課程作業,利用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個文件信息
評論
共有 條評論