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, one has to choose:
- a databases containing the original data, and a protocol that defines how to use the data,
- a data preprocessing algorithm, i.e., face detection for face recognition experiments or voice activity detection for speaker recognition
- the type of features to extract from the preprocessed data,
- the biometric recognition algorithm to employ, and
- the way to evaluate the results
For any of these parts, several different types are implemented in the bob.bio
packages, and basically any combination of the five parts can be executed.
For each type, several meta-parameters can be tested.
This results in a nearly infinite amount of possible experiments that can be run using the current setup.
But it is also possible to use your own database, preprocessor, feature extractor, or biometric recognition algorithm and test this against the baseline algorithms implemented in the our packages.
Note
The bob.bio
packages are derived from the former FaceRecLib, which is herewith outdated.
This package bob.bio.base
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 tolls such as the database, protocol, preprocessor, feature extractor or recognition algorithm is as simple as changing a command line parameter.
The implementation of (most of) the tools is separated into other packages in the bob.bio
namespace.
All 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.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)
- bob.bio.csu Wrapper classes for the CSU Face Recognition Resources to be run with
bob.bio
.
If you are interested, please continue reading:
Users Guide¶
Reference Manual¶
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 /home/travis/build/bioidiap/bob.bio.base/doc/implementation.rst, line 204.)
Todo
Add more documentation for the PLDA constructor, i.e., by explaining the parameters
(The original entry is located in /home/travis/build/bioidiap/bob.bio.base/bob/bio/base/algorithm/__init__.py:docstring of bob.bio.base.algorithm.PLDA, line 3.)
Todo
Check if the None
protocol is supported.
(The original entry is located in /home/travis/build/bioidiap/bob.bio.base/bob/bio/base/database/__init__.py:docstring of bob.bio.base.database.Database, line 28.)
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 /home/travis/build/bioidiap/bob.bio.base/bob/bio/base/tools/FileSelector.py:docstring of bob.bio.base.tools.FileSelector, line 5.)