Skip to content
Snippets Groups Projects
Commit be046ae2 authored by Tiago de Freitas Pereira's avatar Tiago de Freitas Pereira
Browse files

FRGC dataset

parent d493de11
No related branches found
No related tags found
No related merge requests found
...@@ -12,6 +12,7 @@ from .multipie import MultipieDatabase ...@@ -12,6 +12,7 @@ from .multipie import MultipieDatabase
from .ijbc import IJBCDatabase from .ijbc import IJBCDatabase
from .replaymobile import ReplayMobileBioDatabase from .replaymobile import ReplayMobileBioDatabase
from .fargo import FargoBioDatabase from .fargo import FargoBioDatabase
from .frgc import FRGCDatabase
from .meds import MEDSDatabase from .meds import MEDSDatabase
from .morph import MorphDatabase from .morph import MorphDatabase
from .casia_africa import CasiaAfricaDatabase from .casia_africa import CasiaAfricaDatabase
...@@ -52,5 +53,6 @@ __appropriate__( ...@@ -52,5 +53,6 @@ __appropriate__(
CasiaAfricaDatabase, CasiaAfricaDatabase,
PolaThermalDatabase, PolaThermalDatabase,
CBSRNirVis2Database, CBSRNirVis2Database,
FRGCDatabase,
) )
__all__ = [_ for _ in dir() if not _.startswith("_")] __all__ = [_ for _ in dir() if not _.startswith("_")]
#!/usr/bin/env python
# vim: set fileencoding=utf-8 :
# Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
"""
Multipie database implementation
"""
from bob.bio.base.database import CSVDataset
from bob.bio.base.database import CSVToSampleLoaderBiometrics
from bob.bio.face.database.sample_loaders import EyesAnnotations
from bob.extension import rc
from bob.extension.download import get_file
import bob.io.base
from sklearn.pipeline import make_pipeline
class FRGCDatabase(CSVDataset):
"""
Face Recognition Grand Test dataset
"""
def __init__(self, protocol):
# Downloading model if not exists
urls = FRGCDatabase.urls()
filename = get_file(
"frgc.tar.gz", urls, file_hash="328d2c71ae19a41679defa9585b3140f"
)
self.annotation_type = "eyes-center"
self.fixed_positions = None
super().__init__(
filename,
protocol,
csv_to_sample_loader=make_pipeline(
CSVToSampleLoaderBiometrics(
data_loader=bob.io.base.load,
dataset_original_directory=rc["bob.db.frgc.directory"]
if rc["bob.db.frgc.directory"]
else "",
extension=".JPG",
),
EyesAnnotations(),
),
)
@staticmethod
def protocols():
# TODO: Until we have (if we have) a function that dumps the protocols, let's use this one.
return [
"2.0.1",
"2.0.2",
"2.0.3",
]
@staticmethod
def urls():
return [
"https://www.idiap.ch/software/bob/databases/latest/frgc.tar.gz",
"http://www.idiap.ch/software/bob/databases/latest/frgc.tar.gz",
]
...@@ -408,6 +408,27 @@ def test_casia_africa(): ...@@ -408,6 +408,27 @@ def test_casia_africa():
assert len(database.probes()) == 2426 assert len(database.probes()) == 2426
def test_frgc():
from bob.bio.face.database import FRGCDatabase
database = FRGCDatabase("2.0.1")
assert len(database.background_model_samples()) == 12776
assert len(database.references()) == 7572
assert len(database.probes()) == 8456
database = FRGCDatabase("2.0.2")
assert len(database.background_model_samples()) == 12776
assert len(database.references()) == 1893
assert len(database.probes()) == 8456
database = FRGCDatabase("2.0.4")
assert len(database.background_model_samples()) == 12776
assert len(database.references()) == 7572
assert len(database.probes()) == 4228
def test_polathermal(): def test_polathermal():
from bob.bio.face.database import PolaThermalDatabase from bob.bio.face.database import PolaThermalDatabase
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment