-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,20 +1,20 @@ | ||
1 pnas/ppm/1.ppm MUGSHOT | ||
3 pnas/ppm/3.ppm MUGSHOT | ||
5 pnas/ppm/5.ppm MUGSHOT | ||
7 pnas/ppm/7.ppm MUGSHOT | ||
9 pnas/ppm/9.ppm MUGSHOT | ||
11 pnas/ppm/11.ppm MUGSHOT | ||
13 pnas/ppm/13.ppm MUGSHOT | ||
15 pnas/ppm/15.ppm MUGSHOT | ||
17 pnas/ppm/17.ppm MUGSHOT | ||
19 pnas/ppm/19.ppm MUGSHOT | ||
21 pnas/ppm/21.ppm MUGSHOT | ||
23 pnas/ppm/23.ppm MUGSHOT | ||
25 pnas/ppm/25.ppm MUGSHOT | ||
27 pnas/ppm/27.ppm MUGSHOT | ||
29 pnas/ppm/29.ppm MUGSHOT | ||
31 pnas/ppm/31.ppm MUGSHOT | ||
33 pnas/ppm/33.ppm MUGSHOT | ||
35 pnas/ppm/35.ppm MUGSHOT | ||
37 pnas/ppm/37.ppm MUGSHOT | ||
39 pnas/ppm/39.ppm MUGSHOT | ||
1 ../common/pnas/S001-0_1.ppm PNAS | ||
3 ../common/pnas/S002-0_3.ppm PNAS | ||
5 ../common/pnas/S003-0_5.ppm PNAS | ||
7 ../common/pnas/S004-0_7.ppm PNAS | ||
9 ../common/pnas/S005-0_9.ppm PNAS | ||
11 ../common/pnas/S006-0_11.ppm PNAS | ||
13 ../common/pnas/S007-0_13.ppm PNAS | ||
15 ../common/pnas/S008-0_15.ppm PNAS | ||
17 ../common/pnas/S009-0_17.ppm PNAS | ||
19 ../common/pnas/S010-0_19.ppm PNAS | ||
21 ../common/pnas/S011-0_21.ppm PNAS | ||
23 ../common/pnas/S012-0_23.ppm PNAS | ||
25 ../common/pnas/S013-0_25.ppm PNAS | ||
27 ../common/pnas/S015-0_27.ppm PNAS | ||
29 ../common/pnas/S017-0_29.ppm PNAS | ||
31 ../common/pnas/S019-0_31.ppm PNAS | ||
33 ../common/pnas/S021-0_33.ppm PNAS | ||
35 ../common/pnas/S023-0_35.ppm PNAS | ||
37 ../common/pnas/S025-0_37.ppm PNAS | ||
39 ../common/pnas/S027-0_39.ppm PNAS |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,20 +1,20 @@ | ||
2 pnas/ppm/2.ppm MUGSHOT | ||
4 pnas/ppm/4.ppm MUGSHOT | ||
6 pnas/ppm/6.ppm MUGSHOT | ||
8 pnas/ppm/8.ppm MUGSHOT | ||
10 pnas/ppm/10.ppm MUGSHOT | ||
12 pnas/ppm/12.ppm MUGSHOT | ||
14 pnas/ppm/14.ppm MUGSHOT | ||
16 pnas/ppm/16.ppm MUGSHOT | ||
18 pnas/ppm/18.ppm MUGSHOT | ||
20 pnas/ppm/20.ppm MUGSHOT | ||
22 pnas/ppm/22.ppm MUGSHOT | ||
24 pnas/ppm/24.ppm MUGSHOT | ||
26 pnas/ppm/26.ppm MUGSHOT | ||
28 pnas/ppm/28.ppm MUGSHOT | ||
30 pnas/ppm/30.ppm MUGSHOT | ||
32 pnas/ppm/32.ppm MUGSHOT | ||
34 pnas/ppm/34.ppm MUGSHOT | ||
36 pnas/ppm/36.ppm MUGSHOT | ||
38 pnas/ppm/38.ppm MUGSHOT | ||
40 pnas/ppm/40.ppm MUGSHOT | ||
2 ../common/pnas/S001-0_2.ppm PNAS | ||
4 ../common/pnas/S002-0_4.ppm PNAS | ||
6 ../common/pnas/S003-0_6.ppm PNAS | ||
8 ../common/pnas/S004-0_8.ppm PNAS | ||
10 ../common/pnas/S005-0_10.ppm PNAS | ||
12 ../common/pnas/S006-0_12.ppm PNAS | ||
14 ../common/pnas/S007-0_14.ppm PNAS | ||
16 ../common/pnas/S008-0_16.ppm PNAS | ||
18 ../common/pnas/S009-0_18.ppm PNAS | ||
20 ../common/pnas/S010-0_20.ppm PNAS | ||
22 ../common/pnas/S011-0_22.ppm PNAS | ||
24 ../common/pnas/S012-0_24.ppm PNAS | ||
26 ../common/pnas/S014-0_26.ppm PNAS | ||
28 ../common/pnas/S016-0_28.ppm PNAS | ||
30 ../common/pnas/S018-0_30.ppm PNAS | ||
32 ../common/pnas/S020-0_32.ppm PNAS | ||
34 ../common/pnas/S022-0_34.ppm PNAS | ||
36 ../common/pnas/S024-0_36.ppm PNAS | ||
38 ../common/pnas/S026-0_38.ppm PNAS | ||
40 ../common/pnas/S028-0_40.ppm PNAS |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
import numpy as np | ||
import matplotlib.pyplot as plt | ||
import seaborn as sns | ||
import pandas as pd | ||
|
||
def loadDataframe(fileDirectory): | ||
# Load from a file | ||
enrolldir = fileDirectory + "/enroll.log" | ||
verifdir = fileDirectory + "/verif.log" | ||
matchdir = fileDirectory + "/match.log" | ||
dfEnroll = pd.read_csv(enrolldir, delimiter= '\s+') | ||
dfVerif = pd.read_csv(verifdir, delimiter= '\s+') | ||
dfMatch = pd.read_csv(matchdir, delimiter= '\s+') | ||
# Get UUID | ||
imgEnrollName = ([p.strip().split('/')[3] for p in dfEnroll['image']]) | ||
noExtEnrollName = [n.strip(".ppm") for n in imgEnrollName] | ||
enrollUUID = ([n.strip().split('-')[0] for n in noExtEnrollName]) | ||
dfEnroll['UUID'] = enrollUUID | ||
imgVerifName = ([p.strip().split('/')[3] for p in dfVerif['image']]) | ||
noExtVerifName = [n.strip(".ppm") for n in imgVerifName] | ||
verifUUID = ([n.strip().split('-')[0] for n in noExtVerifName]) | ||
dfVerif['UUID'] = verifUUID | ||
# print(dfEnroll.head()) | ||
# print(dfVerif.head()) | ||
# print(dfMatch.head()) | ||
return dfEnroll,dfVerif,dfMatch | ||
|
||
def plotGIBoxScatter(dfGIbox): | ||
#label for same id(Genuine) and different id(Imposter) | ||
# ax = sns.boxplot(x="GIlabel", y="score", data=dfGIbox, showfliers = False) | ||
ax = sns.swarmplot(x="GIlabel", y="score", data=dfGIbox, hue="returnCode") | ||
minVal = dfGIbox['score'].min() | ||
maxVal = dfGIbox['score'].max() | ||
tickLen = float(maxVal - minVal)/20.0 | ||
plt.yticks(np.arange(minVal, maxVal, tickLen)) | ||
plt.grid() | ||
plt.savefig('GIboxPlot.png') | ||
plt.show() | ||
return plt | ||
|
||
#load image list | ||
dfEnroll, dfVerif, dfMatch = loadDataframe('validation') | ||
|
||
#match pairs similarity score | ||
dfGIbox = pd.DataFrame(columns=['GIlabel','score','returnCode']) | ||
for i in range(len(dfMatch)): | ||
dfGIbox.at[i,'score'] = dfMatch.at[i,'simScore'] | ||
if dfEnroll.at[i, 'returnCode'] != 0 or dfVerif.at[i, 'returnCode'] != 0: | ||
dfGIbox.at[i, 'returnCode'] = 'FaceDetectionError' | ||
else: | ||
dfGIbox.at[i, 'returnCode'] = 'MatchSuccess' | ||
if dfEnroll.at[i, 'UUID'] == dfVerif.at[i, 'UUID']: | ||
dfGIbox.at[i, 'GIlabel'] = 'Genuine' | ||
else: | ||
dfGIbox.at[i, 'GIlabel'] = 'Imposter' | ||
# print(dfGIbox) | ||
plotGIBoxScatter(dfGIbox) |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
numpy==1.15.4 | ||
matplotlib | ||
seaborn |
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.