Manoj's blog
Summary
This paper discusses another gesture recognition algorithm which according to the author is simple to implement. The author focused on these 3 points when designing this algorithm which he name as $1. 1) To present easy to implement algorithm 2) To compare $1 with other advanced algorithms to show that $1 is as good as them for certain shapes. 3) To give insight which user interface gesture are best in terms of human and recognizer performance.
A Simple Four-Step Algorithm:
Step1: Resample the point path Here the author explains that two same sketches drawn at different will have different number of input points on it. Sketch drawn slower will have more input points. The that goal of this step is to resample the gestures such that the path defined by their original points M is define by N equidistantly space points. The value of N=64 was found to be very reasonable for implementation.
Step2: Rotate once based on indication angle The goal of this step is to rotate both the sketches so they are best aligned for future steps. Here the author gives the concept of indicative angle which is the angle formed between the centroid of the gesture and gesture's firs point. Both gestures are rotated such that the indicative angle of both the gestures are 0.
Step3: Scale and translate here the gesture is first scaled to a reference square. This scaling is non-uniform. Then the gesture is then translated to a reference point. For simplicity the author keeps the reference point as origin.
Step5: Find the optimal angle for best score Here the author explains the computation of a value which can then be used for the recognition of the gesture. The candidate gesture is compared to each template gesture to find the average distance between the corresponding points. The lowest value of the path distance will lead to the recognition of the gesture.
Limitations
- $1 cannot distinguish between gestures whose identities depend on specific orientations, aspect ratio, or locations.
- $1 does not use time, so gestures cannot be differentiated on the basis of speed.
$1 performed very well for user interface gestures with 99% accuracy overall. With one template is showed 97% accuracy. With 3 loaded templates it showed 99.5% accuracy. Rubine on the other hand was performed at 95% accuracy using 9 training examples of 16 gestures.
Discussion
I liked the way the authors projected their algorithm as '$1' which immediately tells its a fast easy to implement solution for gesture recognition. The algorithm is very interesting and the author very rightly states it's limitations.
I don't see any real world application of this algorithm. It's a good read for people like me who are looking towards getting started in this field and implement something.

No comments:
Post a Comment