Thursday, December 2, 2010

Reading #21: Teddy: A Sketching Interface for 3D Freeform Design (Igarashi)

Comment Location:
http://ayden-kim.blogspot.com/2010/12/reading-21-teddy.html

Summary:
Now this is interesting.  The user "draws" 3D objects by sketching a 2D sketch and then letting the system Teddy work its algorithm.  Teddy doesn't recognize individual shapes, such as a square or triangle.  Instead, it takes an enclosed shape and does a number of operations to it to transform the sketch into a 3D shape.  Operations include bending, painting, and extrusion; there are multiple variations of each operation, depending on the shape.  Only specialists in the author's general research areas tested the Teddy system, but they gave very positive reviews.

Discussion:
I noticed the light source differed between some of the sketches show in figure 6.  This makes me wonder if the light source is decided by Teddy or if it can be customized by the user.  Here is the future: combine this with Maya, so I can draw something and convert it to a rendered 3D object.  The farther future: scan a sketch(es) of a game character and create a 3D based on the input.  This would reduce the workload of game developers when creating characters, enemies, and levels.

Reading #20: MathPad2: A System for the Creation and Exploration of Mathematical Sketches (LaViola)

Comment Location:
http://pacocomputer.blogspot.com/2010/12/reading-20-mathpad-2-system-for.html

Summary:
The author presents an algorithm for recognizing mathematical problems and solving them.  The user sketches an equation or mathematical situation, and the MathPad2 system solves that problem.  Currently, MathPad2 cannot solve complex problems involving multiple equations by itself.  MathPad2 is currently limited to solving simple equations.  MathPad2 is a user-driven sketch recognition system using menu options and gesture options to activate functionality.

Discussion:
I did not see a results sections or a section devoted towards user evaluation; I did notice the odd feedback mini-section here and there.  I cannot help but think this system was created with minimal user feedback.  It would be interesting to see how a few Math majors (Math PhD students in particular and some Math professors) think of MathPad2.

Reading #19: Diagram Structure Recognition by Bayesian Conditional Random Fields (Qi)

Comment Location:
http://pacocomputer.blogspot.com/2010/12/reading-19-diagram-structure.html

Summary:
Bayes Theorem is a probability technique for guessing if a piece of data belongs to a particular class based on training data.  This has been applied to sketch recognition.  The algorithm also involves Markov properties, and I do not have a background in that; due to this, my explanation on the algorithm will be rather scant.  The algorithm only attempts to identify components within a diagram sketch.

The results, like all learning classifiers (and most algorithms on the planet) were not perfect.  The algorithm failed to give correct identification for all sketches.

Discussion:
The paper used some things I do not a background on so I cannot offer much in the way of discussion.  I can say the algorithm chose an approach I have not seen before and the  results were not perfect.  Still, it's a nice, math-heavy idea for a field.  It seems most fields try that route at some point.

Reading #18: Spatial Recognition and Grouping of Text and Graphics (Shilman)

Comment Location:
http://pacocomputer.blogspot.com/2010/12/reading-18-spatial-recognition-and.html

Summary:
This algorithm is somewhat similar to Reading #16.  The algorithm creates a proximity graph of each stroke.  The order of the strokes is not used in this algorithm; this potentially reduces error in the event the user drew the shape in an unusual manner.  The author improves upon the work of Viola-Jones, who "constructed a real-time face detection system using a boosted collection of simple and efficient features". 

Discussion:
The author achieved some interesting results.  The algorithm had improved results over some other algorithms when the number of recognizable shapes increased.  I'd say this algorithm is definitely worth looking into and it is beneficial to use parts of it.

Reading #17: Distinguishing Text from Graphics in On-line Handwritten Ink (Bishop)

Comment Location:
http://pacocomputer.blogspot.com/2010/12/reading-17-distinguishing-text-from.html

Summary:
This algorithm separates text from graphics.  Unlike the entropy algorithm, this algorithm employs a feature set.  The feature set include characteristics of the strokes and the relationship between strokes, such as the distance between strokes.  Time difference between strokes is calculated as well.

If I'm reading the results correctly, the algorithm demonstrated a great deal of errors.  This is not a surprise, considering some shapes look like characters (triangle looks like letter "A").

Discussion:
It's a shame I did not discover this paper before the due date of the second homework assignment.  Otherwise, I could have used some of the features to distinguish between text and non-text strokes.

Reading #16: An Efficient Graph-Based Symbol Recognizer (Lee)

Comment Location:
http://pacocomputer.blogspot.com/2010/12/reading-16-efficient-graph-based-symbol.html

Summary:
The algorithm employs a relational graph as the basis for its recognition.  For homework 1, I used relations between some lines as part of my algorithm, but I did not base my entire algorithm off the relations between strokes.  This algorithm does that.  Once the relational graph is created, the sketch is matched to the template that has the closest relational graph.  There are several ways of doing this, and the paper employs 4 of them:

"Stochastic Matching, which is based on stochastic search; Error-driven Matching, which uses local matching errors to drive the solution to an optimal match; Greedy Matching, which uses greedy search; and Sort Matching, which relies on geometric information to accelerate the matching."

A grand total of 23 different symbols were used in the testing.  The only algorithm to perform with less than a 90% accuracy was the sort type; the sort type also had the shortest computation time.  There was very little difference in the accuracy rates of the other 3 algorithms; their comptutation times differed widely though.  Stochastic took the longest to finish.

Discussion:
This algorithm is definitely viable for sketch recognition.  The grand future of sketch recognition no doubt involves an interface that recognizes and fixes up any sketch a user is making.  To encompass "any sketch", a large database is currently required and a significant amount of time to use that database is required.  The question remains, is there a way to get around that?  Is there a method of recognizing sketches that doesn't rely on a large amount of stored memory?  If not, then the cost of using that memory must be made much smaller than it is today and the computational abilities of computers must increase drastically (latter one's always happening).

Reading #15: An Image-Based, Trainable Symbol Recognizer for Hand-drawn Sketches (Kara)

Comment Location:
http://pacocomputer.blogspot.com/2010/11/reading-15-image-based-trainable-symbol.html

Summary:
The author proposes a trainable, hand-drawn symbol recognizer based on a multi-layer recognition scheme.  Binary templates are used to represent the symbols.  The author uses multiple classifiers to rank a symbol and thus increase the overall accuracy of the system.  The 4 classifiers are Hausdorff Distance, Modified Hausdorff Distance, Tanimoto Coefficient, and Yule Coefficient. 

The author discovered limitations among his shape set when he tried to compare sketches that had shapes (like arrows) differing mainly by direction, size, or some other small detail. 

Discussion:
The author realized there is currently no perfect algorithm in sketch recognition.  The idea to employ multiple recognizers is a step forward in progress.  It also increases the coding, but then again, nothing's perfect.  Maybe if the author slapped on a few more classifiers and weighted their input, the overall recognition of the symbol would increase.