Friday, March 19, 2010

$3 Gesture Recognizer

Summary
Since the assigned paper was more of a brief version of their longer paper, I'll summarize the longer paper. Their work was based on the $1 algorithm by Wobbrock. They extended the work to include 3D acceleration data. There are no exact positioning since acceleration data is clouded by noise and drift error. Their algorithm does not require library support and needs only minimal parameter adjustment and training, and provides a good recognition rate.

First, they determine the change in acceleration by obtaining an acceleration delta. The summations of the deltas would give the gesture trace in 3D or projected into 2D. To match the gesture class, they compare the trace at point i of the input to all the traces of all training gestures in the library and generate a score table comparing the two. For resampling, they settled for 150 points. They also rotate along the indicative angle and scaled to fit in a normalized cube of 100^3 units to compensate for scaling differences.

The scoring heuristic reduces the number of false positives. They determine a threshold score. If the highest score is higher than 1.1 times this threshold, they return the gesture ID. If 2 out of the top 3 are of the same gesture class and scores higher than .95 times the threshold, return the ID of the gestures.

They evaluated the algorithm on twelve participants, making 10 unique gesture classes. Each class was entered 15 times on the wiimote. The recognition algorithm took the first 5 as training sets, and then compared the remaining ten. The recognition rate was between 58% and 98% with an average of 80%. The scoring heuristic worked since only 8% of all detected gestures were false positives.

Some of the limitations of this algorithm was that only explicitly started and ended were recognized. Also, the size of the library is a limiting factor since the computational overhead would start growing as the library gets larger.
----------------------------------
Commentary
I think this is a good followup on the $1 algorithm. It could use some improvement since 80% seems a bit low. But since this is 3D recognition, there may be additional problems involved. Overall, I think this is useful.

----------------------------------------
Sven Kratz, Michael Rohs. A $3 Gesture Recognizer - Simple Gesture Recognition for Devices Equipped with 3D Acceleration Sensors. IUI 2010

3 comments:

  1. I agree, this algorithm seems useful. I still would have like to see some code on it.

    ReplyDelete
  2. Hi, the code has recently been released under the GPL: https://code.google.com/p/three-dollar-gesture-recognizer/

    ReplyDelete
  3. please, i need to know if the code on this link https://code.google.com/p/three-dollar-gesture-recognizer/ work ?? i can test it or it still under development ??

    Thanks

    ReplyDelete