Saturday, December 18, 2010

Reading #27: K-sketch: A 'Kinetic' Sketch Pad for Novice Animators (Davis)

Summary

This work is about a system to help novice users create animations quickly. The system is called K-Sketch and is a 2D animation sketching system.

In this system users first sketch objects and next create animations for those drawn objects such as translation, scaling and rotation.

Discussion

This is similar to Flash’s tween capabilities and can be incorporated there

Reading #29: Scratch Input Creating Large, Inexpensive, Unpowered and Mobile Finger Input Surfaces (Harrison)

Summary

In this paper a new form of inputting sketch is assessed which is through the sound of fingernails upon a textured surface such as wood. They employ a stethoscope for this purpose which can be attached to walls and tables.
They evaluated their system on a hand designed set of gestures which consisted of six gestures. The accuracy over that set was about 90%

Discussion

I am really not optimistic about the prospect of this type of work, while the electronic input devices prices are dropping, why reverting back to this unreliable method. I think more compelling reasons are necessary

Reading #26: Picturephone: A Game for Sketch Data Capture (Johnson)

Summary

This work is a sketch-based game for collecting data on how people make and describe sketches. The system described collects drawings and attach the meta description the users provided.

To score points in this game, users must reconstruct a drawing based on a text description or vice-versa. In another phase, users are asked to judge the work of other players.

Discussion

This paper is quite similar to the previous sketch game paper. But the idea is still fine.

Reading #25: A Descriptor for Large Scale Image Retrieval Based on Sketched Feature Lines (Eitz)

Summary

This paper presents basically an image search where the input image is a sketch. The sketch is actually the edges of the image to be searched for. The feature of the images to which the sketch is compared is edge histogram.

It took 3 seconds to search a 1.5 million image bank which is a good performance I think.

Discussion

The image comparison and image search solutions are becoming more widely used and those which rely on the edges can use sketch as their query since a sketch can be considered the edges of an image

Reading #24: Games for Sketch Data Collection (Johnson)

Summary

The authors implemented a multi player sketching game in order to gather sketch data. One is called Picturephone and the other is Stellasketch.

In Picturephone, one player describes a sketch and the other draws it. In Stellasketch, players label a sketch drawn by a user individually. Finally, players rate various drawings to identify similarities

In Stellasketch a player draws something based on a clue and other players identify the sketch privately.

Discussion

Both games seem fun to play especially Picturephone which is a sketch version of the telephone game.

Reading #23: InkSeine: In Situ Search for Active Note Taking (Hinckley)

Summary

This paper is about a Tablet PC application called InkSeine which supports active note taking by coupling a pen-and-ink interface with an in situ search facility that flows directly from a user’s ink notes.

Their user study showed users interest in having search results available in the context of surrounding notes and appreciate the ability to break searches down into multiple episodes so as to maintain attention on the primary note taking taks

Discussion

This paper is a good human centered design project. I also think abandoning mouse and keyboard in favor of pen based interface must be accelerated.

Friday, December 17, 2010

Reading #22: Plushie: An Interactive Design System for Plush Toys (Mori)

Summary

Yet another paper on generating 3D models from 2D sketches.However this one is even more fun. It not only let the user to generate 3D meshes, but also let them alter its texture by which the user has a better idea of the final product.

This system was used to create new plush toys and was also tested on small kids

Discussion

It is amazing that children connected to this program and it shows success

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

Summary

The work in this paper a user is asked to draw a 2D sketch which is essentially a 3D projection. Next a 3D model is created from the projection.

Their user study shows that the system is robust and is able to perform the intended task quickly

Discussion

Well it is more a streovision paper than a sketch recognition.

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

Summary

In this paper, Mathpad2 is introduced which lets users to do math. Gestures are used to help segmenting the formulas and to help identification. It is also able to generate graphs and plots. It is also possible to change stroke color to help organization

Discussion

There are definitely room to improve the system such as less reliance on gestures, nevertheless the system looks cool.

Thursday, December 16, 2010

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

Summary

In this paper, the authors propose a method of grouping related sketches which does not use timing data.

They essentially search in the space of all possible groupings of strokes, however they incorporate some pruning mechanisms to avoid intractability. One of such pruning is to only group strokes in close proximity. Another measure is restricting the size of such group.

Finally they create an image out of each group and use an adaboost image processing approach to see if it is anything meaningful.

Discussion

This paper is actually taking advantage of the successful application of Viola et al. Adaboost method to face detection. Since it is a very fast algorithm (not in training), they have the freedom of running an expensive search to try different combinations of the sketches to do the grouping.

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

Summary

This system is supposed to distinguish between text and graphics. What they do is to first extract a set of features out of strokes, such as it direction, length width ratio of it, total curvature, etc. Subsequently, it takes uses features of the gaps between strokes and finally by incorporating an HMM, they put all these in context of a sequence.

Their experiments demonstrated the usefulness of temporal context however the advantage of incorporating gap information is not evident in their results

Discussion

As they mention in the paper, they have ignored the length of the gaps, so it would be better to regard stroke within which there is a large gap, independent. However using a temporal model, in this case HMM for the text and graphics seemed reasonable and worked well too

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

Summary

This paper talk about a graph-based symbol recognizer. The authors used a graph called Attribute Relational Graph. The authors try to use such graph and find isomorphism.

The graph represents the topology of the primitive shapes in the graph. In their user study they collected several types of symbols and used their four matching algorithms on the data. The results were from around 68% to 98%

Discussion

I think they could have used better search approaches to this problem

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

Summary

A multi stroke hand drawn symbol recognizer is proposed here. Their technique shows a way to learn symbols definitions using prototype examples allowing users to train new symbols.

Their method has two steps. First, polar coordinates are used to determine angular alignment and eliminate unlikely definitions. Next, the surviving definitions are tested using the normal screen coordinates with four template classifiers. The results of individual classifiers are combined to produce the recognizer’s final decision.

They test their system using two user study. First, on numeric digits where they performed only slightly worse than dedicated recognizers. The second test was in the engineering symbols domain such as resistors, transistors, integral symbol, etc. Their accuracy for being in the top 2 of the result was above 96% in all the tests they conducted in this domain.

Discussion

This paper used some interesting distance measures and ideas which I think I could use earlier in my projects if I had known them.

Reading #14. Using Entropy to Distinguish Shape Versus Text in Hand-Drawn Diagrams (Bhat)

Summary

In this paper entropy rates are proposed as a discriminator between text and shape. Since text strokes usually show more curvature change, the authors have utilized this to distinguish them from other shapes.

Their accuracy of classification reached around 92% which is fine for a relatively simple method.

Discussion

It is a more decent an different approach than the decision tree which was discussed in previous papers.

Reading #12. Constellation Models for Sketch Recognition. (Sharon)

Summary

In this work, the authors propose the use of constellation models in sketch recognition which is similar to the technique used in computer vision.

In their work, they label all the constituent parts of the sketch. For instance, it it is a sketch of a face, the objective is to find which part is the mouth, which is the nose, so on. To do so, they extract the parameters of the strokes distribution and the stroke pairs’ distribution from the training set. Next, to classify a sketch, all possible labeling are tried to find the one with maximum likelihood.

Discussion

The idea of using constellation model in sketch recognition is interesting however one limitation of this method is the requirement for each part of the sketch being labeled with e.g. eye, mouth, etc. I think they have made a big assumption about the availability of such tags.

Also LADDER can be thought of as a complement or a rival to this method as it can support more complex relationships, however in LADDER, relationships are defined whereas here, the relationships are learned.

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

Summary

In this paper a sketch recognition language is proposed in which template objects are described by their component primitives and geometric constraints between them; For instance, a stick figure consists of a circle connected to a line, which is itself connected to four other lines.

The shapes consist of parts such as lines, constraints such as being parallel or intersections, aliases, editing and display properties.

Once the structural description have been entered using LADDER language, they can be automatically transformed into shape recognizers.

The paper brings examples of applying the framework to UML diagrams. The framework, also encompass a library of predefined shapes (line, curve, ellipse) and constrains ( collinear, tangent, acute ).

Discussion

LADDER is a tool which is valuable to many domains as long as the time it takes to precisely define all the shapes is justified. However as part of its future work, it can pose automatic description generation for complex shapes.

Reading #10. Graphical Input Through Machine Recognition of Sketches (Herot)

Summary

This paper introduces HUNCH system. It has a similar corner finding mechanism to that of Sezgin’s, that is , it find the minima in the speed curve. It also consider connects line endpoints using a connectivity threshold. Finally it experiments with some high level recognition such as 3D object inference or floor plan recognition. Their system employed CURVIT and STRAIT modules as curve recognizer and line endpoint latching module respectively.

They conclude that in order to have a successful sketch recognition system, some context information is necessary.

Discussion

This is a relatively old paper, however they propose some characteristics of a sketch system which is still ideal today, that is to identify sketches without context information. This paper is mostly experiments and possible solutions. Experiments and question proposed are still relevant today.

Wednesday, December 15, 2010

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

Summary

In this paper a system is introduced to recognize a set of primitive shapes. The primitive shapes recognized by this paper are: straight lines, polylines, arcs, circles, helixes, spirals, etc.

It is a low level process which is usually utilized in the initial steps of the recognition to provide input to higher levels.

The recognizer basically gives the strokes to a set of different low level recognizers, namely eight. Each classifier then returns whether the stroke is belongs to that class or not along with the beatified stroke in case it is.

Moreover, PaleoSketch incorporates two new features: normalized distance between direction extremes (NDDE) and direction change ratio (DCR), both of which are a measure to detect spikes in the direction graph and are discriminators between Curve and Polyline.

Discussion

PaleoSketch has a very high classification rate with overall recognition of about 98.6%, it paves way for higher level recognitions. However, I think the only important primitives to be recognized are circle, line and polyline. Shapes such as spiral or helix are quite domain dependent and the choice to add them to the list of primitive shapes seems arbitrary to me.

Reading #7. Sketch Based Interfaces: Early Processing for Sketch Understanding

Summary

This paper focuses on the initial steps of sketch recognition. It proposes a method to find corners in a sketch. Sezgin combines both curvature and speed measures to generate a set of potential corners.

The second feature in their method is a curve handling. It model curves as Bezier curves by approximating the control points using LS method.

The system also performs stroke beautification so the small noises of the pen while drawing the shapes are eliminated and as a result the drawn sketches will look better

Finally, the system does some basic object recognition on circles, rectangles, etc.

Discussion

This paper is one of the earliest in corner detection which takes advantage of both speed and curvature. About the segmentation, use of Bezier curves for segments is a good choice for its flexibility. Finally the results are promising

Monday, November 29, 2010

Reading #13: Ink Features for Diagram Recognition

Summary

In this work the objective is to distinguish text and shapes. The authors extract a set of features from various related previous works, their own set of features and features from newly available hardware such as pressure. They employed a set of 9 diagrams and asked 26 people to draw them. For each sketch 46 features where calculated. Next a decision tree was built recursively using Gini index on the data to partition the data into classes.
They finally reached a set of key feature set to efficiently distinguish between the two classes. These were: Time to next stroke, speed till next stroke, distance from last stroke, distance to next stroke, bounding box width, perimeter to area, amount of ink inside and total angle.
They tested their classifier with two others, namely Microsoft Divider and InkKit. The average misclassification rate for texts and shapes in their system was reported about %9.8 which is significantly better than the average misclassification rate of the other two systems.

Discussion

As noted by the authors, half of the extracted key features were related to inter-stroke gaps which seems to be a deciding factor here.
It would have also been better to compare the decision tree method applied in their system with other classification methods such as neural networks, nearest neighbor, etc.

Sunday, November 28, 2010

#Reading 8: A Lightweight Multistroke Recognizer for User Interface Prototypes

Summary

This paper introduces $N which is an extension of $1 sketch recognizer. The objective of the paper is to introduce a lightweight and quickly deployable multi stroke recognizer for interface creators.
The method build on top of $1 method. In $1, the candidate stroke and the templates strokes’ points are all normalized equidistantly. Next, they are rotated, scaled and translated to provide invariance. The rotation matching uses Golden Section Search to find the optimum angle in the proximity of an initial estimate. Finally the distance between a candidate and a template is the sum of their point-wise distances.
In $N the scaling preprocessing decides whether to scale uniformly or non-uniformly each gesture based its aspect ratio and a threshold. The rotation invariance is also bounded to a user-defined angle range.
A problem with multi stroke gestures is different possible stroke orders. $N generates all possible variations of drawing a template which is all order permutations and for each permutation, each single stroke can be drawn forward or backward which results in 2nxn! different cases for a multi stroke with n strokes. As a speed optimization, the candidate gesture is not compared with all the generated gestures, but with the ones having almost the same starting angle (the angle between the gesture’s centroid and its starting point). Another optimization was to only compare templates having the same number of components as that of the candidate gesture. The two optimizations resulted in about 90% increase in speed.
A group of middle and high school students were studied and the accuracy of the system reached 96.6% on algebra symbols with 15 training examples. The accuracy using the speed optimizations was 95.7% with 90% increase in speed.

Discussion

The number of possible ways of drawing a multi stroke gesture grows very rapidly with the number of its sub strokes. However the authors argue that it might not always result in combinatorial explosion. First, because gestures having a many strokes are prone to be forgotten and are not used.Second, comparison between a candidate gesture and each instance is relatively fast. Third, employed speed optimizations.
Nevertheless, the relative high number of generated gestures will cause slowdowns when the number of templates and stroke components per template is high. The performance is however acceptable for prototyping where ease of implementation and accuracy is important for smaller scale scenarios.

Saturday, October 16, 2010

# Reading #5: Gestures without Libraries, Toolkits or Training: A $1 Recognizer for User Interface Prototypes (Wobbrock)

Summary:

The $1 algorithm is basically intended to introduce an easy to implement and at the same time effective gesture recognition method. The paper mentions the difficulty to incorporate an HMM or NN based gesture classifier due to the large training corpus required and implementation complexity and the inflexibility of ad-hoc methods.
The proposed method is comprised of the following steps:
  1. Resample input points into a predefined number of equidistantly spaced points.
    1. The equidistant points are either a subset of the original points or a linear interpolation of those
  2. Rotates the points around the stroke's centroid so that the angle of the first point and the centroid becomes zero
  3. Scale the gesture to a reference square and translating the centroid to the origin
  4. Compute the average point-wise distance and map it into a 0-1 score based on maximum possible score
  5. After zeroing the indicative angles, the candidate gesture might not be at optimal angle with regards to the template and it is needed to further rotate it to optimize the angles.
  6. In order to try various angles and find the optimum value, Golden Section Search was utilized. This way the number of iteration is constant as opposed to hill climbing which dramatically increase speed for non matching gestures.

This method was compared against Dynamic Time Warping method and Rubine’s one were the rotation and scale invariance mechanisms were applied to the input of all these methods even without incorporating the Golden Section Search. The test set contains a set of 16 stroked drawn in different speed and by different people.

The DTW and the method proposed here produced similar and better result than that of Rubine’s especially when few samples were available for each template. Regarding the performance, DTW was significantly slower than Rubine’s and the method proposed here.

Discussion:

The limitations mentioned on the paper are the inability to distinguish between shapes whose difference is based on aspect ratio, location, scale, position or speed of drawing. However except speed, by not performing some of initial steps the issue is resolved.

Another weak point of the $1 recognizer is that it compares the candidate gesture to all templates at runtime which has performance implications. Nevertheless, in case of a large template set, templates tend to collide in the feature space and this is where the feature-based methods fail as well.

Wednesday, September 22, 2010

Reading #6: Protractor: A Fast and Accurate Gesture Recognizer (Li)

Summary
Protractor by Yang Li introduces a data driven gesture recognizer which is more accurate and faster than its counterparts. The recognizer first resamples the data points into equi-distant points using the procedure in $1 recognizer. However, unlike $1 method, the stroke is not rescaled into a square which keeps the aspect ratio and discriminates between long and narrow strokes. Next, the stroke is shifted so that its centroid resides in the origin. To discriminate between different rotation angles and to reduce noise, the gesture is rotated so that the angle of the initial point of the gesture is snapped into one of 4 main angles. It is also possible reset all the gesture to zero angle in which gestures are rotation invariant. In order to perform classification a distance measure between the input gesture and the template gesture is defined as the angle between their respective data vectors in n-dimensional space.
The author then shows that an optimal angle can be found in a closed form which if added to the template's rotation angle, minimizes the input gesture and the template gesture's distance (in the defined sense). Finding this optimal angle compensates for the noise in determining the gesture orientation just by its initial point rotation. To classify the input a nearest neighbor method is utilized.
Finally the author shows that his method is equivalent and in some cases superior than the $1 method and with regards to computational resource required significantly outperforms it.

Discussion
This is a relatively recent article. Among the advantages of this method is that no feature is required to be defined which makes it more flexible as it is difficult to design features that can always discriminate gestures in all domains. The author also shows that it can cope with large gesture set quite well. I am not able to figure out an obvious flaw right now.

Tuesday, September 21, 2010

Reading #4: Sutherland. Sketchpad: A Man-Made Graphical Communication System (Sutherland)

Summary

Sketchpad by Ivan Sutherland is a device which allows users to draw different shapes and diagrams from primary shapes, such as lines and circles. Compound shapes can be built upon simpler shapes. Later, they can become a template of which multiple copies can be reproduced and these templates can be stored on a storage device. Sketchpad is controlled with a light pen and an array of buttons. Buttons are used to issue commands, such as draw polygon after which the user can enter the polygon vertices using a light pen. It is also possible to enforce constraints on shapes and sketchpad will try to satisfy those constraints if possible. For instance, it is possible to force all the polygon vertices to lie on a circle or force two lines to become parallel. The shapes are stored in their hierarchical form and the screen is refreshed by redrawing each shape one after another. Two scan conversion formulas for circle and line is also introduced in the paper.
The constraint satisfaction mechanism works as follows: Initially it builds a graph where constrained variables are nodes and edges mean the two variables are related to each other in a constraint. It seeks to find a free variable which can be directly assigned a value that satisfies the constraint. This variable is then removed from the graph and this procedure is repeated until all the constraints are satisfied. If the aforementioned procedure did not work for a set of constraints, a relaxation will be performed on the constrained values to gradually minimize the error of constraint satisfaction.
As a conclusion, the author introduces various applications of this system. For instance, it is possible to draw a bridge and let the sketchpad calculate different force components on each part or design a circuit using reusable drawings of different elements. The author also brought up the possibility of simulating and debugging the electrical circuits and 3d drawing as future avenues of expanding Sketchpad.

Discussion

Sketchpad project amazingly utilizes object oriented ideas such as creating a template shape for storage and creating instances thereof and a lot of innovations. Moreover, its means of interaction with user and aiding him in design by satisfying constraints is also impressive. On the whole, Sketchpad accomplished a fine job in its time.

Saturday, September 11, 2010

Reading #3: “Those Look Similar!” Issues in Automating Gesture Design Advice (Long)

Summary

Here a gesture design tool called quill is introduced. Chris Long, James Landay and Lawrence Rowe, the authors, have incorporated similarity mechanisms to detect both similarities of gestures in human perception and in computer recognition. The human perception part is performed using experimental tests data from different human subjects. The similarity in computer recognition can be measured with the classification probability or other methods.
Their system similar to Rubine’s will let the user define new gestures and provide examples for each. The classification method is also similar to Rubine’s. The authors describe that deciding the advice timing and comprehensiveness was a challenge. The advice giving system was implemented as a background process which can be called up by the user or start automatically after some idle period. Since the background process takes some time, if called up by the user, it will lock the actions that might stale the analysis result. If it was run automatically, user actions which affect its result will cancel the analysis.
Finally the authors brought about the ideas of automatically morphing similar gestures or checking the user entered gestures against standard databases.

Discussion

I think the facilities incorporated in this gesture design kit is thoughtful especially the human perception similarity measurements. The paper did not elaborate on the classifier technicalities but it is implicit the classifier is similar to Rubine’s.

Thursday, September 9, 2010

Reading #2: Specifying Gestures by Example (Rubine)

Summary

This paper introduces a toolkit for creating gesture based UIs called GRANDMA. The toolkit lets a user to add gesture commands to different entities in the UI. For instance, user can add a delete gesture to the main UI windows and define the action(s) which must be executed upon its recognition. Each gesture is defined with a set of examples.
The system learns to distinguish between gestures by learning a linear classifier on a set of features extracted from the stroke. First, the gestures are assumed to be single-stroke. Second, for performance reasons, the features are constrained to only those which can be computed incrementally in constant time per point. A set of 13 features have been introduced in the paper such as total angular movement, maximum pen speed, size of the bounding box, etc. Consequently, a linear classifier is constructed based on the examples provided. Once the classification is ambiguous, either based on a low probability of being classified in the recognized class or for being far from the class centroid, the system rejects the gesture and asks the user to retry.
The precision of the system for classifying about 15 gestures, each with at least 15 examples is around 98%. For 30 gestures where each gesture is trained with 40 examples, the precision is about 97%. The author also finally proposes some ideas to handle multi-finger gestures

Discussion

The system proposed has promising performance despite a rather simple recognition method. It is also possible to improve the system by providing new features without impairing the performance. However the author has only reported the precision of the system where false negative responses are not taken into account. Another area where one can improve is the fact that most features selected are not rotation and scale invariant which might bring difficulty in some domains. On the whole, the system is simple and performs well.

Wednesday, September 8, 2010

Reading #1: Gesture Recognition (Hammond)

Summary

This article is an introduction to gesture recognition while insisting on the fact that in order for gesture recognition to be helpful for sketch recognition, the path followed by the stroke plays an important role. Subsequently the pros and cons of gesture recognition are explained (e.g. gestures are suitable for commands not for drawings). The rest of the article basically elaborates on three papers on gesture recognition.
First, Dean Rubine’s early work on this field is a linear classifier with a 13 hand-picked features of a stroke. The features include some measures of the shape and size of the bounding box, the angular motion and smoothness of the stroke, etc. The timestamps are not used extensively in the feature set.
Christopher Long’s work was apparently similar to Rubine’s but with additional features that include some nonlinear combinations of the previous one. However the new feature set did not make a significant improvement.
Finally Jacob Wobbrock performs the recognition from another perspective. His system introduces a rotation and scale invariant method in which point-wise comparison is made between the user stroke and class templates.

Discussion

This reading clarifies the jargon and act as an introduction to subsequent readings. It also explicates the Rubine’s feature set and at the same time proposes challenging question on the implementation issues such as duplicate points or timestamps. These questions make the reader more acquainted with the subject. Nonetheless, there are some image place holders in the document that have to be filled or corrected.

Sunday, September 5, 2010

Gesture Recognition Questions

  • Question: What are the disadvantages of deleting the first point at a particular location?
    • Loses acceleration (and speed) to that point (removed first time stamp)
  • What are the disadvantages of deleting the second point at a particular location?
    • Loses acceleration (and speed) from that point onwards (removed second time stamp)
  • Question: What are the disadvantages and advantages to removing the first point when there are duplicate time stamps?
    • If it is assumed that the duplication of time stamps is the result of a very quick motion and we call 4 consecutive points a,b,c and d where timestamp(b)=timestamp(c)Then discarding point b will result in less digitization noise for the change of angle between a and c but more noise between c and d. Since the farther two points are, the less noisy is the angle between them.
  • What are the disadvantages and advantages of removing the second point?
    • Same as above, but here the advantage is less noise between b and d but more noise between a and b.
  • What are the disadvantages and advantages of altering the time stamp values?
    • If we alter the time stamps then we will not lose any of the points thus no data is discarded. However in order to differentiate between the two points, their time stamp has to be an epsilon seconds apart. Epsilon has to be smaller than the maximum timer resolution. The disadvantage of altering the time stamps is that if the two consecutive points have noise in their spatial location, small epsilon values will amplify that noise in the speed measurements
  • What would be the best way to do this?
    • We can take the mean of the duplicate points and regard it as the sole point with that timestamp with the assumption that the sampling rate is uniform. This way, no data is discarded but might need more computation.
  • The Rubine features were calculated for the shapes below. Can you match up the shape letter label from Figure 10 with their Rubine features in Figure 11?
    • Answers were in the document
  • Questions: What was the insight behind the other features that Long used?
    • Total angle traversed / total length: some how an average curvature. Circles of different sizes will differ in this measure
    • Density metric 1: a lengthy stroke which ends near its starting point probably has all of its point in a small neighborhood around the starting point which makes it dense. However there are cases that this does not apply
    • Density metric 2: The rationale is similar to the previous but unlike that, it doesn't rely on the distance of only the first and last points, but somehow takes into account the whole stroke
    • Opnness: closed curves will result in lower value for this measure while a straight line would result in larger values
    • Area of bounding box: a measure of size of the stroke. However sensitive to rotation and error prone
    • Log(area): to compensate for large area differences in larger shapes while the difference in perception is not as high
    • Total angle / total absolute angle: Some how measures how much the stroke changes its rotation direction, the lower times it changes, the higher this measure will be

First day of class Questionnaire

Photo of yourself.
Its there --> under About Me section

E-mail address (e.g., yourname at domain.com). 
afayazi [at] tamu [.] edu

Graduate standing (e.g., 3rd year Phd) (e.g., 3rd Year PhD, 2nd Year Masters, 1st Year PhD w/ Masters).
1st year Masters

Why are you taking this class?
Getting to know researches in this field

What experience do you bring to this class?
Well, I am a bit acquainted with topics in the AI realm such as Machine Learning, Vision and robot localization

What do you expect to be doing in 10 years?
Have finished my studies and have started working in the industry + thinking about the next 10 years again

    What do you think will be the next biggest technological advancement in computer science?
    Something other than the Von Neumann architecture maybe ?? in the sense of a decentralized processing

      What was your favorite course when you were an undergraduate (computer science or otherwise)?
      Theory of Languages and Computation since I finally managed to read all the covered chapters of the textbook of a course.

        What is your favorite movie and why?
        "Taste of Cherry" 1997 for not being yet another preachy and stereotypical movie and "The Matrix" 1999 although Hollywoodish but I enjoyed some of its dialogues.

        If you could travel back in time, who would you like to meet and why? 
        Kurt Gödel. Because I think he's famous and I would ask him the reason. :)

        Give some interesting fact about yourself.
        I always try to take advantage of all the added features of devices (phone, camera, etc). Sometimes I wish devices were simpler and had less features.