資源簡介
這是我寫的人臉識別代碼,識別率可達(dá)到100%。但是你要自己調(diào)調(diào),可以寫篇論文。

代碼片段和文件信息
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%BHLDA算法測試。
%樣本為對半偶圖像
%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
%tsc:test_sample_coefficient
%lsc:learn_sample_coefficient
lda_rate=[];
pca_rate=[];
time_learn=[];
time_test=[];
tic;
%for?Yela
height=40;
width=20;
XClass=[];
classCount=40;??????????????%類數(shù)
learn_sample_per_class=3;???%每類訓(xùn)練樣本數(shù)
sample_count_per_class=10;??%每類樣本數(shù)
%for?ORL
%height=37;
%width=15;
%XClass=[];
%classCount=40;??????????????%類數(shù)
%learn_sample_per_class=5;???%每類訓(xùn)練樣本數(shù)
%sample_count_per_class=10;??%每類樣本數(shù)
learn_sample_total=classCount*learn_sample_per_class;????????????????????????%學(xué)習(xí)樣本總數(shù)
test_sample_total=classCount*(sample_count_per_class-learn_sample_per_class);%測試樣本總數(shù)
for?m=1:classCount
????for?n=1:learn_sample_per_class
????XClass=[XClass?m];
????end
end
for?dim=5:50
%PCA參數(shù)初始化
images_up=[];????%訓(xùn)練樣本的上半部分
images_down=[];??%訓(xùn)練樣本的下半部分
%讀訓(xùn)練樣本
height_upimg=ceil(0.6*height);??????%上部分人臉高度
height_downimg=height-height_upimg;?%下部分人臉高度
for?i=1:classCount???????????????????%每類
????for?j=1:learn_sample_per_class???%每類訓(xùn)練樣本
????????%半對偶圖像
????????%for?Yela
????????%str1=strcat(‘E:\LDA_HLDA_BHLDA\face_database\Yale_block\s‘int2str(i)‘\‘int2str(2*j-1)‘.BMP‘);
????????%str2=strcat(‘E:\LDA_HLDA_BHLDA\face_database\Yale_block\s‘int2str(i)‘\‘int2str(2*j)‘.BMP‘);
????????
????????%for?ORL
????????str1=strcat(‘E:\LDA_HLDA_BHLDA\face_database\ORL_BLOCK\s‘int2str(i)‘\‘int2str(2*j-1)‘.BMP‘);
????????str2=strcat(‘E:\LDA_HLDA_BHLDA\face_database\ORL_BLOCK\s‘int2str(i)‘\‘int2str(2*j)‘.BMP‘);
????????img1=imread(str1);
????????img2=imread(str2);
????????img1=double(img1);
????????img2=double(img2);
????????img=(img1+img2)/2;
????????img_up=img(1:height_upimg:);
????????img_down=img(height_upimg+1:height:);?
????????%上下半部分人臉
????????img_up=reshape(img_upheight_upimg*width1);
????????images_up=[images_up?img_up];
????????img_down=reshape(img_downheight_downimg*width1);
????????images_down=[images_down?img_down];
?????end
end
%計算投影矩陣
[eigvector_up?eigvalue_up?meandata_up?diff_img_up]=PCA(images_updim);
[eigvector_down?eigvalue_down?meandata_down?diff_img_down]=PCA(images_downdim);
lda_learn_project_up=[];????????%PCA變換坐標(biāo),lda_learn_project為LDA算法入口參數(shù)
lda_learn_project_up?=eigvector_up‘*diff_img_up;
lda_learn_project_down=[];????????%PCA變換坐標(biāo),lda_learn_project為LDA算法入口參數(shù)
lda_learn_project_down?=eigvector_down‘*diff_img_down;
t1=toc;
time_learn=[time_learn?t1];
tic;
%讀測試樣本
images_up_test=[];
images_down_test=[];
for?i=1:classCount
????for?j=1:(sample_count_per_class-learn_sample_per_class)
????????%for?Yela
????????%str1=strcat(‘E:\LDA_HLDA_BHLDA\face_database\Yale_block\s‘int2str(i)‘\‘int2str(2*j-1+learn_sample_per_class*2)‘.BMP‘);
????????%str2=strcat(‘E:\LDA_HLDA_BHLDA\face_database\Yale_block\s‘int2str(i)‘\‘int2str(2*j+learn_sample_per_class*2)‘.BMP‘);
????????
????????%for?ORL
????????str1=strcat(
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????3274??2010-06-24?17:32??HPCA_test.m
?????文件???????2782??2010-06-14?09:37??LDA.m
?????文件???????3365??2010-07-16?09:00??LDA_test.m
?????文件???????1588??2010-06-23?17:42??PCA.m
?????文件???????2707??2010-06-24?14:37??SUBLDA.m
?????文件???????6221??2010-06-24?22:20??BHLDA_test.m
-----------?---------??----------?-----??----
????????????????19937????????????????????6
評論
共有 條評論