A lightweight multistroke recognizer for user interface prototypes

With the expansion of pen- and touch-based computing, new user interface prototypes may incorporate stroke gestures. Many gestures comprise multiple strokes, but building state-of-the-art multistroke gesture recognizers is nontrivial and time-consuming. Luckily, user interface prototypes often do not require state-of-the-art recognizers that are general and maintainable, due to the simpler nature of most user interface gestures. To enable easy incorporation of multistroke recognition in user interface prototypes, we present $N, a lightweight, concise multistroke recognizer that uses only simple geometry and trigonometry. A full pseudocode listing is given as an appendix. $N is a significant extension to the $1 unistroke recognizer, which has seen quick uptake in prototypes but has key limitations. $N goes further by (1) recognizing gestures comprising multiple strokes, (2) automatically generalizing from one multistroke to all possible multistrokes using alternative stroke orders and directions, (3) recognizing one-dimensional gestures such as lines, and (4) providing bounded rotation invariance. In addition, $N uses two speed optimizations, one with start angles that saves 79.1% of comparisons and increases accuracy 1.3%. The other, which is optional, compares multistroke templates and candidates only if they have the same number of strokes, reducing comparisons further to 89.5% and increasing accuracy another 1.7%. These results are taken from our study of algebra symbols entered in situ by middle and high schoolers using a math tutor prototype, on which $N was 96.6% accurate with 15 templates.

[1]  Charles C. Tappert,et al.  Cursive Script Recognition by Elastic Matching , 1982, IBM J. Res. Dev..

[2]  James A. Landay,et al.  Extending an existing user interface toolkit to support gesture recognition , 1993, INTERCHI Adjunct Proceedings.

[3]  Richard C. T. Lee,et al.  Introduction to the Design and Analysis of Algorithms , 2005 .

[4]  Yang Li,et al.  Gestures without libraries, toolkits or training: a $1 recognizer for user interface prototypes , 2007, UIST.

[5]  Rob Miller,et al.  The Amulet Environment: New Models for Effective User Interface Software Development , 1997, IEEE Trans. Software Eng..

[6]  Zhengxing Sun,et al.  An Online Multi-stroke Sketch Recognition Method Integrated with Stroke Segmentation , 2005, ACII.

[7]  Takayuki Dan Kimura,et al.  Recognizing multistroke geometric shapes: an experimental evaluation , 1993, UIST '93.

[8]  Kenneth R. Koedinger,et al.  Toward Next-Generation, Intelligent Tutors: Adding Natural Handwriting Input , 2008, IEEE MultiMedia.

[9]  W. Press,et al.  Numerical Recipes in C++: The Art of Scientific Computing (2nd edn)1 Numerical Recipes Example Book (C++) (2nd edn)2 Numerical Recipes Multi-Language Code CD ROM with LINUX or UNIX Single-Screen License Revised Version3 , 2003 .

[10]  Ching Y. Suen,et al.  The State of the Art in Online Handwriting Recognition , 1990, IEEE Trans. Pattern Anal. Mach. Intell..

[11]  L. Kara,et al.  Recognizing Multi-Stroke Symbols , 2002 .

[12]  Mi-Gyung Cho A new gesture recognition algorithm and segmentation method of Korean scripts for gesture-allowed ink editor , 2006, Inf. Sci..

[13]  James Arvo,et al.  Equation entry and editing via handwriting and gesture recognition , 2001, Behav. Inf. Technol..

[14]  Robert C. Miller,et al.  Off-Line Sketch Interpretation , 2004, AAAI Technical Report.

[15]  James A. Pittman,et al.  Recognizing handwritten text , 1991, CHI.

[16]  James A. Landay,et al.  SATIN: a toolkit for informal ink-based applications , 2000, UIST '00.

[17]  Scott R. Klemmer,et al.  Iterative design and evaluation of an event architecture for pen-and-paper interfaces , 2008, UIST '08.

[18]  Thomas F. Stahovich,et al.  The effect of task on classification accuracy: using gesture recognition techniques in free-sketch recognition , 2009, SBIM '09.

[19]  Kenneth R. Koedinger,et al.  Benefits of Handwritten Input for Students Learning Algebra Equation Solving , 2007, AIED.

[20]  Sung-Hyuk Cha,et al.  CHAPTER 6 – English Language Handwriting Recognition Interfaces , 2007 .

[21]  Tyson R. Henry,et al.  Integrating gesture and snapping into a user interface toolkit , 1990, UIST '90.

[22]  Shumin Zhai,et al.  SHARK2: a large vocabulary shorthand writing system for pen-based computers , 2004, UIST '04.

[23]  F. A. Seiler,et al.  Numerical Recipes in C: The Art of Scientific Computing , 1989 .

[24]  Marc Rettig,et al.  Prototyping for tiny fingers , 1994, CACM.

[25]  James A. Landay,et al.  Examining Difficulties Software Developers Encounter in the Adoption of Statistical Machine Learning , 2008, AAAI.

[26]  James A. Landay,et al.  Implications for a gesture design tool , 1999, CHI '99.

[27]  Marjorie Skubic,et al.  Hidden Markov Model Symbol Recognition for Sketch-Based Interfaces , 2004, AAAI Technical Report.

[28]  Randall Davis,et al.  HMM-based efficient sketch recognition , 2005, IUI.

[29]  Anany Levitin,et al.  Introduction to the Design and Analysis of Algorithms , 2002 .

[30]  Dean Rubine,et al.  Specifying gestures by example , 1991, SIGGRAPH.

[31]  Levent Burak Kara,et al.  An Image-Based Trainable Symbol Recognizer for Sketch-Based Interfaces , 2004, AAAI Technical Report.

[32]  Jason Hong,et al.  Computational Support for Sketching in Design: A Review , 2009, Found. Trends Hum. Comput. Interact..

[33]  Thomas S. Huang,et al.  Constructing finite state machines for fast gesture recognition , 2000, Proceedings 15th International Conference on Pattern Recognition. ICPR-2000.

[34]  Sargur N. Srihari,et al.  On-Line and Off-Line Handwriting Recognition: A Comprehensive Survey , 2000, IEEE Trans. Pattern Anal. Mach. Intell..

[35]  L. R. Rabiner,et al.  A comparative study of several dynamic time-warping algorithms for connected-word recognition , 1981, The Bell System Technical Journal.