hidden-markov-models

How to create parameters for HMM model of online handwriting recognition?


I'm a little inexperienced about Hidden Markov Model. If I want to make a model of HMM for online handwriting recognition (which means handwriting recognition of letter that user draw live on device instead of recognizing image of letter), how is the parameter model? Like what are the:

What I have right now maybe the observations, which is the array of { x, y, timestamp } that is each dot that I record from the user's finger movement on the tablet.

The system will only record/train/recognize one number at a time. Which means I have 10 (0 to 9) states???? Or 10 classification results?? From various website like this, I found that hidden states usually in form of "sequences", instead of one single state like that. What is the states then in this case?


Solution

  • HMMs work well with temporal data, but it may be a suboptimal fit for this problem.

    As you've identified, the observations {x, y, timestamp} are temporal in nature. As a result, it is best cast as the emissions of the HMM, while reserving the digits as states of the HMM.

    Casting the problem the other way is less natural because of this lack of temporal fit, but not impossible.


    Unsolicited suggestions

    Maybe what you might be looking for are Kalman filters, which may be a more elegant way to develop this on-line digit recognition (outside of CNNs which appear to the most effective) using this time-series format.

    You may also want to look at structured perceptrons, if your emissions are multivariate (ie. x, y) and independent. Here, I believe x, y coordinates should be correlated and should be respected as such.