summaryrefslogtreecommitdiffstats
path: root/data/face-recognition-accuracy.py
blob: 8b3584fd6ceb004d555d1564a42a32b1746c56f1 (plain)
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
#!/usr/bin/python
import matplotlib.pyplot as plt
import matplotlib.mlab as ml
import numpy as np
import sys

numbins_distance = 15
numbins_brightness = 10

test_filename = sys.argv[1]
bfile = open(sys.argv[2])
distance=[]
brightness=[]
detected=[]

for line in open(test_filename):
    values = line.rstrip().split(',')
    subdir,name,run,frame,zv = values[0:5]
    name = '_'.join(name.split())
    detected_name = values[6].split('@')[0]
    bline = bfile.readline().rstrip().split(',')
    while bline[3] != frame:
        bline = bfile.readline().rstrip().split(',')

    br = bline[4]
    distance.append(float(zv))
    brightness.append(float(br))
    detected.append(detected_name==name)

distance = np.array(distance)
brightness = np.array(brightness)
detected = np.array(detected)

distance_detected = distance[detected>0]
brightness_detected = brightness[detected>0]
range_distance = (min(distance),max(distance))
range_brightness = (min(brightness),max(brightness))
hist_detected,bins = np.histogram(distance_detected,bins=numbins_distance,range=range_distance)
hist,bins = np.histogram(distance, bins=numbins_distance, range=range_distance)
brightness_hist_detected,bins_brightness = np.histogram(brightness_detected,bins=numbins_brightness, range=range_brightness)
brightness_hist,bins_brightness = np.histogram(brightness,bins=numbins_brightness, range=range_brightness)

result1 = hist_detected*1./hist
result2 = brightness_hist_detected*1./brightness_hist
plt.subplot(211)
plt.bar(bins[:-1],result1,width=np.diff(bins))
plt.subplot(212)
plt.bar(bins_brightness[:-1],result2,width=np.diff(bins_brightness))
plt.show()