Installation Instructions¶
As noted before, this package is part of the bob.bio
packages, which in
turn are part of the signal-processing and machine learning toolbox Bob. To
install Bob, please read the Installation Instructions.
Then, to install the bob.bio
packages and in turn maybe the database
packages that you want to use, use conda to install them:
$ conda search "bob.bio.*" # searching
$ conda search "bob.db.*" # searching
$ conda install bob.bio.base bob.bio.<bioname> bob.db.<dbname>
where you would replace <bioname>
and <dbname>
with the name of
packages that you want to use.
An example installation¶
For example, you might want to run a video face recognition experiments using
the bob.bio.face.preprocessor.FaceDetect
and the
bob.bio.face.extractor.DCTBlocks
feature extractor defined in
bob.bio.face, the
bob.bio.gmm.algorithm.IVector
algorithm defined in
bob.bio.gmm and the video extensions defined in
bob.bio.video, using the YouTube faces database
interface defined in bob.db.youtube. Running the
command line below will install all the required packages:
$ source activate <bob_conda_environment>
$ conda install bob.bio.base \
bob.bio.face \
bob.bio.gmm \
bob.bio.video \
bob.db.youtube \
gridtk
Databases¶
With bob.bio
you will run biometric recognition experiments using biometric
recognition databases. Though the verification protocols are implemented in
bob.bio
, the raw data are not included. To download the raw
data of the databases, please refer to the according Web-pages. For a list of
supported databases including their download URLs, please refer to the
biometric recognition databases.
After downloading the raw data for the databases, you will need to tell
bob.bio
, where these databases can be found. There are two methods for
this purpose. The older method is deprecated but some old databases may still
be using it.
Old Databases¶
A special file, where you can set your directories, is used. By
default, this file is located in ~/.bob_bio_databases.txt
, and it contains
several lines, each line looking somewhat like:
[YOUR_ATNT_DIRECTORY] = /path/to/atnt/directory
Note
If this file does not exist, feel free to create and populate it yourself.
Please use databases.py
for a list of known databases, where you can see
the raw [YOUR_DATABASE_PATH]
entries for all databases that you haven’t
updated, and the corrected paths for those you have.
Note
If you have installed only bob.bio.base
, there is no database listed –
as all databases are included in other packages, such as
bob.bio.face or bob.bio.spear.
Also, please don’t forget that you need to install the corresponding
bob.db.<name>
package as well.
New Databases¶
Most new databses in bob use the Global Configuration System to find the location
of the raw data. Please refer to the documentation of the database package to
find out if they use this feature or not. If they do, the location can be
configured using the bob config
command. For example:
$ bob config set bob.db.atnt.directory /path/to/atnt/directory
Test your Installation¶
You can install the nose
package to test your installation and use that to
verify your installation:
$ conda install nose # install nose
$ nosetests -vs bob.bio.base
$ nosetests -vs bob.bio.gmm
...
You should run the script running the nose tests for each of the bob.bio
packages separately.
$ nosetests -vs bob.bio.base
$ nosetests -vs bob.bio.gmm
...
Some of the tests that are run require the images of the AT&T database database. If the database is not found on your system, it will automatically download and extract the AT&T database a temporary directory, which will not be erased.
To avoid the download to happen each time you call the nose tests, please:
Download the AT&T database database and extract it to the directory of your choice.
Set an environment variable
ATNT_DATABASE_DIRECTORY
to the directory, where you extracted the database to. For example, in abash
you can call:
$ export ATNT_DATABASE_DIRECTORY=/path/to/your/copy/of/atnt
In case any of the tests fail for unexplainable reasons, please send a report through our mailing list.
Note
Usually, all tests should pass with the latest stable versions of Bob packages. In other versions, some of the tests may fail.