This algorithm implements the Maximum-a-posteriori (MAP) estimation for a GMM

This algorithm is a legacy one. The API has changed since its implementation. New versions and forks will need to be updated.
This algorithm is splittable

Algorithms have at least one input and one output. All algorithm endpoints are organized in groups. Groups are used by the platform to indicate which inputs and outputs are synchronized together. The first group is automatically synchronized with the channel defined by the block in which the algorithm is deployed.

Group: main

Endpoint Name Data Format Nature
features system/array_2d_floats/1 Input
id system/uint64/1 Input
model tutorial/gmm/1 Output

Unnamed group

Endpoint Name Data Format Nature
ubm tutorial/gmm/1 Input

The code for this algorithm in Python
The ruler at 80 columns indicate suggested POSIX line breaks (for readability).
The editor will automatically enlarge to accomodate the entirety of your input
Use keyboard shortcuts for search/replace and faster editing. For example, use Ctrl-F (PC) or Cmd-F (Mac) to search through this box

For a given set of feature vectors and a Gaussian Mixture Models (GMM), this algorithm implements the Maximum-a-posteriori (MAP) estimation (adapting only the means).

Details of MAP estimation can be found in [Reynolds2000]. A very good description on how the MAP estimation works can be found in the Mathematical Monks's YouTube channel.z

This algorithm relies on the Bob library.

The inputs are:

  • features: A set of floating point vectors as a two-dimensional array (64 bits) of a client. The number of rows correspond to the number of samples, and the number of columns to the dimensionality of the samples.
  • ubm: A GMM corresponding to the Universal Background Model.
  • id: Client (class/subject) identifier as an unsigned 64 bits integer.

The output, model, is the adapted GMM (MAP adaptation).

[Reynolds2000]Reynolds, Douglas A., Thomas F. Quatieri, and Robert B. Dunn. "Speaker verification using adapted Gaussian mixture models." Digital signal processing 10.1 (2000): 19-41.

Experiments

Updated Name Databases/Protocols Analyzers
tutorial/tutorial/full_ubmgmm/2/mobioMale_gmm_DCT12x8_100G mobio/1@male tutorial/eerhter_postperf_iso/1
tutorial/tutorial/full_ubmgmm/2/mobioMale_ubmgmm_DCT12x8_100G mobio/1@male tutorial/eerhter_postperf_iso/1
tutorial/tutorial/full_ubmgmm/2/bancaP_gmm_DCT12x8_100G banca/1@P tutorial/eerhter_postperf_iso/1

This table shows the number of times this algorithm has been successfully run using the given environment. Note this does not provide sufficient information to evaluate if the algorithm will run when submitted to different conditions.

Terms of Service | Contact Information | BEAT platform version 1.5.0b0 | © Idiap Research Institute - 2013-2019