Visual Design and Engineering Laboratory

Carnegie Mellon University

Hierarchical Parsing and Recognition of Hand-Sketched Diagrams


[Paper PDF]    


A long standing challenge in pen-based computer interaction is the ability to make sense of informal sketches. A main difficulty lies in reliably extracting and recognizing the intended set of visual objects from a continuous stream of pen strokes. Existing pen-based systems either avoid these issues altogether, thus resulting in the equivalent of a drawing program, or rely on algorithms that place unnatural constraints on the way the user draws. As one step toward alleviating these difficulties, we present an integrated sketch parsing and recognition approach designed to enable natural, fluid, sketch-based computer interaction. The techniques presented in this paper are oriented toward the domain of network diagrams. In the first step of our approach, the stream of pen strokes is examined to identify the arrows in the sketch. The identified arrows then anchor a spatial analysis which groups the uninterpreted strokes into distinct clusters, each representing a single object. Finally, a trainable shape recognizer, which is informed by the spatial analysis, is used to find the best interpretations of the clusters. Based on these concepts, we have built SimuSketch, a sketch-based interface for Matlab’s Simulink software package. An evaluation of Simu-Sketch has indicated that even novice users can effectively utilize our system to solve real engineering problems without having to know much about the underlying recognition techniques.


Levent Burak Kara, Thomas F. Stahovich. (2004). Hierarchical Parsing and Recognition of Hand-Sketched Diagrams. 17th ACM User Interface Software Technology (UIST) 2004.

  author = {Kara, Levent Burak and Stahovich, Thomas F.},
  title = {Hierarchical parsing and recognition of hand-sketched diagrams},
  booktitle = {Proceedings of the 17th annual ACM symposium on User interface software and technology},
  series = {UIST '04},
  year = {2004},
  isbn = {1-58113-957-8},
  location = {Santa Fe, NM, USA},
  pages = {13--22},
  numpages = {10},
  url = {},
  doi = {10.1145/1029632.1029636},
  acmid = {1029636},
  publisher = {ACM},
  address = {New York, NY, USA}