Commit 7ddaeaa1 authored by Amir MOHAMMADI's avatar Amir MOHAMMADI
Browse files

G to g

parent c6b3706d
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)
......@@ -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_Gen_i2_001.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
......
......@@ -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_Gen_i2_001.h5 B B B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_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_Gen_i2_001.h5 A A B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_Gen_i2_001.h5 C C B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_Gen_i2_001.h5 D D B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_Gen_i2_001.h5 E E B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_Gen_i2_001.h5 F F B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i2_001.h5 A A B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i2_001.h5 C C B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i2_001.h5 D D B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i2_001.h5 E E B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_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
......
......@@ -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_Gen_i2_001.h5 A A B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_Gen_i2_001.h5 C C B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_Gen_i2_001.h5 D D B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_Gen_i2_001.h5 E E B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_Gen_i2_001.h5 F F B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i2_001.h5 A A B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i2_001.h5 C C B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i2_001.h5 D D B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i2_001.h5 E E B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_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
......
......@@ -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
......
......@@ -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_Gen_i2_001.h5 B B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_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
......@@ -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_Gen_i2_001.h5 A A B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_Gen_i2_001.h5 D D B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_Gen_i2_001.h5 E E B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_Gen_i2_001.h5 F F B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i2_001.h5 A A B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i2_001.h5 D D B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i2_001.h5 E E B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_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
......
......@@ -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_Gen_i2_001.h5 A A B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_Gen_i2_001.h5 C C B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_Gen_i2_001.h5 D D B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_Gen_i2_001.h5 E E B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_Gen_i2_001.h5 F F B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i2_001.h5 A A B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i2_001.h5 C C B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i2_001.h5 D D B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_i2_001.h5 E E B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_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
......
......@@ -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_Gen_i2_001.h5 B B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_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
......@@ -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
......@@ -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_Gen_i2_001.h5 B B B
Mask_Batl_Data4_BonaFide/captured/no_glasses/B_gen_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
......
......@@ -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),
......
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
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
......
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
......
#!/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 \
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment