Thursday, September 16, 2010

624 #5 $1 Recognizer - Wobbrock

Introduction
Wobbrock's $1 recognizer provides a lightweight, quick and easy gesture recognizer that can be used without requiring much technical knowledge on the developer's end. The recognizer works by taking one initial gesture for each template then comparing the distance in points in an unclassified gesture with each template and determining which matches most closely. To make certain that factors such as gesture speed and sampling speed do not affect recognition the gestures are re-sampled to between 32-256 points that are linearly interpolated from the original gesture data. The indicative angle of the gesture (the angle between the first point and the centroid) is then found and the gesture is rotated by that angle so that all examples of that gesture no matter their orientation can be compared. The points are then scaled to fit a bounding square and the distance between each point is then calculated and turned into a 0-1 score. $1 is therefore rotation, scale and position invariant.

Discussion
I very much like the idea of the $1 because it would be easy to implement in any programming context quickly. Too often advanced computing concepts, such as gesture recognition, require specific libraries and are limited to specific platforms which limits their usefulness and hampers finding new applications of the technology. I hope to implement the $N extension of the $1 recognizer so I can see exactly what it is capable, particularly on a handheld system to accept finger input.

1 comment:

  1. Make a multitouch multistroke recognizer for the iPad or a recognizer for Android. You could integrate finger gestures into your existing projects...

    ReplyDelete