diff --git a/.gitignore b/.gitignore index b9d909fd082a74b3b710cd00bd2e8e510db979d9..73995284bb445ed5556f14f8c8e791eed32a6b31 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,4 @@ html/ parts sphinx src/ +submitted.sql3 diff --git a/bob/bio/vein/configurations/grid/demanding.py b/bob/bio/vein/configurations/grid.py similarity index 89% rename from bob/bio/vein/configurations/grid/demanding.py rename to bob/bio/vein/configurations/grid.py index bbc638ce45348edcb0df2f92334d650acbbbae79..7939d233fb6ce12a189684f7c58cc2704ee7397d 100644 --- a/bob/bio/vein/configurations/grid/demanding.py +++ b/bob/bio/vein/configurations/grid.py @@ -3,8 +3,8 @@ from bob.bio.base.grid import Grid - -grid = Grid( +# our preferred grid setup for Idiap +default = Grid( training_queue='32G', number_of_preprocessing_jobs=200, diff --git a/bob/bio/vein/configurations/grid/__init__.py b/bob/bio/vein/configurations/grid/__init__.py deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/bob/bio/vein/configurations/grid/local.py b/bob/bio/vein/configurations/grid/local.py deleted file mode 100644 index 13a184f21d47f29aa839be59b4fb8080a4fbcc55..0000000000000000000000000000000000000000 --- a/bob/bio/vein/configurations/grid/local.py +++ /dev/null @@ -1,9 +0,0 @@ -#!/usr/bin/env python -# vim: set fileencoding=utf-8 : - -from bob.bio.base.grid import Grid - -grid = Grid( - grid_type = 'local', - number_of_parallel_processes = 4 -) diff --git a/bob/bio/vein/configurations/preprocessors.py b/bob/bio/vein/configurations/preprocessors.py index 0d6a48686f88daab167ecac2d7bf6664e907afe8..f28500285794848312515dfcc85289e75a36caea 100644 --- a/bob/bio/vein/configurations/preprocessors.py +++ b/bob/bio/vein/configurations/preprocessors.py @@ -2,7 +2,7 @@ # vim: set fileencoding=utf-8 : from ..preprocessors import FingerCrop -nonorm = FingerCrop() +none = FingerCrop() he = FingerCrop(postprocessing='HE') hfe = FingerCrop(postprocessing='HFE') circgabor = FingerCrop(postprocessing='CircGabor') diff --git a/doc/baselines.rst b/doc/baselines.rst index 0a6dd3ba4ec181d91fa028412bec8398d5f0190b..a4475069071059d725cda76ffc7d9e8945e179e3 100644 --- a/doc/baselines.rst +++ b/doc/baselines.rst @@ -85,27 +85,30 @@ Repeated Line-Tracking with Miura Matching You can find the description of this method on the paper from Miura *et al.* [MNM04]_. -To run the baseline on the `VERA fingervein`_ database, using the ``nom`` +To run the baseline on the `VERA fingervein`_ database, using the ``NOM`` protocol (called ``Full`` in [TVM14]_), do the following: + .. code-block:: sh - $ ./bin/verify.py --database=vera --protocol=nom --preprocessor=none --extractor=repeatedlinetracking --algorithm=match-rlt --sub-directory="rlt" --verbose --verbose + $ ./bin/verify.py --database=vera --protocol=NOM --preprocessor=nopp --extractor=repeatedlinetracking --algorithm=match-rlt --sub-directory="rlt" --verbose --verbose + .. tip:: If you have more processing cores on your local machine and don't want to - submit your job for SGE execution, you can run it in parallel by adding the - options ``?``. + submit your job for SGE execution, you can run it in parallel (using 4 + parallel tasks) by adding the options ``--parallel=4 --nice=10``. + This command line selects and runs the following implementations for the toolchain: * Database: Use the base Bob API for the VERA database implementation, - protocol variant ``nom`` which corresponds to the ``Full`` evaluation + protocol variant ``NOM`` which corresponds to the ``Full`` evaluation protocol described in [TVM14]_ -* Preprocessor: Simple finger cropping, with no extra pre-processing and no - histogram equalization, as defined in [LLP09]_ +* Preprocessor: Simple finger cropping, with no extra post-processing, as + defined in [LLP09]_ * Feature extractor: Repeated line tracking, as explained in [MNM04]_ * Matching algorithm: "Miura" matching, as explained on the same paper * Subdirectory: This is the subdirectory in which the scores and intermediate @@ -119,15 +122,18 @@ the detector error trade-off (DET) curve with the performance: .. code-block:: sh - $ ./bin/bob_eval_threshold.py --scores <path-to>/vera/rlt/nom/nonorm/scores-dev --criterium=eer + $ ./bin/bob_eval_threshold.py --scores <path-to>/vera/rlt/NOM/nonorm/scores-dev --criterium=eer ('Threshold:', 0.32023322499999995) FAR : 24.318% (46866/192720) FRR : 24.318% (107/440) HTER: 24.318% - $ ./bin/evaluate.py --dev-files <path-to>/vera/rlt/nom/nonorm/scores-dev --det det.pdf -l "vera-nom-mnm04" -rr + $ ./bin/evaluate.py --dev-files <path-to>/vera/rlt/NOM/nonorm/scores-dev --det det.pdf -l "vera-nom-mnm04" -rr The Recognition Rate of the development set of 'rlt' is 48.409% -To view the DET curve stored in +To view the DET curve stored in the output file, do the following (on a Linux +machine): + +.. code-block:: sh $ xdg-open det.pdf #to view the DET curve diff --git a/setup.py b/setup.py index bc1de6a9295db42f8a6af894328aa74f0aef8894..02cae5eb5f1e2cc7ce90afeb41faec2886302a42 100644 --- a/setup.py +++ b/setup.py @@ -39,7 +39,7 @@ setup( # registered preprocessors 'bob.bio.preprocessor': [ - 'nonorm = bob.bio.vein.configurations.preprocessors:nonorm', + 'nopp = bob.bio.vein.configurations.preprocessors:none', 'histeq = bob.bio.vein.configurations.preprocessors:he', 'highfreq = bob.bio.vein.configurations.preprocessors:hfe', 'circgabor = bob.bio.vein.configurations.preprocessors:circgabor', @@ -64,8 +64,7 @@ setup( # registered SGE grid configuration files 'bob.bio.grid': [ - 'local = bob.bio.vein.configurations.grid.local:grid', - 'demanding = bob.bio.vein.configurations.grid.demanding:grid', + 'idiap = bob.bio.vein.configurations.grid:default', ], },