Comment :
Chris Aikens
Summary:
This paper introduce anther light-weighted single gesture recognizer, Protractor, which is very easy to implement and incorporated into any application system as well as mobile devices due to its simplicity and efficiency. Li, who is the designer of 1$ recognizer, developes Protractor based on his past work for 1$ recognizer. These two recognizers are both featured as super simplicty, they are similar in many aspects, however, Protractor is much more efficent than 1$ recognizer because it uses cosine similarity instead of distance measure which used in 1$ recognzier.
For implementation detail, they used similar preprocessing steps, except for calculating rotation angle and they uses different scaling mechanisim (1$ uses rescaling to fix a square while Protractor does not use rescaling)
Next, the most different part is , to calculate the optimal angular distance. Protractor stores stroke points as vector, then try to calculate the cosine similartiy between template vector and new stroke vector. Because indicative value is only an approximation measure of a gesture's orientation, Protractor should futhur rotate template gesture to get the best angle, which makes two vectors has largest similarty. In order to find such optimal angle, Li first shows us the formula which looks like :
In order to make left part of formula makes minimum, we only need to calcualte angle theta which makes its derivative function equals to 0. Li also shows us the final calculation result. By doing in this way, computation cost is significantly decreased, He no longer need to use iterative way to find such optimum value which is time consuming.
In the evaluation part, he compared Protractor with 1$ recognizer in terms of accuracy and efficiency. He found that Protracor actually outperformed its peer in many aspects including 1$ recognizer.
The following table shows the comparison between Protractor and 1$ recognizer.
1$ Recognizer | Protractor | |
---|---|---|
Preprocessing |
|
|
Classification |
|
|
Accuracy |
|
|
Time cost | MUCH slower than Protractor, time grows fast as the number of training samples grows | MUCH faster than 1$ recognizer, time grows much slower than 1$ recognizer |
Discussion :
This paper is an improvement of Li's last paper, 1$ recognizer. In this paper, he uses different similarity measure metric which is much faster than 1$ recognizer. He noticed that when he implements 1$ recognizer it uses iterative computation for calculating optimal angle which is time consuming. In this paper, he improves this part by using vector respentation instead of pure 2D representation of strokes as in 1$ recognizer. Due to the fast computation, it becomes feasible to apply to much larger gesture set. I like the smart idea behind computing optimal angle by using mathematical equaiton.
I really like the computation improvements over $1. While $1 is easy to implement, it is not space-efficient and becomes very slow with large training sets. Protractor still becomes slow with large training sets, but it takes much larger sets to slow it down.
ReplyDeleteI like the comparison table that you made in the summary, as protractor is more or less $1 reloaded. Making it easier to detect the contributions of protractor. I agree in the fact that the mayor contribution is probably the speed with large training sets.
ReplyDelete