• 大小: 2.53MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-11
  • 语言: Matlab
  • 标签: MATLAB  

资源简介

绝对可以运行的程序,请大家放心下载!MATLAB实现的,

资源截图

代码片段和文件信息

%**********************************************
% Aim : The first AI program homework
% title : PCA for face recognition
% Author : GongWanlu & Hufei
% Version : 1.0 final
% Submit Time : 2011-04-07
%**********************************************

% %%%%%%%%%%%%%%%%%%%%%%INITIAL
clear all
clc
close all
% %%%%%%%%%%%%%%%%%%%%%%Some variables according to the Yale Face DB

Num_subject = 15;
Num_image = 11;
Train_num_image = 6;                    %for every subject we choose 8 to train
Test_num_image = 9;                     %choose the left 3 images to test

% %%%%%%%%%%%%%%%%%%%%%%Load Data
Data = [];
for i=1:Num_subject
    for j=1:Train_num_image
        path = sprintf(‘FaceDB_yaleA/%03d/%02d.jpg‘ij);
        pic = imread (path);            %read one picture
        
                                        %Make Data Add pic into Data
        pic_line = pic(1:147*137);      %The pic size is 147*137
                                        %pic_line is 1*N N=147*137. from up to
                                        %downleft to right.
                                        %Reshape 2D image to 1D image
                                        %vectors
        Data = [Data;double(pic_line)]; %add pic_line into Data
    end
end
% End of Load Data

%%%%%%%%%%%%%%%%%%%%%%%Substract mean from Data and make covariance from centering Data
samplemean = mean(Data);                %mean pic 1*N

for k = 1:(Num_subject * Train_num_image)
    xmean(k:)=Data(k:)-samplemean;    %Normalize
end                                     %xmean is M*N each line is one pic
                                        %data(mean data) be normalized
sigma = xmean *xmean‘;                  %M*M  here is 120*120
[V D]=eig(sigma);                       %calculate the eigenvalue&eigenvector
                                        %eigenvalue in Dand vectors in V
 D1=diag(D);                            %the eigenvalues
 
 %%%%%%%%%%%%%%%%%%%%%%%% Sorting and eliminating eigenvalues
 %At first : sort desc
 Dsort=flipud(D1);
 Vsort=fliplr(V);
 
 %choose part eigenvalues
 Dsum = sum(Dsort);                     %sum of the eigenvalueswe only choose 80%
                                        %we have different ways to choose
                                        %eigenvalues we need90%or>1……
temp_sum = 0;
p = 0;
while(temp_sum/Dsum<0.8)
    p = p+1;
    temp_sum = sum(Dsort(1:p));
end
%End of sort part

 %%%%%%%%%%%%%%%%%%%%%%%Train Step: get the coordinate system
 i=1;
 while(i<=p && Dsort(i)>0)
     face_base(:i) = Dsort(i)^(-1/2) * xmean‘ * Vsort (:i);
     i=i+1;
 end
 % Dsort(i)^(-1/2) used to normalize make variance=1
 % face_base is N*p
 % xmean‘ * Vsort (:i); is change small matrix to big matrix. CHACHENG(Chinese)
 
 %next sentence is vary important is our train result
 allcoor = Data * face_base;
 %End of training
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Draw part
  %draw CDF
 x = 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      12893  2010-07-09 09:22  PCA pro\PCA pro\FaceDB_yaleA\001\01.jpg

     文件      15000  2010-07-09 09:22  PCA pro\PCA pro\FaceDB_yaleA\001\02.jpg

     文件      14615  2010-07-09 09:23  PCA pro\PCA pro\FaceDB_yaleA\001\03.jpg

     文件      12437  2010-07-09 09:23  PCA pro\PCA pro\FaceDB_yaleA\001\04.jpg

     文件      14265  2010-07-09 09:23  PCA pro\PCA pro\FaceDB_yaleA\001\05.jpg

     文件      14152  2010-07-09 09:23  PCA pro\PCA pro\FaceDB_yaleA\001\06.jpg

     文件      11535  2010-07-09 09:23  PCA pro\PCA pro\FaceDB_yaleA\001\07.jpg

     文件      14331  2010-07-09 09:23  PCA pro\PCA pro\FaceDB_yaleA\001\08.jpg

     文件      13967  2010-07-09 09:23  PCA pro\PCA pro\FaceDB_yaleA\001\09.jpg

     文件      14600  2010-07-09 09:23  PCA pro\PCA pro\FaceDB_yaleA\001\10.jpg

     文件      14473  2010-07-09 09:23  PCA pro\PCA pro\FaceDB_yaleA\001\11.jpg

    ..A..H.     40960  2011-03-22 09:24  PCA pro\PCA pro\FaceDB_yaleA\001\Thumbs.db

     文件      13179  2010-07-09 09:24  PCA pro\PCA pro\FaceDB_yaleA\002\01.jpg

     文件      14023  2010-07-09 09:24  PCA pro\PCA pro\FaceDB_yaleA\002\02.jpg

     文件      13341  2010-07-09 09:24  PCA pro\PCA pro\FaceDB_yaleA\002\03.jpg

     文件      12454  2010-07-09 09:24  PCA pro\PCA pro\FaceDB_yaleA\002\04.jpg

     文件      13305  2010-07-09 09:24  PCA pro\PCA pro\FaceDB_yaleA\002\05.jpg

     文件      13305  2010-07-09 09:24  PCA pro\PCA pro\FaceDB_yaleA\002\06.jpg

     文件      11913  2010-07-09 09:24  PCA pro\PCA pro\FaceDB_yaleA\002\07.jpg

     文件      13203  2010-07-09 09:24  PCA pro\PCA pro\FaceDB_yaleA\002\08.jpg

     文件      13207  2010-07-09 09:24  PCA pro\PCA pro\FaceDB_yaleA\002\09.jpg

     文件      13432  2010-07-09 09:24  PCA pro\PCA pro\FaceDB_yaleA\002\10.jpg

     文件      13136  2010-07-09 09:24  PCA pro\PCA pro\FaceDB_yaleA\002\11.jpg

    ..A..H.     37888  2010-11-04 13:38  PCA pro\PCA pro\FaceDB_yaleA\002\Thumbs.db

     文件      11445  2010-07-09 09:27  PCA pro\PCA pro\FaceDB_yaleA\003\01.jpg

     文件      12602  2010-07-09 09:27  PCA pro\PCA pro\FaceDB_yaleA\003\02.jpg

     文件      12642  2010-07-09 09:28  PCA pro\PCA pro\FaceDB_yaleA\003\03.jpg

     文件      10889  2010-07-09 09:28  PCA pro\PCA pro\FaceDB_yaleA\003\04.jpg

     文件      12564  2010-07-09 09:28  PCA pro\PCA pro\FaceDB_yaleA\003\05.jpg

     文件      12903  2010-07-09 09:29  PCA pro\PCA pro\FaceDB_yaleA\003\06.jpg

............此处省略161个文件信息

评论

共有 条评论