Search my stuff

Monday, September 27, 2010

Reading #9: PaleoSketch

Comments:
Danielle

Summary:
PaleoSketch provides highly accurate low-level primitive recognition and beautification. It places very few constraints on the user, thus allowing them to focus on their drawings and not on having to learn the software that is implementing the recognizer. Paleo takes a stroke and runs it through a series of 8 different classifiers. Each classifiers then returns whether or not the stroke could be of that primitive type along with a beautified stroke if it matches. Paleo also incorporates two new features: the normalize distance between direction extremes (NDDE) and the direction change ratio (DCR). The NDDE is basically the percentage of the stroke that lies between the two extremes of slope. The DCR is the maximum change in direction divided by the average change in direction, with the first and last 5% of the stroke ignored.

The different possible interpretations for a stroke are stored in an interpretation hierarchy. This hierarchy is based on the minimum number of corners that would result when classifying a stroke a certain way. The resulting stroke with the fewest corners is chosen as the best interpretation. Because each interpretation is computed, however, users can easily choose an alternate interpretation if the chosen best match is not what they meant to draw.

Above you can see a blurry PaleoSketch do work on some recognition tests.

Discussion:
98.56% of the time, it works every time. But really, PaleoSketch pushes it to the limit. It seems like the only think Paleo cannot do is force users to not be lazy. Some of the recognition errors resulted because a tester drew a circle that looked exactly like an ellipse. The other errors were from complex shapes that were combinations of primitives. Can you really fault something for doing its job too well? I, sirs and madams, cannot. PaleoSketch is awesome.

5 comments:

  1. Could you explain why the hierarchy is based on the minimum number of corners that would result when classifying a stroke? I don't quite understand that point regarding hierarchy.

    ReplyDelete
  2. The hierarchy is in place in order to choose between a polyline or other shape interpretation. Suppose that we have an arc shape that looks like a 4 segment polyline to the corner finding algorithm and also looks like an arc to the arc recognizer. The arc is ranked higher because it has 3 as it minimum number of lines.

    Any shape can be approximated by enough polylines, but at a certain threshold we would prefer to just have the shape instead of a polyline approximation of the shape.

    ReplyDelete
  3. George summed it up nicely there. Having fewer corners in the potential interpretation means that it fits a more natural drawing style. Think of it this way- is a user more likely to draw an arc, or to draw five lines that look like a jagged arc?

    ReplyDelete
  4. I'll admit, once we know how, Paleo does what we want, no fuss, no muss, little/no mess. It's amazing. Granted, it thinks all sketches are combinations of its primitives, but that's alright. I wonder what sketch recognition will be doing 10, 20 years down the road. Chances are it'll be able to recognize animals and vehicles.

    ReplyDelete
  5. Paleo is good, but not works well sometimes

    ReplyDelete