Visual Design and Engineering Laboratory

Carnegie Mellon University

An Efficient Graph-Based Recognizer for Hand-Drawn Symbols


[Paper PDF]    

[Publisher Version]


We describe a trainable, multi-stroke symbol recognizer for pen-based user interfaces. The approach is insensitive to orientation, non-uniform scaling, and drawing order. Symbols are represented internally as attributed relational graphs describing both the geometry and topology of the symbols. Symbol definitions are statistical models, which makes the approach robust to variations common in hand-drawn shapes. Symbol recognition requires finding the definition symbol whose attributed relational graph best matches that of the unknown symbol. Much of the power of the approach derives from the particular set of attributes used, and our metrics for measuring similarity between graphs. One challenge addressed in the current work is how to perform the graph matching efficiently. We present five approximate matching techniques: stochastic matching, which is based on stochastic search; error-driven matching, which uses local matching errors to drive the solution to an optimal match; greedy matching, which uses greedy search; hybrid matching, which uses exhaustive search for small problems and stochastic matching for larger ones; and sort matching, which relies on geometric information to accelerate the matching. Finally, we present the results of a user study, and discuss the tradeoffs between the various matching techniques.


WeeSan Lee, Levent Burak Kara, Thomas F Stahovich. (2007). An Efficient Graph-Based Recognizer for Hand-Drawn Symbols. Computers & Graphics, Volume 31, Issue 4, Pages 554-567.

 title = "An Efficient Graph-Based Recognizer for Hand-Drawn Symbols",
 journal = "Computers & Graphics ",
 volume = "31",
 number = "4",
 pages = "554 - 567",
 year = "2007",
 note = "",
 issn = "0097-8493",
 doi = "",
 url = "",
 author = "WeeSan Lee and Levent Burak Kara and Thomas F. Stahovich",
 keywords = "Pen computing",
 keywords = "Sketch understanding",
 keywords = "Symbol recognition",
 keywords = "Pattern recognition",
 keywords = "Graph matching",
 keywords = "Graph isomorphism "