Tuesday, September 25, 2007

Recognizing and Beautifying Low-Level Sketch Shapes with Two New Features and Ranking Algorithms

by

Brandon Paulson and Tracy Hammond

Summary

The authors discuss a new low-level recognizer which is able to recognize eight primitive shapes, and achieve recognition rates of 98.6%. The recognizer is capable of returning multiple interpretations, thus allowing for quick selection of alternate interpretations. The system can recognize: line, polyline, circle, ellipse, arc, curve, spiral and helix. The author gives a brief overview of the previous work; this section includes many if not all of the papers we have read previously.

The stroke goes through a pre-recognition process in which graphs and values are comptued for the stroke's direction, speed, curvature and corners. Corners are calculated using a multi-pass approach. Two new features are calculated: NDDE (Normalized Distance between Direction Extremes) and DCR (Direction Change Ratio). Curved shapes have a high NDDE, polylines lower; polylines have higher DCR values than curved strokes. Two additional test are done to determine if the stroke is overtraced or if it is a closed figure. For each of the the eight shapes there is a set of test where various thresholds for the various values must be compared. A hierarchy is used to determine whether a stroke is a stroke is interpreted as complex or polyline. Seven of the low-level descriptors are given scores. These scores are then added with the lower score being selected.

The recognizer was compared against the authors implementation of Sezgin, their recognizer, their recognizer without the two new features, and their recognizer without rankings. The recognizer is capable of running in real time. Correct shape interpretation was returned 99.89% of time (list being on average 2.69), 98.56% of the time the correct interpretation was the top. Circles misclassified as ellipses, complex shapes, and polylines being classified as complex shapes were the oft errors.

Discussion

I noticed that in the complex test sub-strokes are attempted to be combines into strokes, and those strokes are tested against the primitive. Just by looking at my Sezgin results I can see when this would be helpful. The future work section was good, it gave me ideas to cherry-pick for possible class projects.

Citation

1 comment:

Paul Taele said...

As I had commented in class the day we discussed this paper, I was glad to have finally read this paper. One was for the reason you mentioned. The other was because the ideas mentioned were very helpful in improving recognition results in our own implementations of the Sezgin method. It makes me feel a little bit bad that the previous SR class figured out some of the hard parts for us...