diff options
| author | Thibaut Horel <thibaut.horel@gmail.com> | 2012-02-20 15:51:34 -0800 |
|---|---|---|
| committer | Thibaut Horel <thibaut.horel@gmail.com> | 2012-02-20 15:51:34 -0800 |
| commit | e59601a109ad24b6226d37a76ac849ba3da8f1df (patch) | |
| tree | 024d93328d2ae948416ccc00a8a345d3ff30c657 /data/face-recognition-accuracy.py | |
| parent | dc57d539f6dc26fabfaf26935ace3ea07aa49965 (diff) | |
| download | kinect-e59601a109ad24b6226d37a76ac849ba3da8f1df.tar.gz | |
Recognition accuracy as a function of distance and brightness.
Diffstat (limited to 'data/face-recognition-accuracy.py')
| -rwxr-xr-x | data/face-recognition-accuracy.py | 49 |
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() |
