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 Packages of Bob, please read the Installation Instructions. For Bob to be able to work properly, some dependent packages are required to be installed. Please make sure that you have read the Dependencies for your operating system.

Note

Currently, running Bob under MS Windows in not yet supported. However, we found that running Bob in a virtual Unix environment such as the one provided by VirtualBox is a good alternative.

The most simple and most convenient way to use the bob.bio tools is to use a zc.buildout package, as explained in more detail here. There, in the eggs section of the buildout.cfg file, simply list the bob.bio packages that you want, like:

eggs = bob.bio.base
       bob.bio.face
       bob.bio.gmm
       bob.bio.video
       bob.db.youtube
       gridtk

in order to download and install all packages that are required for your experiments. In the example above, you might want to run a video face recognition experiments using the bob.bio.face.preprocessor.FaceDetector 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 simple command line:

$ python bootstrap-buildout.py
$ ./bin/buildout

will the download and install all dependent packages locally (relative to your current working directory), and create a ./bin directory containing all the necessary scripts to run the experiments.

Databases

With bob.bio you will run biometric recognition experiments using some default biometric recognition databases. Though the verification protocols are implemented in bob.bio, the original data are not included. To download the original 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 Databases that Implement the Database Interface.

After downloading the original data for the databases, you will need to tell bob.bio, where these databases can be found. For this purpose, we have decided to implement a special file, where you can set your directories. By default, this file is located in ~/.bob_bio_databases.txt, and it contains several lines, each line looking somewhat like:

[YOUR_ATNT_DATABASE_DIRECTORY] = /path/to/your/directory

Note

If this file does not exist, feel free to create and populate it yourself.

Please use ./bin/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.

Test your Installation

One of the scripts that were generated during the bootstrap/buildout step is a test script. To verify your installation, you should run the script running the nose tests for each of the bob.bio packages:

$ ./bin/nosetests -vs bob.bio.base
$ ./bin/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:

  1. Download the AT&T database database and extract it to the directory of your choice.
  2. Set an environment variable ATNT_DATABASE_DIRECTORY to the directory, where you extracted the database to. For example, in a bash you can call:
$ export ATNT_DATABASE_DIRECTORY=/path/to/your/copy/of/atnt

Note

To set the directory permanently, you can also change the atnt_default_directory in the file bob/bio/base/test/utils.py. In this case, there is no need to set the environment variable any more.

In case any of the tests fail for unexplainable reasons, please file a bug report through the GitHub bug reporting system.

Note

Usually, all tests should pass with the latest stable versions of the Bob packages. In other versions, some of the tests may fail.

Generate this documentation

Generally, the documentation of this package is available online, and this should be your preferred resource. However, to generate this documentation locally, you call:

$ ./bin/sphinx-build doc sphinx

Afterward, the documentation is available and you can read it, e.g., by using:

$ firefox sphinx/index.html