Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
bob
bob.paper.btas2018_siliconemask
Commits
7ddaeaa1
Commit
7ddaeaa1
authored
Nov 13, 2017
by
Amir MOHAMMADI
Browse files
G to g
parent
c6b3706d
Changes
17
Hide whitespace changes
Inline
Side-by-side
bob/paper/cvpr2018_facevuln/database/config.py
View file @
7ddaeaa1
from
bob.paper.cvpr2018_facevuln.database
import
Database
ORIGINAL_DIRECTORY
=
'[SILICONECVPR_3DMask_Data_DIRECTORY]'
database_licit
=
Database
(
original_directory
=
ORIGINAL_DIRECTORY
,
protocol
=
'licit'
)
database_spoof
=
Database
(
original_directory
=
ORIGINAL_DIRECTORY
,
protocol
=
'spoof'
)
database
=
Database
(
original_directory
=
ORIGINAL_DIRECTORY
)
bob/paper/cvpr2018_facevuln/database/lists/licit/dev/bona_fides.lst
View file @
7ddaeaa1
...
...
@@ -29,7 +29,7 @@ Mask_Batl_Data4_BonaFide/captured/no_glasses/A_gen_i2_063.h5 A
Mask_Batl_Data4_BonaFide/captured/no_glasses/A_gen_i3_064.h5 A
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i0_006.h5 B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i3_002.h5 B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_
G
en_i2_001.h5 B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_
g
en_i2_001.h5 B
Mask_Batl_Data4_BonaFide/captured/no_glasses/D_gen_i0_001.h5 D
Mask_Batl_Data4_BonaFide/captured/no_glasses/D_gen_i1_003.h5 D
Mask_Batl_Data4_BonaFide/captured/no_glasses/D_gen_i2_004.h5 D
...
...
bob/paper/cvpr2018_facevuln/database/lists/licit/dev/for_scores.lst
View file @
7ddaeaa1
...
...
@@ -22,7 +22,7 @@ Mask_Batl_Data4_BonaFide/captured/no_glasses/A_gen_i2_063.h5 A A A
Mask_Batl_Data4_BonaFide/captured/no_glasses/A_gen_i3_064.h5 A A A
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i0_006.h5 B B B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i3_002.h5 B B B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_
G
en_i2_001.h5 B B B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_
g
en_i2_001.h5 B B B
Mask_Batl_Data4_BonaFide/captured/no_glasses/D_gen_i0_001.h5 D D D
Mask_Batl_Data4_BonaFide/captured/no_glasses/D_gen_i1_003.h5 D D D
Mask_Batl_Data4_BonaFide/captured/no_glasses/D_gen_i2_004.h5 D D D
...
...
@@ -185,11 +185,11 @@ Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i0_006.h5 C C B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i0_006.h5 D D B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i0_006.h5 E E B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i0_006.h5 F F B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_
G
en_i2_001.h5 A A B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_
G
en_i2_001.h5 C C B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_
G
en_i2_001.h5 D D B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_
G
en_i2_001.h5 E E B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_
G
en_i2_001.h5 F F B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_
g
en_i2_001.h5 A A B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_
g
en_i2_001.h5 C C B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_
g
en_i2_001.h5 D D B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_
g
en_i2_001.h5 E E B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_
g
en_i2_001.h5 F F B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i3_002.h5 A A B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i3_002.h5 C C B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i3_002.h5 D D B
...
...
bob/paper/cvpr2018_facevuln/database/lists/licit/dev/zei.lst
View file @
7ddaeaa1
...
...
@@ -148,11 +148,11 @@ Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i0_006.h5 C C B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i0_006.h5 D D B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i0_006.h5 E E B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i0_006.h5 F F B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_
G
en_i2_001.h5 A A B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_
G
en_i2_001.h5 C C B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_
G
en_i2_001.h5 D D B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_
G
en_i2_001.h5 E E B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_
G
en_i2_001.h5 F F B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_
g
en_i2_001.h5 A A B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_
g
en_i2_001.h5 C C B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_
g
en_i2_001.h5 D D B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_
g
en_i2_001.h5 E E B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_
g
en_i2_001.h5 F F B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i3_002.h5 A A B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i3_002.h5 C C B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i3_002.h5 D D B
...
...
bob/paper/cvpr2018_facevuln/database/lists/protocol2_licit/dev/bona_fides.lst
View file @
7ddaeaa1
...
...
@@ -28,8 +28,8 @@ Mask_Batl_Data4_BonaFide/captured/no_glasses/A_gen_i1_062.h5 A
Mask_Batl_Data4_BonaFide/captured/no_glasses/A_gen_i2_063.h5 A
Mask_Batl_Data4_BonaFide/captured/no_glasses/A_gen_i3_064.h5 A
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i0_006.h5 B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i2_001.h5 B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i3_002.h5 B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_Gen_i2_001.h5 B
Mask_Batl_Data4_BonaFide/captured/no_glasses/D_gen_i0_001.h5 D
Mask_Batl_Data4_BonaFide/captured/no_glasses/D_gen_i1_003.h5 D
Mask_Batl_Data4_BonaFide/captured/no_glasses/D_gen_i2_004.h5 D
...
...
bob/paper/cvpr2018_facevuln/database/lists/protocol2_licit/dev/for_models.lst
View file @
7ddaeaa1
...
...
@@ -9,7 +9,7 @@ Mask_Batl_Data4_BonaFide/captured/no_glasses/A_gen_i1_062.h5 A A
Mask_Batl_Data4_BonaFide/captured/no_glasses/A_gen_i2_063.h5 A A
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i0_006.h5 B B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i3_002.h5 B B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_
G
en_i2_001.h5 B B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_
g
en_i2_001.h5 B B
Mask_Batl_Data4_BonaFide/captured/no_glasses/D_gen_i0_001.h5 D D
Mask_Batl_Data4_BonaFide/captured/no_glasses/D_gen_i1_003.h5 D D
Mask_Batl_Data4_BonaFide/captured/no_glasses/D_gen_i2_004.h5 D D
bob/paper/cvpr2018_facevuln/database/lists/protocol2_licit/dev/for_scores.lst
View file @
7ddaeaa1
...
...
@@ -65,10 +65,10 @@ Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i0_006.h5 A A B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i0_006.h5 D D B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i0_006.h5 E E B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i0_006.h5 F F B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_
G
en_i2_001.h5 A A B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_
G
en_i2_001.h5 D D B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_
G
en_i2_001.h5 E E B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_
G
en_i2_001.h5 F F B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_
g
en_i2_001.h5 A A B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_
g
en_i2_001.h5 D D B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_
g
en_i2_001.h5 E E B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_
g
en_i2_001.h5 F F B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i3_002.h5 A A B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i3_002.h5 D D B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i3_002.h5 E E B
...
...
bob/paper/cvpr2018_facevuln/database/lists/protocol2_licit/dev/zei.lst
View file @
7ddaeaa1
...
...
@@ -148,11 +148,11 @@ Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i0_006.h5 C C B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i0_006.h5 D D B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i0_006.h5 E E B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i0_006.h5 F F B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_
G
en_i2_001.h5 A A B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_
G
en_i2_001.h5 C C B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_
G
en_i2_001.h5 D D B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_
G
en_i2_001.h5 E E B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_
G
en_i2_001.h5 F F B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_
g
en_i2_001.h5 A A B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_
g
en_i2_001.h5 C C B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_
g
en_i2_001.h5 D D B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_
g
en_i2_001.h5 E E B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_
g
en_i2_001.h5 F F B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i3_002.h5 A A B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i3_002.h5 C C B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i3_002.h5 D D B
...
...
bob/paper/cvpr2018_facevuln/database/lists/protocol2_spoof/dev/for_models.lst
View file @
7ddaeaa1
...
...
@@ -9,7 +9,7 @@ Mask_Batl_Data4_BonaFide/captured/no_glasses/A_gen_i1_062.h5 A A
Mask_Batl_Data4_BonaFide/captured/no_glasses/A_gen_i2_063.h5 A A
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i0_006.h5 B B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i3_002.h5 B B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_
G
en_i2_001.h5 B B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_
g
en_i2_001.h5 B B
Mask_Batl_Data4_BonaFide/captured/no_glasses/D_gen_i0_001.h5 D D
Mask_Batl_Data4_BonaFide/captured/no_glasses/D_gen_i1_003.h5 D D
Mask_Batl_Data4_BonaFide/captured/no_glasses/D_gen_i2_004.h5 D D
bob/paper/cvpr2018_facevuln/database/lists/protocol2_spoof/dev/for_scores.lst
View file @
7ddaeaa1
...
...
@@ -13,115 +13,115 @@ Mask_Batl_Data4_BonaFide/captured/withglasses/D_genglasses_i1_002.h5 D D D
Mask_Batl_Data4_BonaFide/captured/withglasses/D_genglasses_i2_003.h5 D D D
Mask_Batl_Data4_BonaFide/captured/withglasses/D_genglasses_i3_004.h5 D D D
# ATTACK PROBE
Mask_Batl_Data/attack/F_atk_A1_i0_011.h5 A A attack/
A1
Mask_Batl_Data/attack/F_atk_A1_i1_012.h5 A A attack/
A1
Mask_Batl_Data/attack/F_atk_A1_i2_013.h5 A A attack/
A1
Mask_Batl_Data/attack/F_atk_A1_i3_014.h5 A A attack/
A1
Mask_Batl_Data/attack/F_atk_A2_i0_015.h5 A A attack/
A2
Mask_Batl_Data/attack/F_atk_A2_i1_016.h5 A A attack/
A2
Mask_Batl_Data/attack/F_atk_A2_i2_017.h5 A A attack/
A2
Mask_Batl_Data/attack/F_atk_A2_i3_018.h5 A A attack/
A2
Mask_Batl_Data/attack/F_atk_B1_i0_019.h5 B B attack/
B1
Mask_Batl_Data/attack/F_atk_B1_i1_020.h5 B B attack/
B1
Mask_Batl_Data/attack/F_atk_B1_i2_021.h5 B B attack/
B1
Mask_Batl_Data/attack/F_atk_B1_i3_022.h5 B B attack/
B1
Mask_Batl_Data/attack/F_atk_B2_i0_023.h5 B B attack/
B2
Mask_Batl_Data/attack/F_atk_B2_i1_024.h5 B B attack/
B2
Mask_Batl_Data/attack/F_atk_B2_i2_025.h5 B B attack/
B2
Mask_Batl_Data/attack/F_atk_B2_i3_026.h5 B B attack/
B2
Mask_Batl_Data/attack/F_atk_C1_i0_027.h5 C C attack/
C1
Mask_Batl_Data/attack/F_atk_C1_i1_028.h5 C C attack/
C1
Mask_Batl_Data/attack/F_atk_C1_i2_029.h5 C C attack/
C1
Mask_Batl_Data/attack/F_atk_C1_i3_030.h5 C C attack/
C1
Mask_Batl_Data/attack/F_atk_C2_i0_031.h5 C C attack/
C2
Mask_Batl_Data/attack/F_atk_C2_i1_032.h5 C C attack/
C2
Mask_Batl_Data/attack/F_atk_C2_i2_033.h5 C C attack/
C2
Mask_Batl_Data/attack/F_atk_C2_i3_034.h5 C C attack/
C2
Mask_Batl_Data/attack/F_atk_C3_i0_065.h5 C C attack/
C3
Mask_Batl_Data/attack/F_atk_C3_i1_066.h5 C C attack/
C3
Mask_Batl_Data/attack/F_atk_C3_i2_067.h5 C C attack/
C3
Mask_Batl_Data/attack/F_atk_C3_i3_068.h5 C C attack/
C3
Mask_Batl_Data/attack/F_atk_D1_i0_035.h5 D D attack/
D1
Mask_Batl_Data/attack/F_atk_D1_i1_036.h5 D D attack/
D1
Mask_Batl_Data/attack/F_atk_D1_i2_037.h5 D D attack/
D1
Mask_Batl_Data/attack/F_atk_D1_i3_038.h5 D D attack/
D1
Mask_Batl_Data/attack/F_atk_D2_i0_039.h5 D D attack/
D2
Mask_Batl_Data/attack/F_atk_D2_i1_040.h5 D D attack/
D2
Mask_Batl_Data/attack/F_atk_D2_i2_041.h5 D D attack/
D2
Mask_Batl_Data/attack/F_atk_D2_i3_042.h5 D D attack/
D2
Mask_Batl_Data/attack/F_atk_D3_i0_061.h5 D D attack/
D3
Mask_Batl_Data/attack/F_atk_D3_i1_062.h5 D D attack/
D3
Mask_Batl_Data/attack/F_atk_D3_i2_063.h5 D D attack/
D3
Mask_Batl_Data/attack/F_atk_D3_i3_064.h5 D D attack/
D3
Mask_Batl_Data/attack/F_atk_E1_i0_043.h5 E E attack/
E1
Mask_Batl_Data/attack/F_atk_E1_i1_044.h5 E E attack/
E1
Mask_Batl_Data/attack/F_atk_E1_i2_045.h5 E E attack/
E1
Mask_Batl_Data/attack/F_atk_E1_i3_046.h5 E E attack/
E1
Mask_Batl_Data/attack/F_atk_E2_i0_047.h5 E E attack/
E2
Mask_Batl_Data/attack/F_atk_E2_i1_048.h5 E E attack/
E2
Mask_Batl_Data/attack/F_atk_E2_i2_049.h5 E E attack/
E2
Mask_Batl_Data/attack/F_atk_E2_i3_050.h5 E E attack/
E2
Mask_Batl_Data/attack/F_atk_F1_i0_051.h5 F F attack/
F1
Mask_Batl_Data/attack/F_atk_F1_i1_052.h5 F F attack/
F1
Mask_Batl_Data/attack/F_atk_F1_i2_053.h5 F F attack/
F1
Mask_Batl_Data/attack/F_atk_F1_i3_054.h5 F F attack/
F1
Mask_Batl_Data/attack/F_atk_F2_i0_055.h5 F F attack/
F2
Mask_Batl_Data/attack/F_atk_F2_i1_056.h5 F F attack/
F2
Mask_Batl_Data/attack/F_atk_F2_i2_059.h5 F F attack/
F2
Mask_Batl_Data/attack/F_atk_F2_i3_060.h5 F F attack/
F2
Mask_Batl_Data3/attack/E_atk_A1_i0_001.h5 A A attack/
A1
Mask_Batl_Data3/attack/E_atk_A1_i1_002.h5 A A attack/
A1
Mask_Batl_Data3/attack/E_atk_A1_i2_003.h5 A A attack/
A1
Mask_Batl_Data3/attack/E_atk_A1_i3_004.h5 A A attack/
A1
Mask_Batl_Data3/attack/E_atk_A2_i0_005.h5 A A attack/
A2
Mask_Batl_Data3/attack/E_atk_A2_i1_006.h5 A A attack/
A2
Mask_Batl_Data3/attack/E_atk_A2_i2_007.h5 A A attack/
A2
Mask_Batl_Data3/attack/E_atk_A2_i3_008.h5 A A attack/
A2
Mask_Batl_Data3/attack/E_atk_B1_i0_009.h5 B B attack/
B1
Mask_Batl_Data3/attack/E_atk_B1_i1_010.h5 B B attack/
B1
Mask_Batl_Data3/attack/E_atk_B1_i2_011.h5 B B attack/
B1
Mask_Batl_Data3/attack/E_atk_B1_i3_012.h5 B B attack/
B1
Mask_Batl_Data3/attack/E_atk_B2_i0_013.h5 B B attack/
B2
Mask_Batl_Data3/attack/E_atk_B2_i1_014.h5 B B attack/
B2
Mask_Batl_Data3/attack/E_atk_B2_i2_015.h5 B B attack/
B2
Mask_Batl_Data3/attack/E_atk_B2_i3_016.h5 B B attack/
B2
Mask_Batl_Data3/attack/E_atk_B3_i0_056.h5 B B attack/
B3
Mask_Batl_Data3/attack/E_atk_B3_i1_057.h5 B B attack/
B3
Mask_Batl_Data3/attack/E_atk_B3_i2_058.h5 B B attack/
B3
Mask_Batl_Data3/attack/E_atk_B3_i3_059.h5 B B attack/
B3
Mask_Batl_Data3/attack/E_atk_C1_i0_017.h5 C C attack/
C1
Mask_Batl_Data3/attack/E_atk_C1_i1_018.h5 C C attack/
C1
Mask_Batl_Data3/attack/E_atk_C1_i2_019.h5 C C attack/
C1
Mask_Batl_Data3/attack/E_atk_C1_i3_020.h5 C C attack/
C1
Mask_Batl_Data3/attack/E_atk_C2_i0_021.h5 C C attack/
C2
Mask_Batl_Data3/attack/E_atk_C2_i1_022.h5 C C attack/
C2
Mask_Batl_Data3/attack/E_atk_C2_i2_023.h5 C C attack/
C2
Mask_Batl_Data3/attack/E_atk_C2_i3_024.h5 C C attack/
C2
Mask_Batl_Data3/attack/E_atk_D1_i0_025.h5 D D attack/
D1
Mask_Batl_Data3/attack/E_atk_D1_i1_026.h5 D D attack/
D1
Mask_Batl_Data3/attack/E_atk_D1_i2_027.h5 D D attack/
D1
Mask_Batl_Data3/attack/E_atk_D1_i3_028.h5 D D attack/
D1
Mask_Batl_Data3/attack/E_atk_D2_i0_029.h5 D D attack/
D2
Mask_Batl_Data3/attack/E_atk_D2_i1_030.h5 D D attack/
D2
Mask_Batl_Data3/attack/E_atk_D2_i2_031.h5 D D attack/
D2
Mask_Batl_Data3/attack/E_atk_D2_i3_032.h5 D D attack/
D2
Mask_Batl_Data3/attack/E_atk_D3_i0_050.h5 D D attack/
D3
Mask_Batl_Data3/attack/E_atk_D3_i1_051.h5 D D attack/
D3
Mask_Batl_Data3/attack/E_atk_D3_i2_053.h5 D D attack/
D3
Mask_Batl_Data3/attack/E_atk_D3_i3_054.h5 D D attack/
D3
Mask_Batl_Data3/attack/E_atk_E1_i0_033.h5 E E attack/
E1
Mask_Batl_Data3/attack/E_atk_E1_i1_034.h5 E E attack/
E1
Mask_Batl_Data3/attack/E_atk_E1_i2_035.h5 E E attack/
E1
Mask_Batl_Data3/attack/E_atk_E1_i3_036.h5 E E attack/
E1
Mask_Batl_Data3/attack/E_atk_E2_i0_037.h5 E E attack/
E2
Mask_Batl_Data3/attack/E_atk_E2_i1_038.h5 E E attack/
E2
Mask_Batl_Data3/attack/E_atk_E2_i2_039.h5 E E attack/
E2
Mask_Batl_Data3/attack/E_atk_E2_i3_040.h5 E E attack/
E2
Mask_Batl_Data3/attack/E_atk_F1_i0_041.h5 F F attack/
F1
Mask_Batl_Data3/attack/E_atk_F1_i1_043.h5 F F attack/
F1
Mask_Batl_Data3/attack/E_atk_F1_i2_044.h5 F F attack/
F1
Mask_Batl_Data3/attack/E_atk_F1_i3_045.h5 F F attack/
F1
Mask_Batl_Data3/attack/E_atk_F2_i0_046.h5 F F attack/
F2
Mask_Batl_Data3/attack/E_atk_F2_i1_047.h5 F F attack/
F2
Mask_Batl_Data3/attack/E_atk_F2_i2_048.h5 F F attack/
F2
Mask_Batl_Data3/attack/E_atk_F2_i3_049.h5 F F attack/
F2
Mask_Batl_Data/attack/F_atk_A1_i0_011.h5 A A attack/
WEAR
Mask_Batl_Data/attack/F_atk_A1_i1_012.h5 A A attack/
WEAR
Mask_Batl_Data/attack/F_atk_A1_i2_013.h5 A A attack/
WEAR
Mask_Batl_Data/attack/F_atk_A1_i3_014.h5 A A attack/
WEAR
Mask_Batl_Data/attack/F_atk_A2_i0_015.h5 A A attack/
WEAR
Mask_Batl_Data/attack/F_atk_A2_i1_016.h5 A A attack/
WEAR
Mask_Batl_Data/attack/F_atk_A2_i2_017.h5 A A attack/
WEAR
Mask_Batl_Data/attack/F_atk_A2_i3_018.h5 A A attack/
WEAR
Mask_Batl_Data/attack/F_atk_B1_i0_019.h5 B B attack/
WEAR
Mask_Batl_Data/attack/F_atk_B1_i1_020.h5 B B attack/
WEAR
Mask_Batl_Data/attack/F_atk_B1_i2_021.h5 B B attack/
WEAR
Mask_Batl_Data/attack/F_atk_B1_i3_022.h5 B B attack/
WEAR
Mask_Batl_Data/attack/F_atk_B2_i0_023.h5 B B attack/
WEAR
Mask_Batl_Data/attack/F_atk_B2_i1_024.h5 B B attack/
WEAR
Mask_Batl_Data/attack/F_atk_B2_i2_025.h5 B B attack/
WEAR
Mask_Batl_Data/attack/F_atk_B2_i3_026.h5 B B attack/
WEAR
Mask_Batl_Data/attack/F_atk_C1_i0_027.h5 C C attack/
WEAR
Mask_Batl_Data/attack/F_atk_C1_i1_028.h5 C C attack/
WEAR
Mask_Batl_Data/attack/F_atk_C1_i2_029.h5 C C attack/
WEAR
Mask_Batl_Data/attack/F_atk_C1_i3_030.h5 C C attack/
WEAR
Mask_Batl_Data/attack/F_atk_C2_i0_031.h5 C C attack/
WEAR
Mask_Batl_Data/attack/F_atk_C2_i1_032.h5 C C attack/
WEAR
Mask_Batl_Data/attack/F_atk_C2_i2_033.h5 C C attack/
WEAR
Mask_Batl_Data/attack/F_atk_C2_i3_034.h5 C C attack/
WEAR
Mask_Batl_Data/attack/F_atk_C3_i0_065.h5 C C attack/
WEAR
Mask_Batl_Data/attack/F_atk_C3_i1_066.h5 C C attack/
WEAR
Mask_Batl_Data/attack/F_atk_C3_i2_067.h5 C C attack/
WEAR
Mask_Batl_Data/attack/F_atk_C3_i3_068.h5 C C attack/
WEAR
Mask_Batl_Data/attack/F_atk_D1_i0_035.h5 D D attack/
WEAR
Mask_Batl_Data/attack/F_atk_D1_i1_036.h5 D D attack/
WEAR
Mask_Batl_Data/attack/F_atk_D1_i2_037.h5 D D attack/
WEAR
Mask_Batl_Data/attack/F_atk_D1_i3_038.h5 D D attack/
WEAR
Mask_Batl_Data/attack/F_atk_D2_i0_039.h5 D D attack/
WEAR
Mask_Batl_Data/attack/F_atk_D2_i1_040.h5 D D attack/
WEAR
Mask_Batl_Data/attack/F_atk_D2_i2_041.h5 D D attack/
WEAR
Mask_Batl_Data/attack/F_atk_D2_i3_042.h5 D D attack/
WEAR
Mask_Batl_Data/attack/F_atk_D3_i0_061.h5 D D attack/
WEAR
Mask_Batl_Data/attack/F_atk_D3_i1_062.h5 D D attack/
WEAR
Mask_Batl_Data/attack/F_atk_D3_i2_063.h5 D D attack/
WEAR
Mask_Batl_Data/attack/F_atk_D3_i3_064.h5 D D attack/
WEAR
Mask_Batl_Data/attack/F_atk_E1_i0_043.h5 E E attack/
WEAR
Mask_Batl_Data/attack/F_atk_E1_i1_044.h5 E E attack/
WEAR
Mask_Batl_Data/attack/F_atk_E1_i2_045.h5 E E attack/
WEAR
Mask_Batl_Data/attack/F_atk_E1_i3_046.h5 E E attack/
WEAR
Mask_Batl_Data/attack/F_atk_E2_i0_047.h5 E E attack/
WEAR
Mask_Batl_Data/attack/F_atk_E2_i1_048.h5 E E attack/
WEAR
Mask_Batl_Data/attack/F_atk_E2_i2_049.h5 E E attack/
WEAR
Mask_Batl_Data/attack/F_atk_E2_i3_050.h5 E E attack/
WEAR
Mask_Batl_Data/attack/F_atk_F1_i0_051.h5 F F attack/
WEAR
Mask_Batl_Data/attack/F_atk_F1_i1_052.h5 F F attack/
WEAR
Mask_Batl_Data/attack/F_atk_F1_i2_053.h5 F F attack/
WEAR
Mask_Batl_Data/attack/F_atk_F1_i3_054.h5 F F attack/
WEAR
Mask_Batl_Data/attack/F_atk_F2_i0_055.h5 F F attack/
WEAR
Mask_Batl_Data/attack/F_atk_F2_i1_056.h5 F F attack/
WEAR
Mask_Batl_Data/attack/F_atk_F2_i2_059.h5 F F attack/
WEAR
Mask_Batl_Data/attack/F_atk_F2_i3_060.h5 F F attack/
WEAR
Mask_Batl_Data3/attack/E_atk_A1_i0_001.h5 A A attack/
WEAR
Mask_Batl_Data3/attack/E_atk_A1_i1_002.h5 A A attack/
WEAR
Mask_Batl_Data3/attack/E_atk_A1_i2_003.h5 A A attack/
WEAR
Mask_Batl_Data3/attack/E_atk_A1_i3_004.h5 A A attack/
WEAR
Mask_Batl_Data3/attack/E_atk_A2_i0_005.h5 A A attack/
WEAR
Mask_Batl_Data3/attack/E_atk_A2_i1_006.h5 A A attack/
WEAR
Mask_Batl_Data3/attack/E_atk_A2_i2_007.h5 A A attack/
WEAR
Mask_Batl_Data3/attack/E_atk_A2_i3_008.h5 A A attack/
WEAR
Mask_Batl_Data3/attack/E_atk_B1_i0_009.h5 B B attack/
WEAR
Mask_Batl_Data3/attack/E_atk_B1_i1_010.h5 B B attack/
WEAR
Mask_Batl_Data3/attack/E_atk_B1_i2_011.h5 B B attack/
WEAR
Mask_Batl_Data3/attack/E_atk_B1_i3_012.h5 B B attack/
WEAR
Mask_Batl_Data3/attack/E_atk_B2_i0_013.h5 B B attack/
WEAR
Mask_Batl_Data3/attack/E_atk_B2_i1_014.h5 B B attack/
WEAR
Mask_Batl_Data3/attack/E_atk_B2_i2_015.h5 B B attack/
WEAR
Mask_Batl_Data3/attack/E_atk_B2_i3_016.h5 B B attack/
WEAR
Mask_Batl_Data3/attack/E_atk_B3_i0_056.h5 B B attack/
WEAR
Mask_Batl_Data3/attack/E_atk_B3_i1_057.h5 B B attack/
WEAR
Mask_Batl_Data3/attack/E_atk_B3_i2_058.h5 B B attack/
WEAR
Mask_Batl_Data3/attack/E_atk_B3_i3_059.h5 B B attack/
WEAR
Mask_Batl_Data3/attack/E_atk_C1_i0_017.h5 C C attack/
WEAR
Mask_Batl_Data3/attack/E_atk_C1_i1_018.h5 C C attack/
WEAR
Mask_Batl_Data3/attack/E_atk_C1_i2_019.h5 C C attack/
WEAR
Mask_Batl_Data3/attack/E_atk_C1_i3_020.h5 C C attack/
WEAR
Mask_Batl_Data3/attack/E_atk_C2_i0_021.h5 C C attack/
WEAR
Mask_Batl_Data3/attack/E_atk_C2_i1_022.h5 C C attack/
WEAR
Mask_Batl_Data3/attack/E_atk_C2_i2_023.h5 C C attack/
WEAR
Mask_Batl_Data3/attack/E_atk_C2_i3_024.h5 C C attack/
WEAR
Mask_Batl_Data3/attack/E_atk_D1_i0_025.h5 D D attack/
WEAR
Mask_Batl_Data3/attack/E_atk_D1_i1_026.h5 D D attack/
WEAR
Mask_Batl_Data3/attack/E_atk_D1_i2_027.h5 D D attack/
WEAR
Mask_Batl_Data3/attack/E_atk_D1_i3_028.h5 D D attack/
WEAR
Mask_Batl_Data3/attack/E_atk_D2_i0_029.h5 D D attack/
WEAR
Mask_Batl_Data3/attack/E_atk_D2_i1_030.h5 D D attack/
WEAR
Mask_Batl_Data3/attack/E_atk_D2_i2_031.h5 D D attack/
WEAR
Mask_Batl_Data3/attack/E_atk_D2_i3_032.h5 D D attack/
WEAR
Mask_Batl_Data3/attack/E_atk_D3_i0_050.h5 D D attack/
WEAR
Mask_Batl_Data3/attack/E_atk_D3_i1_051.h5 D D attack/
WEAR
Mask_Batl_Data3/attack/E_atk_D3_i2_053.h5 D D attack/
WEAR
Mask_Batl_Data3/attack/E_atk_D3_i3_054.h5 D D attack/
WEAR
Mask_Batl_Data3/attack/E_atk_E1_i0_033.h5 E E attack/
WEAR
Mask_Batl_Data3/attack/E_atk_E1_i1_034.h5 E E attack/
WEAR
Mask_Batl_Data3/attack/E_atk_E1_i2_035.h5 E E attack/
WEAR
Mask_Batl_Data3/attack/E_atk_E1_i3_036.h5 E E attack/
WEAR
Mask_Batl_Data3/attack/E_atk_E2_i0_037.h5 E E attack/
WEAR
Mask_Batl_Data3/attack/E_atk_E2_i1_038.h5 E E attack/
WEAR
Mask_Batl_Data3/attack/E_atk_E2_i2_039.h5 E E attack/
WEAR
Mask_Batl_Data3/attack/E_atk_E2_i3_040.h5 E E attack/
WEAR
Mask_Batl_Data3/attack/E_atk_F1_i0_041.h5 F F attack/
WEAR
Mask_Batl_Data3/attack/E_atk_F1_i1_043.h5 F F attack/
WEAR
Mask_Batl_Data3/attack/E_atk_F1_i2_044.h5 F F attack/
WEAR
Mask_Batl_Data3/attack/E_atk_F1_i3_045.h5 F F attack/
WEAR
Mask_Batl_Data3/attack/E_atk_F2_i0_046.h5 F F attack/
WEAR
Mask_Batl_Data3/attack/E_atk_F2_i1_047.h5 F F attack/
WEAR
Mask_Batl_Data3/attack/E_atk_F2_i2_048.h5 F F attack/
WEAR
Mask_Batl_Data3/attack/E_atk_F2_i3_049.h5 F F attack/
WEAR
bob/paper/cvpr2018_facevuln/database/lists/spoof/dev/for_scores.lst
View file @
7ddaeaa1
...
...
@@ -22,7 +22,7 @@ Mask_Batl_Data4_BonaFide/captured/no_glasses/A_gen_i2_063.h5 A A A
Mask_Batl_Data4_BonaFide/captured/no_glasses/A_gen_i3_064.h5 A A A
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i0_006.h5 B B B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i3_002.h5 B B B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_
G
en_i2_001.h5 B B B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_
g
en_i2_001.h5 B B B
Mask_Batl_Data4_BonaFide/captured/no_glasses/D_gen_i0_001.h5 D D D
Mask_Batl_Data4_BonaFide/captured/no_glasses/D_gen_i1_003.h5 D D D
Mask_Batl_Data4_BonaFide/captured/no_glasses/D_gen_i2_004.h5 D D D
...
...
bob/paper/cvpr2018_facevuln/script/vulnerability.py
View file @
7ddaeaa1
...
...
@@ -49,6 +49,7 @@ def report_iapmr_perattack(path, threshold):
def
vulnerability
(
licit_dev_scores
,
licit_test_scores
,
spoof_test_scores
):
FAR
=
0.01
licit_dev_neg
,
licit_dev_pos
,
licit_dev_fta
=
get_fta
(
get_negatives_positives_from_file
(
licit_dev_scores
))
# spoof_dev_neg, spoof_dev_pos, spoof_dev_fta = get_fta(
...
...
@@ -62,7 +63,7 @@ def vulnerability(licit_dev_scores, licit_test_scores, spoof_test_scores):
# compute IAPMR given the criteria: EER on dev, 0.1% FMR on dev licit
eer_threshold
=
bob
.
measure
.
eer_threshold
(
licit_dev_neg
,
licit_dev_pos
)
fmr_threshold
=
bob
.
measure
.
far_threshold
(
licit_dev_neg
,
licit_dev_pos
,
0.005
)
licit_dev_neg
,
licit_dev_pos
,
FAR
)
print
(
"Thresholds are {}, {}"
.
format
(
eer_threshold
,
fmr_threshold
))
# calculate FMR, FNMR, HTER, IAPMR for these thresholds
for
i
,
threshold
in
enumerate
([
eer_threshold
,
fmr_threshold
]):
...
...
@@ -76,7 +77,7 @@ def vulnerability(licit_dev_scores, licit_test_scores, spoof_test_scores):
if
i
==
0
:
# report_iapmr_perattack(spoof_test_scores, threshold)
print
(
"T_EER (FMR, FNMR, HTER, IAPMR) |"
" T_FMR_
0.5
(FMR, FNMR, HTER, IAPMR)"
)
" T_FMR_
{}
(FMR, FNMR, HTER, IAPMR)"
.
format
(
FAR
*
100
)
)
# calculate the 95% confidence intervals too
n
=
spoof_test_neg
.
size
x
=
n
-
sum
(
bob
.
measure
.
correctly_classified_negatives
(
spoof_test_neg
,
...
...
@@ -93,7 +94,7 @@ def vulnerability(licit_dev_scores, licit_test_scores, spoof_test_scores):
else
:
end
=
'
\n
'
print
(
"{:0.1f} & {:0.1f} & "
"{:0.1f} & {:0.1f}
{{[}}
{:0.1f}, {:0.1f}
{{]}}
"
.
format
(
"{:0.1f} & {:0.1f}
[
{:0.1f}, {:0.1f}
]
"
.
format
(
fmr
*
100
,
fnmr
*
100
,
hter
*
100
,
iapmr
*
100
,
lower_iapmr_bound
*
100
,
upper_iapmr_bound
*
100
),
end
=
end
),
...
...
config_siliconecvpr.py
0 → 100644
View file @
7ddaeaa1
from
bob.paper.cvpr2018_facevuln.database.config
import
database
database
.
original_directory
=
'[SILICONECVPR_3DMask_Data_DIRECTORY_PROCESSED]'
database
.
original_extension
=
'.hdf5'
groups
=
[
'dev'
]
skip_kmeans
=
True
skip_gmm
=
True
skip_isv
=
True
skip_extractor_training
=
True
skip_projector_training
=
True
skip_enroller_training
=
True
config_siliconecvpr_licit.py
View file @
7ddaeaa1
from
bob.paper.cvpr2018_facevuln.database.config
import
database_licit
as
database
database
.
original_directory
=
'[SILICONECVPR_3DMask_Data_DIRECTORY_PROCESSED]'
database
.
original_extension
=
'.hdf5'
groups
=
[
'dev'
]
skip_kmeans
=
True
...
...
config_siliconecvpr_spoof.py
View file @
7ddaeaa1
from
bob.paper.cvpr2018_facevuln.database.config
import
database_spoof
as
database
database
.
original_directory
=
'[SILICONECVPR_3DMask_Data_DIRECTORY_PROCESSED]'
database
.
original_extension
=
'.hdf5'
groups
=
[
'dev'
]
skip_kmeans
=
True
...
...
protocol2_dist.pdf
0 → 100644
View file @
7ddaeaa1
File added
run.sh
View file @
7ddaeaa1
#!/bin/bash
set
-ex
export
RESULTS_DIR
=
/home/amir/idiap/cvpr2018
RESULTS_DIR
=
/home/amir/idiap/cvpr2018
# PROTOCOLS=( "protocol1" "protocol2" )
PROTOCOLS
=(
"protocol2"
)
PROTOCOL_VARIANTS
=(
"_licit"
"_spoof"
)
ALGORITHMS
=(
"facenet"
"lightcnn"
"vgg"
)
TITLES
=
"FaceNet,LightCNN,VGG-Face"
# # Copy the database over
# for protocol in "${PROTOCOLS[@]}"; do
# bin/verify.py config_base.py config_siliconecvpr_prepare.py \
# config_preprocess.py -s ${RESULTS_DIR} -o preprocessing -r 1 \
# --protocol ${protocol}
# done
# # Run the performance and vulnerability analysis steps
# for protocol in "${PROTOCOLS[@]}"; do
# for licit in "${PROTOCOL_VARIANTS[@]}"; do
# # # FaceNet
# # bin/verify.py config_base.py config_siliconecvpr.py \
# # config_facenet.py -s ${RESULTS_DIR}/facenet \
# # --protocol ${protocol}${licit} -r 4
# # # VGG
# # bin/verify.py config_base.py config_siliconecvpr.py \
# # config_vgg.py -s ${RESULTS_DIR}/vgg \
# # --protocol ${protocol}${licit} -r 4
# # LightCNN
# bin/verify.py config_base.py config_siliconecvpr.py \
# config_lightcnn.py -s ${RESULTS_DIR}/lightcnn \
# --protocol ${protocol}${licit} -r 4
# done
# done
# Copy the database over
# bin/verify.py config_base.py config_siliconecvpr_licit_prepare.py config_preprocess.py -s ${RESULTS_DIR} -o preprocessing -r 1
# bin/verify.py config_base.py config_siliconecvpr_spoof_prepare.py config_preprocess.py -s ${RESULTS_DIR} -o preprocessing -r 1
# Run the performance and vulnerability analysis steps
# FaceNet
# bin/verify.py config_base.py config_facenet.py config_siliconecvpr_licit.py -s ${RESULTS_DIR}/facenet -r 4
# bin/verify.py config_base.py config_facenet.py config_siliconecvpr_spoof.py -s ${RESULTS_DIR}/facenet -r 4
# VGG
# bin/verify.py config_base.py config_vgg.py config_siliconecvpr_licit.py -s ${RESULTS_DIR}/vgg -r 4
# bin/verify.py config_base.py config_vgg.py config_siliconecvpr_spoof.py -s ${RESULTS_DIR}/vgg -r 4
# LightCNN
# bin/verify.py config_base.py config_lightcnn.py config_siliconecvpr_licit.py -s ${RESULTS_DIR}/lightcnn -r 4
# bin/verify.py config_base.py config_lightcnn.py config_siliconecvpr_spoof.py -s ${RESULTS_DIR}/lightcnn -r 4
# ISV
# bin/verify_isv.py config_base.py config_isv_eyes.py config_mobio.py --grid demanding -G isv_mobio.sql3 -s isv-male
# bin/verify_isv.py config_base.py config_isv_topleft.py config_replay_licit.py config_grid.py -G isv_replay_licit.sql3 --force
# bin/verify_isv.py config_base.py config_isv_topleft.py config_replay_spoof.py config_grid.py -G isv_replay_spoof.sql3 --force
# bin/verify_isv.py config_base.py config_isv_topleft.py config_replaymobile_licit.py config_grid.py -G isv_replaymobile_licit.sql3 --force
# bin/verify_isv.py config_base.py config_isv_topleft.py config_replaymobile_spoof.py config_grid.py -G isv_replaymobile_spoof.sql3 --force
# bin/verify_isv.py config_base.py config_isv_eyes.py config_msumfsd_licit.py config_grid.py --database-directories-file db_temp_folder.txt -G isv_msumfsd.sql3 --force
# bin/verify_isv.py config_base.py config_isv_eyes.py config_msumfsd_spoof.py config_grid.py --database-directories-file db_temp_folder.txt -G isv_msumfsd.sql3 --force -X `seq 1 12`
# RANKONE
# bin/verify.py config_base.py config_rankone.py config_mobio.py --skip-preprocessing --skip-extraction --skip-enrollment > log_rankone_mobio.txt 2>&1 &
# bin/verify.py config_base.py config_rankone_loaded.py config_replay_licit.py > log_rankone_replay_licit.txt 2>&1 &
# bin/verify.py config_base.py config_rankone_loaded.py config_replay_spoof.py > log_rankone_replay_spoof.txt 2>&1 &
# bin/verify.py config_base.py config_rankone_loaded.py config_replaymobile_licit.py > log_rankone_replaymobile_licit.txt 2>&1 &
# bin/verify.py config_base.py config_rankone_loaded.py config_replaymobile_spoof.py > log_rankone_replaymobile_spoof.txt 2>&1 &
# bin/verify.py config_base.py config_rankone_loaded.py config_replaymobile_licit.py config_grid.py -G rankone_replaymobile_licit.sql3 --force
# bin/verify.py config_base.py config_rankone_loaded.py config_replaymobile_spoof.py config_grid.py -G rankone_replaymobile_spoof.sql3 --force
# bin/verify.py config_base.py config_rankone_loaded.py config_msumfsd_licit.py --force > log_rankone_msumfsd_licit.txt 2>&1 && bin/verify.py config_base.py config_rankone_loaded.py config_msumfsd_spoof.py --force > log_rankone_msumfsd_spoof.txt 2>&1
# plot score distributions
# VGG-Face LightCNN FaceNet ROC-SDK ISV
for
protocol
in
"
${
PROTOCOLS
[@]
}
"
;
do
bin/plot_on_demand_better.py
-vvv
\
--title
${
TITLES
}
\
--output
${
protocol
}
_dist.pdf
\
~/idiap/cvpr2018/
{
facenet,lightcnn,vgg
}
/
${
protocol
}
{
_licit,_spoof
}
/nonorm/scores-dev
# vulnerability analysis table
echo
a priori threshold
for
alg
in
${
ALGORITHMS
[@]
}
;
do
echo
$alg
bin/vulnerability.py
\
./scores/mobio/
${
alg
}
-cosine
/male/nonorm/scores-dev
\
${
RESULTS_DIR
}
/
${
alg
}
/
${
protocol
}
{
_licit,_spoof
}
/nonorm/scores-dev
done
echo
a posteriori threshold
for
alg
in
${
ALGORITHMS
[@]
}
;
do
echo
$alg
bin/vulnerability.py
\
${
RESULTS_DIR
}
/
${
alg
}
/
${
protocol
}
_licit/nonorm/scores-dev
\
${
RESULTS_DIR
}
/
${
alg
}
/
${
protocol
}
{
_licit,_spoof
}
/nonorm/scores-dev
done
# GABORGRAPH
# bin/verify.py config_base.py config_gaborgraph_eyes.py config_mobio.py config_grid.py -G gaborgraph_mobio.sql3 -s gaborgraph-male
# bin/verify.py config_base.py config_gaborgraph_topleft.py config_replay_licit.py config_grid.py -G gaborgraph_replay_licit.sql3 --force
# bin/verify.py config_base.py config_gaborgraph_topleft.py config_replay_spoof.py config_grid.py -G gaborgraph_replay_spoof.sql3 --force
# bin/verify.py config_base.py config_gaborgraph_topleft.py config_replaymobile_licit.py config_grid.py -G gaborgraph_replaymobile_licit.sql3 --force
# bin/verify.py config_base.py config_gaborgraph_topleft.py config_replaymobile_spoof.py config_grid.py -G gaborgraph_replaymobile_spoof.sql3 --force
# bin/verify.py config_base.py config_gaborgraph_eyes.py config_msumfsd_licit.py config_grid.py --database-directories-file db_temp_folder.txt -G gaborgraph_msumfsd.sql3 --force
# bin/verify.py config_base.py config_gaborgraph_eyes.py config_msumfsd_spoof.py config_grid.py --database-directories-file db_temp_folder.txt -G gaborgraph_msumfsd.sql3 --force -X `seq 1 11`
done
# -l VGG-Face LightCNN FaceNet ROC-SDK ISV \
# plot score distributions
bin/plot_on_demand_better.py
-vvv
\
--title
FaceNet,LightCNN,VGG-Face
\
--output
protocol1_dist.pdf
\
~/idiap/cvpr2018/
{
facenet,lightcnn,vgg
}
/
{
licit,spoof
}
/nonorm/scores-dev
# bin/plot_on_demand.py ${RESULTS_DIR}/facenet/{licit,spoof}/nonorm/scores-dev -i 7 -o dist_siliconecvpr_facenet.pdf
# bin/plot_on_demand.py ${RESULTS_DIR}/facenet/{licit,spoof}/nonorm/scores-dev -i 11 -o epsc_sfar_siliconecvpr_facenet.pdf
# bin/python `which ipython` --pdb -- bin/plot_on_demand_better.py -v ${RESULTS_DIR}/{vgg-cosine,rankone,isv,gabor-graph}/grandtest-{licit,spoof}/nonorm/scores-{dev,eval} -t VGG-Face,ROC-SDK,ISV,Gabor-Graph -o "${db}_dist.pdf"
# for db in replay replay-mobile msu-mfsd-mod ; do bin/python `which ipython` --pdb -- antispoofing/evaluation/script/plot_on_demand_better.py -v /home/amir/idiap/user/mobio/vgg-cosine/male/nonorm/scores-dev /home/amir/idiap/user/mobio/vgg-cosine/male/nonorm/scores-eval /home/amir/idiap/user/${db}/vgg-cosine/grandtest-spoof/nonorm/scores-dev /home/amir/idiap/user/${db}/vgg-cosine/grandtest-spoof/nonorm/scores-eval /home/amir/idiap/user/mobio/rankone/male/nonorm/scores-dev /home/amir/idiap/user/mobio/rankone/male/nonorm/scores-eval /home/amir/idiap/user/${db}/rankone/grandtest-spoof/nonorm/scores-dev /home/amir/idiap/user/${db}/rankone/grandtest-spoof/nonorm/scores-eval /home/amir/idiap/user/mobio/isv-male/male/nonorm/scores-dev /home/amir/idiap/user/mobio/isv-male/male/nonorm/scores-eval /home/amir/idiap/user/${db}/isv/grandtest-spoof/nonorm/scores-dev /home/amir/idiap/user/${db}/isv/grandtest-spoof/nonorm/scores-eval /home/amir/idiap/user/mobio/gaborgraph-male/male/nonorm/scores-dev /home/amir/idiap/user/mobio/gaborgraph-male/male/nonorm/scores-eval /home/amir/idiap/user/${db}/gabor-graph/grandtest-spoof/nonorm/scores-dev /home/amir/idiap/user/${db}/gabor-graph/grandtest-spoof/nonorm/scores-eval -t VGG-Face,ROC-SDK,ISV,Gabor-Graph -o "${db}_mobio_dist.pdf" ; done
# vulnerability analysis table
echo
a priori threshold
for
alg
in
"facenet"
"lightcnn"
"vgg"
;
do
echo
$alg
bin/vulnerability.py
\
./scores/mobio/
${
alg
}
-cosine
/male/nonorm/scores-dev
\
${
RESULTS_DIR
}
/
${
alg
}
/
{
licit,spoof
}
/nonorm/scores-dev
done
echo
a posteriori threshold
for
alg
in
"facenet"
"lightcnn"
"vgg"
;
do
echo
$alg
bin/vulnerability.py
\
${
RESULTS_DIR
}
/
${
alg
}
/licit/nonorm/scores-dev
\
${
RESULTS_DIR
}
/
${
alg
}
/
{
licit,spoof
}
/nonorm/scores-dev
done
# score dist of all three datasets
# bin/python `which ipython` --pdb -- bin/plot_on_demand_better.py -v ~/idiap/user/three-{vgg-cosine,lightcnn-cosine,facenet-cosine,rankone,isv}-{licit,spoof}-{dev,eval} -t VGG-Face,LightCNN,FaceNet,ROC-SDK,ISV -o allthree_dist.pdf
# # mean score fusion script
# for db in "replay" "replay-mobile" "msu-mfsd-mod"; do bin/bob_fuse.py -vvv \
# -t ~/idiap/user/${db}/{vgg-cosine,lightcnn-cosine,isv}/grandtest-licit/nonorm/scores-world \
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment