As noted before, this package is part of the ``bob.pad`` packages, which in turn are part of the signal-processing and machine learning toolbox Bob_.
To install `Packages of Bob <https://github.com/idiap/bob/wiki/Packages>`_, please read the `Installation Instructions <https://github.com/idiap/bob/wiki/Installation>`_.
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 <https://github.com/idiap/bob/wiki/Dependencies>`_ for your operating system.
As noted before, this package is part of the ``bob.pad`` packages, which in
turn are part of the signal-processing and machine learning toolbox Bob_. To
install Bob_, please read the `Installation Instructions <bobinstall_>`_.
.. note::
Currently, running Bob_ under MS Windows in not 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.pad`` tools is to use a ``zc.buildout`` package, as explained in more detail `here <https://github.com/idiap/bob/wiki/Installation#using-zcbuildout-for-production>`__.
There, in the ``eggs`` section of the ``buildout.cfg`` file, simply list the ``bob.pad`` packages that you want, like:
Then, to install the ``bob.pad`` packages and in turn maybe the database
packages that you want to use, use conda_ to install them:
in order to download and install all packages that are required for your experiments.
Running the simple command line:
where you would replace ``<padname>`` and ``<dbname>`` with the name of
packages that you want to use.
.. code-block:: sh
An example installation
-----------------------
$ python bootstrap-buildout.py
$ ./bin/buildout
For example, to run a speech presentation attack detection experiments,
you need preprocessor, extractor, classifier, and
a database. Preprocessors and extractors can be reused from ``bob.bio`` packages, while classifier is normally
provided in ``bob.pad``. Hence for speech PAD, you can take
the :py:class:`bob.bio.spear.preprocessor.Energy_2Gauss` and the
:py:class:`bob.bio.spear.extractor.Cepstral` feature extractor defined in
:ref:`bob.bio.spear <bob.bio.spear>`, and the
:py:class:`bob.pad.voice.algorithm.GmmAlgorithm` algorithm defined in
:ref:`bob.pad.voice <bob.pad.voice>`, using voicePA database (contains speech presentation attacks)
interface defined in :ref:`bob.db.voicepa <bob.db.voicepa>`. Running the
command line below will install all the required packages:
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.
.. code-block:: sh
$ source activate <bob_conda_environment>
$ conda install bob.bio.base \
bob.bio.spear \
bob.pad.base \
bob.pad.voice \
bob.db.voicepa \
gridtk
Databases
~~~~~~~~~
---------
With ``bob.pad`` you will run biometric recognition experiments using databases that contain presentation attacks.
Though the PAD protocols are implemented in ``bob.pad``, 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 `spoofing_databases <https://gitlab.idiap.ch/bob/bob/wikis/Packages>`_.
For a list of supported databases including their download URLs,
please refer to the `spoofing_databases <https://gitlab.idiap.ch/bob/bob/wikis/Packages>`_.
After downloading the original data for the databases, you will need to tell ``bob.pad``, where these databases can be found.
For this purpose, we have decided to implement a special file, where you can set your directories.
...
...
@@ -66,42 +78,4 @@ Please use ``./bin/databases.py`` for a list of known databases, where you can s
If you have installed only ``bob.pad.base``, there is no database listed -- as all databases are included in other extension packages, such as ``bob.pad.voice``.
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.pad`` packages:
.. code-block:: sh
$ ./bin/nosetests -vs bob.pad.base
$ ./bin/nosetests -vs bob.pad.voice
...
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 <http://pythonhosted.org/bob.pad.base>`__, and this should be your preferred resource.
However, to generate this documentation locally, you call:
.. code-block:: sh
$ ./bin/sphinx-build doc sphinx
Afterward, the documentation is available and you can read it, e.g., by using: