-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathpropagate.m
More file actions
80 lines (43 loc) · 1.73 KB
/
propagate.m
File metadata and controls
80 lines (43 loc) · 1.73 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
examplarv = unique (idxV); % idx is ap result - examplar return canonical image
for i = 1:size(examplarv)
clusterv (i).examplar = examplarv(i); % save center of cluster in structure
clusterv (i).cluster = find (idxV == examplarv(i)); % save related photo with each cluster in structure
end
examplart = unique (idxT); % idx is ap result - examplar return canonical image for texual cluster
for i = 1:size(examplart)
clustert (i).examplar = examplart(i); % save center of cluster in structure
clustert (i).cluster = find (idxT == examplart(i)); % save related photo with each cluster in structure
end
for i = 1 : size(clusterv,2)
pp = clusterv(i).cluster;
for j = 1:size(clusterv(i).cluster)
m = clusterv(i).cluster(j);
id = find(idxT == idxT(m));
pp = cat(1,pp,id);
end
clusterv(i).propagation = unique(pp);
end
for i = 1 : size(clusterv,2)
clusterv(i).p0 = zeros(size(clusterv(i).cluster,1),size(clusterv(i).propagation,1));
end
for i = 1:size(clusterv,2)
for j = 1:size(clusterv(i).cluster)
m = clusterv(i).cluster(j);
id = find(idxT == idxT(m));
for jj = 1:size(id,1)
iidx(jj) = find(clusterv(i).propagation == id(jj));
clusterv(i).p0(j,iidx(jj))= 1;
end
end
end
for i = 1:size(clusterv,2)
clusterv(i).X = BOW(clusterv(i).propagation,:);
end
for i = 1:size(clusterv,2)
clusterv(i).PX = clusterv(i).p0 * clusterv(i).X;
end
for i = 1:size(clusterv,2)
for ii = 1:size(clusterv(i).cluster,1)
AVW(clusterv(i).cluster(ii),:) = clusterv(i).AVW(ii,:);
end
end