Howdy!!! In this blog post, I'm going to explain in brief the $1 Recognizer for User Interface Prototypes. The inspiration for the project came from the idea that novice programmer or UI designers didn't have a lot of access to tools that would allow them to incorporate gesture- recognition in their designs due to limitations in programming skills, etc. The authors implemented the algorithm tested it using the following uni- stroke gestures:
Figure 1
The results were then compared with other sketch- recognition algorithms like Dynamic Time Wrapping (DTW) and Rubine algorithm.
The gesture- recognition algorithm described in the paper works as follows in four steps
1.) Resampling: The points are re- sampled so that the template gestures and the gesture made by the user all have the same number of points. This is necessary as there is a point- point comparison between the gesture templates and the gesture made by the user.
2.) Rotate once based on the "Indicative Angle": To bring the user- made gesture in alignment with the predefined gesture templates, the user- made gesture needs to be rotated. The user- made gesture is rotated by the angle made between the centroid of the gesture and the first point of the gesture. This is a good approximation to the actual angle by which the gesture needs to be rotated.
3.) Scale and Translate: The modified gesture from step- 2 is now scaled to a reference square and then translated so that the centroid of the gesture is at the origin.
4.) Find the optimal angle for the best score: Now, the following equation is used to compare each stored template to the user- made gesture:
Figure 2
The above formula calculates the path- distance between the user- made gesture and the predefined gesture templates. The formula below calculates a score:
Figure 3
size is length of the reference square used for scaling the gesture. The gesture template that gives the least value of di is the one that matches the most to the user- made gesture.
The evaluation shows that this simple approach is as effective as the other approaches like DTW and Rubine algorithm. With only 1 template per gesture, $1- algorithm performs pretty well and with 3 or more templates, it is excellent.
Thus, the $1- sketch recognition algorithm can be used by anyone who doesn't have a lot of experience in the area but wants to incorporate gesture- recognition in their project.
I used the following sources for this blog post:
[1] Proceeding UIST '07 Proceedings of the 20th annual ACM symposium on
User interface software and technology. Pages 159-168. ACM New York, NY, USA ©2007
Thanks for reading my blog! Have a great and blessed day!
Gig'em!!!










