-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathmain.m
More file actions
84 lines (72 loc) · 2.49 KB
/
Copy pathmain.m
File metadata and controls
84 lines (72 loc) · 2.49 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
%cd 'Z:\classes\Statistical Pattern Recognition\Project';
%cd 'C:\Users\Administrator\Downloads\FR';
%load data;
%vs = [1, 2];
%data = reshape(face, 24, 21, 3, 200);
%clear face;
%rk = 200;
%pk = 100;
fprintf('DATASET: illumination\n');
fprintf('-----------------------\n');
load illumination;
vs = [2, 5, 8, 11, 14, 17];
data = reshape(illum, 48, 40, 21, 68) / 255;
clear illum;
rk = 500;
pk = 200;
% Equalize and flatten the data, then generate the splits
v = size(data, 3);
n = size(data, 4);
data = histeq_all(data);
for vv = vs
fprintf('EXPERIMENT: using %d out of %d images per subject for training\n', vv, v);
Xtr = whiten(reshape(data(:, 1:vv, :), [], n * vv));
ytr = reshape(repmat((1:n)', 1, vv)', [], 1)';
Xte = whiten(reshape(data(:, vv + 1:end, :), [], n * (v - vv)));
yte = reshape(repmat((1:n)', 1, (v - vv))', [], 1)';
experiments(Xtr, ytr, Xte, yte, pk, rk);
end
fprintf('DATASET: pose\n');
fprintf('-----------------------\n');
load pose;
vs = [2, 5, 8, 11];
data = pose / 255;
clear pose;
rk = 500;
pk = 200;
% Equalize and flatten the data, then generate the splits
v = size(data, 3);
n = size(data, 4);
data = histeq_all(data);
for vv = vs
fprintf('EXPERIMENT: using %d out of %d images per subject for training\n', vv, v);
Xtr = whiten(reshape(data(:, 1:vv, :), [], n * vv));
ytr = reshape(repmat((1:n)', 1, vv)', [], 1)';
Xte = whiten(reshape(data(:, vv + 1:end, :), [], n * (v - vv)));
yte = reshape(repmat((1:n)', 1, (v - vv))', [], 1)';
experiments(Xtr, ytr, Xte, yte, pk, rk);
end
%fprintf('DATASET: yale\n');
%fprintf('-----------------------\n');
%vs = [2, 5, 8];
%data = zeros(50, 60, 11, 15);
%for i = 1:size(data, 4)
% files = dir(sprintf('yale_faces/subject%02d/*.gif', i));
% for j = 1:size(data, 3)
% data(:, :, j, i) = imresize(imread(sprintf('yale_faces/subject%02d/%s', i, files(j).name)), [50, 60]) / 255;
% end
%end
%rk = 500;
%pk = 200;
% Equalize and flatten the data, then generate the splits
%v = size(data, 3);
%n = size(data, 4);
%data = histeq_all(data);
%for vv = vs
% fprintf('EXPERIMENT: using %d out of %d images per subject for training\n', vv, v);
% Xtr = whiten(reshape(data(:, 1:vv, :), [], n * vv));
% ytr = reshape(repmat((1:n)', 1, vv)', [], 1)';
% Xte = whiten(reshape(data(:, vv + 1:end, :), [], n * (v - vv)));
% yte = reshape(repmat((1:n)', 1, (v - vv))', [], 1)';
% experiments(Xtr, ytr, Xte, yte, pk, rk);
%end