Example Line Drawing Analysis for the ZombieBoard Diagrammatic User Interface

Eric Saund

This example shows successive stages of processing of a hand-drawn sketch.
The example sketch depicts a command to a diagrammatic user interface controlling a whiteboard scanner. The command is drawn directly on the whiteboard, which is monitored by a video camera. In the working system, it takes anywhere between 5 and 30 seconds for the system to respond to a drawn diagrammatic command, depending mainly on the speed of the computer. The diagrammatic command language supports a "GO" button (nested boxes), plus specification of a region of interest on the whiteboard, and character annotations (the C and X hanging off the bottom of the button).

(This image magnified x2.)
Original 8 bit grey image captured from a video camera pointed at a whiteboard.

(This image magnified x2.)
After image processing, thinning, and tracing, chain-coded curves are extracted representing the hand-drawn strokes.

(This image magnified x2.)
Rectangles portray line segment approximations to curve segments. Symolic descriptors such as line segments are represented as "tokens" placed in a spatial and scale-indexed data structure (the Scale-Space Blackboard). Circles show pairs of line segment tokens forming an "upper left corner" configuration, found by token-grouping operations. These are used as candidate locations to look for nested box buttons.

(This image magnified x2.)
Magnified view of the line segment tokens associated with the nested box button. Note the fragmentation of the strokes as they were originally drawn by the user.

(This image magnified x2.)
Combined result of two kinds of perceptual grouping by smooth continuation. Rectangles show all simply aligning structures. Red lines show groups of line segments forming circular arcs.

(This image magnified x2.)
Pairs of curve tokens forming corners, nested, corners, and parallels. An appropriate configuration of these intermediate level structures constitutes sufficient evidence to assert the presence of a nested box button.

(This image magnified x2.)
Once the nested box button is found, routines are executed to identify the enclosing region and character annotations associated with the nested box button. A tracing routine follows the path specifying the enclosing region, then models it as a polygon. The path may be either continuous or broken. Circles and dots show steps of a "flashlight search" routine used in path tracing. Tracing is also used to follow leader lines starting at the bottom center of the button, to the character annotations. Two handwritten text regions are found as shown by their bounding rectangles; these image regions are to be passed to a handwritten character recognition module.


Back to Eric Saund's Home Page.