$1 recognizer is a gesture recognizer to enable novice programmers to incorporate gestures into UI prototypes.
Algorithm:
The gestures are compared against already recorded templates.
Resample the point path : Resample gestures such that the path defined by their original M points is defined by N equidistantly spaced points. N=64 was adequate. 32<= N <=64 works well.
Rotate once based on Indicative Angle: We rotate the gesture to make its indicative angle 0. Indicative angle is the angle formed between the centroid of the gesture and gesture's first point.
Scale and Translate: Scaled to a reference square and translate the centroid to (0,0).
Find optimal angle for best score: Path distance between template Ti and C(candidate) is calculated using the following:
Template Ti with lease di is selected. This minimum path distance is converted to a [0.. 1] score using
Aligning template and candidate
After rotating the indicative angles of all gestures to 0° there is no guarantee that two gestures C and Ti will be aligned optimally. We therefore must fine-tune C’s angle so that C’s path-distance to Ti is minimized.
Brute force - Rotate C +1 degree for all 360 degree and take best result. It is slow and processor intensive
Hill Climbing - Path-distance graph has no local minima. Rotate +/- 1 degree until C's path-distance to Ti decreases.
Optimal angle - 4.2 degree from indicative angle.
Indicative angle is a good approximation. But it is not efficient for dissimilar gestures.
Golden Selection Search - The algorithm finds minimum value in the range using golden ratio.
GSS loses |10.0–7.2|=2.8 iterations to hill climbing for similar gestures, it gains |10.0–53.5|=43.5 iterations for dissimilar ones
Limitations:
Cannot distinguish gestures whose identities depend on specific orientations, aspect ratio or locations. Does not use time and hence cannot distinguish based on speed.
$1, DTW and Rubine were compared for the gesture set designed for $1 recognizer.
Rubine was less successful in recognizing compared to the other two recognizers.


No comments:
Post a Comment