3
$\begingroup$

I'm approaching at pattern recognition with HMM (with c++ or python).

My data are x and y coordinate (normalized between -1,1) of the hand in a recorded video and I want to recognize.

This is what I have understand to classify a hand that make a gesture (for example a circle):

  • I need some train data (for example N different video with an hand that make a circle) of the same size (X coordinate (x,y) of the hand)
  • I have to initialize one HMM (called HMM_circle) with BAUM-WELCH algorithms (or something interative EM-based algorithm) and find the parameters of HMM_circle.
  • HMM_circle has X observed states and Y hidden states.
  • Record some new observation (some new coordinate of a gesture to classify) new_OBS. Size of new_OBS must be X.
  • Find the likelihood of new_OBS given the hidden markov model HMM_circle with BACKWARD-FOREWARD algorithm. This likelihood is a number between 0 and 1. If it is major than a threashold (for example 0.8) it is classified as a circle.

Now, I have something not clear.

How many hidden states in my HMM_circle (Y)? how long the train data (X)? How many train data (N)? Why?

Sorry, I've just began to learn machine learning.

$\endgroup$
3
$\begingroup$

You sure chose a tough problem to learn machine learning. I don't know if you've read the literature so I'm going to recommend these papers, having used his system.

$\endgroup$
1
$\begingroup$

This may not be exactly what you are looking for, but this paper, 'Sharing Features among Dynamical Systems with Beta Processes', outlines an unsupervised nonparametric model which will inherently make your questions of hidden states and size of training data irrelevant. For an experiment similar to the problem you propose, see section 5.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.