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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
|
#! /usr/bin/python
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.mlab as mlab
import sys
import os
import scipy
import matplotlib as mpl
mpl.rcParams['font.size'] = 5
mpl.rcParams['lines.linewidth'] = 0.5
mpl.rcParams['figure.figsize'] = 2.2,2.2
mpl.rcParams['legend.fontsize'] = 5
mpl.rcParams['axes.linewidth'] = 0.5
mpl.rcParams['figure.subplot.hspace'] = 0.4
mpl.rcParams['figure.subplot.wspace'] = 0.4
legend_width = 0.2
out_dir = sys.argv[1]
#limbs distribution
plt.figure(figsize=(5.6,1.7))
data = np.loadtxt("../limbs-avg-zdiff/data.csv",delimiter=",")
data = data[#(data[:,1] == 25)
((data != -1).all(1))
& (data[:,4]>2)
& (data[:,4]<3)]
data = data[:,7:]*100
mean = data.mean(0)
var = data.std(0)
for i in range(len(mean)):
ax = plt.subplot(2,5,i+1)
n,b,p = plt.hist((data[:,i]-mean[i]),bins=100,normed=1,linewidth=0,color="lightgreen")
plt.plot(b,mlab.normpdf(b,0,var[i]),"red")
plt.xticks([])
plt.yticks([])
plt.xlabel("$x_"+str(i+1)+"-E[x_"+str(i+1)+"|y]$")
plt.ylabel("$P(x_"+str(i+1)+"-E[x_"+str(i+1)+"|y])$")
plt.savefig(os.path.join(out_dir,"limbs.pdf"),bbox_inches="tight",pad_inches=0.05)
#frames distribution
plt.figure(figsize=(4.5,2))
x = np.loadtxt("frames.txt",usecols=(0,))
y = range(1,len(x)+1)
width=0.8
plt.bar(y,x/x.sum()*100,width=width,linewidth=0,color="lightgreen")
plt.xlim(0.8,26)
plt.xticks([i+width/2. for i in range(1,len(x),5)], range(1,len(x),5))
plt.xlabel("Individual")
plt.ylabel("Frequency [%]")
plt.ylim(0,17)
plt.savefig(os.path.join(out_dir,"frames.pdf"),bbox_inches="tight",pad_inches=0.05)
l = ["3","5","10","all"]
#10-fold, naive
plt.figure()
for i in l:
x,y = np.loadtxt(i+"_nb_off.mat",unpack=True)
plt.plot(100*x,100*y,label="$n_p=$ "+i)
plt.xlabel("Recall [%]")
plt.ylabel("Precision [%]")
leg =plt.legend(loc="best")
leg.get_frame().set_linewidth(legend_width)
plt.axis([20,100,50,100])
plt.gca().set_aspect(8./5)
plt.savefig(os.path.join(out_dir,"offline-nb.pdf"),bbox_inches="tight",pad_inches=0.05)
#10-fold, SHT
plt.figure()
for i in l:
x,y = np.loadtxt(i+"_sht_off.mat",unpack=True)
plt.plot(100*x,100*y,label="$n_p=$ "+i)
plt.xlabel("Recall [%]")
plt.ylabel("Precision [%]")
leg = plt.legend(loc="lower left")
leg.get_frame().set_linewidth(legend_width)
plt.axis([20,100,50,100])
plt.gca().set_aspect(8./5)
plt.savefig(os.path.join(out_dir,"offline-sht.pdf"),bbox_inches="tight",pad_inches=0.05)
#online,NB
plt.figure()
for i in l:
x,y = np.loadtxt(i+"_nb_on.mat",unpack=True)
plt.plot(100*x,100*y,label="$n_p=$ "+i)
plt.xlabel("Recall [%]")
plt.ylabel("Precision [%]")
leg = plt.legend(loc="best")
leg.get_frame().set_linewidth(legend_width)
plt.axis([20,100,50,100])
plt.gca().set_aspect(2)
plt.savefig(os.path.join(out_dir,"online-nb.pdf"),bbox_inches="tight",pad_inches=0.05)
#online,SHT
plt.figure()
for i in l:
x,y = np.loadtxt(i+"_sht_on.mat",unpack=True)
plt.plot(100*x,100*y,label="$n_p=$ "+i)
plt.xlabel("Recall [%]")
plt.ylabel("Precision [%]")
leg = plt.legend(loc="best")
leg.get_frame().set_linewidth(legend_width)
plt.axis([20,100,50,100])
plt.gca().set_aspect(8./5)
plt.savefig(os.path.join(out_dir,"online-sht.pdf"),bbox_inches="tight",pad_inches=0.05)
#face
plt.figure()
x,y = np.loadtxt("5_nb_split.mat",unpack=True)
a,b = np.loadtxt("face.csv",delimiter=",", unpack=True)
plt.plot(100*x,100*y,label="Skeleton")
plt.plot(100*a,100*b,label="Face")
plt.xlabel("Recall [%]")
plt.ylabel("Precision [%]")
leg = plt.legend(loc="best")
leg.get_frame().set_linewidth(legend_width)
plt.axis([20,100,50,100])
plt.gca().set_aspect(8./5)
plt.savefig(os.path.join(out_dir,"face.pdf"),bbox_inches="tight",pad_inches=0.05)
#back
plt.figure()
x,y = np.loadtxt("back_all_sht_on.mat",unpack=True)
a,b = np.loadtxt("all_sht_off.mat",unpack=True)
c,d = np.loadtxt("front_back_all_sht.mat",unpack=True)
plt.plot(100*a,100*b,label="Toward")
plt.plot(100*x,100*y,label="Away")
plt.plot(100*c,100*d,label="Combined")
plt.xlabel("Recall [%]")
plt.ylabel("Precision [%]")
leg = plt.legend(loc="best")
leg.get_frame().set_linewidth(legend_width)
plt.axis([20,100,50,100])
plt.gca().set_aspect(8./5)
plt.savefig(os.path.join(out_dir,"back.pdf"),bbox_inches="tight",pad_inches=0.05)
#variance-reduction
plt.figure()
x,y = np.loadtxt("half-var-all_sht_on.mat",unpack=True)
a,b = np.loadtxt("all_sht_on.mat",unpack=True)
plt.plot(100*x,100*y,label="Reduced noise")
plt.plot(100*a,100*b,label="Original noise")
plt.xlabel("Recall [%]")
plt.ylabel("Precision [%]")
leg = plt.legend(loc="best")
leg.get_frame().set_linewidth(legend_width)
plt.axis([20,100,50,100])
plt.gca().set_aspect(8./5)
plt.savefig(os.path.join(out_dir,"var.pdf"),bbox_inches="tight",pad_inches=0.05)
|