diff --git a/bob/pad/face/database/__init__.py b/bob/pad/face/database/__init__.py index d92ad1f20fcec224b01f0b32c837be73f8ac2253..2b0ed21089cd68001e158834673059e9e5569ed8 100644 --- a/bob/pad/face/database/__init__.py +++ b/bob/pad/face/database/__init__.py @@ -5,6 +5,7 @@ from .msu_mfsd import MsuMfsdPadDatabase from .aggregated_db import AggregatedDbPadDatabase from .mifs import MIFSPadDatabase from .maskattack import MaskAttackPadDatabase +from .batl import BatlPadDatabase # gets sphinx autodoc done right - don't remove it diff --git a/bob/pad/face/database/maskattack.py b/bob/pad/face/database/maskattack.py index f6a54c98a86045e7f9fdf488249db110083523db..a4d8daf72faa908428ff902a4bc0ef452abf387e 100644 --- a/bob/pad/face/database/maskattack.py +++ b/bob/pad/face/database/maskattack.py @@ -74,7 +74,7 @@ class MaskAttackPadDatabase(PadDatabase): def __init__( self, - protocol=None, # grandtest is the default protocol for this database + protocol=None, original_directory=None, original_extension='.avi', **kwargs): @@ -101,7 +101,7 @@ class MaskAttackPadDatabase(PadDatabase): # Since the high level API expects different group names than what the low # level API offers, you need to convert them when necessary self.low_level_group_names = ( - 'world', 'devel', + 'world', 'dev', 'test') # group names in the low-level database interface self.high_level_group_names = ( 'train', 'dev', @@ -164,7 +164,28 @@ class MaskAttackPadDatabase(PadDatabase): groups, self.low_level_group_names, self.high_level_group_names) # Since this database was designed for PAD experiments, nothing special # needs to be done here. - files = self.db.objects(groups=groups, **kwargs) + + print("Objects method called with groups = {}, protocol = {}, purposes = {}, model_ids = {}".format(groups, protocol, purposes, model_ids)) + #print("Kwargs -> {}".format(**kwargs)) + #print("Translated groups = {}".frima) + + # for training + + # for dev + + # for eval + lowlevel_purposes = [] + if purposes == 'real': + lowlevel_purposes = ['trainReal', 'probeReal', 'classifyReal'] + else: + lowlevel_purposes = ['trainMask', 'probeMask', 'classifyMask'] + + #if groups == ['world']: + # lowlevel_purposes = ['trainMask'] + # if groups == ['world']: + # lowlevel_purposes = ['trainMask'] + #print(lowlevel_purposes) + files = self.db.objects(sets=groups, purposes=lowlevel_purposes, **kwargs) files = [MaskAttackPadFile(f) for f in files] diff --git a/bob/pad/face/preprocessor/__init__.py b/bob/pad/face/preprocessor/__init__.py index ced731f794d72bd6c5d85656516eb27926df345e..c23622e9b4a0c22cb80e33d5f9e5efa3283d1ef5 100644 --- a/bob/pad/face/preprocessor/__init__.py +++ b/bob/pad/face/preprocessor/__init__.py @@ -6,6 +6,7 @@ from .VideoSparseCoding import VideoSparseCoding from .Li import Li from .Chrom import Chrom from .SSR import SSR +from .PPGSecure import PPGSecure def __appropriate__(*args): """Says object was actually declared here, and not in the import module. diff --git a/setup.py b/setup.py index eb007c7cf32bb7b19bc5af3ff88609be65e1176a..abd87e7f88ea99c94a8521e6a4f06b282f4f3e43 100644 --- a/setup.py +++ b/setup.py @@ -64,6 +64,7 @@ setup( 'aggregated-db = bob.pad.face.config.database.aggregated_db:database', 'mifs = bob.pad.face.config.database.mifs:database', 'maskattack = bob.pad.face.config.database.maskattack:database', + 'batl = bob.pad.face.config.database.batl:database', ], # registered configurations: