[Optimoz] gesture recognition with a hidden markov model
Aaron Lenfestey
lenfestey at gmail.com
Fri Oct 28 16:19:27 EDT 2005
Hi,
I'm new to this list, so sorry in advance if I'm beating a dead horse.
Mouse gestures are great, I've had them only a few weeks and I'm
quite addicted. I'm afraid however that the gesture recognition might
not be robust enough for mass consumption. I've been experimenting
with a hidden markov model for performing the gesture recognition.
For those of you who don't know much about AI, HMMs are statistical
models for tracking the state of a system over time. They're used
widely: speech recognition, robotics, tracking missiles, etc. There
are at least 3 advantages to using a probabilistic model:
1) we can incorporate prior knowledge of what we expect the user
intends to do (e.g. the user probably does not intend to input
garbage, so lets assume the input makes sense and make the best of it)
2) it gives us a principled way of smoothing out noise in the data
(curse of the shaky hands)
3) we can modify the parameters of the model over time using data
obtained from the user. This means that everyone will gradually
develop a personalized gesture recognizer trained to suit them.
Coding up the model is not hard. Also, inference in HMMs can be done
in linear time, which means that, in the big O sense, its not any more
computationally demanding than the current gesture recognizer.
Finally, I've devised the model to recognize the [U,D,L,R,*,1,...]
grammar that so conveniently allows people to share gestures.
Anyway, there are 2 kinds of help I need most from the volunteer community:
1) interface this with the current optimoz code in the most
non-obtrusive way possible
2) data, lots of it. we'll use this to figure out exactly which
gestures people use most, so that the model can make informed
decisions.
If anyone wants to help, that'd be great. We can work together to
shore up optimoz's lead as one of the most sophisticated gesture
recognizers out there.
-Aaron
More information about the Optimoz
mailing list