Skip to content

Implemented multiple subjects score generation, unknown probes and fixed issues

Tiago de Freitas Pereira requested to merge fix-bio-bio-gen into master


I found some issues with bob bio gen.

First, the probes are inconsistently assigned to wrong subject ids. For instance, if you do bob bio gen scores you will have lines like this x y s5 8.193197 and x x s5 10.347785 where the probe s5 belongs to the x and y at the same time.

Second, bob bio gen is limited to two subjects only. This is ok when you want to plot a ROC, DET, EPC or histograms, but is not ok if you want to generate a CMC plot.

Finally, it is not possible to generate scores for open set scenarios, where there are probes from unknown clients (with no associated model).

This MR solves all these aforementioned issues.

If you do bob bio gen --help you will see:

Usage: bob bio gen [OPTIONS] OUTDIR

  Generate random scores. Generates random scores in 4col or 5col format.
  The scores are generated using Gaussian distribution whose mean is an
  input parameter. The generated scores can be used as hypothetical

  -mm, --mean-match FLOAT         Mean for the positive scores distribution
                                  [default: 10]
  -mnm, --mean-non-match FLOAT    Mean for the negative scores distribution
                                  [default: -10]
  -p, --n-probes-per-subjects INTEGER
                                  Number of probes per subject  [default: 5]
  -s, --n-subjects INTEGER        Number of subjects  [default: 5]
  -p, --sigma-positive FLOAT      Variance for the positive score
                                  distributions  [default: 10]
  -n, --sigma-negative FLOAT      Variance for the negative score
                                  distributions  [default: 10]
  -u, --n-unknown-subjects INTEGER
                                  Number of unknown subjects (useful for
                                  openset plots)  [default: 0]
  --five-col / --four-col         [default: False]
  -v, --verbose                   Increase the verbosity level from 0 (only
                                  error messages) to 1 (warnings), 2 (log
                                  messages), 3 (debug information) by adding
                                  the --verbose option as often as desired
                                  (e.g. '-vvv' for debug).
  -?, -h, --help                  Show this message and exit.

Merge request reports