"A meek endeavor to the triumph" by Sampath Jayarathna

Friday, October 15, 2010

Reading #12. Constellation Models for Sketch Recognition

Comments on Others:

Marty

Summary

            This paper describes a constellation or pictorial structure model to recognize strokes in sketches by capturing the structure of a particular class of objects and based on the local features of it. Learning of the system is done by probabilistic model from example sketches with known stroke labeling. Then the recognition algorithm determines a maximum likelihood labeling for an unlabelled sketch by searching through the space of possible label assignments using multi pass branch and bound algorithm. In the model, object representation is done by a constellation model, which based on the features of pairs of parts. Due to the complexity of n number of features, each of these features is broken into mandatory and optional.

            According to the authors, the sketch recognition process has two phases, first to search possible mandatory labels and then optional labels. The searching is based on ML search procedure and search over possible label assignments are done by branch-bound search tree.  Authors proposed a multiple threshold and hard constraints to avoid situations with higher mandatory labels or higher number of strokes.

Discussion

             The idea of using a constellation model for the features of a sketch is an interesting one. I’m just wondering how useful this for our second project to identify course of action diagrams????

            In my opinion restricting a user to draw a sketch based on the assumption that mandatory and optional features existence is sort of a constraining users freehand sketching. Yes, this makes the life much easier for the authors by making the searching is less complex, but I guess they are forgetting the golden rule of sketching recognition……….”freehand sketching”……….. 

Find the paper here.   

Thursday, October 14, 2010

Reading #11. LADDER, a sketching language for user interface developers

Comments on Others:

 Hong-Hoe (Ayden) Kim 

Summary

             LADDER is a language to describe how sketched diagrams in a domain are drawn, displayed and edited. According to authors, LADDER structural descriptions can be automatically transform into domain specific shape recognizers, editing recognizers and shape exhibitors to use for sketch recognition domain. Furthermore, authors state that the LADDER is the first sketch description language as well as first implemented prototype system to prove that such a framework is possible to automatically generate a sketch interface for a domain from only domain description. Entire LADDER system consists of 3 sub systems, Domain Description, Translation and Sketch Recognition System. Authors also state that a language is a combination of predefined shapes, constraints, editing behaviors, display methods and domain description syntax. Still the domain descriptions are easy to specify and have enough details for accurate sketch recognition.

            LADDER is defined upon a set of shapes due to description limitations, things like abstract shapes, overly complicated irregular shapes, shapes not based on LADDER primitives, and domains with few curves or less details of curves. The LADDER system is based on vectors to define variable number of components. 

Discussion

            I’m not sure why there is a restriction to the shapes based on other than primitives defined on the LADDER? May be I’m not getting the concept right, are there any other primitives than a point, line and arc (in my opinion)? We should be able to define any other shape by simply using only 3 of these primitives, and I vaguely remember using only these 3 to do graphics programming during my undergraduate years. Correct me if I’m wrong…….      

Find the paper here.   

Reading #10. Graphical Input Through Machine Recognition of Sketches

Comments on Others:

Danielle

Summary

             This paper proposed an interactive system for graphical input in which the user openly participate in training the machine and massaging the data at all levels of interpretation. This includes 3 experiments, HUNCH: which tries to answer the question of existence of a syntax for sketching, architectural knowledge in recognizing a sketch and user involvement in the input process.

            HUNCH is a set of FORTRAN programs with different level of interpretation to process freehand sketches drawn with a data tablet or a light pen. The HUNCH used a program called a STRAIT as a corner finder, which actually based on the function of speed of the pen. Another program called CURVIT was used to finder the curves instead of corners. Even with the sketch recognition capabilities of the CURVIT and STRAIT, authors found that there is a difference when different people using the system which based on the human sketching behavior. Due to the latching problems the STRAIT was re-written without it called STRAIN. Overtracing was another interpretation problem that authors faced during the HUNCH development. The newest approach was using a much more interactive system to get user involvement to make decisions on machine selection which consisted of a database to and programs to manipulate data. The program is based on inference making procedures which is different from HUNCH and STRAIN and LATCH.

Discussion

              The paper is about a GUI to input and recognizer freehand sketches, but overall picture of the system is too hazy to understand. Author starts with a legacy system they used before the new system and the difficulties with the old system and how they overcome those in the new system. Without some performance measures and an overall picture of the system, it is hard to imagine how this new system works towards sketch recognition. I’m lost somewhere in the middle of the paper……………..!!! 

Find the paper here.

Wednesday, October 13, 2010

Reading #9. PaleoSketch: Accurate Primitive Sketch Recognition and Beautification

Comments on Others:

Francisco

Summary
           The paper proposes a new low-level recognition and beautification system to recognize 8 primitive shapes as well as combinations of these primitives with recognition rate at 98.56%. The Paleo process initiates with a pre-recognition calculation and after that sending these to lower-level shape recognizes for further processing. Each of these low-level recognizer correspond to a particular primitive shape then returns a Boolean flag to specify whether the recognizer passed or failed as well as a beautified shape object that best fits the input stroke. After all shapes are executed, are hierarchy function sorts each interpretation of the order of a best fit. The pre-recogntion eliminates duplicate points and then create series of graphs including directional graph, speed graph, curvature graph and corners based on a simple corner finder algorithm. In addition this phase computes 2 new features called NDDE and DCR to defer polylines from curves.  

Discussion 
             After using the Paleo in our first class project, I’m much satisfied with its processing capabilities w.r.t sketch recognition. It’s a powerful corner finder tool to get the basic primitive shapes of a sketch that you can apply towards devising other sketch recognition algorithms, (which makes life much easier). With my personal experience on hand writing recognition, I feel Paleo is a successful way of doing the preprocessing of an image for other low level tasks. I used to apply image processing techniques like binarization and skelatanizaton and then fuzzy rules to get primitive shapes and, yes, things are daunting that way.
           I’m just wondering whether Paleo is capable of giving few more of feature properties of interests??? Things like positive/negative slanted line, horizontal/vertical line, U-like, inverse U-like, V-like and inverse V like??? I’m not sure paleo is already doing this or not, but if so, things are pretty good for a new character recognition pre-processing task using PaleoSketch………..

Find the paper here