Wednesday, September 15, 2010

Reading #8. A Lightweight Multistroke Recognizer for User Interface Prototypes (Anothony)

Comments on others

Sam

Summary

$N Recognizer is a very nice extensión of the $1 recognizer. It’s most relevant contributions are the support of multi strokes gestures and 1D gestures and the bounded rotation invariance. Its purpose also extends from the $1 recognizer, it does not intend to be a super powerful, ultra accurate gesture recognizer, and instead it is a proposal of a simple recognizer to be easily implemented in any language with relatively few lines of code. Despite this the algorithm remains very fast and acceptably accurate. This makes it ideal for prototyping and for running in machines with low processing power.
The $N relies heavily on the $1 algorithm, but with several tweaks. One of them is the automatic generation of templates to match multiple ways of drawing the same stroke. This is particularly important in multistroke templates where the number of ways of drawing the same shape grows in a combinatorial form with each extra stroke, what would make it very annoying to the “training user” to draw all possible ways of drawing the same stroke. Some other tweaks are the speed optimization based on shape features, automatic discrimination and recognition of 1D shapes, and a parametric bounded rotation invariance. The system was tested in a high school environment and the results were quite satisfactory. Although for one stroke gestures the accuracy was not as good as the $1 it remains over 90% accuracy.

Discussion

The $N might has its limitations, and it may be even inferior to the $1 recognizing single strokes. However I say it is totally worth it for all the extra features. As I see it, the $1 recognizer is good for a very particular set of gestures, but it really limits the developer with some of it restrictions. As I noted in the discussion of $1 the full rotation invariance could be annoying in some cases, also the lack of 1D gestures is very limiting, and of course you are married with single stroke gestures. $N overcomes all of these issues and keeps accuracy acceptable for most applications and the speed is even better due to the optimizations. So far is my favorite gesture recognizer to be used in a simple command interface.

1 comment:

  1. I agree, the $N recognizer is still better overall even with the decrease in recognition accuracy for single strokes. Perhaps the $1 recognizer can be used for unistroke recognition where it applies. This may increase accuracy, but I'm not sure how it would affect speed.

    ReplyDelete