Running Biometric Recognition Experiments

The bob.bio packages provide open source tools to run comparable and reproducible biometric recognition experiments. To design a biometric recognition experiment, you must choose:

  • A database to use for the raw biometric data and a protocol that defines how to use that data,
  • A data preprocessing algorithm to clean up the raw biometric data,
  • A feature extractor to extract the desired type of features from the preprocessed data,
  • A biometric matching algorithm,
  • An evaluation method to make sense of the matching scores.

The bob.bio packages contain several implementations of each of the above steps, so you can either choose from the existing methods or use your own.

Note

The bob.bio packages are derived from the former FaceRecLib, which is herewith outdated.

The bob.bio.base package includes the basic definition of a biometric recognition experiment, as well as a generic script, which can execute the full biometric experiment in a single command line. Changing the employed tools, such as the database, protocol, preprocessor, feature extractor or matching algorithm is as simple as changing a parameter in a configuration file or on the command line.

The implementation of (most of) the tools is separated into other packages in the bob.bio namespace. All of these packages can be easily combined. Here is a growing list of derived packages:

  • bob.bio.spear Tools to run speaker recognition experiments, including voice activity detection, Cepstral feature extraction, and speaker databases
  • bob.bio.vein Tools to run vein recognition experiments, such as finger RoI detection, image binarization and template matching, and access to multiple vein image databases
  • bob.bio.face Tools to run face recognition experiments, such as face detection, facial feature extraction and comparison, and face image databases
  • bob.bio.video An extension of face recognition algorithms to run on video data, and the according video databases
  • bob.bio.gmm Algorithms based on Gaussian Mixture Modeling (GMM) such as Inter-Session Variability modeling (ISV) or Total Variability modeling (TV, aka. I-Vector) [Pri07] and [ESM+13].

If you run biometric recognition experiments using the bob.bio framework, please cite at least one of the following in your scientific publication:

@inbook{guenther2016face,
  chapter = {Face Recognition in Challenging Environments: An Experimental and Reproducible Research Survey},
  author = {G\"unther, Manuel and El Shafey, Laurent and Marcel, S\'ebastien},
  editor = {Bourlai, Thirimachos},
  title = {Face Recognition Across the Imaging Spectrum},
  edition = {1},
  year = {2016},
  month = feb,
  publisher = {Springer}
}

@inproceedings{guenther2012facereclib,
  title = {An Open Source Framework for Standardized Comparisons of Face Recognition Algorithms},
  author = {G\"unther, Manuel and Wallace, Roy and Marcel, S\'ebastien},
  editor = {Fusiello, Andrea and Murino, Vittorio and Cucchiara, Rita},
  booktitle = {European Conference on Computer Vision (ECCV) Workshops and Demonstrations},
  series = {Lecture Notes in Computer Science},
  volume = {7585},
  year = {2012},
  month = oct,
  pages = {547-556},
  publisher = {Springer},
}

References

[TP91]M. Turk and A. Pentland. Eigenfaces for recognition. Journal of Cognitive Neuroscience, 3(1):71-86, 1991.
[ZKC+98]W. Zhao, A. Krishnaswamy, R. Chellappa, D. Swets and J. Weng. Discriminant analysis of principal components for face recognition, pages 73-85. Springer Verlag Berlin, 1998.
[Pri07]S. J. D. Prince. Probabilistic linear discriminant analysis for inferences about identity. Proceedings of the International Conference on Computer Vision. 2007.
[ESM+13]L. El Shafey, Chris McCool, Roy Wallace and Sébastien Marcel. A scalable formulation of probabilistic linear discriminant analysis: applied to face recognition. IEEE Transactions on Pattern Analysis and Machine Intelligence, 35(7):1788-1794, 7/2013.
[MWP98]B. Moghaddam, W. Wahid and A. Pentland. Beyond eigenfaces: probabilistic matching for face recognition. IEEE International Conference on Automatic Face and Gesture Recognition, pages 30-35. 1998.
[GW09]M. Günther and R.P. Würtz. Face detection and recognition using maximum likelihood classifiers on Gabor graphs. International Journal of Pattern Recognition and Artificial Intelligence, 23(3):433-461, 2009.

ToDo-List

This documentation is still under development. Here is a list of things that needs to be done:

Todo

complete this list, once the other packages are documented as well.

(The original entry is located in /local/builds/bob/bob.bio.base/doc/implementation.rst, line 221.)

Todo

Add more documentation for the PLDA constructor, i.e., by explaining the parameters

(The original entry is located in /local/builds/bob/bob.bio.base/miniconda/conda-bld/bob.bio.base_1523627039911/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.6/site-packages/bob/bio/base/algorithm/__init__.py:docstring of bob.bio.base.algorithm.PLDA, line 3.)

Todo

Find a way that this class’ methods get correctly documented, instead of the bob.bio.base.Singleton wrapper class.

(The original entry is located in /local/builds/bob/bob.bio.base/miniconda/conda-bld/bob.bio.base_1523627039911/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.6/site-packages/bob/bio/base/tools/FileSelector.py:docstring of bob.bio.base.tools.FileSelector, line 5.)

Indices and tables