Monday, April 15, 2013

ShortStraw: A Simple and Effective Corner Finder for Polylines


ShortStraw: A Simple and Effective Corner Finder for
Polylines

A. Wolin, B. Eoff, and T. Hammond
Texas A&M University
Department of Computer Science
College Station, TX 77843-3112


Howdy!
             In this blog post, I will give a brief summary of the algorithm presented in the above mentioned paper and state my opinion on it.

             The authors propose a novel method to find corners in a poly- line. Their method is very simple, easy to implement and highly accurate. For different sets of stroke points, the Euclidean distance (straw) between the start and end points is calculated and the shortest straws indicate a corner. Following is a description of the algorithm:

The stroke points are resampled using a specific algorithm. The distance between two points is calculated as the length of the diagonal of the bounding box divided by 40, 40 being an empirical constant. If this constant is increased, it causes noise while if the constant is decreased, it causes over- smoothing of the stroke. Using the following algorithm, the corners are determined:


The main algorithm terminates when i > |points|. To remove false positives, pairs of consecutive corners are tested for a line test (ratio of Euclidean distance between start and end points and path distance between start and end points is greater than 0.95 and close to 1), If they fail the line test, there must be a corner in between themn and that corner is approximated to be the mid- point. Then triplets of consecutive corners are tested to see if they form a line. If they do form a line, the middle corner is a false positive and is removed. 

The algorithm performed really well in the evaluation phase. It outperformed most of the existing algorithms. They use two accuracy measures. The first measure is the number of correctly found corners divided by the number of correct corners a human would perceive. But this doesn't account for false positives. So they use an all- or- nothing measure which means that only the minimum number of corners required to segment the stroke are found.

I like the approach that the authors use. It is simple, fast and easy to implement. Also, the accuracy is very high and so the algorithm can be used by people who don't have a background in advanced math too.


I used the following sources for this blog post:
[1] Proceeding. SBM'08 Proceedings of the Fifth Eurographics conference on Sketch-Based Interfaces and Modeling. Pages 33-40. Eurographics Association Aire-la-Ville, Switzerland, Switzerland ©2008

Thanks for reading my blog! Have a great and blessed day!

Gig'em!!!

Monday, April 8, 2013

A Domain-Independent System for Sketch Recognition

A Domain-Independent System for Sketch Recognition

Bo Yu, Shijie Cai
State Key Laboratory of Software Novel Technology, Nanjing University, China
mikeyucn@hotmail.com

Howdy!
             In this blog post, I would like to briefly summarize the above paper and provide my view on it.

             Freehand sketching is one of the most effective way to communicate and in this paper, the authors develop a system that can recognize gestures independent of the domain and give the user freedom from using non- intuitive ways like menus and toolbars. It also allows the user to draw shapes using multiple strokes.

             The system creates a direction and a curvature graph for the input gesture and users various ways to identify the gesture and re- construct it. 
Figure 1

They use various ways to recognize a line, a circle, an arc, an ellipse and other shapes. One of the methods they use is feature area. The system calculates feature area to a line, feature area to a point and feature area to an arc as follows:
Figure 2

The vertices are detected by looking at the sharpest corners of the direction graph. The authors use various methods to eliminate false positives. Once the entire diagram has been identified, the system does post- processing which basically consists of Simple Relation Retrieval, Cleanup and Basic Object Recognition which identifies objects that are independent of the domain. The Cleanup phase (removing useless elements at the beginning and the end of the stroke) has 3 rules:
1.) If a line segment (arc) with at least one extreme point open, i.e. not connected to other elements, is very short compared with the mean length of all the elements in its original stroke, then remove this line segment (arc)
2.) Given one line segment (arc) with each extreme point connected to some other element, ifit is very short compared with its neighbor elements’ length and these two ones are neither symmetrical nor parallel, then shorten this line segment(arc)to its midpoint.
3.) If two line segments (arcs) with similar angles (centers and radii) are connected or overlapped, then merge them into a new one.

The user can select objects by doing a circle gesture around them. There are other commands that the user can provide using gestures:
Figure 3

The evaluation of the system suggests that the users liked the system. I think it's a great idea as it provides good recognition independent of the domain and can be tweaked to suit certain requirements and be made domain- specific.

I used the following sources for this blog post:
[1] Proceeding GRAPHITE '03 Proceedings of the 1st international conference on Computer graphics and interactive techniques in Australasia and South East Asia. Pages 141-146 . ACM New York, NY, USA ©2003

Thanks for reading my blog! Have a great and blessed day!

Gig'em!!!

Sketch Recognition Algorithms for Comparing Complex and Unpredictable Shapes


Sketch Recognition Algorithms for
Comparing Complex and Unpredictable Shapes


Howdy!
             I would like to talk a little bit about the above paper and state my opinion on it.

             The paper talks about a sketch- recognition system Mechanix which can be used to teach statics problems. The system recognized the gesture drawn as a truss or a free body diagram and then recognizes the mechanics behind it. It allows students to draw diagrams as if they are drawing it with pen and paper and then gives them feedback by comparing the student's drawing with the correct one. This helps professors and  TAs teaching classes with a lot of students.

The system uses 3 metrics to compare the user's response with the instructor's stored correct answer: Hausdorff distance, modified Hausdorff distance and Tanimoto co- efficient. Hausdorff distance between two shapes A and B is:

where Pa is the set of points of A and Pb is the set of points of B. Similarly, Db is calculated and the Hausdorff Distance is:
The modified Hausdorff distance is:

From the Hausdorff distance, the probability of the two shaped being similar is calculated as follows:
The constant 20 is chosen as half of the side- length of the bounding box. If P is less than zero, it means that the shapes are really dissimilar and hence it can be treated as a zero probability.

The Tanimoto coefficient is calculated as follows:
nAB is the number of points common to A and B and nA and nB are the number of points in A and B respectively. 

The paper discusses about the methods that they use for truss identification and free body identification. Identifying those two shapes is very important as they form the main component in any such diagram.

Their experiments and results suggest that students like the Mechanix system and they find it helpful. I personally think that this is a very cool design as the instructors can leverage it to compensate for the lack of individual attention to students in huge classes. 

I used the following sources for this blog post:
[1] Proceeding IJCAI'11 Proceedings of the Twenty-Second international joint conference on Artificial Intelligence - Volume Volume Three. Pages 2436-2441. AAAI Press ©2011

Thanks for reading my blog! Have a great and blessed day!

Gig'em!!!


Wednesday, April 3, 2013

The Word-Gesture Keyboard: Reimagining Keyboard Interaction


The Word-Gesture Keyboard: 
Reimagining Keyboard 
Interaction

Shumin Zhai and per ola Kristensson

Howdy!
             I am going to present a short summary of the above mentioned article and give my opinion on it.

             In the article, the authors talk about a new text- input system that they developed. The name of the system is ShapeWriter. It is a gesture- based text- input system. Instead of entering the text through the conventional keyboard style, the authors present a novel method which relies on word gestures.

Figure 1

             To type in a word, the user needs to make a single- stroke gesture that goes over all the letters in the word. It is demonstrated in the above picture. The stroke features are compared with the word gesture features and the word that has the highest match is returned. The system also returns the k next best matches in case the recognition is not correct. Following equation is used to calculate the probabilities:



where P(G|W) is the probability of gesture G given word W, P(W) is the probability of the word W and P(G) is the probability of the gesture G.

Using Fitts' Law, Index Difficulty (ID) is calculates in bits using the following equations:

where t is the time to go from letter k to letter k+1, D is the distance between letters k and k+1, S is the size of the (k+1)th key and a and b are constants. 

The total time to write a word is:

where N is the number of letters in the word.

It is also possible to input commands by pressing the command key followed by the command shortcut as follows:
Figure 2


The authors have tested the program with many users and the general consensus about the product has been positive. 

I think that the idea of specifying words by gestures is truly amazing and can be very helpful in increasing the text- input speed and accuracy as there is error correction too. There is a big room for making advances in this area. 

I used the following sources for this blog post:
[1] Magazine. Communications of the ACM CACM Homepage archive. Volume 55 Issue 9, September 2012. Pages 91-101. ACM New York, NY, USA

Thanks for reading my blog! Have a great and blessed day!

Gig'em!!!

Monday, March 25, 2013

Tapping into the “folk knowledge” needed to advance machine learning applications


Tapping into the “folk knowledge” needed to 
advance machine learning applications

Pedro Domingos

Howdy!
             I am going to briefly summarize and express my opinion on the above mentioned article.

             In this article, the author talks about Machine Learning and gives a simplified overview of the field. He introduces the topic of machine learning, talks about different ways it can be achieved and discusses various related issues.

              Machine Learning algorithms automatically figure extract knowledge from the input data. It learns different rules to distinguish between the different data and acts as a classifier when new data is presented to it. Learning in machine learning algorithms is a combination of representation, evaluation and optimization. The classifier has to be represented in a formal language that the computer can handle. This decided what kind of hypotheses the learner can learn, The set of hypotheses that the learner can learn is called hypothesis space. An evaluation function or an objective function is used to distinguish between good and bad classifiers. The optimization process is used to find the classifier with the optimal efficiency. 

             Generalization is the main goal of machine learning algorithms. The "goodness" of a machine learning algorithm depends on how well the classifier obtained can classify new input instances. Using a lot of data or a lot of features can induce noise and result in a bad classifier. When the example data cannot cover all the different variety in the total data, it may produce a bad classifier. This problem is known as overfitting. Bias is a learner's tendency to learn the same wrong thing consistently. Variance is the tendency of the learner to learn random things irrespective of the correct signal. 


Figure 1


Our intuition that works pretty well in a 3- D world may not work at all in high dimensions. Sometimes, data fed to a machine learner has a lot of dimensions and so it is hard to design algorithms for machine learners. There are some theoretical guarantees about machine learning algorithms but they are probabilistic guarantees. A lot of feature engineering goes into machine learning projects and it cannot be automated. So the actual learning part may take a very short time compared to the time that goes into the preprocessing stages. Recently, the focus has shifted from using just one machine learning algorithm to many. Different algorithms are weighted differently and the results are combined based on those weights to get the final output. This results in a very good classifier.

The knowledge presented in the paper about machine learning is very useful. It explains the basics of machine learning in a very lucid manner. Machine learning seems to be the next big thing in the world of computing. 

I used the following sources for this blog post:
[1] Magazine. Communications of the ACM CACM Homepage archive. Volume 55 Issue 10, October 2012. Pages 78-87. ACM New York, NY, USA

Thanks for reading my blog! Have a great and blessed day!

Gig'em!!!



Tuesday, March 19, 2013

Sketch Based Interfaces: Early Processing for Sketch Understanding


Sketch Based Interfaces: Early Processing for Sketch Understanding


Howdy!
            In this blog post, I am going to shortly summarize the above mentioned research paper and express my opinion on it. 

           In the paper, the authors propose a hybrid way to combine knowledge from different areas to recognize a sketch and give the user as much flexibility in drawing as is available while drawing with a pencil and a paper. The process consists of 3 steps: approximation, beautification, and basic recognition. 

         Approximation consists of detecting corners (or vertices) and curves segments of the gesture. For the input gesture, direction graph, curvature graph and speed graph are constructed. For the curvature graph, all the maxima points above the mean value are collected into a set Fd. For the speed graph, all the minima points below 90% of the mean are collected into a set Fs. 
Curvature graph

Speed graph


Now, an iterative algorithm is used to select points from both the sets that have a high confidence value of being a vertex (corner). Once that is done, curve segments are detected using another algorithm. 

Beautification is rendering of the drawing as intended by the user but in a more presentable way. Here is an example from the paper:
Beautification example


Recognition of basic shapes is done using some simple pre- defined rules and procedures. 

The system performs very well and most of the users in the user- study said that they would prefer to use this system to the other ones available at the time.

I find the hybrid approach very interesting. It combines the data available during the gesture making stage with the data available at the end. This can be very useful in drawing sketches in the mechanical and civil engineering domain.

I used the following sources for this blog post:

Thanks for reading my blog! Have a great and blessed day!

Gig'em!!!


Protractor: A Fast and Accurate Gesture Recognizer

Protractor: A Fast and Accurate Gesture Recognizer

Yang Li 
Google Research 
1600 Amphitheatre Parkway 
Mountain View, CA 94043 
yangli@acm.org

Howdy! 
            This blog post is a short summary of the above mentioned paper. It also contains my views on the Protractor system proposed in this paper.

            Protractor is a gesture recognizer that can be easily implemented and customized for different users. It is very fast and the customization doesn't take a very long time either. Protractor uses the idea of nearest neighbors based on the cosine similarity between two gestures.


           The users can create their own gestures and provide samples for them. When the user makes a gesture, that gesture is compared with stored templates and for each stored template, a cosine similarity score is calculated using the following formula:


Due to some orientation adjustment done in the pre- processing step, there is some noise introduced. To overcome this, the input gesture is rotated by an angle as follows:



and 'a' is the dot- product of 'vt' and 'vg'. 

The Protractor system performs almost as good as the $1- algorithm but when the number of distinct gestures increases, the performance of Protractor is less affected than that of $1- algorithm. 

In my opinion, Protractor serves as a very good tool to recognize gestures for systems that are intended for personal use in the sense that every user has their own system. It is very easy to add custom gestures, something that users would prefer to having a fixed set of gestures. 

I used the following sources for this blog post:
[1] Proceeding CHI '10 Proceedings of the SIGCHI Conference on Human Factors in Computing Systems. Pages 2169-2172. ACM New York, NY, USA ©2010

Thanks for reading my blog! Have a great and blessed day!

Gig'em!!!

Thursday, February 14, 2013

PaleoSketch: Accurate Primitive Sketch Recognition and Beautification




Howdy!
            In this blog post, I am going to write a brief summary of the above mentioned paper and my opinion on it. 

           The authors intend to recognize a user's intention in making a gesture and using that information in the gesture- recognition process. They present a new low- level recognition and beautification system to recognize eight primitive shapes: Line, Polyline, Circle, Ellipse, Arc, Curve, Spiral and Helix. The authors also introduce two new features: Normalized Distance Between Direction Extremes (NDDR) and Direction Change Ratio (DCR). 

          NDDR is the ratio of the length of the stroke between the point with the highest direction value on the direction graph and the point with the lowest direction value and the total length of the stroke. DCR is the ratio of the maximum change in direction divided by the average change in direction. NDDR is high for curved shapes such as arcs while it is low for shapes like polylines. DCR values are high for polylines than for curves.


Figure 1

To recognize the stroke, it is passed through a pre- recognition stage, tested for each primitive shape, converted to a beautified version and then passed through a hierarchy stage where each interpretation is ranked. The algorithm to rank different interpretations is a very important contribution of this paper.


Figure 2

The results indicate that this new algorithm to recognize gestures is very effective.

I find the ideas presented in this paper very interesting. The different interpretations ranking is a very useful feature which can be used by a higher- level recognition system to use context to determine which ranked version is the best fit. 


I used the following sources for this blog post:
[1]  Proceeding IUI '08 Proceedings of the 13th international conference on Intelligent user interfaces. Pages 1-10. ACM New York, NY, USA ©2008

Thanks for reading my blog! Have a great and blessed day!

Gig'em!!!



What!?! No Rubine Features?: Using Geometric-based Features to Produce Normalized Confidence Values for Sketch Recognition


What!?! No Rubine Features?: Using Geometric-based Features to
Produce Normalized Confidence Values for Sketch Recognition

Brandon Paulson, Pankaj Raja , Pedro Davalos, Ricardo Gutierrez-Osuna, Tracy Hammond
Sketch Recognition Lab
Pattern Recognition and Intelligent Sensor Machines Lab
Spacecraft Technology Center
Texas A&M University
3112 TAMU
College Station, TX 77843 USA
{bpaulson, pankaj, p0d9861, rgutier, hammond}@cs.tamu.edu

Howdy! 
             This blog post contains important points from the above mentioned paper and a brief section of my opinion on it. 

              As I mentioned in my previous blog posts, gesture- based user interfaces are becoming more and more popular. The problem is that there are not good enough recognition algorithms to interpret a gesture correctly. Two approaches are normally used to identify a gesture: gesture- based recognition and geometry- based recognition. In this paper, the authors present a method that is a hybrid combination of those 2 methods and demonstrate the high accuracy. The algorithm is used to recognize primitive single- stroke gestures but can be easily extended to support more complex gestures by using languages like LADDER to describe complex shapes in terms of primitive ones. 

          The authors used a total of 44 features: gesture- based features from Rubine's features and geometry- based features. They use a quadratic classifier and their algorithm returns a ranked list of interpretations which can be used by a higher- level classifier to understand the context and use an appropriate interpretation. The rank is assigned based on normalized confidence values for each interpretation which is a big contribution of this paper.

         They started out with the following set of features:























Figure 1

They used a variety of feature- subsets to determine which features contributed negatively to recognition and which were very effective. The ones in the bold in the above figure were chosen to be the most important features and the set of those features proved to be most optimal in recognizing gestures.

I find the idea of using a hybrid approach very interesting and useful. It allows users to freely draw without worrying about the underlying technical details and without being constrained. 

I used the above mentioned paper as a source for this blog. Here's the link to the paper: Research Paper

Thanks for reading my blog! Have a great and blessed day!

Gig'em!!!



Sunday, February 10, 2013

Visual Similarity of Pen Gestures

Visual Similarity of Pen Gestures

A. Chris Long, Jr., James A. Landay, Lawrence A. Rowe, and Joseph Michiels
Department of Electrical Engineering and Computer Science
University of California at Berkeley
Berkeley, CA 94720-1776

{allanl, landay, rowe, cujoe} @cs.berkeley.edu
+1-510-643-7106
http://www.cs.berkeley.edu/~{allanl, landay, rowe}

Howdy! 
             In this post, I'm going to briefly summarize the above research paper and express my opinion on it. 

             In the paper, the authors talk about their research on pen gestures and their perceived similarity among other things. Pen gestures are getting more and more popular everyday as they are easier to work with and remember as compared to text commands. But a lot of times, users of a gesture- based input system might confuse gestures or the system might recognize two different gestures as the same one. The authors designed two experiments to figure out the underlying features that make a gesture uniquely perceivable by the user. 

            For the first experiment, they created gestures that varied a lot from each other in terms of how an user might perceive them. 


             The users were shown all possible triads (groups of 3 gestures at a time) from the above gesture set and asked to mark the most different gesture in each triad. The authors analyzed the data collected and made a list of 22 features that they thought might be distinguishing factors for a gesture. 


             One of the goals of the second experiment was to figure out how different features affect the perceived similarity of gestures. The authors made three different gesture sets. The first gesture set was designed to explore absolute angle and aspect, the second to explore length and area and the third to explore rotation. The authors picked two gestures from each set and added them to a fourth set to make the number of triads smaller. The procedure was similar to the first experiment. 

            The model learned in each experiment was used to predict similarities between pairs of gestures from the gesture set used in the other experiment. The results showed that the model obtained from the first experiment was a little bit better than the model obtained from the second experiment. The results from using the first model agreed with the users' input with a correlation of 0.56. They also obtained some interesting results like neither the length nor the area of the bounding box is a very strong distinguishing feature while the logarithm of aspect is a strong influence on the similarity of gestures.

I found the paper very interesting. Such analysis can be very helpful in designing gestures that are easy to remember and are convenient. It can help a great deal in enhancing the user experience of a pen- based interface. 

I used the following sources for this blog post:
[1] Proceeding CHI '00 Proceedings of the SIGCHI conference on Human Factors in Computing Systems. Pages 360-367. ACM New York, NY, USA ©2000

Thanks for reading my blog! Have a great and blessed day!

Gig'em!!!


Thursday, February 7, 2013

“Those Look Similar!” Issues in Automating Gesture Design Advice

"Those Look Similar!" Issues in Automating Gesture Design Advice


Howdy!!!
                In this blog post, I'd like to talk about the above mentioned paper briefly and express my views and opinions on it. 

                The authors of the above mentioned paper designed and implemented a system that recognizes gestures that are similar to one another with respect to human perception and/ or gesture recognition algorithms. Based on that information, it gives advice as to how the gestures can modified so that they may not cause confusion. A lot of novel techniques for human- computer interaction like pen- based gesture recognition, human- body movement based gesture recognition and many others are getting common nowadays and they are very useful because they're quick and easy to remember than text- based commands. It'd be very convenient if the interface designers could integrate those techniques in the design of their interfaces but unfortunately, not a lot of designers have access to tools that can help them with this purpose. Also, sometimes the gestures created can be very similar and the gesture- recognition algorithm might not be able to detect differences between different gesture classes. 

           The authors developed a system quill which is a tool for designing gesture- based interfaces based on Rubine algorithm for gesture- recognition. It also provides advice when two gesture classes are similar. The designer can store templates for each gesture forming a gesture- class. There can be several gesture- classes which can be combined to form a gesture- group. The gesture- group and gesture- classes form the gesture- set. Each gesture class normally has about 10- 15 examples of the gesture.

Figure 1

         Whenever the designer is creating a new gesture- class, the program runs a background analysis to determine if the gesture would be confusing to the user or be perceived as similar to some other gesture. It warns the user and provides an explanation and advice on how to modify it to make it more distinguishable. 


In my opinion, it is a very good tool as it makes the creation of gesture- based interfaces easier and also makes sure that the gestures created will have very unique characteristics for the purposes of distinguishing between different gestures. It can be improved to get more accurate results and extend support for hand- gestures and other kinds of gestures.

I used the following sources for this blog post:
[1] Proceeding PUI '01. Proceedings of the 2001 workshop on Perceptive user interfaces. Pages 1-5. ACM New York, NY, USA ©2001

Thanks for reading my blog! Have a great and blessed day!

Gig'em!!!

Tuesday, January 29, 2013

Gestures without Libraries, Toolkits or Training: A $1 Recognizer for User Interface Prototypes


Howdy!!! In this blog post, I'm going to explain in brief the $1 Recognizer for User Interface Prototypes. The inspiration for the project came from the idea that novice programmer or UI designers didn't have a lot of access to tools that would allow them to incorporate gesture- recognition in their designs due to limitations in programming skills, etc. The authors implemented the algorithm tested it using the following uni- stroke gestures:


Figure 1

The results were then compared with other sketch- recognition algorithms like Dynamic Time Wrapping (DTW) and Rubine algorithm. 

The gesture- recognition algorithm described in the paper works as follows in four steps
1.) Resampling: The points are re- sampled so that the template gestures and the gesture made by the user all have the same number of points. This is necessary as there is a point- point comparison between the gesture templates and the gesture made by the user.

2.) Rotate once based on the "Indicative Angle": To bring the user- made gesture in alignment with the predefined gesture templates, the user- made gesture needs to be rotated. The user- made gesture is rotated by the angle made between the centroid of the gesture and the first point of the gesture. This is a good approximation to the actual angle by which the gesture needs to be rotated. 

3.) Scale and Translate: The modified gesture from step- 2 is now scaled to a reference square and then translated so that the centroid of the gesture is at the origin.

4.) Find the optimal angle for the best score: Now, the following equation is used to compare each stored template to the user- made gesture:

Figure 2

The above formula calculates the path- distance between the user- made gesture and the predefined gesture templates. The formula below calculates a score:
Figure 3

size is length of the reference square used for scaling the gesture. The gesture template that gives the least value of di is the one that matches the most to the user- made gesture.

The evaluation shows that this simple approach is as effective as the other approaches like DTW and Rubine algorithm. With only 1 template per gesture, $1- algorithm performs pretty well and with 3 or more templates, it is excellent. 

Thus, the $1- sketch recognition algorithm can be used by anyone who doesn't have a lot of experience in the area but wants to incorporate gesture- recognition in their project. 

I used the following sources for this blog post:
[1] Proceeding UIST '07 Proceedings of the 20th annual ACM symposium on User interface software and technology. Pages 159-168. ACM New York, NY, USA ©2007

Thanks for reading my blog! Have a great and blessed day!

Gig'em!!!


Specifying Gestures by Example

SPECIFYING GESTURES BY EXAMPLES

Dean Rubine
Information Technology Center
Carnegie Mellon University
Pittsburgh, PA
Dean.Rubine@cs.cmu.edu

Hola! I'm going to give a short summary of the above mentioned paper. At the end, I'll express my view and opinion. 


The author, Dean Rubine, talks about GRANDMA, a toolkit that allows users to define gestures on direct manipulation surfaces and associate them with certain actions. The motivation for the project came from the fact that most of the systems using gesture recognition required users to hand- code the gesture- recognizer and this was a difficult and a complicated task. The author also talks about GDP, a gesture- based drawing program built using GRANDMA.

GDP
An example usage of GDP is as follows:

Figure 1

In the above example, the user draws a rectangle by making a 'L' gesture. An ellipse can be created by starting at the center of the ellipse and then making a circle. Part (d) shows how to "pack" multiple views together which enables the user to treat them as one object. Part (e) shows how to make copies of a drawing. Part (f) demonstrates the rotation scaling features. As it can be seen, it is very convenient to work with gestures using this system. Note that all the gestures are single- stroke.

Figure 2

Figure 2 shows how the class hierarchy of GDP system. The author explains the above diagram in detail in the paper. Then he proceeds to explain how sketch- recognition is done in the GRANDMA system.

When the gesture is made, all the points are recorded along with a time- stamp, that is, the time at which the points were drawn. 

Figure 3

Now, a set of features is constructed for the gesture. There are 13 such features as follows:


Figure 4

The above mentioned features are calculated for a gesture and then they are used to match the gesture with other predefined gestures already stored. The author explains how this statistical comparison is done. The evaluations show that this algorithm is very effective. It can be extended to support Eager Recognition and Multi- finger recognition. 

In my opinion, this can be a very useful tool for people who do not have a lot of experience in gesture programming. It is very easy to build a UI that supports gesture recognition using GRANDMA. I believe that  extending this framework to support more complicated gesture- recognition can prove to be very useful.

I used the following sources for this blog post:
[1] Proceeding SIGGRAPH '91 Proceedings of the 18th annual conference on Computer graphics and interactive techniques. Pages 329-337. ACM New York, NY, USA ©1991

Thanks for reading my blog! Have a great and blessed day!

Gig'em!!!

Tuesday, January 22, 2013

Sketch Pad

SKETCH PAD

Ivan E. Sutherland
Consultant, Lincoln Laboratory
Massachusetts Institute of Technology

Howdy! In this blog post, I am going to summarize and express my views and opinions on the above mentioned research paper. The author, Ivan Sutherland, talks about a simple and useful machine- human conversation system that he developed. It allows the user to draw shapes on the computer screen with the use of simple buttons, switches, light pen, knobs and a display system. 


(Figure 1) [1]

The system allows the user to draw lines, points, simple shapes like a circle and other things. The user can use the light pen to move around individual drawings. Simple shapes can be used to construct complicated patterns and shapes. The system's copy feature helps the user create a repetitive pattern as follows:


(Figure 2) [1]

The structure of the drawing is stored in the system so that stretching one part will move the entire drawing or change it as per the requirements demanded by the user. It turns out that this feature can be useful in many ways. Mechanical linkages can be drawn in the system and tested for stability and other parameters. It is also possible to draw circuit diagrams and test if the circuit works although this task becomes very cumbersome and time- consuming once the circuit gets more and more complicated. Drawing repetitive patterns is very easy with the help of this system.

I think that this is one of the greatest achievements in the field of computer graphics as this was the first system that gave the user an ability to communicate with the computer without the use of written commands. It opened the gateway for the field of computer graphics and computer- human interaction. The use of simple switches, buttons and knobs to draw complicated figures and to also save the design information that can be used later seems to be very sophisticated. I am very impressed by the approach that Ivan Sutherland used for designing the system. 

Ivan Sutherland also has other major accomplishments to his credit that have affected the modern world. He designed the first interactive graphics program (SketchPad), the first non- procedural programming language and the first object- oriented software system. Many consider him the creator of the field of computer graphics. 'When asked, "How could you possibly have done the first interactive graphics program, the first non-procedural programming language, the first object oriented software system, all in one year?" Ivan replied: "Well, I didn't know it was hard." ([2])

I used the following sources for this blog post:
[1] Proceeding DAC '64 Proceedings of the SHARE design automation workshop, Pages 6.329- 6.346.               ACM, New York, NY, USA 1964.

[2] http://en.wikipedia.org/wiki/Ivan_Sutherland

Thanks for reading my blog! Have a great and blessed day!

Gig'em!!!

Wednesday, January 16, 2013

Introduction

Howdy!!!
               This is a blog for the "Sketch Recognition" class that I'm taking for Spring 2013. Here's some info about me:


               My real name is Raj but you can call me "The Rajinator" or "The Blue Raja"! I'm a first year Masters student pursuing Computer Science. I want to be a software developer after I graduate. A big technological development that I would like to see in my lifetime is a robot that approximates human functions.

              I haven't really thought about where I would like to see myself in 10 years but if I had to answer that question, I'd say that I want to use my computer skills to help out people who need a better education, living standard and a healthy lifestyle. Sometimes I wish I could travel back in time and meet my mom when she was my age. She has always been a source of inspiration to me and an example of how to live life. I've heard her talking about her struggles and I wanna see how she handled them and get some wisdom from that.

             My favorite shoes are tennis shoes because tennis is something that gets me excited and I can also use them for running. I like to run. I think it's a good workout. Ever since I heard Spanish, I've wanted to learn it. It's a very sweet language and I definitely wanna learn to speak it fluently.

             An interesting fact about me is that I don't like to eat eggs or meat but if you were to convince me that there're no eggs or meat in the food, I'd eat it and won't be mad at you even the slightest if you later told me the truth! It's because I was brought up that way and it's hardwired in my brain!

            So that's a bit about myself. If you have any questions or want to talk to me, my e- mail is helloraj90@yahoo.co.in. Thanks for reading my blog post and I hope that you've a great and blessed day ahead!

Gig'em!!!