Thursday, October 25, 2007

Paper #14 - Graphical Input Through Machine Recognition of Sketches

Paper:
Graphical Input Through Machine Recognition of Sketches
(Christopher F. Herot)

Summary:
Three experiments were conducted in the Herot paper. In the first experiment, the HUNCH system, which is a set of programs designed to process sketches, was employed to determine the existence of a sketch syntax and a domain-independent sketch interpreter. Raw data was taken from users sketching with a special pencil on paper taped over a data tablet. In finding curves, corners, and end lines, it was discovered in the paper that corners could be found from speed minima. Curves were taken to be special cases of corners, while end lines were first handled with a simple latching program. Latching, or the joining of endpoint pairs within a certain radius, produced strange results when scaled. Overtracing was not dealt with in the original HUNCH system, but Herot mentioned the need of the program to distinguish between two carefully drawn parallel lines and a wide, overtraced one. Other inference levels included inferring a third dimension and finding rooms in a floor plan sketch.

Mixed results from the first experiment led to another experiment in finding a system which specified a context at the lowest levels in order to avoid difficulties in the machine recognizing context on the sketches.

The last experiment emphasized user involvement in the input process outside the range of a machine’s capabilities while not being cumbersome to the user during sketching. This system involves a database and a set of programs to make use of it. Three types of programs were used: 1) inference programs, which tests reasonableness on output, 2) display programs, which allows any level of the database to be displayed, and 3) manipulation programs, which is combined with a graphical editor for user modification. A set of functions in this new program were used to determine lines and curves in real-time. The two most useful functions were speed, which measures interval length by number of points, and “bentness,” which measures maximum distance from point to chord. Bentness is used to find actual corners, while speed was used to indicate corner intention.

Discussion:
When viewed in isolation, this paper isn’t really that amazing to the previous papers covered thus far. It wasn’t until after I paid attention to the photo of the hippy guy in the paper did I then realize how old this paper was in comparison to the succeeding paper. The innovative idea of using velocity and curvature to resolve the difficult problem of finding lines in a point? It may be a happy coincidence to them, but that’s quite an accomplished feat when considering that it didn’t come up again for another two decades. It’s a shame that it wasn’t picked up for such a long time, and amusing that this idea was only mentioned in passing in this paper when it was dedicated entirely in the Sezgin paper.

I do see a fault with the latching approach the author uses to resolve unconnected lines, something covered more in detail than the more novel point-detection approach. Latching intuitively makes sense, but the way it’s done in this paper doesn’t seem to perform well when it comes to images scaled smaller. The only fix I would see in the latching approach is either using a variable scheme as opposed to the rote scheme used in the paper, or simply do away with it completely and use something else. I’m guessing the latter was done, as I haven’t heard anything about latching or other similar approaches being done in the more recent papers.

No comments: