summaryrefslogtreecommitdiffstats
path: root/data/face-recognition-accuracy.py
diff options
context:
space:
mode:
authorThibaut Horel <thibaut.horel@gmail.com>2012-02-20 15:51:34 -0800
committerThibaut Horel <thibaut.horel@gmail.com>2012-02-20 15:51:34 -0800
commite59601a109ad24b6226d37a76ac849ba3da8f1df (patch)
tree024d93328d2ae948416ccc00a8a345d3ff30c657 /data/face-recognition-accuracy.py
parentdc57d539f6dc26fabfaf26935ace3ea07aa49965 (diff)
downloadkinect-e59601a109ad24b6226d37a76ac849ba3da8f1df.tar.gz
Recognition accuracy as a function of distance and brightness.
Diffstat (limited to 'data/face-recognition-accuracy.py')
-rwxr-xr-xdata/face-recognition-accuracy.py49
1 files changed, 49 insertions, 0 deletions
diff --git a/data/face-recognition-accuracy.py b/data/face-recognition-accuracy.py
new file mode 100755
index 0000000..8b3584f
--- /dev/null
+++ b/data/face-recognition-accuracy.py
@@ -0,0 +1,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()