summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xdata/face-run-recognition-accuracy.py53
1 files changed, 53 insertions, 0 deletions
diff --git a/data/face-run-recognition-accuracy.py b/data/face-run-recognition-accuracy.py
new file mode 100755
index 0000000..00feb8f
--- /dev/null
+++ b/data/face-run-recognition-accuracy.py
@@ -0,0 +1,53 @@
+#!/usr/bin/python
+import os
+import sys
+import pickle
+
+prun = 0
+runs = {}
+labels = {}
+users = pickle.load((open(sys.argv[3])))
+recs = map(lambda x:0,users)
+
+for line in open(sys.argv[1]):
+ line = line.split(',')
+ try:
+ run = int(line[2])
+ except:
+ continue
+ user = line[1]
+ if run not in runs:
+ runs[run] = 0
+ labels[run] = users.index(user) + 1
+
+for line in open(sys.argv[2]):
+ line = line.split(',')
+ try:
+ run = int(line[2])
+ except:
+ continue
+ user = line[1]
+ rec = ' '.join(line[6].split('@')[0].split('_'))
+ if run != prun and prun > 0:
+ runs[prun] = recs.index(max(recs))+1
+ recs = map(lambda x:0,users)
+ recs[users.index(user)] += 1
+ prun = run
+
+t=0.0
+tp=0.0
+fp=0.0
+fn=0.0
+for (k,v) in runs.items():
+ if v == 0:
+ fn += 1
+ elif v != labels[k]:
+ fp += 1
+ else:
+ tp += 1
+ t += 1
+
+print("True positives: ",tp/t)
+print("False positives: ",fp/t)
+print("False negatives: ",fn/t)
+