HMM training using HTK

The web page serves as the gate to simple training tool for HMM based on HTK.

Configuration

Dataset Identifier
Feature amount in data (e.g. x y dx dy)
Emiting states
Complexity (edges amount between states)
Class count
Choose a file to upload:
Uploaded file:
...
Task ID:
..

Help

parameters and directory structure describtion, zip file folder structure, etc.

Configuration parameters

  • Dataset Identifier

    unique string (characters, numbers and undescore only) identifying the dataset

  • Feature amount in data

    number of features, feature space dimensions

  • Emiting states

    ...

  • Complexity

    ...

  • Class count

    ...

  • Choose a file to upload

    zip compressed file with data files stored in pre-defined directory structure (see bellow)

Directory structure of the training dataset

The training data files must respect following directory structure:

  • /data
    • /0
      • /traj_00_0_00.txt
      • /traj_01_0_00.txt
    • /1
      • /traj_00_1_00.txt
      • /traj_01_1_00.txt
    • labels.txt
where name of subdirectories correspond with class number (e.g. 0, 1 etc.) and file labels.txt contains information about sample classes separately.
The data filename itself is driven by following rules:
/name_[sample id]_[class number]_[sample version].txt


File format of the training data

The data file contains information about the size of feature data: number of columns and rows. Columns corresponds to feature space dimension and rows to sample data.
Example:

	4 5
	1 1 0 0
	2 1 0 0
	3 1 0 0
	4 1 0 0
	5 1 0 0

Information about sample classes are stored in file labels.txt. The file format is as following:

	0/traj_00_0_00.txt 0
	0/traj_01_0_00.txt 0
	1/traj_00_1_00.txt 1
	1/traj_01_1_00.txt 1
where the class number follows the filename, one sample per each row. example

training scripts

Evaluation phase

trajectory_lib - Sample implementation of evaluation HMM by viterbi algorithm .
hmmClassifier - the same algorithm encapsuladed into c++ class