experiments.rst 3.19 KB
Newer Older
Pedro TOME's avatar
Pedro TOME committed
1
.. vim: set fileencoding=utf-8 :
2
.. Mon 11 Jul 2016 16:35:18 CEST
Pedro TOME's avatar
Pedro TOME committed
3 4 5

.. _experiments:

6 7 8
=====================
 Running Experiments
=====================
Pedro TOME's avatar
Pedro TOME committed
9

10 11 12 13
For running experiments with a defined setup, you should use ``bin/verify.py``
directly. Follow the instructions on bob.bio.base_ for listing and using all
resources available in this package. In this section, we discuss specificities
for added plugins.
Pedro TOME's avatar
Pedro TOME committed
14 15 16 17 18 19 20 21


.. _databases:

Databases
---------


22
Required Parameters
Pedro TOME's avatar
Pedro TOME committed
23 24
~~~~~~~~~~~~~~~~~~~

25 26 27 28 29 30
* ``name``: The name of the database, in lowercase letters without special
  characters. This name will be used as a default sub-directory to separate
  resulting files of different experiments.
* ``protocol``: The name of the protocol that should be used. If omitted, the
  protocol ``Default`` will be used (which might not be available in all
  databases, so please specify).
Pedro TOME's avatar
Pedro TOME committed
31 32 33 34 35 36 37


.. _preprocessors:

Preprocessors
-------------

38 39 40

Vein Cropping Parameters
~~~~~~~~~~~~~~~~~~~~~~~~
Pedro TOME's avatar
Pedro TOME committed
41 42 43


* ``mask_h``: Height of the cropping finger mask.
44
* ``mask_w``: Width of the cropping finger mask.
45 46 47 48 49 50 51
* ``padding_offset``: An offset to the paddy array to be applied arround the
  fingervein image.
* ``padding_threshold``: The pixel value of this paddy array. Defined to 0.2 to
  uncontrolled (low quality) fingervein databases and to 0 for controlled (high
  quality) fingervein databases. (By default 0.2).
* ``preprocessing``: The pre-processing applied to the fingervein image before
  finger contour extraction. By default equal to ``None``.
Pedro TOME's avatar
Pedro TOME committed
52
* ``fingercontour``: The algorithm used to localize the finger contour.
53 54 55 56 57 58 59
  Options: 'leemaskMatlab' - Implementation based on [LLP09]_, 'leemaskMod' -
  Modification based on [LLP09]_ for uncontrolled images introduced by author,
  and 'konomask' - Implementation based on [KUU02]_.
* ``postprocessing``: The post-processing applied to the fingervein image after
  the finger contour extraction.  Options: 'None', 'HE' - Histogram
  Equalization, 'HFE' - High Frequency Enphasis Filtering [ZTXL09]_,
  'CircGabor' - Circular Gabor Filters [ZY09]_.
Pedro TOME's avatar
Pedro TOME committed
60 61 62


.. note::
63
   Currently, the pre-processing is fixed to ``None`` by default.
Pedro TOME's avatar
Pedro TOME committed
64 65 66 67 68 69 70


.. _algorithms:

Recognition Algorithms
----------------------

71 72 73 74 75 76
There are also a variety of recognition algorithms implemented in the
FingerveinRecLib.  All finger recognition algorithms are based on the
:py:class:`FingerveinRecLib.tools.Tool` base class.  This base class has
parameters that some of the algorithms listed below share.  These parameters
mainly deal with how to compute a single score when more than one feature is
provided for the model or for the probe:
Pedro TOME's avatar
Pedro TOME committed
77

78
Here is a list of the most important algorithms and their parameters:
Pedro TOME's avatar
Pedro TOME committed
79

80

81 82 83
* :py:class:`FingerveinRecLib.tools.MiuraMatch`: Computes the match ratio based
  on [MNM04]_ convolving the two template image.  Return score - Value between
  0 and 0.5, larger value is better match.
André Anjos's avatar
André Anjos committed
84 85

  * ``ch``: Maximum search displacement in y-direction. Different defult values
86
    based on the different features.
André Anjos's avatar
André Anjos committed
87
  * ``cw``: Maximum search displacement in x-direction. Different defult values
88
    based on the different features.
André Anjos's avatar
André Anjos committed
89

Pedro TOME's avatar
Pedro TOME committed
90 91 92 93
* :py:class:`FingerveinRecLib.tools.HammingDistance`: Computes the Hamming Distance between two fingervein templates.


.. include:: links.rst