<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2903915210379382256</id><updated>2011-12-24T17:17:45.394-06:00</updated><title type='text'>SKETCH RECOGNITION 2008</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://giftzyx.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://giftzyx.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Yuxiang</name><uri>http://www.blogger.com/profile/17668942513891765844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_9_PZWgNRx8c/SLdWw6lON2I/AAAAAAAAGpM/hnp7ArI6DF0/S220/figure.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>40</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2903915210379382256.post-8269056814417477099</id><published>2008-12-08T07:50:00.002-06:00</published><updated>2008-12-08T07:58:54.217-06:00</updated><title type='text'>"SHADY: A Shape Description Debugger for Use in Sketch Recognition"</title><content type='html'>by Tracy Hammond and Randall Davis&lt;br /&gt;&lt;br /&gt;Summary&lt;br /&gt;&lt;br /&gt;This is another paper talking about near-miss...&lt;br /&gt;http://giftzyx.blogspot.com/2008/11/interactive-learning-of-structural.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2903915210379382256-8269056814417477099?l=giftzyx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giftzyx.blogspot.com/feeds/8269056814417477099/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2903915210379382256&amp;postID=8269056814417477099' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/8269056814417477099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/8269056814417477099'/><link rel='alternate' type='text/html' href='http://giftzyx.blogspot.com/2008/12/shady-shape-description-debugger-for.html' title='&quot;SHADY: A Shape Description Debugger for Use in Sketch Recognition&quot;'/><author><name>Yuxiang</name><uri>http://www.blogger.com/profile/17668942513891765844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_9_PZWgNRx8c/SLdWw6lON2I/AAAAAAAAGpM/hnp7ArI6DF0/S220/figure.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2903915210379382256.post-3020757782710920470</id><published>2008-11-25T13:55:00.003-06:00</published><updated>2008-12-08T03:47:59.537-06:00</updated><title type='text'>"Multimodal Collaborative Handwriting Training for Visually-Impaired People"</title><content type='html'>&lt;span style="font-style: italic;"&gt;by Beryl Plimmer, Andrew Crossan, Stephen A. Brewster, Rachel Blagojevic&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Summary&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This paper presents McSig, a multimodal collaborative handwriting training system for the visully-impaired people.&lt;br /&gt;&lt;br /&gt;The teacher can teacher visully-impaired students how to write in three ways: 1) verbal communication to give guidence and explain concepts. 2) the teacher use a Tablet PC to draw, and her movement is echoed to the PHANTOM on the student side (Playback mode), and 3) Stencil mode - allow students to write shapes themselves with constraining forces to guide their movements. Multi-stroke characters and multiple repetition of single-stroke characters are discerned by using time-out, if strokes are drawn within 1sec interval, they belong to the same character.&lt;br /&gt;&lt;br /&gt;The system is also audio aided. They mapped a pitch of a sinusoidal to vertical movements, and audio pan to horizontal movments. A high pitch indicates that the cursor is near the top of the drawing area, while a low pitch indicates that the cursor is near the bottom. Distinct sounds are played at the start and end of the teacher's trajectory.&lt;br /&gt;&lt;br /&gt;PID controller is used to minimise the error between the current value of a system and a target value. The user will be dragged through a close approximation of the trajectory in a smooth and stable manner.&lt;br /&gt;&lt;br /&gt;User study consists of pre-test phase, training phase, and post-test phase. Both the partially-sighted group and totally blind group see progress after using this system. The virtual stencil didn't work may due to the fact that visually-impaired people use two hands to write, one holding the pen, and the other for spatial orientation on the paper. This system could also be extended to use in surgery training.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Discussion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The idea of using multimodal way to help learning is good. But the sound may be annoying and distract the the user.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2903915210379382256-3020757782710920470?l=giftzyx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giftzyx.blogspot.com/feeds/3020757782710920470/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2903915210379382256&amp;postID=3020757782710920470' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/3020757782710920470'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/3020757782710920470'/><link rel='alternate' type='text/html' href='http://giftzyx.blogspot.com/2008/11/multimodal-collaborative-handwriting.html' title='&quot;Multimodal Collaborative Handwriting Training for Visually-Impaired People&quot;'/><author><name>Yuxiang</name><uri>http://www.blogger.com/profile/17668942513891765844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_9_PZWgNRx8c/SLdWw6lON2I/AAAAAAAAGpM/hnp7ArI6DF0/S220/figure.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2903915210379382256.post-481100806851834543</id><published>2008-11-17T22:46:00.002-06:00</published><updated>2008-11-18T03:18:39.115-06:00</updated><title type='text'>"Fluid Sketches: Continuous Recognition and Morphing of Simple HandDrawn Shapes"</title><content type='html'>&lt;span style="font-style: italic;"&gt;by James Arvo, Kevin Novins&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Summary&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This paper presents an approach to tightly couple gesture recognition with rapid morphing to provide a new and subjectively different form of feedback. The feedback is provided as each pen stroke is drawn, so that immediate adjustments can be made if the result is not what was intended.&lt;br /&gt;&lt;br /&gt;A family of ordinary different eqations (ODEs) is used to determine how a user-drawn shape changes with time as a result of continuous recognition and morphing. The parametric ODE is referred to as the fluid sketching equation. Points are continuous moved towards its corresponding ideal position that reflects the curve the user is attempting to draw. qs(t) is the new position of ps at time t. It is this feedback of q influencing its own subsequent time evolution that leads to modeling q as a differential equation.&lt;br /&gt;&lt;br /&gt;Recognition stage attempts to classify the user-drawn stroke into a fragment of a known shape (circle, box, line segment). Best fit of the stroke to each shape is calculated. The metric is the sum of the squares of the distances from each sampled point on the curve to the closest-matching shape. Least-squares fit for circle is found by applying a linear equation, while for box, relaxation is used (each point exerts a "spring" force to the nearest face or vertex and use gradient descent to get to a configuration in which the total net force is nearly zero - most balanced state).&lt;br /&gt;&lt;br /&gt;The matching is based on the entire stroke, but the recent portion is weighed more heavily. The simplest strategy for f is to simply move in the direction of the closest point on the ideal shape. Viscosity v is to describe how fast the point on the stroke moves toward the ideal shape S. v=0 means instantaneous snapping to the ideal shape, while v=infinity means that the user-drawn strokes are retained&lt;br /&gt;unmorphed.&lt;br /&gt;&lt;br /&gt;In situations where accuracy of placement is less important, the majority of users in this study preferred fluid sketching.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Discussion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The approach introduced in the paper enables the user to see the cleaned shape portion without even finishing the stroke. However, this may distract user's attention and also distort the stroke at an early stage that may yield a misrecognition.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2903915210379382256-481100806851834543?l=giftzyx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giftzyx.blogspot.com/feeds/481100806851834543/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2903915210379382256&amp;postID=481100806851834543' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/481100806851834543'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/481100806851834543'/><link rel='alternate' type='text/html' href='http://giftzyx.blogspot.com/2008/11/fluid-sketches-continuous-recognition.html' title='&quot;Fluid Sketches: Continuous Recognition and Morphing of Simple HandDrawn Shapes&quot;'/><author><name>Yuxiang</name><uri>http://www.blogger.com/profile/17668942513891765844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_9_PZWgNRx8c/SLdWw6lON2I/AAAAAAAAGpM/hnp7ArI6DF0/S220/figure.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2903915210379382256.post-8744825626243467307</id><published>2008-11-17T19:36:00.002-06:00</published><updated>2008-11-17T22:45:53.868-06:00</updated><title type='text'>"Sketch Recognition User Interfaces: Guidelines for Design and Development"</title><content type='html'>&lt;span style="font-style: italic;"&gt;by Christine Alvarado&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Summary&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This paper addresses both HCI and sketch recognition by introducing a recognition-based diagram creation tool that robustly recognizes naturally drawn diagrams and automatically imports them into PowerPoint. Recognition is done by a multi-domain sketch engine called SketchREAD. Users create diagrams consisting of shapes (ellipses and quadrilaterals) and connectors (lines and arrows) on Tablet PCs using this tool.&lt;br /&gt;&lt;br /&gt;To enable seamless interaction, the diagram creation tool and PPT is automatically synchronized to contain the same information. This tool also provides editing capabilities including move and delete. Pen-based editing commands are designed. Users switch between edit mode and sketch mode by pressing buttons on the winodw. Online edit mode is introduced to allow users sketch while in edit mode. The user holds down the pen in sketch mode to enter online edit mode, then she selects the items, when she lifted the pen, she can draw new items, however, the selected items remain highlighted, indicating that she can move or delete them using the same gestures in edit mode. Both recognized (cleaned) strokes and unrecognized (original) strokes appear on the slides.&lt;br /&gt;&lt;br /&gt;Design guidelines: (1) Display recognition results only when the user is done sketching. Whether the diagram is finished is indicated by changing of window focus, or explicited by the user by pressing "show" button. (2) Provide obvious indications to distinguish free sketching from recognition. (3) Restrict recognition to a single domain until automatic domain detection becomes feasible. (4) Incorporate pen-based editing as much as possible (copy, paste, alignment, resizing). (5) Sketching and editing should use distinct pen motions. (6) SkRUIs require large buttons.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Discussion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Not touching the recognition techniques in detail, the paper discusses mainly the UI design and evalution of the sketch recognition tool. The design guidelines are useful.&lt;br /&gt;&lt;br /&gt;The online edit mode may still be confusing to the user, it's better to provide a more straightforward way to switch between editing and sketching, like the trigger-action used in LADDER.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2903915210379382256-8744825626243467307?l=giftzyx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giftzyx.blogspot.com/feeds/8744825626243467307/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2903915210379382256&amp;postID=8744825626243467307' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/8744825626243467307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/8744825626243467307'/><link rel='alternate' type='text/html' href='http://giftzyx.blogspot.com/2008/11/sketch-recognition-user-interfaces.html' title='&quot;Sketch Recognition User Interfaces: Guidelines for Design and Development&quot;'/><author><name>Yuxiang</name><uri>http://www.blogger.com/profile/17668942513891765844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_9_PZWgNRx8c/SLdWw6lON2I/AAAAAAAAGpM/hnp7ArI6DF0/S220/figure.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2903915210379382256.post-2150147440016550816</id><published>2008-11-17T19:33:00.000-06:00</published><updated>2008-11-17T19:36:45.802-06:00</updated><title type='text'>"What Are Intelligence? And Why?"</title><content type='html'>by Randall Davis&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2903915210379382256-2150147440016550816?l=giftzyx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giftzyx.blogspot.com/feeds/2150147440016550816/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2903915210379382256&amp;postID=2150147440016550816' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/2150147440016550816'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/2150147440016550816'/><link rel='alternate' type='text/html' href='http://giftzyx.blogspot.com/2008/11/what-are-intelligence-and-why.html' title='&quot;What Are Intelligence? And Why?&quot;'/><author><name>Yuxiang</name><uri>http://www.blogger.com/profile/17668942513891765844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_9_PZWgNRx8c/SLdWw6lON2I/AAAAAAAAGpM/hnp7ArI6DF0/S220/figure.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2903915210379382256.post-6831137332311963512</id><published>2008-11-17T19:04:00.003-06:00</published><updated>2008-11-17T19:32:49.914-06:00</updated><title type='text'>"Magic Paper: Sketch-Understanding Research"</title><content type='html'>&lt;span container="http://www.blogger.com/post-edit.g?blogID=2903915210379382256&amp;amp;postID=6831137332311963512" style="font-style: italic;"&gt;by Randall Davis&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span container="http://www.blogger.com/post-edit.g?blogID=2903915210379382256&amp;amp;postID=6831137332311963512" style="font-weight: bold;"&gt;Summary&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Two things motivate the desire to enable sketching. First, using pen is more natural then keyboard and mouse, and free-form sketching is more intuitive than shapes CAD programs generate. Second,CAD force sketchers to make commitments that they may not want to make at early conceptual design stage.&lt;br /&gt;&lt;br /&gt;The difficulty of sketching is in proportion to the user's allowed degree of freedom. These difficulties include: First, our task is incremental. This lets the system provide continuous feedback about its understanding of the sketch, so the user can make corrections when a misunderstanding arises. In addition, as in any signal interpretation problem, there is noise. Next, the drawing conventions in many domains permit variations. Individual styles also vary, across users and even within a sketch. Another issue is the difficulty of segmentation. Next, there are issues involving overtraced or filled-in shapes. Finally, and perhaps most interesting, the signal is both 2D and nonchronological. The signal is nonchronological in the sense that we don't require each object to be finished before the next is started.&lt;br /&gt;&lt;br /&gt;Two basic assumptions ground most work in sketch understanding. First, the work is done in domains where there's a reasonably well-established graphical lexicon and grammar. But this is clearly not universal. Second, much like work in speech understanding, sketch-understanding systems are built for a specific domain.&lt;br /&gt;&lt;br /&gt;Finding primitives: uses the data's temporal character. And by combining curvature and speed, corner finding could be more precise. Recognizing shapes: three correspondingly different approaches to recognition: (1) how the shape is defined - using LADDER, (2) how the shape is drawn - Dynamic Bayes' Network (DBN), and (3) what the shape looks like - vision approaches (bull's eye). We can connect sketch understanding to various back-end programs (physics simulator, RationalRose).&lt;br /&gt;&lt;br /&gt;The author also talks about creating a sketch understander for a new domain, the issue of underconstrained and overconstrained definitions, and description-refinement process using near-miss.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span container="http://www.blogger.com/post-edit.g?blogID=2903915210379382256&amp;amp;postID=6831137332311963512" style="font-weight: bold;"&gt;Discussion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This paper is an overview of sketch recognition, including the difficulties, common approaches, issues, applications, etc.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2903915210379382256-6831137332311963512?l=giftzyx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giftzyx.blogspot.com/feeds/6831137332311963512/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2903915210379382256&amp;postID=6831137332311963512' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/6831137332311963512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/6831137332311963512'/><link rel='alternate' type='text/html' href='http://giftzyx.blogspot.com/2008/11/magic-paper-sketch-understanding.html' title='&quot;Magic Paper: Sketch-Understanding Research&quot;'/><author><name>Yuxiang</name><uri>http://www.blogger.com/profile/17668942513891765844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_9_PZWgNRx8c/SLdWw6lON2I/AAAAAAAAGpM/hnp7ArI6DF0/S220/figure.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2903915210379382256.post-5350788084688587863</id><published>2008-11-17T18:03:00.004-06:00</published><updated>2008-11-17T19:04:49.726-06:00</updated><title type='text'>"Interactive Learning of Structural Shape Descriptions from Automatically Generated Nearmiss Examples"</title><content type='html'>&lt;span container="http://www.blogger.com/post-edit.g?blogID=2903915210379382256&amp;amp;postID=5350788084688587863" style="font-style: italic;"&gt;by Tracy Hammond, Randall Davis&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span container="http://www.blogger.com/post-edit.g?blogID=2903915210379382256&amp;amp;postID=5350788084688587863" style="font-weight: bold;"&gt;Summary&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This paper describes a visual debugger of shape descriptions using active learning that automatically generates its own suspected near-miss examples.&lt;br /&gt;&lt;br /&gt;A near-miss shape is a shape that differs from the initial hand drawn positive example in only one aspect. The debugging is done by classifying near-miss shapes as positive or negative to help correct overconstrained (constraints too tight) or underconstrained (constraints too loose) descriptions.&lt;br /&gt;&lt;br /&gt;This approach needs a positive hand-drawn example and a user-typed description that will correctly recognize that shape. Then a recognizer is generated using the description. If the known to be correct example is not recognized,  the description must be overconstrained. And it's corrected by first finding a match between the typed description and the drawn shape that has fewest failed constraints. The system shows those failed constraints in red and asks the developer if they could be removed to correct the description. If the description is automatically generated, the list of constraints could be quite long, so the authors applied a set of heuristics to prune the list.&lt;br /&gt;&lt;br /&gt;The initial hand-drawn example and the initial description may be both overconstrained although the example can be recognized with that description. So they use a constraint candidate list. Each time a positive example shape is encountered, any constraint not true of the new example is removed from the list. They also generate a list of constraints known to be part of the correct description by examine the negative examples. Each time a negative example shape is encountered, a list of the constraints that are in the constraint candidate list but are not true of the negative example shape is constructed. At least one constraint in this list is part of the correct description, because it correctly classifies the new example as negative. For scaling and rotation, the developer is asked to indicate the status of each example individually in the case of scaling, while he/she is permitted only to say whether or not all of the examples are positive for rotation. A constraint is tested by creating a description in which the constraint is replaced by its negation.&lt;br /&gt;&lt;br /&gt;Under-constrained description is checked by making a list of possible missing constraints. As the list could be very long, the authors uses a filtering process. Whether or not a constraint is missing from the description is tested by adding its negation to the description. If the shape in which the constraint is met is a positive example, and the shape in which the constraint is not met is a negative example, then this constraint is necessary in the shape's concept.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span container="http://www.blogger.com/post-edit.g?blogID=2903915210379382256&amp;amp;postID=5350788084688587863" style="font-weight: bold;"&gt;Discussion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This paper talks about a positive learning approach to debug the shape description in LADDER in an interactive way. It is both efficient and necessary because human testers may never draw shapes that expose the bug in the description.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2903915210379382256-5350788084688587863?l=giftzyx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giftzyx.blogspot.com/feeds/5350788084688587863/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2903915210379382256&amp;postID=5350788084688587863' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/5350788084688587863'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/5350788084688587863'/><link rel='alternate' type='text/html' href='http://giftzyx.blogspot.com/2008/11/interactive-learning-of-structural.html' title='&quot;Interactive Learning of Structural Shape Descriptions from Automatically Generated Nearmiss Examples&quot;'/><author><name>Yuxiang</name><uri>http://www.blogger.com/profile/17668942513891765844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_9_PZWgNRx8c/SLdWw6lON2I/AAAAAAAAGpM/hnp7ArI6DF0/S220/figure.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2903915210379382256.post-6085508537971463931</id><published>2008-10-28T11:11:00.002-05:00</published><updated>2008-10-28T13:28:48.763-05:00</updated><title type='text'>"Grouping Text Lines in Freeform Handwritten Notes"</title><content type='html'>&lt;span style="font-style: italic;"&gt;by Ming Ye, Herry Sutanto, Sashi Raghupathy, Chengyang Li and Michael Shilman&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Summary&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This paper presents an optimization method for text line grouping.&lt;br /&gt;&lt;br /&gt;Line grouping problem: find the partitioning of the stroke set to optimize the likelihood of the resulting lines and the consistency and simplicity of the their configuration.&lt;br /&gt;&lt;br /&gt;Three features to measure the likelihood of a line: the linear regression error (eLR), maximum inter-stroke distances (Dxmax(l) &amp;amp; Dymax(l)) projected onto the fitting line and its orthogonal direction respectively.&lt;br /&gt;&lt;br /&gt;Configuration consistency: use neighborhood graph - a pair of lines are neighbors if the minimum distance between their fitting line segments falls below a threshold and there are no other objects (lines or drawings) lying between them. Compute each line’s configuration consistency θ(l) as the neighbor-length-weighted sum of the orientation angle difference. Use the weights to encourage lines to be more consistent with longer (usually more reliable) neighbors.&lt;br /&gt;&lt;br /&gt;Model complexity: measured by number of lines (π).&lt;br /&gt;&lt;br /&gt;Cost function: weighted sum of eLR, Dxmax(l), Dymax(l), θ(l), π. The optimal line grouping is the stroke partitioning that minimizes this cost.&lt;br /&gt;&lt;br /&gt;Gradient-descent optimization: Starting from an initial solution from temporal grouping, iteratively generate local alternative hypotheses and accept the one leading to the largest global cost decrease. Temporal grouping: partitioning based on the fact that most text lines are composed of temporally adjacent strokes. Two types of alternative hypotheses: merging a pair of line segments and correcting high-configuration-energy errors, corresponding to the two major error categories of the temporal grouping results. Merging hypothesis is generated for each neighboring pair. High-configuration-energy errors are caused by temporally adjacent strokes belonging to different lines. Any line segment l whose maximum angle difference from its neighbors exceeds a threshold is an initial candidate. Iteratively update the line configuration and the hypothesis queue, take the hypothesis that incurs the most global cost reduction in each step, until the queue is empty. Incremental mode used in online sketch yields better results than batch mode (throw in full page of sketch).&lt;br /&gt;&lt;br /&gt;Accuracy is measured by the recall metric, which is defined as the number of correct lines divided by the number of labeled lines in each page. The average recall rates for PerfectWD and CrudeWD are 0.93 and 0.87 respectively.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Discussion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The features used in grouping (calculating global cost) is useful. The iterative gradient-descent algorithm seems to be working quite well. But I'm wondering if it works equally well on sketches with text and shape mixed. For example, people may write text on a line, or the table wasn't drawn big enough that they have to write through the edges of the table (text cut by shpe).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2903915210379382256-6085508537971463931?l=giftzyx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giftzyx.blogspot.com/feeds/6085508537971463931/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2903915210379382256&amp;postID=6085508537971463931' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/6085508537971463931'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/6085508537971463931'/><link rel='alternate' type='text/html' href='http://giftzyx.blogspot.com/2008/10/grouping-text-lines-in-freeform.html' title='&quot;Grouping Text Lines in Freeform Handwritten Notes&quot;'/><author><name>Yuxiang</name><uri>http://www.blogger.com/profile/17668942513891765844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_9_PZWgNRx8c/SLdWw6lON2I/AAAAAAAAGpM/hnp7ArI6DF0/S220/figure.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2903915210379382256.post-4358791385157148288</id><published>2008-10-27T19:09:00.002-05:00</published><updated>2008-10-27T21:26:21.623-05:00</updated><title type='text'>"PerceptuallySupported Image Editing of Text and Graphics"</title><content type='html'>&lt;span style="font-style: italic;"&gt;by Eric Saund, David Fleet, Daniel Larner, James Mahoney&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Summary&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This paper presents ScanScribe, an image editing program that support easy selection and manipulation of materials in images of sketches.&lt;br /&gt;&lt;br /&gt;Image materials can be selected by rectangle, lasso, polygon, and clicking on object. Clicking on object is available any time image objects have become established within the program. Whether a rectangle or lasso is used is based on whether the selection path encloses. Polygon selection is activated by mouse double click.&lt;br /&gt;&lt;br /&gt;When image objects are selected, new bitmap layer is created with the object as foreground and a transparent background. ScanScribe uses a flat lattice for primitive object grouping, so that an object may belong to any number of groups (e.g. both a row group and a column group in a table). Click on object allows switching between groups with all the other objects in the same group selected. Groups can be manually created, or automatically formed after operations on a set of objects. And an object is expelled from a group any time it's moved far from that group's spatial locus. A set of objects can also be merged into one object.&lt;br /&gt;&lt;br /&gt;Foreground/background separation is done through an iterative technique (high-pass filtering and distance measure on pixels' HSB values) to estimate and interpolate the color distribution of light background across the scene.&lt;br /&gt;&lt;br /&gt;Handwritten text is replaced by typing in the text entry when the bitmap region containing handwriten text is selected. And typed text is rendered as bitmaps.&lt;br /&gt;&lt;br /&gt;Image recognition occurs in two stages. First, the original undifferentiated bitmap is segmented into primitive image objects by an automatic mechanism. Second, sensible groupings of these primitives are automatically formed and established as groups, or composite objects, in the lattice grouping structure. Stroke primitives are grouped according to rules following the principles of curvilinear smoothness and closure. Blob primitives (text) are grouped into composite objects reflecting words and lines of text based on spatial proximity and curvilinear alignment. Structure recognition is invoked in ScanScribe through an Edit menu item, and can be applied to only a selected region of the image.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Discussion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;ScanScribe is an image editing tool that supports offline sketch recognition to some extent, basically group and structure, though the text "recognition" is done by manually typing in text entry. The lattice used for grouping is a good idea as it supports multiple group labels for each object. It's a promising application if it can incorporate more sketch recognition techniques.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2903915210379382256-4358791385157148288?l=giftzyx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giftzyx.blogspot.com/feeds/4358791385157148288/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2903915210379382256&amp;postID=4358791385157148288' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/4358791385157148288'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/4358791385157148288'/><link rel='alternate' type='text/html' href='http://giftzyx.blogspot.com/2008/10/perceptuallysupported-image-editing-of.html' title='&quot;PerceptuallySupported Image Editing of Text and Graphics&quot;'/><author><name>Yuxiang</name><uri>http://www.blogger.com/profile/17668942513891765844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_9_PZWgNRx8c/SLdWw6lON2I/AAAAAAAAGpM/hnp7ArI6DF0/S220/figure.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2903915210379382256.post-7099913002428958585</id><published>2008-10-21T04:14:00.004-05:00</published><updated>2008-10-21T07:22:50.088-05:00</updated><title type='text'>"Template-based Online Character Recognition"</title><content type='html'>&lt;span style="font-style: italic;"&gt;by Scott D. Connell, Anil K. Jain&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Summary&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To perform classificatio of handwritten characters, a recognition system must attempt to leverage between class variations, while accommodating potentially large within-class variations -- composed of two parts: between and within writing styles. Their goal is to automatically learn these writing styles so that adequate character models can be built.&lt;br /&gt;&lt;br /&gt;Background discusses five categories of online handwriting recognition techniques: (1) primitive decomposition, (2) motor models, (3) elastic matching, (4) stochastic models, (5) neural networks.&lt;br /&gt;&lt;br /&gt;Preprocessing uses equi-distant resampling followed by a Gaussian filter. Locations of endpoints and high curvature points are preserved. And characters are normalized to the same height.&lt;br /&gt;&lt;br /&gt;A stroke is represented as a string of on average 62 events. Distance between two strings involves computing the distance between the corresponding pair of events. This requires events first be aligned. In this paper, each event is represented as: x, y with respect to the first point of the first stroke of the digit, and the angle of curvature (theta) at the sample point. Distance between two events is a weighed sum of their corresponding x, y, theta distances. Distance between characters is the sum of distances between aligned events. Neighboring strokes in multi-stroke characters are connected, so that they can be represented as a single string. Restrictions are made to skip points to prevent 1-N or N-1 alignment of events, when a point is skiped, penalty (spurious &amp;amp; missing penalties) is added to the distance. The distance is calculated by finding the minimal distance of all possible alignments of events in two strings. A stroke count difference penalty is added to the final distance.&lt;br /&gt;&lt;br /&gt;Two methods - cluster centers and training set editing - are used to selecting representative prototypes. Cluster centers: cluster data and retain the prototype closest to each center (can be seen as finding representative examples of writing styles.) Training set editing: selecting only those templates that fall along class boundaries.&lt;br /&gt;&lt;br /&gt;Next, the paper introduces nearest neighbor and decision tree as methods of classification. In constructing a decision tree, "difference feature" is used (asking question "Is character c more similar to reference i, or reference j?").&lt;br /&gt;&lt;br /&gt;Accuracy was 86.9% for a 36-class set of alphanumeric characters.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Discussion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To me, it seems "different writing styles" within one class is just the same as different classes. The ability to distinguish between writing styles (and serves as different classes?) comes from the fact the training examples are automatically clustered. I know there is unsupervised clustering algorithms where the number of clusters K is automatically decided based on the data set.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2903915210379382256-7099913002428958585?l=giftzyx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giftzyx.blogspot.com/feeds/7099913002428958585/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2903915210379382256&amp;postID=7099913002428958585' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/7099913002428958585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/7099913002428958585'/><link rel='alternate' type='text/html' href='http://giftzyx.blogspot.com/2008/10/template-based-online-character.html' title='&quot;Template-based Online Character Recognition&quot;'/><author><name>Yuxiang</name><uri>http://www.blogger.com/profile/17668942513891765844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_9_PZWgNRx8c/SLdWw6lON2I/AAAAAAAAGpM/hnp7ArI6DF0/S220/figure.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2903915210379382256.post-6935198620329694259</id><published>2008-10-21T03:53:00.002-05:00</published><updated>2008-10-21T04:14:02.409-05:00</updated><title type='text'>"Sketch Recognition for Computer-Aided Design"</title><content type='html'>&lt;span style="font-style: italic;"&gt;by Christopher F. Herot&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Summary&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This paper talks about free-hand sketching where inferences can be drawn from user actions.&lt;br /&gt;&lt;br /&gt;In the first step, raw data is converted into a list of lines and curves by utilizing speed information to make interpretation of the user's intent. Corners are the intersection of two lines. Curves are fit to B-spline, smoothness is a function of speed. Then the output of line-curve finder is passed to a program the processes overtracing, adding a thickness parameter. The next level of interpretation is performed by the latching program which eliminates excess points. The latching radius is determined by speed, line length and density around each point.&lt;br /&gt;&lt;br /&gt;Drawing style is important, suitable parameters can be determined for describing drawing styles. The sequence of drawing is also important. Adjustment of parameters can be done through editing operations (user repeatedly separates points joined by latcher, then the program can reduce the radius.)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Discussion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;As a paper in 1970s, it is quite advanced. The adjustment of latching radius based on speed, length, density and editing operations is interesting.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2903915210379382256-6935198620329694259?l=giftzyx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giftzyx.blogspot.com/feeds/6935198620329694259/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2903915210379382256&amp;postID=6935198620329694259' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/6935198620329694259'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/6935198620329694259'/><link rel='alternate' type='text/html' href='http://giftzyx.blogspot.com/2008/10/sketch-recognition-for-computer-aided.html' title='&quot;Sketch Recognition for Computer-Aided Design&quot;'/><author><name>Yuxiang</name><uri>http://www.blogger.com/profile/17668942513891765844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_9_PZWgNRx8c/SLdWw6lON2I/AAAAAAAAGpM/hnp7ArI6DF0/S220/figure.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2903915210379382256.post-9212703112599746341</id><published>2008-10-16T03:21:00.003-05:00</published><updated>2008-10-16T06:12:12.535-05:00</updated><title type='text'>"Ink Features for Diagram Recognition"</title><content type='html'>&lt;span style="font-style: italic;"&gt;by Rachel Patel, Beryl Plimmer, John Grundy, Ross Ihaka&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Summary&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Previous works use top-down, bottom-up, and combination approaches to do sketch recognition. But few systems support mixed text/shape sketch. This paper uses formal statistical analysis to identify key ink features and tries to tell text and shapes apart.&lt;br /&gt;&lt;br /&gt;46 features are selected and grouped into 7 categories: size, time, intersections, curvature, pressure, OS recognition values, and inter-stroke gaps. 1519 strokes are collected for statistical analysis to determine whether each feature is significant in distinguishing between shapes and text. These features can then be arranged into a decision tree, with the most significant features at the root, leaves of the tree are either TEXT or SHAPE.  rpart function is applied to the training data to find the optimal position for a split to made that yields minimal number of misclassification. The features that most accurately split the data into text and shape is significant.&lt;br /&gt;&lt;br /&gt;This divider outperforms InkKit and Microsoft divider in overall accuracy, though its misclassification rate of text on new diagram set is a little higher than that of InkKit (music nodes were a confounding factor).&lt;br /&gt;&lt;br /&gt;Significant features are:&lt;br /&gt;1. time till next stroke (inter-stroke gaps)&lt;br /&gt;2. speed till next stroke (inter-stroke gaps)&lt;br /&gt;3. distance from last stroke (inter-stroke gaps)&lt;br /&gt;4. distance to next stroke (inter-stroke gaps)&lt;br /&gt;5. bounding box width (size)&lt;br /&gt;6. perimeter to area (size)&lt;br /&gt;7. amount of ink inside (size)&lt;br /&gt;8. total angle (curvature)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Discussion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The idea of using rpart to select significant features and organize them into a decision tree is great. The misclassification rate on shapes is twice as high as that on text, meaning that many shapes are classified as text, and this is due mainly to such strokes as music nodes.&lt;br /&gt;&lt;br /&gt;One thing is that for English and some other Latin character sets, capitalized characters and non-capitalized characters may be distinct on some features. For non-capitalized characters, curvature / bounding box width might be a useful feature (don't know if this correlates with curvature + bounding box width), as text tend to have high curvature/bounding box width. However, this feature may to be able to distinguish between shapes and most capitalized characters, such as 'H', 'F', 'X', etc, especially on stroke basis.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2903915210379382256-9212703112599746341?l=giftzyx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giftzyx.blogspot.com/feeds/9212703112599746341/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2903915210379382256&amp;postID=9212703112599746341' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/9212703112599746341'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/9212703112599746341'/><link rel='alternate' type='text/html' href='http://giftzyx.blogspot.com/2008/10/ink-features-for-diagram-recognition_16.html' title='&quot;Ink Features for Diagram Recognition&quot;'/><author><name>Yuxiang</name><uri>http://www.blogger.com/profile/17668942513891765844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_9_PZWgNRx8c/SLdWw6lON2I/AAAAAAAAGpM/hnp7ArI6DF0/S220/figure.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2903915210379382256.post-4015065595801589967</id><published>2008-10-15T20:47:00.005-05:00</published><updated>2008-10-16T03:21:39.218-05:00</updated><title type='text'>"Distinguishing Text from Graphics in On-line Handwritten Ink"</title><content type='html'>&lt;span style="font-style: italic;"&gt;by Christopher M. Bishop, Markus Svensen, Geoffrey E. Hinton&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Summary&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This paper introduces an approach to classify strokes into text or graphics (non-text). It tries to combine stroke-based feature with temporal information in computing probabilities.&lt;br /&gt;&lt;br /&gt;For each stroke, 11 features are extracted, then a total least squares (TLS) model is fitted to the stroke. The stroke is divided into fragments at points with local mixima curvature and TLS is applied again to the largest resulting fragment. Features are: 1) stroke arc length, 2) total absolute curvature, 3) main direction given by TLS, 4) length-width ratio of TLS fit, 5) total number of fragments found in the stroke, 6) arc length of the largest fragment, 7) total absolute curvature of the largest fragment, 8) main direction of the largest fragment, 9) length of long side of bounding rectangle of the largest fragment. Features 6-9 are based on the assumption that indeed large largest fragment (may include the entire stroke) with high length-to-width TLS ratio indicates a graphics stroke. Multilayer perceptron (MLP) model is trained with these features. Probability p(tn|xn) is calculated. Since the distribution is biased towards text, adjusting objective function used for fitting the model can solve the problem.&lt;br /&gt;&lt;br /&gt;Next, the temporal context is used to achieve better performance. The identity of successive strokes will tend to be correlated (text stroke followed by text stroke, graphics stroke followed by graphics stroke.) p(t1=1) = 0.5467, and a Hidden Markov Model (uni-partite HMM) of p(tn|tn-1) is built from the training data. Then p(tn|xn) of the discriminative model and p(tn|tn-1) are combined.&lt;br /&gt;&lt;br /&gt;Finally, gap information is also incorporated (characteristics of gap between two text strokes and gap between a text stroke are different.) Features are: 1) logarithm of the difference of the pen-down times for the surrounding strokes, 2) x- and y- differences of the pen-down location for the surrounding strokes, and 3) x- and y- differences of the pen-up location of the preceding stroke and the pen-down location of the following stroke. Thus, labels (tn = tn+1) and (tn != tn+1) can be assigned (bi-partite HMM).&lt;br /&gt;&lt;br /&gt;Accuracy on Cambridge data was 91.49%, and accuracy on Redmond data was 96.71% (22.64% graphics strokes are classified as text strokes).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Discussion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This is a text vs. shape paper. It tries to classify strokes into text or graphics based on features of the strokes as well as on the context. The result shows that the rate of misclassifying graphics strokes into text strokes is relatively high. The HMM may not be helpful in sketches with frequent text-graphics switches.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2903915210379382256-4015065595801589967?l=giftzyx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giftzyx.blogspot.com/feeds/4015065595801589967/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2903915210379382256&amp;postID=4015065595801589967' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/4015065595801589967'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/4015065595801589967'/><link rel='alternate' type='text/html' href='http://giftzyx.blogspot.com/2008/10/ink-features-for-diagram-recognition.html' title='&quot;Distinguishing Text from Graphics in On-line Handwritten Ink&quot;'/><author><name>Yuxiang</name><uri>http://www.blogger.com/profile/17668942513891765844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_9_PZWgNRx8c/SLdWw6lON2I/AAAAAAAAGpM/hnp7ArI6DF0/S220/figure.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2903915210379382256.post-6782183677767266523</id><published>2008-10-14T00:54:00.000-05:00</published><updated>2008-10-14T00:55:38.853-05:00</updated><title type='text'>"Renegade Gaming: Practices Surrounding Social Use of the Nintendo DS Handheld Gaming System"</title><content type='html'>&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2903915210379382256-6782183677767266523?l=giftzyx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giftzyx.blogspot.com/feeds/6782183677767266523/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2903915210379382256&amp;postID=6782183677767266523' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/6782183677767266523'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/6782183677767266523'/><link rel='alternate' type='text/html' href='http://giftzyx.blogspot.com/2008/10/renegade-gaming-practices-surrounding.html' title='&quot;Renegade Gaming: Practices Surrounding Social Use of the Nintendo DS Handheld Gaming System&quot;'/><author><name>Yuxiang</name><uri>http://www.blogger.com/profile/17668942513891765844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_9_PZWgNRx8c/SLdWw6lON2I/AAAAAAAAGpM/hnp7ArI6DF0/S220/figure.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2903915210379382256.post-4545334384651927120</id><published>2008-10-14T00:53:00.002-05:00</published><updated>2008-10-14T03:24:57.679-05:00</updated><title type='text'>"MathBrush: A Case Study for Pen-based Interactive Mathematics"</title><content type='html'>&lt;span style="font-style: italic;"&gt;by George Labahn, Edward Lank, Mirette Marzouk, Andrea Bunt, Scott MacLean, and David Tausky&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Summary&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This paper introduces MathBrush to provide a pen-based interface to support mathematical problem-solving tasks, which are currently done on computer algebra systems (CAS). It recognizes and transforms 2-dimensional hand-written mathematical expressions into 1-demensional text string, which can then be passed to the back-end CAS.&lt;br /&gt;&lt;br /&gt;MathBrush support large and complex input and output expressions. It incorporates a context sensitive pop-up menu based on a cursory analysis of the mathematical expression and manipulations most likely to be performed (e.g. inverse, rank on matrices). It has an editing-in-place mechanism that allows interaction with CAS output, which enables separate operations on subexpressions. It supports two- or three-dimentional plotting and angles and limits of the plots can be adjusted. Users can select a new CAS to check for alternative answers to their problems.&lt;br /&gt;&lt;br /&gt;Evalution methods include thinkalouds and semi-structured interview. Equation entry is a three step process. Users first draw the mathematical equation. They then interact with the equation in an input validation panel (IVP) to correct any character recognition errors. Finally, they render the equation to validate structural analysis. Extraneous ink, esp. dots resulted in errors in parsing. Features like scratch-out and translation(circling and moving terms around) was not used. Correcting recognition that uses a separate input validation panel to correct character recognition followed by a rendering step to present structural analysis caused confusion due to lack of perception in how structural analysis is performed. Mathematical interactions were a strength of the system.&lt;br /&gt;&lt;br /&gt;Users tend to modify their writing to adjust to the tolerances of recognition (slowing down, taking care with symbole spacing, etc).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Discussion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This paper focuses on UI introduction, detail in recognition is not mensioned. I'm wondering if ambiguity solving techniques is used in MathBrush, by which I mean that possible interpretations of the expression are sent to CAS and those interpretations that yield errors will not likely be what the user meant to input, so they can be eliminated at this point.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2903915210379382256-4545334384651927120?l=giftzyx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giftzyx.blogspot.com/feeds/4545334384651927120/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2903915210379382256&amp;postID=4545334384651927120' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/4545334384651927120'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/4545334384651927120'/><link rel='alternate' type='text/html' href='http://giftzyx.blogspot.com/2008/10/mathbrush-case-study-for-pen-based.html' title='&quot;MathBrush: A Case Study for Pen-based Interactive Mathematics&quot;'/><author><name>Yuxiang</name><uri>http://www.blogger.com/profile/17668942513891765844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_9_PZWgNRx8c/SLdWw6lON2I/AAAAAAAAGpM/hnp7ArI6DF0/S220/figure.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2903915210379382256.post-2618548193017629374</id><published>2008-10-09T03:54:00.004-05:00</published><updated>2008-10-09T04:30:24.458-05:00</updated><title type='text'>"Sketch-Based Educational Games: 'Drawing' Kids Away from Traditional Interfaces"</title><content type='html'>&lt;span style="font-style: italic;"&gt;by Brandon Paulson, Brian Eoff, Aaron Wolin, Joshua Johnston, Tracy Hammond&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Summary&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This paper introduces games developed using LADDER. These games help promote kinesthetic and&lt;br /&gt;tactile learning of child. The games include memory games, simple physics simulation games, games to learn shapes and geography, as well as a system for providing feedback about sentence diagramming.&lt;br /&gt;&lt;br /&gt;User tests on graduate students give positive feedback. User tests on children are delayed by IRB constraint.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Discussion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Interesing! I hope to see more complicated games  in the future (like real-time strategy game where players can draw their armies and give instructions.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2903915210379382256-2618548193017629374?l=giftzyx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giftzyx.blogspot.com/feeds/2618548193017629374/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2903915210379382256&amp;postID=2618548193017629374' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/2618548193017629374'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/2618548193017629374'/><link rel='alternate' type='text/html' href='http://giftzyx.blogspot.com/2008/10/sketch-based-educational-games-drawing.html' title='&quot;Sketch-Based Educational Games: &apos;Drawing&apos; Kids Away from Traditional Interfaces&quot;'/><author><name>Yuxiang</name><uri>http://www.blogger.com/profile/17668942513891765844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_9_PZWgNRx8c/SLdWw6lON2I/AAAAAAAAGpM/hnp7ArI6DF0/S220/figure.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2903915210379382256.post-6077197117660921717</id><published>2008-10-09T00:37:00.002-05:00</published><updated>2008-10-09T03:53:35.130-05:00</updated><title type='text'>"Recognizing Free-form Hand-sketched Constraint Network Diagrams by Combining Geometry and Context"</title><content type='html'>&lt;span style="font-style: italic;"&gt;by Tracy Hammond, Barry O’Sullivan&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Summary&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Constraint programming can be divided very crudely into modeling and solving. Modeling defines the problem: which variables are involved, and what constraints on them. Solving finds values for all the variables that simultaneously satisfy all the constraints. While solving can seek to embedded algorithms, libraries, and programming languages, bottleneck exists in modelling phase. This paper tries to solve this bottleneck by providing a free-hand sketching system.&lt;br /&gt;&lt;br /&gt;The system uses geometric-based to allow free-form drawing. It is built using LADDER, and the user interface is generated by GUILD. In a modelling graph of a constraint problem graph, nodes are CSP variables and edges between variables represent constraints. The set of possible values (domain) each variable can take is specified by writing a set adjacent to a node. The constraint between two variables is specified by giving a direction on an edge and a relation adjacent to the edge. Text can be enterred by handwriting, typing, or variable names (t, v, w , x, y, z) handwritten directly onto the diagram. Then the corresponding constraint satisfaction model is automatically generated.&lt;br /&gt;&lt;br /&gt;Nodes are recognized as ellipses that contain a variable name within them. An undirected link is recognized geometrically as a line. Directed links are recognized as an arrow that extends between two nodes. Other shapes are variable name, variables: T, V, W, X, Y, Z, and constraints: less than, equal, not equal.&lt;br /&gt;&lt;br /&gt;Shapes appear to be similar (less than, V, W, arrow head) are distinguished in context. Two lines in each direction (partners) are added in the system to allow flexible drawing order, for example, arrow head coincide with either end of the shaft will be recognized as an arrow. And to keep recognition response times short, as soon as shapes are recognized, their properties are computed and placed into a hash-table. Thresholds are determined by combining absolute (within 10 pixels), relative (5% of stroke length), and perceptual ("coincididence": closer to the endpoint than to the midpoint) rules to give a more accurate representation of the&lt;br /&gt;error.&lt;br /&gt;&lt;br /&gt;Accuracy was 100% but (1) UI for drawing gives feedback if shapes are drawn wrong, (2) testing graphs are drawn by designer of the system.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Discussion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This is an application of LADDER in a specific domain. The benefit of sketch recognition system over paper-based drawing is evident in that the sketch can be automatically converted to the model.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2903915210379382256-6077197117660921717?l=giftzyx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giftzyx.blogspot.com/feeds/6077197117660921717/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2903915210379382256&amp;postID=6077197117660921717' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/6077197117660921717'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/6077197117660921717'/><link rel='alternate' type='text/html' href='http://giftzyx.blogspot.com/2008/10/recognizing-free-form-hand-sketched.html' title='&quot;Recognizing Free-form Hand-sketched Constraint Network Diagrams by Combining Geometry and Context&quot;'/><author><name>Yuxiang</name><uri>http://www.blogger.com/profile/17668942513891765844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_9_PZWgNRx8c/SLdWw6lON2I/AAAAAAAAGpM/hnp7ArI6DF0/S220/figure.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2903915210379382256.post-1252585421665798315</id><published>2008-10-07T00:07:00.004-05:00</published><updated>2008-10-09T00:00:53.088-05:00</updated><title type='text'>"Ambiguous Intentions: a Paper-like Interface for Creative Design"</title><content type='html'>&lt;span style="font-style: italic;"&gt;by Mark D Gross, Ellen Yi-Luen Do&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Summary&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Designers prefer to use paper and pencil because it supports ambiguity, imprecision, and incremental formalization of ideas as well as rapid exploration of alternatives. Yet computers offer advantages: editing, 3D modeling, and rendering, as well as simulation, critiquing, case bases, and distance collaboration. The Electronic Cocktail Napkin introduced in this paper supports abstraction through end user programming of graphical rewrite rules, ambiguity by carrying alternative interpretations using context to resolve unintended ambiguities, and imprecision with constraint based interactive behavior.&lt;br /&gt;&lt;br /&gt;Configurations are high level structures made up of primitive elements and some constraints (four boxes around a larger box recognized as a dining table). The program replaces low-level elements with an abstract configuration. Defining a configuration is a special event, so the Napkin provides a special pattern definition window where it identifies the element types and spatial relations both graphically and as symbolic expressions. Recognizing configurations depends on context.&lt;br /&gt;&lt;br /&gt;Alternative interpretations of a drawing element or configuration are carried until the ambiguity can be resolve by finding additional information elsewhere in the drawing or later in time, or by being explicitly resolved by the user. The ambiguity can be resolved later in one of two ways: The user can identify the element by drawing over it. Or, the program may find that the glyph is part of a known configuration, in a position that resolves the ambiguity. Contexts map primitive elements to different interpretations, on the other hand, a single unique element or configuration can often determine context.&lt;br /&gt;&lt;br /&gt;Representing imprecision with constraints: for example, after recognizing a diagram as a graph of nodes and arcs, the Napkin establishes connection constraints. The user can drag the nodes and the graph connectivity remains intact. The Napkin identifies spatial relations among drawing&lt;br /&gt;elements, but schemes must determine which relationships are incidental and which are intended. Only context relevant constraints are asserted. But users can also add, delete, and modify constraints. It is important to support incremental refinement and formalization of design.&lt;br /&gt;&lt;br /&gt;The low level recognizer identify the best match(es) in a given context for an input glyph along with a certainty value (1-5, 1 for high certainty). A glyph is time delimited by when the user lifts the pen for longer than a certain time out period. Therefore a glyph can include more than one stroke. A 3x3 grid is inscribed within the bounding box of a glyph, numbered 1-9. Stroke path is described as a sequence, for example [1 2 3 6 9 8 7 4] represents a clockwise circle or box, a corner count helps to distinguish shapes with the same pen path. Corners are identified when the change in heading of segments between raw points exceeds 45 degrees. Pen path, aspect ratio and size of the bounding box, stroke and corner count are features of a glyph. The glyph template records a constraint on acceptable values (e.g., a set of possible corner counts {3 4 5} ). Templates also contain a slot that indicates which transformations of a glyph are permitted. Match proceeds as follows: (1) templates that match the input glyph's pen path sequence and all other features are selected.  If only one candidate is found, assign certainty 1 to it. If there are multiple candidates, assgin certainty 2 to each of them. (2) permuted the path sequence to match rotated, backwards, or reflected cases, also assign 1 or 2. (3) approximate matches with sequences that differ one or two squares are assigned 3 or 4 (multiple). (4) if no match can be found, assign certainty value of 5.&lt;br /&gt;&lt;br /&gt;To identify configurations, the program runs recognizer functions over all pairs of appropriately typed elements in the diagram to look for these patterns. Replace elements with configuration, and then the configuration may be parsed as an element in a larger 'graph' configuration. Each configuration recognizer is a Lisp function, constraints on the types of elements and their spatial relations. The Napkin also provides a text and a graphic view to adjust the configuration recognizers.&lt;br /&gt;&lt;br /&gt;The Napkin maintains a list of all known contexts, a 'current context' and a 'current context chain' - the search path for contextual recognition. A context has four components: glyph templates, configuration recognizes, spatial relations, and mappings of glyphs from other contexts. The first recognition attempt is in the current context, but all contexts in the current context chain are consulted. If there are several matches they are returned as a list of alternatives, in the order their contexts appear in the context chain. The Napkin’s initial context is the most general one, which includes only shapes, alphanumeric characters, and lines. context. As soon as the user draws a glyph or makes a configuration that the Napkin can identify as belonging to a more specific context, the Napkin adjusts the current context and the current context chain.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Discussion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The low level recognition is feature-based, while the high-level configurations are defined in the way somewhat like that used in LADDER. The combination of context and recognition of current context is the highlight of this system. The way of resolving ambiguity and imprecision reminds me of Sudoku. Although this system only supports a small number of primitive shapes, the concept of supporting abstraction, ambiguity and imprecision is good.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2903915210379382256-1252585421665798315?l=giftzyx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giftzyx.blogspot.com/feeds/1252585421665798315/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2903915210379382256&amp;postID=1252585421665798315' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/1252585421665798315'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/1252585421665798315'/><link rel='alternate' type='text/html' href='http://giftzyx.blogspot.com/2008/10/ambiguous-intentions-paper-like.html' title='&quot;Ambiguous Intentions: a Paper-like Interface for Creative Design&quot;'/><author><name>Yuxiang</name><uri>http://www.blogger.com/profile/17668942513891765844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_9_PZWgNRx8c/SLdWw6lON2I/AAAAAAAAGpM/hnp7ArI6DF0/S220/figure.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2903915210379382256.post-3610439182230520561</id><published>2008-10-07T00:07:00.003-05:00</published><updated>2008-10-07T05:24:44.859-05:00</updated><title type='text'>"LADDER, a sketching language for user interface developers"</title><content type='html'>&lt;span style="font-style: italic;"&gt;by Tracy Hammond, Randall Davis&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Summary&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Sketch recognition systems can be quite time consuming to build if they are to handle the intricacies of each domain. With LADDER,  a developer need only write a domain description which describes what the domain shapes looklik e, and how they should be displayed and edited after they are recognized. The language consists of predefined shapes, constraints, editing behaviors, and display methods, as well as a syntax for specifying a domain description. LADDER allows the developer to specify both hard and soft constraints. LADDER is the first language that not only can define how shapes are to be recognized, but also can define how shapes are displayed and edited. Trigger and action allows user defined editing.&lt;br /&gt;&lt;br /&gt;(drawn usingDescription limitations: (1) LADDER can only describe shapes with a fixed graphical grammar (drawn with the same graphical components each time). (2) The shapes must be composed solely of the primitive constraints contained in LADDER and using only the constraints available in LADDER. (3) LADDER can only describe domains that have few curves or where the curve details are not important for distinguishing between different shapes. (4) LADDER can only describe shapes that have a lot of regularity and not too much detail.&lt;br /&gt;&lt;br /&gt;Shapes are defined by a list of components, their aliases, constraints that define relationship of the components, editing behaviors (triggers and actions), and display methods (original, clean-up, ideal shape, custom shape). Shapes can be defined hierarchically. Also can extend abstract shape with is-a section (like extends in java). Shape groups (abstract shape groups) can be used by the recognition system to provide top-down recognition, and ‘‘chain reaction’’ editing behaviors.&lt;br /&gt;&lt;br /&gt;The language includes the primitive shapes SHAPE, POINT, PATH, LINE, BEZIERCURVE, CURVE, ARC, ELLIPSE, and SPIRAL, also includes predefined shapes built from these primitives including RECTANGLE, DIAMOND, etc. SHAPE (properties: boundingbox, centerpoint, width, and height) is an abstract shape which all other shapes extend.&lt;br /&gt;&lt;br /&gt;A number of predefined constraints are included in the language, including perpendicular, parallel, collinear, sameSide, oppositeSide, coincident, connected, meet, intersect, tangent, contains, concentric, larger, near, drawOrder, equalLength, equal, lessThan, lessThanEqual, angle, angleDir, acute, obtuse, acuteMeet, and obtuseMeet. constraints that are valid only in a particular orientation, including horizontal, vertical, posSlope, negSlope, leftOf, rightOf, above, below, sameXPos, sameYPos, aboveLeft, aboveRight, belowLeft, belowRight, centeredBelow, centeredAbove, centeredLeft, centeredRight, and angleL. isRotatable implies the shape can be found in any orientation.&lt;br /&gt;&lt;br /&gt;There are predefined editing behaviors like dragInside. The possible editing actions include wait, select, deselect, color, delete, translate, rotate, scale, resize, rubberBand, showHandle, and setCursor. The possible triggers include click, doubleClick, hold, holdDrag, draw, drawOver, scribbleOver, and encircle.&lt;br /&gt;&lt;br /&gt;Key word vector can be used to specify variable number of components, and must specify the minimum and maximum number of components.&lt;br /&gt;&lt;br /&gt;The domain independent modules determine if the stroke can be classified as an ELLIPSE, LINE, CURVE, ARC, POINT, POLYLINE or some combination. Interpretations from low-level recognizers are produced and sent off to the higher level recognizer. In order to ensure that only one interpretation is chosen, each shape has an ID, and each shape keeps a list of its subshapes, including its strokes. At any particular time, each subshape is allowed to belong to only one final recognized domain shape. But if the primitive shape recognizer does not provide the correct interpretation of a stroke, the domain shape recognizer will never be able to correctly recognize a higher level shape using this stroke.&lt;br /&gt;&lt;br /&gt;Domain shape recognition is performed by the Jess rule-based system. To improve efficiency, a greedy algorithm is used that removes subshapes from the rule-based system once a final higher level shape is chosen.&lt;br /&gt;&lt;br /&gt;If an editing gesture such as click-and-hold or double-click occurs, the system checks to see (1) if an editing gesture for that trigger is defined for any shape, and (2) if the mouse is over the shape the gesture is defined for. If so then the drawing gesture is short-circuited and the editing gesture takes over.&lt;br /&gt;&lt;br /&gt;To display a shape’s ideal strokes, the system uses a shape constraint solver (using optimization functions from Mathematica) which takes in a shape description and initial locations for all of the subshapes and outputs the shape with all of the constraints satisfied while moving the points as little as possible.&lt;br /&gt;&lt;br /&gt;Domain shape recognizers, exhibitors, and editors are automatically generated during the translation process.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Discussion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The system is so powerful. The shapes are defined hierarchically, which is just like OO languages. User defined editing behaviors and display modes are also great.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2903915210379382256-3610439182230520561?l=giftzyx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giftzyx.blogspot.com/feeds/3610439182230520561/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2903915210379382256&amp;postID=3610439182230520561' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/3610439182230520561'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/3610439182230520561'/><link rel='alternate' type='text/html' href='http://giftzyx.blogspot.com/2008/10/ladder-sketching-language-for-user.html' title='&quot;LADDER, a sketching language for user interface developers&quot;'/><author><name>Yuxiang</name><uri>http://www.blogger.com/profile/17668942513891765844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_9_PZWgNRx8c/SLdWw6lON2I/AAAAAAAAGpM/hnp7ArI6DF0/S220/figure.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2903915210379382256.post-4838299267533402288</id><published>2008-10-02T16:17:00.004-05:00</published><updated>2008-10-02T17:30:37.057-05:00</updated><title type='text'>"What!?! No Rubine Features?: Using Geometric-based Features to Produce Normalized Confidence Values for Sketch Recognition"</title><content type='html'>&lt;span style="font-style: italic;"&gt;by Brandon Paulson, Pankaj Rajan, Pedro Davalos, Ricardo Gutierrez-Osuna, Tracy Hammond&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Summary&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Gesture-based sketch recognition has the benefit of using mathematically sound classifiers which produce fast classifications along with normalized confidence values, but has the disadvantage of using feature sets which are user-dependent and require individual training by each user to give good recognition results. Geometric-based techniques classifies sketches based on what they really look like, but inferences about generalization are hard to determine because classification is not statistical, and ranking alternative interpretations is difficult. So this paper tries to combine these two approaches.&lt;br /&gt;&lt;br /&gt;31 features used in Paleosketch and 12 features used in Rubine are used in a statistical quadratic classifier shown in the table below. Then it uses a sequential forward selection (SFS) to decide the optimal feature subset. 10 folds of SFS is performed using sketches from 10 groups of randomly chosen half users as training data, and the rest are used for training. This produces 10 groups of optimal subsets. Then additional subsets are picked as those appear 100%, 100%+90%, 100%+90%+80%... in previous 10 subsets. The overall optimal subset contains features that appear at least 50% of the time in multi-fold subset selection process. As a result only one Rubine feature is in the optimal feature subset.&lt;br /&gt;&lt;br /&gt;=========FROM PALEOSKETCH===========&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1. Endpoint to stroke length ratio (100%)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; 2. NDDE (90%) &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; 3. DCR (90%) &lt;/span&gt;&lt;br /&gt;4. Slope of the direction graph (20%)&lt;br /&gt;5. Maximum curvature (40%)&lt;br /&gt;6. Average curvature (30%)&lt;br /&gt;7. # of corners (30%)&lt;br /&gt;8. Line least squares error (0%)&lt;br /&gt;9. Line feature area error (40%)&lt;br /&gt;10. Arc fit: radius estimate (0%)&lt;br /&gt;11. Arc feature area error (20%)&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;12. Curve least squares error (90%)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;13. Polyline fit: # of sub-strokes (70%)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;14. Polyline fit: percent of sub-strokes pass line test (50%)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; 15. Polyline feature area error (80%)&lt;/span&gt;&lt;br /&gt;16. Polyline least squares error (30%)&lt;br /&gt;17. Ellipse fit: major axis length estimate (20%)&lt;br /&gt;18. Ellipse fit: minor axis length estimate (30%)&lt;br /&gt;19. Ellipse feature area error (10%)&lt;br /&gt;20. Circle fit: radius estimate (30%)&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;21. Circle fit: major axis to minor axis ratio (80%)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;  &lt;/span&gt;22. Circle feature area error (0%)&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;23. Spiral fit: avg. radius/bounding box radius ratio (60%)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; 24. Spiral fit: center closeness error (70%)&lt;/span&gt;&lt;br /&gt;25. Spiral fit: max distance between consecutive centers (20%)&lt;br /&gt;26. Spiral fit: average radius estimate (10%)&lt;br /&gt;27. Spiral fit: radius test passed (1.0 or 0.0) (40%)&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;28. Complex fit: # of sub-fits (60%)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;  29. Complex fit: # of non-polyline primitives (50%)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;  30. Complex fit: percent of sub-fits that are lines (90%)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;   31. Complex score / rank (50%)&lt;/span&gt;&lt;br /&gt;=========FROM RUBINE===========&lt;br /&gt;32. Cosine of the starting angle (30%)&lt;br /&gt;33. Sine of the starting angle (10%)&lt;br /&gt;34. Length of bounding box diagonal (20%)&lt;br /&gt;35. Angle of the bounding box diagonal (40%)&lt;br /&gt;36. Distance between endpoints (10%)&lt;br /&gt;37. Cosine of angle between endpoints (0%)&lt;br /&gt;38. Sine of angle between endpoints (10%)&lt;br /&gt;39. Total stroke length (20%)&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;40. Total rotation (100%)&lt;/span&gt;&lt;br /&gt;41. Absolute rotation (10%)&lt;br /&gt;42. Rotation squared (10%)&lt;br /&gt;43. Maximum speed (20%)&lt;br /&gt;44. Total time (30%)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Discussion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This paper shows the way to select features, the experiment method is great. It is kind of like brute force to find the combination that yields highest accuracy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2903915210379382256-4838299267533402288?l=giftzyx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giftzyx.blogspot.com/feeds/4838299267533402288/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2903915210379382256&amp;postID=4838299267533402288' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/4838299267533402288'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/4838299267533402288'/><link rel='alternate' type='text/html' href='http://giftzyx.blogspot.com/2008/10/what-no-rubine-features-using-geometric.html' title='&quot;What!?! No Rubine Features?: Using Geometric-based Features to Produce Normalized Confidence Values for Sketch Recognition&quot;'/><author><name>Yuxiang</name><uri>http://www.blogger.com/profile/17668942513891765844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_9_PZWgNRx8c/SLdWw6lON2I/AAAAAAAAGpM/hnp7ArI6DF0/S220/figure.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2903915210379382256.post-3061500431496215408</id><published>2008-10-01T14:11:00.001-05:00</published><updated>2008-10-02T05:58:39.159-05:00</updated><title type='text'>"Backpropagation Applied to Handwritten Zip Code Recognition"</title><content type='html'>&lt;span style="font-style: italic;"&gt;by Y. LeCun, B. Boser, et al&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Summary&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This paper introduces a neural network based approach of recgnizing handwritten zip codes.&lt;br /&gt;&lt;br /&gt;Training &amp;amp; testing data is collected from a post office in Buffalo, altogether 9298 segmented numerals. 7291 is used for training and the remaining 2007 saved for testing. All the zip codes are preprocessed by seperating digits from their neighbors and then apply linear transformating to convert them into 16x16 pixel images, and the grey levels are scaled -1~1.&lt;br /&gt;&lt;br /&gt;The input of the network is 16x16 images, and the output is 10 units, one per class.  The precise location of a feature is not relevant to the classification, while the approximation location does. In order to detect a particular feature at any location, it uses the same set of weights - "weight sharing". And the neural network is composed of 3 layers:&lt;br /&gt;&lt;br /&gt;H1: 12 feature maps with 8x8 units, each unit takes a 5x5 field from the 16x16 image as input. Units in 1st layer that are one unit part, their receptive fields are 2 pixels apart. Thus the image is undersampled and some position information is eliminated. Connections extending past the boundaries are filled with virtual background plane, whose value is chosen to be -1. It uses the same set of 25 weights on all the 5x5 input fields, but each unit in H1 has its own bias. (19,968 connections &amp;amp; 1068 free parameters)&lt;br /&gt;&lt;br /&gt;H2: 12 feature maps with 4x4 units built on H1 and just like the way H1 is built, except that each unit in H2 combines 8 of the 12 feature maps in H1. The sample fields are also 5x5, and also identical weight vectors and different bias for each unit. (38,592 connections &amp;amp; 2592 free parameters)&lt;br /&gt;&lt;br /&gt;H3: 30 units fully connected to units in H2. (192*30 + 30biases = 5790 connections)&lt;br /&gt;&lt;br /&gt;Output: 10 units fully connected to units in H3, adding another 310 weights.&lt;br /&gt;&lt;br /&gt;The nonlinear function used at each node was a scaled hyperbolic tangent. The target values for the output units were chosen within the quasilinear range of the sigmoid. The weights were initialized with random values ranging between -2.4/Fi and 2.4/Fi, where Fi is the number of inputs.&lt;br /&gt;&lt;br /&gt;The network was trained 23 passes (167,693 pattern presentations) - backpropagation. The accuracy was 0.14% for training data, and 5% for testing data. The percentage of rejection was 12.1% to achieve 1% error rate. Overall, it outperforms previous works in accuracy and speed.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Discussion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To be honest, I know little about neural network. But it seems to be using a bunch of functions to undersample sketches by their features, and train the network to make certain weights bigger, so that the input can follow the path which maximize the weights to get to the corresponding output. However, this may not work equally well in non-digit sketches, and also worth noted is that the system uses images of grey level -1~1, while the sketches we are considering uses binery images most of the time. Anyway, this is a different solution from the ones we've learned so far.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2903915210379382256-3061500431496215408?l=giftzyx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giftzyx.blogspot.com/feeds/3061500431496215408/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2903915210379382256&amp;postID=3061500431496215408' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/3061500431496215408'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/3061500431496215408'/><link rel='alternate' type='text/html' href='http://giftzyx.blogspot.com/2008/10/backpropagation-applied-to-handwritten.html' title='&quot;Backpropagation Applied to Handwritten Zip Code Recognition&quot;'/><author><name>Yuxiang</name><uri>http://www.blogger.com/profile/17668942513891765844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_9_PZWgNRx8c/SLdWw6lON2I/AAAAAAAAGpM/hnp7ArI6DF0/S220/figure.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2903915210379382256.post-3751204246589748598</id><published>2008-10-01T14:10:00.002-05:00</published><updated>2008-10-06T00:34:13.524-05:00</updated><title type='text'>"Constellation Models for Sketch Recognition"</title><content type='html'>&lt;span style="font-style: italic;"&gt;by D. Sharon and M. van de Panne&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Summary&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The authors introduces a vision-based sketch recognition approach. It utilizes the pictorial structure , or constellation, to recognize strokes in sketches of particular classes. The system makes two assumptions: (1) similar parts are drawn with similar strokes, (2) mandatory parts must have exactly one instance in the sketch, optional parts may have multiple instances in the sketch.&lt;br /&gt;&lt;br /&gt;The constellation model consists features of individual object parts as well as features of pairs of parts. Individual features capture shape and global positions, whereas pairwise features (only computed when at least one part is mandatory) summarize relative positions. The sketch recognition process has two phases: (1) search the space of possible mandatory label assignments, (2) search for optional labels for remaining unlabelled strokes. Probability distribution is used.&lt;br /&gt;&lt;br /&gt;The labels are searched by using a brand-and-bound tree for maximum likelihood (ML) searth. Mandatory parts are labelled first. A node in depth i of the tree is extended by evaluating all possible assignments of mandatory label i+1 to unlabelled strokes. To speed up the search, multipass thresholding and hard constraints are introduced. If a node's likelihood, as computed by  its current partial set of label assignments, is lower than a threshold, that search branch is terminated. And hard constraints (e.g. nose should be above mouth) are relationships that must be met for some pairs, since all training examples have meet these relationships bewteen their corresponding parts.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Discussion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This approach recognizes objects based on relative locations of the strokes of sketches. However, the feature vector just uses bounding box of the strokes, which means that on the one hand, as long as the strokes can be fit into corresponding bounding box and maintain the specified relationship, the sketch will be recognized as an object no matter how each stroke is drawn; and on the other hand, even if the sketch looks the same, if each part is not drawn in the specified way (i.e. a nose drawn in one stroke and a nose drawn in 2 strokes are not the same), the whole sketch may not be able to successfully recognized.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2903915210379382256-3751204246589748598?l=giftzyx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giftzyx.blogspot.com/feeds/3751204246589748598/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2903915210379382256&amp;postID=3751204246589748598' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/3751204246589748598'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/3751204246589748598'/><link rel='alternate' type='text/html' href='http://giftzyx.blogspot.com/2008/10/constellation-models-for-sketch_01.html' title='&quot;Constellation Models for Sketch Recognition&quot;'/><author><name>Yuxiang</name><uri>http://www.blogger.com/profile/17668942513891765844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_9_PZWgNRx8c/SLdWw6lON2I/AAAAAAAAGpM/hnp7ArI6DF0/S220/figure.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2903915210379382256.post-6250394986667537072</id><published>2008-10-01T14:09:00.002-05:00</published><updated>2008-10-07T02:54:03.861-05:00</updated><title type='text'>"Envisioning Sketch Recognition: A Local Feature Based Approach to Recognizing Informal Sketches"</title><content type='html'>&lt;span style="font-style: italic;"&gt;by Michael Oltmans&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Summary&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Chapter1 Introduction&lt;br /&gt;&lt;br /&gt;The approach is based on a representation of a sketched shape in terms of the visual parts it is made of. It is developed to recognize shapes in free sketching, which is different from sketches with feedback. When the goal is to jot something down quickly or explore early design possibilities, a less intrusive style of interaction is preferable. Feedback allows the user to repair recognition errors early on, touch up strokes are cleaned up before next shape is drawn, and feedback can teach the user what the recognition system is capable of recognizing, but freely drawn sketches don't have these features.&lt;br /&gt;&lt;br /&gt;The principal challenges are:&lt;br /&gt;(1) Shapes vary on both a signal and a conceptual level. (noises and conceptual variation, same thing drawn differently)&lt;br /&gt;(2) Users draw strokes that overtrace previous strokes, and that may not be necessary to depict the shape being drawn. (doesn't change appearance, so visual approach is well suited)&lt;br /&gt;(3) Segmenting strokes into groups corresponding to individual shapes is a complex task. (grouping according to the order they were drawn is not sufficient)&lt;br /&gt;&lt;br /&gt;Chapter2 Representation of Visual Parts&lt;br /&gt;&lt;br /&gt;The part-based representation is used to train a classifier to distinguish between shapes based on their parts. A visual part is an abstraction of the appearance of a region of the shape. It represents the appearance of a region of the shape (e.g. the top right hand corner of a rectangle). Each visual part is a circular region (bullseye) that is subdivided into rings and wedges, like a dartboard. The rings are spaced so that they are separated equally in log-space. They are spaced like this so that the inner bins are smaller and represent more detailed information about the appearance, while the outer bins contain more general information. A shape context is calculated&lt;br /&gt;every 5 pixels along the the strokes in the shape.&lt;br /&gt;&lt;br /&gt;The histogram boundaries are rotated relative to the interest point's orientation to make it rotationally invariant;the bins are rotated by an additional half bin width to prevent the stroke from lying along the boundary. So the bullseyes are rotationally invariant. The stroke direction relative to the orientation of the bullseye feature (calculating the tangent over a window of 19 points, four orientations: 0-45, 45-90, 90-135, 135-180) is added as a third dimension of the histogram,  providing a count of how many points fall into each spatial bin at each direction (a single bin can distinguish between vertical and horizontal line).&lt;br /&gt;&lt;br /&gt;Stroke preprocessing: first scale the shape so that the maximum distance between any two points in the shape is 75 pixels. Then resample the points along the strokes to have an approximately constant separation along the stroke. And interpolate additional points so that no two consecutive points have a distance greater than 1 pixel.&lt;br /&gt;&lt;br /&gt;The distance between two bullseyes is calculated by comparing their vectors of bin counts: delta(p,q) = sigma(square(pi-qi)/(pi+qi)). Since the outer bins are less important and they usually contain more points, normalize the total weight of the histogram to be 1 to avoid differences arising from the total number of points in a region.&lt;br /&gt;&lt;br /&gt;Chapter3 Representation of Shapes&lt;br /&gt;&lt;br /&gt;Codebook: calculate the collection of bullseye parts for each shape in our training set, then cluster them into groups of similar parts, and use a representative from each cluster center as one of the codebook entries. Use a quality threshold (QT) clusterer, which forms clusters such that the distance between any two members of a clusterer is under a threshold. To improve&lt;br /&gt;eciency, instead of trying each point as a cluster seed, the authors randomly selected 20 points as seeds and choose the largest cluster formed from those 20 seeds. Randomly select 1000 bullseye parts from the training set instead of using all of the calculated parts. The clustering is terminated after finding the 200 largest clusters.&lt;br /&gt;&lt;br /&gt;To recognize a sketched shape, it is represented based on the parts it contains and then train a classifier to distinguish shapes based on those parts. First calculate the visual parts at a sampling of locations that cover the sketched symbol. Typically, 50 parts are calculated for a shape. In the next step, represent the sketched symbol in terms of the standard vocabulary of parts (codebook), compare each part in the codebook to each of the parts calculated from the sketched symbol, a distance matrix is got. Then a match vector is calculated by finding the minimum distance in each row of the matrix (match value: small match value means a codebook part presents in the input shape). Using the match vector representation, a classifier is trained to learn the differences between shape classes and to learn the allowable variations within a shape class.&lt;br /&gt;&lt;br /&gt;The visual parts insulate the shape descriptions from the signal noise: bin (fuzzy), the way that are used to describe a shape (distance measure, low if similar, not exactly the same).&lt;br /&gt;&lt;br /&gt;Chapter4 Recognition&lt;br /&gt;&lt;br /&gt;With a representation of fixed cardinality and ordering corresponding to the codebook entries we can train a support vector machine (SVM) to learn a decision boundary that separates typical match vectors of one shape class from those from another shape class. To assign each input shape a single label from the set of possible shape classes, a one-vs-one strategy is used. This is implemented by training one classifier to distinguish between each pair of shape classes. This results in n(n-1)/2 binary classiers for n shape classes. For one input shape, the result from&lt;br /&gt;each classifier is counted as a vote for the class it predicted. Assgin the class which received the most votes to the shape.&lt;br /&gt;&lt;br /&gt;Shape localization involved sevel steps: selecting candidate regions, classifying the candidate regions, and combining the classified regions to form the final predictions. Candidate regions are selected by scanning a rectangular window over the input sketch every 10 pixels along the stroke with several different sized windows. The classifier is trained on an additional WIRE class to identify wire segments. The candidate finder generates many overlapping candidates so each shape in the image is partially contained in many candidate regions. The algorithm for combining the initial set of candidates into a nal set of predictions has two steps that are repeated for each shape class: (1) forming initial clusters of candidates and (2) splitting clusters that are too large into multiple predictions. To make a nal set of predictions we follow a greedy strategy based&lt;br /&gt;on the total weight of each cluster. The weight of each cluster is determined by EM (expectation maximization), by combining the weights of the individual candidates in the cluster. Highly weighted clusters are generally tightly-grouped and have many high scoring candidates. As a result clusters with high weights are generally correct whereas clusters with low weights are less likely to be correct.&lt;br /&gt;&lt;br /&gt;Chapter5 Evaluation&lt;br /&gt;&lt;br /&gt;The isolated shape recognizer and the full sketch processor are evaluated separately. Analog circuit drawings report a recognition rate of 89.5%. HHreco data set that contains PowerPoint style shapes produced a recognition rate of 94.4%. One of the limitations is that it has difficulty identifying shapes that contain the same low level features in different combinations. The full sketch processor correctly identified 92.3% of the regions.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Discussion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This paper uses a vision-based approach, which successfully tackles the noises and conceptual variance of shapes appear in free sketching. And the full sketch processor which identifies locations and scales of components in sketch also has quite high accuracy. But the fuzzying also makes it unable to distinguish between shapes with the same set of parts that are differently connected. Also, this is an instance-based regcognizer, the input must be compared with all templates. So it slows quickly when new classes are added. And each time a new class is added, all the classifiers must be retrained. For sketches not like analog circuits where small components connected by wires, this recognizer may not work well (for example, a sketch with a circle in a rectangle).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2903915210379382256-6250394986667537072?l=giftzyx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giftzyx.blogspot.com/feeds/6250394986667537072/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2903915210379382256&amp;postID=6250394986667537072' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/6250394986667537072'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/6250394986667537072'/><link rel='alternate' type='text/html' href='http://giftzyx.blogspot.com/2008/10/envisioning-sketch-recognition-local.html' title='&quot;Envisioning Sketch Recognition: A Local Feature Based Approach to Recognizing Informal Sketches&quot;'/><author><name>Yuxiang</name><uri>http://www.blogger.com/profile/17668942513891765844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_9_PZWgNRx8c/SLdWw6lON2I/AAAAAAAAGpM/hnp7ArI6DF0/S220/figure.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2903915210379382256.post-2106517418046461332</id><published>2008-10-01T14:08:00.008-05:00</published><updated>2008-10-05T02:48:48.172-05:00</updated><title type='text'>"A Domain-Independent System for Sketch Recognition"</title><content type='html'>&lt;span style="font-style: italic;"&gt;by Bo Yu, Shijie Cai&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Summary&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This paper utilizes low-level geometric features to handle smooth curves and hybrid shapes as well as poloylines. Previous sketch recognition systems mainly have these deficiencies: (1) strict restrictions on the drawing manner, (2) lack ability to analyze hybrid or smooth curves and decompose them into primitive shapes.&lt;br /&gt;&lt;br /&gt;Their system is diveded into two stages: imprecise stroke approximation and post-process. Approximation classifies the strokes into lines, arcs, circles, ellipses and helixes and a combination of these primitive shapes. While post-process is applied after the user finishes drawing.&lt;br /&gt;&lt;br /&gt;Imprecise stroke approximation phase uses a top-down approach. A stroke is segmented at the highest curvature point into 2 parts, then do feature-area verification with respect to primitive shapes on each segment to decide if it can be classified as one of those shapes, if approximation fails, the segment is recursively decomposes at the point with the next highest curvature. Curvature is defined as the sum of change in direction from Pn-k to Pn+k divided by path distance between Pn-k and Pn+k, where k is set to 2.&lt;br /&gt;&lt;br /&gt;If the direction graph fits a horizontal line and number of deviation point to the least-square best fit line of the direction graph or the actual coordinate of the stroke falls below a loose threshold, then it could be a line. If the feature-area / candidate line's standard area is less than a strict threshold 1, then it's immediately approximated to be a line segment, otherwise, the decision is delayed till after the arc recognition. Circles are arcs with direction change of 2Pi. If the direction change of the stroke is greater than 2Pi, it's segmented into parts with direction change of 2Pi, and decide whether it's overtraced circle or helix (descending or ascending radii). To deal with self-intersection strokes, two copies of stroke is made, one segmented using the original procedure (at high curvature points), the other segmented at self-intersection points to see which gives better result. ((1) simpler is better: fewer parts of primitive shapes, (2) specifier is better: circles, ellipses, helixes are better than lines and arcs)&lt;br /&gt;&lt;br /&gt;Post-process does simple relation retrieval (parallelism, perpendicularity, etc.), cleanup (tails removal, merge primitive elements), and basic object recognition (boundaries, rectangles, triangles, arrows, dash lines, etc.)&lt;br /&gt;&lt;br /&gt;The overall accuracy is 98%, while accuray for arcs alone is 94%. Hybrid shape of arcs connected to lines gives only 70% accuracy because of low curvature at smooth connecting points.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Discussion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The top-down approach tackles the problem of noises in curvature and direction graph. And the rules used in cleanup phase is quite useful, 60%-80% meaningless elements are removed while meaningful parts are preserved. For the self-intersection part, would a spiral be interpreted into circles attached to arcs and lins? I think this may change the topological relation and the meaning of the sketch.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2903915210379382256-2106517418046461332?l=giftzyx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giftzyx.blogspot.com/feeds/2106517418046461332/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2903915210379382256&amp;postID=2106517418046461332' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/2106517418046461332'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/2106517418046461332'/><link rel='alternate' type='text/html' href='http://giftzyx.blogspot.com/2008/10/constellation-models-for-sketch.html' title='&quot;A Domain-Independent System for Sketch Recognition&quot;'/><author><name>Yuxiang</name><uri>http://www.blogger.com/profile/17668942513891765844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_9_PZWgNRx8c/SLdWw6lON2I/AAAAAAAAGpM/hnp7ArI6DF0/S220/figure.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2903915210379382256.post-6427104400063197166</id><published>2008-10-01T14:08:00.004-05:00</published><updated>2008-10-02T19:14:15.233-05:00</updated><title type='text'>"GLADDER: Combining Gesture and Geometric Sketch Recognition"</title><content type='html'>&lt;span style="font-style: italic;"&gt;by Paul Corey and Tracy Hammond&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Summary&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This paper discusses an approach to combine Rubine features with the geometric classifier of LADDER.&lt;br /&gt;&lt;br /&gt;Modified Rubine Recognizer: In addition to average feature vectors, class specific covariance matrices are maintained for each class. Input strokes are assigned to a specific class based on computation of Mahalanobis distances.&lt;br /&gt;&lt;br /&gt;LADDER Recognizer: Primitives are recognized by low-level shape tests, and are orders based on the hierarchical classifier. Top three are chosen as possible interpretation, and less complex interpretations are put before more complex ones.&lt;br /&gt;&lt;br /&gt;Combination: The minimal Mahalanobis distance of a stroke to any Rubine class is computed, if it exceed a threshold of 35, then it's likely to be a LADDER primitive (average Mahalanobis distance 100), rather than one of the Rubine glyphs (average Mahalanobis distance 24). If it is below the threshold, then Rubine interpretation is put in top of the fit list, otherwise, Rubine interpretation is put at the bottom. Context can later be used to rectify an incorrect ordering of fits.&lt;br /&gt;&lt;br /&gt;The accuracies are: Modified Rubine 61.9%, LADDER 75.2%, Integrated 79.9%. Some errors are due to overlaping of classes between Rubin and LADDER (zero and circle). And they also suggests in future work that a tiered thresholding system can be used to put Rubine glyphs after less complex primitives and before complex primitives of LADDER interpretations.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Discussion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The combination approach partly solved the problem of the mix of characters and shapes in a sketch. It's a step forward the "free" or "natural" sketch recognition. The tiered thresholding system may be implemented by dividing LADDER primitives and Rubine classes into groups, whose average Mahalanobis distance are quite different, but the deviation of each class within the group is small.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2903915210379382256-6427104400063197166?l=giftzyx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giftzyx.blogspot.com/feeds/6427104400063197166/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2903915210379382256&amp;postID=6427104400063197166' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/6427104400063197166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/6427104400063197166'/><link rel='alternate' type='text/html' href='http://giftzyx.blogspot.com/2008/10/gladder-combining-gesture-and-geometric.html' title='&quot;GLADDER: Combining Gesture and Geometric Sketch Recognition&quot;'/><author><name>Yuxiang</name><uri>http://www.blogger.com/profile/17668942513891765844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_9_PZWgNRx8c/SLdWw6lON2I/AAAAAAAAGpM/hnp7ArI6DF0/S220/figure.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2903915210379382256.post-9081619223192247733</id><published>2008-09-23T05:32:00.003-05:00</published><updated>2008-10-04T06:39:21.530-05:00</updated><title type='text'>"A Curvature Estimation For Pen Input Segmentation in Sketch-based Modeling"</title><content type='html'>&lt;span style="font-style: italic;"&gt;by Dae Hyun Kim, Myoung-Jun Kim&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Summary&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This paper discusses the use of curvature to identify segmenting points in strokes. Strokes are first resampled to equally distanced points. So that the curvature at Ci with support k (support is a set of adjacent points used for the curvature estimation) can be computed by adding all directions within the range Di-k to Di+k (Di is the angle between Pi-1Pi and PiPi+1).&lt;br /&gt;&lt;br /&gt;Then they define the local convexity: extend the support the each side of Pi with the current point Pj only if it's locally convex with respect to Pi (have the same sign of direction). But using local convexity alone sometimes indistinguishes actual segmenting point, so local monotonicity is introduced: extend the support only if the absolute direction monotonically decreases. The advantages of this method are that (1) there's no complex computation, and (2) it's invariant under the rotation and reordering of pen markings (produces the same result.)&lt;br /&gt;&lt;br /&gt;The segmenting points are the points with local maximum absolute curvature. Experiments show a 95% accuracy (correctly found points / actual segmenting points). Also, speed information can be added to aid segmenting point detection, and adjacent points with high curvature are merged to return only one as the segmenting point.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Discussion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This paper actually uses the geometric feature of curve to dynamically adjust the window size (support) of points used to measure the curvature. This is after the wiggy edges are smoothed by resampling. So the resampling distance should be carefully chosen to both keep curvature information and smooth out the noises.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2903915210379382256-9081619223192247733?l=giftzyx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giftzyx.blogspot.com/feeds/9081619223192247733/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2903915210379382256&amp;postID=9081619223192247733' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/9081619223192247733'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/9081619223192247733'/><link rel='alternate' type='text/html' href='http://giftzyx.blogspot.com/2008/09/curvature-estimation-for-pen-input.html' title='&quot;A Curvature Estimation For Pen Input Segmentation in Sketch-based Modeling&quot;'/><author><name>Yuxiang</name><uri>http://www.blogger.com/profile/17668942513891765844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_9_PZWgNRx8c/SLdWw6lON2I/AAAAAAAAGpM/hnp7ArI6DF0/S220/figure.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2903915210379382256.post-5518016906076852252</id><published>2008-09-23T04:37:00.004-05:00</published><updated>2008-09-25T09:00:13.854-05:00</updated><title type='text'>"Eliminating False Positives During Corner Finding by Merging Similar Segments"</title><content type='html'>&lt;span style="font-style: italic;"&gt;by Aaron Wolin, Brandon Paulson, Tracy Hammond&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Summary&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This paper introduces MergeCF, which utilizes stroke's curvature and drawing speed to find corners in sketches. Then false positive corners are removed and segments that are alike are merged.&lt;br /&gt;&lt;br /&gt;Distances: Chord distance (euclidean distance) and path length.&lt;br /&gt;Speed: Speed at Pi is path length / duration for the neighborhood Pi-1 to Pi+1.&lt;br /&gt;&lt;br /&gt;Initial fit: Corners are points with high curvature and low speed. Also check corners that are close together and remove those with smallest curvature.&lt;br /&gt;&lt;br /&gt;Merging segments:  Corners surrounding the smallest stroke segments are likely to be false&lt;br /&gt;positives. Find the smallest segment, than combine it with one of its neighbors that yields smaller primitive fit error. No merging is performed if the error after merging is much higher than the sum of original errors of the two segments.&lt;br /&gt;&lt;br /&gt;Experiment using polylines and complex shapes shows that Merge outperforms Sezgin and Kim on both "correct corner found" accuracy (0.971 vs 0.822 &amp;amp; 0.783) and all-or-nothing accuracy (0.667 vs 0.298 &amp;amp; 0.194).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Discussion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This algorithm first find as many potential corners as possible and then eliminate false positives. The important part is how to define the threshold for "small segment" and "not much higher error".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2903915210379382256-5518016906076852252?l=giftzyx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giftzyx.blogspot.com/feeds/5518016906076852252/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2903915210379382256&amp;postID=5518016906076852252' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/5518016906076852252'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/5518016906076852252'/><link rel='alternate' type='text/html' href='http://giftzyx.blogspot.com/2008/09/eliminating-false-positives-during.html' title='&quot;Eliminating False Positives During Corner Finding by Merging Similar Segments&quot;'/><author><name>Yuxiang</name><uri>http://www.blogger.com/profile/17668942513891765844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_9_PZWgNRx8c/SLdWw6lON2I/AAAAAAAAGpM/hnp7ArI6DF0/S220/figure.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2903915210379382256.post-4015499085012377891</id><published>2008-09-22T01:12:00.005-05:00</published><updated>2008-09-22T14:59:58.005-05:00</updated><title type='text'>"PaleoSketch: Accurate Primitive Sketch Recognition and Beautification"</title><content type='html'>&lt;span style="font-style: italic;"&gt;by Brandon Paulson, Tracy Hammond&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Summary&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In addition to placing few drawing constraints on users, the recognizer introduced in this paper is also able to return multiple interpretations as well as support more primitive shapes (line, circle, ellipse, arc, curve, spiral, helix). The recogizer in this paper is geometric-based. Strokes are pre-recognized before going on to low-level shape recognizers, beautification and the subsequent hierarchy.&lt;br /&gt;&lt;br /&gt;Pre-recognition begins with removing consecutive points with duplicate position or time. Then the direction graph, speed graph, and curvature graph are computed. And corners are found by 1) going through points on the sketch and find all points before the points that fail line test, 2) merging corners that fall within a neighborhood with their average index, and 3) replacing non-end corners with the points that hasve the highest curvature in their neighborhood. In addition, two new features are introduced: normalized distance between direction extremes (NDDE = stroke length between point with highest direction and point with lowest direction / total stroke length), and direction change ratio (DCR = maximum change in direction / average change in direction). Curves typically have high NDDE and low DCR while polylines have low NDDE and high DCR. For long and many-points strokes, if the highest curvature within first and last 20% of the stroke, then tail removal is performed. Then overtracing and closure is tested.&lt;br /&gt;&lt;br /&gt;Then low-level shape tests (line, polyline, ellipse, circle, arc, curve, spiral, helix, and complex test) are performed by computing various features of the stroke, comparing feature values with the thresholds and calculating errors. Of them, complex test is the default test that recursively divide the substroke into two parts at the highest curvature point and send back into the recognizer until all non-polyline primitives are got. Beautified shapes are returned after tests.&lt;br /&gt;&lt;br /&gt;Hierarchy uses a ranking algorithm to find the best fit among multiple interpretations. Assgin scores to shapes: line = 1, arc = 3, curve = 5, circle = 5, ellipse = 5, helix = 5, spiral = 5, and sum all the scores of the substrokes. The interpretations are ranked by the total score, interpretation with lower score has higher ranking. Lastly, tails are removed, and the substrokes at both ends will be removed or adjusted accordingly.&lt;br /&gt;&lt;br /&gt;Results show that its accuracy is as high as 99.89%, and 98.56% of the correct interpretation is the top interpretation. Most of the misclassified strokes would actually also be misclassified by human recognizer. And this low-level recognizer is integrated into a high-level system - LADDER.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Discussion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In terms of recogition accuracy, this recognizer is amazing, and it supports a handful of primitive shapes, which enables it to recognize quite complex sketches. Tons of thresholds are defined to distinguish minute differences between shapes. And NDDE and DCR are really useful features. The ideas of "continuation strokes" and "invisible corners" seems promising, for rounded rectangle or polygon, the edges can be moved to pass the centroid of the relevant substroke and parallel to the originally recognized edge.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2903915210379382256-4015499085012377891?l=giftzyx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giftzyx.blogspot.com/feeds/4015499085012377891/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2903915210379382256&amp;postID=4015499085012377891' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/4015499085012377891'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/4015499085012377891'/><link rel='alternate' type='text/html' href='http://giftzyx.blogspot.com/2008/09/paleosketch-accurate-primitive-sketch.html' title='&quot;PaleoSketch: Accurate Primitive Sketch Recognition and Beautification&quot;'/><author><name>Yuxiang</name><uri>http://www.blogger.com/profile/17668942513891765844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_9_PZWgNRx8c/SLdWw6lON2I/AAAAAAAAGpM/hnp7ArI6DF0/S220/figure.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2903915210379382256.post-2885266609535727084</id><published>2008-09-21T02:13:00.010-05:00</published><updated>2008-09-21T15:20:20.094-05:00</updated><title type='text'>"Sketch Based Interfaces: Early Processing for Sketch Understanding"</title><content type='html'>&lt;span style="font-style: italic;"&gt;by T. M. Sezgin, T. Stahovich, R. Davis&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Summary&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The authors is trying to provide a system where users can sketch naturally and have the their sketches understood, with no constraints on how things are drawn.&lt;br /&gt;&lt;br /&gt;Early processing in the sytem consists of three phases: approximation, beautification, and basic recognition. Approximation finds the representative points of strokes in the sketch. Beautification modifies the points found in approximation phase to make the output nicer and more meaningful (show parallelism,  perpendicularity, etc.) Basic recognition tries to interprete strokes into objects (rectangles, circles, etc.) And this paper focuses mainly on the approximation approaches. Stroke approximation is divided into vertex detection and curves handling.&lt;br /&gt;&lt;br /&gt;The authors do vertex detection by combining the information in curvature and speed, since vertexes usually have high curvature and low drawing speed. Fd is the set of all points with local maximum curvatures above average curvature, while Fs is the set of all points with local minimum speed below 90% average speed. Using speed data alone misses short lines that are not drawn fast enough, and using curvature data alone produces many false positive point due to hand dynamics during freehand sketching. So the idea is to combine them. Three stages in generating hybrid fits:&lt;br /&gt;&lt;br /&gt;1) Computing vertex certainties: (a) certainty for curvature canditate Vi is |Di-k - Di+k| / L, where Di is curvature at Vi, k is neighborhood size (not specified), L is path distance of substroke from Vi-k to Vi+k. (b) certainty for speed candidate Vi is 1 - vi/vmax.&lt;br /&gt;&lt;br /&gt;2) Generating a set of hybrid fits: H0 is the intersection of Fd and Fs. In succession iterations, Hi' = Hi + Vs (Vs is the best remaining speed fit candidate), Hi" = Hi + Vd (Vd is the best remaining curvature fit candidate.) Goodness metric: least squares error (average of the sum of the squares of the distances to the fit from each point in the stroke S.) Ei = 1/|S| sigma ODSQ(s, Hi). Here |S| is the stroke length, and ODSQ stands for orthogonal distance squared, i.e. the square of the distance from the stroke point to the relevant line segment of the polyline difined by Hi. Compare the errors for Hi' and Hi", the one with smaller error become Hi+1. Repeat until all points in Fd and Fs have been used.&lt;br /&gt;&lt;br /&gt;3) Selecting the best fit: set an error upper bound  (not specified) and designate as final fit Hf, the Hi with the fewest vertices that also has an error below the threshold.&lt;br /&gt;&lt;br /&gt;The second phase in approximation is curves handling. Define L1 as the euclidean distance between a pair of consecutive vertices found in vertex detection phase, and L2 be the path length of the sketch between these two points. The ratio of L2/L1 is significantly higher than 1 in curved regions of the sketch. Approximate the curved regions with Bezier curves: end points are consecutive vertices u = Si, v = Sj, and control points are c1 = KT1 + v, c2 = KT2 + u, where K = 1/3*sigma|Sk - Sk+1| where k from i to j (K = 1/3 path length of curve segment), and T1, T2 are unit length tangent vectors pointing inwards at the curve segment. The curve is subdivided in the middle if error of Bezier approximation is higher than a threshold (not specified), until the desired precision is achieved.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Discussion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The idea of using speed to find candidate verticies had already been stated in &lt;a href="http://giftzyx.blogspot.com/2008/09/graphical-input-through-machine.html"&gt;Herot's paper&lt;/a&gt; over 2 decades before this paper was written, and on this point, the recognition may rely partly on how the users draw, for example, some may draw very carefully with even speed. The method of choosing verticies by their certainty scores and least squares errors is the great part of this paper, though many threshold values are left unspecified (I guess some of these thresholds should vary according to the sketch it is dealing with.)&lt;br /&gt;&lt;br /&gt;The accuracy of object recognition is as high as 96%, but this doesn't mean the approximation has equally high accuracy, for 96% might as well be attributed to the effect of beautification and the primitives in the system, for example, even the sketch is not properly approximated, the object recognizer may still correctly classify the sketch as rectangle, circle or spring, since it's easy to tell these objects apart.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2903915210379382256-2885266609535727084?l=giftzyx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giftzyx.blogspot.com/feeds/2885266609535727084/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2903915210379382256&amp;postID=2885266609535727084' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/2885266609535727084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/2885266609535727084'/><link rel='alternate' type='text/html' href='http://giftzyx.blogspot.com/2008/09/sketch-based-interfaces-early.html' title='&quot;Sketch Based Interfaces: Early Processing for Sketch Understanding&quot;'/><author><name>Yuxiang</name><uri>http://www.blogger.com/profile/17668942513891765844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_9_PZWgNRx8c/SLdWw6lON2I/AAAAAAAAGpM/hnp7ArI6DF0/S220/figure.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2903915210379382256.post-7351826870312022486</id><published>2008-09-20T04:12:00.004-05:00</published><updated>2008-09-20T06:24:37.635-05:00</updated><title type='text'>"Algorithms for the Reduction of the Number of Points Required to Represent a Digitized Line Or Its Caricature"</title><content type='html'>&lt;span class="Apple-style-span" style="font-style: italic;"&gt;by Davis H Douglas and Thomas K Peucker&lt;/span&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Summary&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Finding representative points of lines helps to reduce the storage space needed and computational time of other computings which is proportional to the number of points in a caricature. One way to do this is by training computers with human decitions, but there are too many possible ways to represent a single class of feature. Another way is to approximate the points along a line with mathematical functions (ends of segments are averages of fixed number of points along the line), this misses important information in high curvature parts, while keeping too much information in the smoother part. Some algorithms focus on which points to be deleted (points closer than a threshold to neighbors are dropped, dropping points if line direction doesn't change much, deleting all but every Nth point), while others focus on which to be maintaained. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The method provided by A.E.G which was discribed by T. Lang in 1969 is similar to the algorithm created by the authors. But the result is unsatisfying where sharp angles are numerous. This algorithm concentrates on selecting points.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;An intuitive way to decide whether a series of points form a line is to find the furthest point from the line segments between end points, see whether the distance from the furthest point to the line connecting end points exceeds some threshold. The authors used 2 methods:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Method 1: 1) assign start point of curve as "anchor", the last point as "floater". 2) find the point with greatest perpendicular distance to the line segment between anchor and floater, assgin it to floater, repeat this step until furthest distance satisfy threshold. 3) move anchor to floater and assign the last point as floater, iterate from step 2.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Method 2: same as method 1, except keeping floaters of each iteration in a stack. The next iteration only chooses floaters from the stack built in the previous iteration. This method saves time by avoiding re-examining points.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For Lang's algorithm, it does line test on points in the order of (1, 2, 3), (1, 2, 4), (1, 3, 4), (1, 2, 5)...anchor moves to the point before the first point that does not allow all intervening points to satisfy the tolerance. Two modificiaitons on this algorithm is given by the authors. Modification 1 has the anchor move to the furthest point from the segment instead of the point before the floater. Modification 2 avoiding unnecessary repeated calculations of distance by testing if the accumulated total (sigma(Distance(Pn, P0Pn+1))) is greater than the tolerance.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Comparison on AEG (Lang's algorithm), AEG+Mod1, AEG+Mod2, AEG+Mod1+Mod2, Method1, Method2 shows that Method2 outperforms the other algorithms.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Discussion&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This algorithm is like recursively doing line tests on the curve. But in terms of "corner" finding, it gives much more points that are just not in a line but are not corners, for example, points on a smooth arc, points in middle of the bottom line in "|__|".&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2903915210379382256-7351826870312022486?l=giftzyx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giftzyx.blogspot.com/feeds/7351826870312022486/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2903915210379382256&amp;postID=7351826870312022486' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/7351826870312022486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/7351826870312022486'/><link rel='alternate' type='text/html' href='http://giftzyx.blogspot.com/2008/09/algorithms-for-reduction-of-number-of.html' title='&quot;Algorithms for the Reduction of the Number of Points Required to Represent a Digitized Line Or Its Caricature&quot;'/><author><name>Yuxiang</name><uri>http://www.blogger.com/profile/17668942513891765844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_9_PZWgNRx8c/SLdWw6lON2I/AAAAAAAAGpM/hnp7ArI6DF0/S220/figure.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2903915210379382256.post-8435699628869878832</id><published>2008-09-15T20:35:00.003-05:00</published><updated>2008-09-16T01:36:25.144-05:00</updated><title type='text'>"Short Straw: A Simple and Effective Corner Finder for Polylines"</title><content type='html'>&lt;span style="font-style: italic;"&gt;by Aaron Wolin, Tracy Hammond&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Summary&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Corner finding is the technique that involves splitting up a stroke into primatives, such as lines and arcs. ShortStraw is a simple and effective algorithm for corner finding.&lt;br /&gt;&lt;br /&gt;Sezgin et al. use a stroke's curvature and pen speed to determine stroke corners. Kim and Kim use local convexity and local monoticity and also use resampling in their algorithm. These algorithms are complex, while ShortStraw is simple and highly accurate.&lt;br /&gt;&lt;br /&gt;Implementation of ShortStraw:&lt;br /&gt;Step 1, resample points of a stroke to be evenly spaced apart, so that the path distances between adjacent points are equal. The interspacing distance is bounding box diagonal / 40 (where 40 is a constant number carefully chosen.)&lt;br /&gt;&lt;br /&gt;Setp 2, bottom-up corner finding: Corners are points with local minimum straw below a threshold of median straw * 0.95. (window size of plus/minus 3 is chosen here)&lt;br /&gt;&lt;br /&gt;Step 3, top-down corner checking to remove false positives and add false negatives. (1) do line tests between adjacent corners found by step 2, if Dist(a, b) / Path-Dist(a, b) &lt; 0.95, then there are missing corners in the halfway, relax threshold and add the point with local minimum straw to corner set, repeat untill all the stroke segments between corners pass line test. (2) if a subset of triplet passes line test, then the middle corner is removed.  Corners returned are from the resampled points. Or it can be the nearest original point to that corner. &lt;br /&gt;&lt;br /&gt;Results show that ShortStraw has much higher all-or-nothing accurracy (calculated by taking the number of correctly segmented strokes divided by the total number of strokes) of 0.74 compared with less than 0.3 using Sezgin and Kims' algorithms. And the number of false negatives with ShortStraw is 1/10 the number with Sezgin and Kim. The missed corners at obtuse angles can possibly be fixed by utilizing a varied windowor straw length for each point, but this may sacrifice algorithm simplicity.&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;Discussion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This is a quite straightforward algorithm, and the accuracy is high. The top-down checking phase further increases accuracy. I think maybe context information can be included in the future, for example, human viewers will think some point as a corner even if it looks more like an arc than some line segments meet at corners.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=_w6XdBFs_P8"&gt;Algorithm Video&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2903915210379382256-8435699628869878832?l=giftzyx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giftzyx.blogspot.com/feeds/8435699628869878832/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2903915210379382256&amp;postID=8435699628869878832' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/8435699628869878832'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/8435699628869878832'/><link rel='alternate' type='text/html' href='http://giftzyx.blogspot.com/2008/09/short-straw-simple-and-effective-corner.html' title='&quot;Short Straw: A Simple and Effective Corner Finder for Polylines&quot;'/><author><name>Yuxiang</name><uri>http://www.blogger.com/profile/17668942513891765844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_9_PZWgNRx8c/SLdWw6lON2I/AAAAAAAAGpM/hnp7ArI6DF0/S220/figure.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2903915210379382256.post-3710338593547275871</id><published>2008-09-15T06:05:00.003-05:00</published><updated>2008-09-15T06:51:16.701-05:00</updated><title type='text'>"Prototype Pruning by Feature Extraction for Handwritten Mathematical Symbol Recognition"</title><content type='html'>&lt;span style="font-style: italic;"&gt;by Stephen M. Watt, Xiaofang Xie&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Summary&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Mathematical handwriting differs from other forms of handwriting: the set of possible input symbols is very extensive, (2) the spatial relation among symbols can use complex context-sensitive two dimensional rules, (3) can involve large operators such as matrix brackets, fraction bars or square roots. This paper presents approaches to recognize a large set of mathematical symbols.&lt;br /&gt;&lt;br /&gt;Pruning prototypes is an intuitive way to break a large vocabulary into several smaller groups. For an unknown symbol, find the small group to which it belongs, then try to match the symbol in the group. During prototype pruning, the mathematical symbols are grouped according to some features. Then comparison during recognition is performed on groups instead of the whole set of symbols.&lt;br /&gt;&lt;br /&gt;Data is gathered by using questionnaire, and about 50 people's handwritten is put into the database. Several pre-processing operations were performed, including selectively chopping the head and the tail of strokes, re-sampling, smoothing and size normalization.&lt;br /&gt;&lt;br /&gt;Then some features are introduced:&lt;br /&gt;&lt;br /&gt;Geometric Features:&lt;br /&gt;(1) Number of Loops: by finding number of minimum distance pairs - sweep a line parallel to the line between "begin" and "end" (a pair of points within a certain distance threshold on a stroke) in the direction that shortens distanse between the two neighboring intersections with the stroke to find either to be locally connected or a minimus distance pair.&lt;br /&gt;(2) Number of Intersections: using modified sweepline algorithm - on finding an intersection, delete the two line segments associated with the intersection, and insert two line segments that begin from intersection and end with their old ending points.&lt;br /&gt;(3) Number of Cusps: cusp is formed by a series of five points p0, p1, p2, p3 and p4, such that angle between p0p1 and p1p2 &gt; 170 degree, angle between p2p3 and p3p4 also &gt; 170 degree, but angle between p1p2 and p2p3 is small.&lt;br /&gt;&lt;br /&gt;Ink Related Features&lt;br /&gt;(1) Number of Strokes&lt;br /&gt;(2) Point Density: determine density similar to "o", "b" or "p".&lt;br /&gt;&lt;br /&gt;Directional Features&lt;br /&gt;(1) Initial, End and Initial-End Directions: discretize all directions to the nearest of N, NE, E, SE, S, SW, W, NW.&lt;br /&gt;&lt;br /&gt;Global Features&lt;br /&gt;(1) Initial and End Position: NE, NW, SE, SW of the bounding box.&lt;br /&gt;(2) Width to Height Ratio: 0 for a slim symbol, 1 for a wide symbol, and 2 for a normal symbol.&lt;br /&gt;&lt;br /&gt;Of them, the number of strokes (exact match), the (discretized) width to height ratio (exact match), the initial position (could differ by one), initial to end direction (could differ by one), and end direction (could differ by two) was used to prune models. (Models' feature values are pre-computed and stored.)&lt;br /&gt;&lt;br /&gt;After pruning, elastic matching was used for recognition step, achieved by calculating the minimum distance between the unknown symbol and a set of models.&lt;br /&gt;&lt;br /&gt;Experiments results show that although using feature to pre-classify lowers accuracy a little bit - while still quite high - the comparison is reduced to a large extent (approximately 89%), thus recognition speed is greatly promoted. And the authors suggest to introcude context and HMM recognizer to reduce ambiguity.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Discussion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I think the really important part in this paper is the introduction of features. Although only several was used, the authors discussed a lot. The geometric features seems to be quite useful if they are used in feature-based recognition. For other features, discrete values are used ignore small errors. This fuzzy logic actually improves recognition accuracy. The suggestion about using context is a good idea in mathemetical handwriting recognition and maybe some other fields.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2903915210379382256-3710338593547275871?l=giftzyx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giftzyx.blogspot.com/feeds/3710338593547275871/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2903915210379382256&amp;postID=3710338593547275871' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/3710338593547275871'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/3710338593547275871'/><link rel='alternate' type='text/html' href='http://giftzyx.blogspot.com/2008/09/prototype-pruning-by-feature-extraction.html' title='&quot;Prototype Pruning by Feature Extraction for Handwritten Mathematical Symbol Recognition&quot;'/><author><name>Yuxiang</name><uri>http://www.blogger.com/profile/17668942513891765844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_9_PZWgNRx8c/SLdWw6lON2I/AAAAAAAAGpM/hnp7ArI6DF0/S220/figure.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2903915210379382256.post-5711321905471609704</id><published>2008-09-14T15:59:00.003-05:00</published><updated>2008-09-15T06:50:48.319-05:00</updated><title type='text'>"User Sketches: A Quick, Inexpensive, and Effective way to Elicit More Reflective User Feedback"</title><content type='html'>&lt;span style="font-style: italic;"&gt;by M. Tohidi, W. Buxton, R. Baecker, A. Sellen&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Summary&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Usability testing (UT) is well-known and commonly used to involve users in various stages of the design process. But in current UT process, participants generate significantly more reactive comments and criticisms than reflective design suggestions or redesign proposals. So user sketching is proposed to provide the right means for generating reflective feedback, without adding significantly to the cost and  without eliminating the active involvement of users in the process.&lt;br /&gt;&lt;br /&gt;Iterative process between sketch and knowledge/mind allows for an increasing improvement of the sketch/design. It provides users with a richer medium for communicating their feedback to designers. The work has taken place in two stages.&lt;br /&gt;&lt;br /&gt;In their first study, they examined the differences that would result between a usability test that exposed users to a single design, versus one where they tried three different alternatives. The product was a touch-sensitive House Climate Control System. Three distinctive prototypes were developed, each reflecting a different design language: Circular, Tabular, and Linear. All three were consistent in terms of fidelity, functionality and quality. Think-aloud protocol and interview give much less reflective feedback than reactive feedback. Participants lack confidence in their own redesign suggestions. The process of thinking and verbalizing one's thoughts at the same time is very distracting.&lt;br /&gt;&lt;br /&gt;Then in the second stage of the study, participants were asked to redesign the system. The results suggests that the less the original design is reflected in the user sketches, the less successful it is, and the sketches from the multiple design condition were richer in variation from any of the original designs compared with those from the three single conditions. Being able to recognize patterns at a glance, or answering unanticipated questions are unique benefits of sketches over numeric, textual, audio and video data. Sketching is a cheap and efficient way to enable the participants to refine already generated ideas and discover new ones.&lt;br /&gt;&lt;br /&gt;Then three examples are given to illustrate a number of ways in which sketching helped the participants to better organize their thoughts, come up with new and unexpected design ideas, reflect on and refine previously stated ideas, and communicate their ideas to the experimenters.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Discussion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This paper illustrates the idea of applying sketching in UT. From the sketch recognition respect of view, I think it quite inspiring. The approach of paper-based sketching can totally be replaced by sketch recognition in the future.&lt;br /&gt;&lt;br /&gt;The sentence "It is when sketches are seen in a larger group that patterns emerge and relationships are discovered." in Discussion suggests that we can use sketch recognition to abstract patterns from multiple sketches drawn by users. And this will be a major advantage of sketch recognition to paper-based sketching in UT process.&lt;br /&gt;&lt;br /&gt;Another sentence in the Future Work part "one of our longer term objectives is to explore such techniques further in ideation, especially when comparing multiple design alternatives." gives us the picture that how sketch recognition can facilitate design. For example, the elements in multiple design alternatives can be abstracted and recombined in other forms to generage new design, or the users can give reflective feedback by just modifying the original design with sketch recognition instead of drawing their own from the beginning...&lt;br /&gt;&lt;br /&gt;some videos:&lt;br /&gt;UML design  &lt;a href="http://www.youtube.com/watch?v=v3-ozq-ZbHE"&gt;http://www.youtube.com/watch?v=v3-ozq-ZbHE&lt;/a&gt;&lt;br /&gt;LADDER GUI  &lt;a href="http://www.youtube.com/watch?v=RjwdpB0Y924"&gt;http://www.youtube.com/watch?v=RjwdpB0Y924&lt;/a&gt;&lt;br /&gt;GUI design  &lt;a href="http://www.youtube.com/watch?v=6gVrw1Wgdfg"&gt;http://www.youtube.com/watch?v=6gVrw1Wgdfg&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2903915210379382256-5711321905471609704?l=giftzyx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giftzyx.blogspot.com/feeds/5711321905471609704/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2903915210379382256&amp;postID=5711321905471609704' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/5711321905471609704'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/5711321905471609704'/><link rel='alternate' type='text/html' href='http://giftzyx.blogspot.com/2008/09/user-sketches-quick-inexpensive-and.html' title='&quot;User Sketches: A Quick, Inexpensive, and Effective way to Elicit More Reflective User Feedback&quot;'/><author><name>Yuxiang</name><uri>http://www.blogger.com/profile/17668942513891765844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_9_PZWgNRx8c/SLdWw6lON2I/AAAAAAAAGpM/hnp7ArI6DF0/S220/figure.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2903915210379382256.post-607665243681829875</id><published>2008-09-08T00:42:00.005-05:00</published><updated>2008-09-08T04:27:20.782-05:00</updated><title type='text'>"Graphical Input Through Machine Recognition Of Sketches"</title><content type='html'>&lt;span style="font-style: italic;"&gt;by Christopher F. Herot&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Summary&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Traditional systems of computer-aided design is more akin to computer-aided evaluation or manipulation. And this paper discusses the approaches to let machines make inference about the meaning of sketches as well as user's attitude toward his design.&lt;br /&gt;&lt;br /&gt;The HUNCH system is introduced. It's composed of a set of programs that interpret sketches at different levels. HUNCH was conceived around STRAIT, which found corners in the sketch based on the assumption that drawing speed decreased at corners. Curves are considered to be special corners which are recognized by CURVIT. The first version of STRAIT used a latching algorithm that combined endpoints falling close together, which rendered some bizzare results, which then brings STRAIT without latching - STRAIN. Experiment on computing latching radius by a function of speed also shows unsatisfactory result, because it's based on the assumption that user's certainty in endpoints' position correlate with speed of drawing the line, which doesn't reflect contidion at endpoints. Comparing candidates for latching with GUESS in 3d space may solve the problem, but paradoxically, GUESS relies on the latched data as input. This may require that latching make initial decisions and be modified in later stages if proved untenable. Overtracing reduces quantity of data and turning several overtraced lines into one. 3D projection based on 2D network of lines, and room finding based on floorplan shows success in machine recognition to some extent.&lt;br /&gt;&lt;br /&gt;Truely successful system would have to make use of context at lowest level. General case description is mathed against the context-free structure in a top-down fashion and generate a composite structure where all of the syntactic entities of the sketch are assigned a meaning, but the matching process is complicated.&lt;br /&gt;&lt;br /&gt;A more interactive system that combines bottom-up data flow of and top-down flow of context information comes from the user as well as high level program is promising. The new system consists of a data base and a set of programs to manipulate it. A set of functions such as speed and bentness are used to find lines and curves. By varying the number of points in an interval, machine's interpretation can be manipulated to fit closest to user's intention. Inference-making procedures are run in background, allowing interpretation on the fly. Latching is decided by certainty factors, and should be controlled by user profile. Also, latching radius should adjust according to some factors.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Discussion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This paper shows an "intelligent" system. It really tries to recognize what the user has drawn, although the speed factor depends purely on drawing habits of individual users. The idea of involving the context information (used by human observer) into the system is great, which facilitats decision making by assgining meaning to things being sketched. However, human intervention - context, intentions, etc. - is still playing a part in interpretation ("For example, if the program were told that the user has drawn a square, it could vary the size of the interval until the two functions produced exactly five peaks.")&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2903915210379382256-607665243681829875?l=giftzyx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giftzyx.blogspot.com/feeds/607665243681829875/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2903915210379382256&amp;postID=607665243681829875' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/607665243681829875'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/607665243681829875'/><link rel='alternate' type='text/html' href='http://giftzyx.blogspot.com/2008/09/graphical-input-through-machine.html' title='&quot;Graphical Input Through Machine Recognition Of Sketches&quot;'/><author><name>Yuxiang</name><uri>http://www.blogger.com/profile/17668942513891765844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_9_PZWgNRx8c/SLdWw6lON2I/AAAAAAAAGpM/hnp7ArI6DF0/S220/figure.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2903915210379382256.post-3119365061913123183</id><published>2008-09-03T21:21:00.005-05:00</published><updated>2008-09-04T12:18:27.292-05:00</updated><title type='text'>"Gestures without Libraries, Toolkits or Training: A $1 Recognizer for User Interface Prototypes"</title><content type='html'>&lt;span style="font-style: italic;"&gt;by Wobbrock, Wilson, Li&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Comment&lt;/span&gt;&lt;br /&gt;1. &lt;a href="http://manojsketchrecognition.blogspot.com/2008/09/gestures-without-libraries-toolkit-or.html"&gt;Manoj's blog&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Summary&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Gesture recognition has been the privilege of experts in pattern recognition and AI, not HCI experts. $1 recognizer facilitates incorporation the gestures into UI. It supports configurable rotation, scale, and position invariance, no feature selection or training examples.&lt;br /&gt;&lt;br /&gt;Although toolkits like Artkit, Amulet, SATIN and libraries like Siger are powerful, they cannot help in most new prototyping environments where they are not available.&lt;br /&gt;&lt;br /&gt;The algorithm is in 4 steps:&lt;br /&gt;&lt;br /&gt;Step 1: , resample a points path into n (n = 64 is adequate) evenly spaced points due to variation in hardware and software sampling time.&lt;br /&gt;&lt;br /&gt;Step 2: Rotate points so that their indicative angle (angle between centroid of gesture (x¯,y¯) and the gesture's first point) is at 0°.&lt;br /&gt;&lt;br /&gt;Step 3: Scale points so that the resulting bounding box will be of&lt;br /&gt;size*size dimension, and move the bounding box so that centroid of the gesture is at (0,0). For gestures serving as templates, Steps 1-3 should be carried out once on the raw input points. For candidates, Steps 1-4 should be used just after the candidate is articulated.&lt;br /&gt;&lt;br /&gt;Step 4: Recognition and score. Compare candidate with templates, calculate average distance between corresponding points. The template with least path-distance to candidate is the result of recognition. Scoring can be calculated by 1 - path-distance between template and candidate / largest possible path-distance. Note that Step 2 only finds approximated best angular alignment between template and candidate, so candidate may need further rotation (only rotate in direction that renders a decrease in path-distance, and apply Golden Section Search (GSS) bounded by ±45°and a 2° threshold) to find optimal indicative angle and thus a global minimum path-distance.&lt;br /&gt;&lt;br /&gt;Then, experiments are performed that show $1 has very good performance over DTW and Rubine's algorithm.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Discussion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This algorithm is quite useful to novices and non-specialists, at leat the steps really make sense to me. It is a geometric-based algorithm, and it is a good algorithm in terms of computational speed and no need of training examples. One thing I don't quite understand is GSS.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2903915210379382256-3119365061913123183?l=giftzyx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giftzyx.blogspot.com/feeds/3119365061913123183/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2903915210379382256&amp;postID=3119365061913123183' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/3119365061913123183'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/3119365061913123183'/><link rel='alternate' type='text/html' href='http://giftzyx.blogspot.com/2008/09/gestures-without-libraries-toolkits-or.html' title='&quot;Gestures without Libraries, Toolkits or Training: A $1 Recognizer for User Interface Prototypes&quot;'/><author><name>Yuxiang</name><uri>http://www.blogger.com/profile/17668942513891765844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_9_PZWgNRx8c/SLdWw6lON2I/AAAAAAAAGpM/hnp7ArI6DF0/S220/figure.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2903915210379382256.post-5583625127210184798</id><published>2008-09-03T16:24:00.006-05:00</published><updated>2008-09-04T11:45:27.668-05:00</updated><title type='text'>"MARQS: Retrieving Sketches Using Domain- and Style-independent Features Learned From a Single Example Using a Dual-classifier"</title><content type='html'>&lt;span style="font-style: italic;"&gt;by Brandon Paulson, Tracy Hammond&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Comment&lt;/span&gt;&lt;br /&gt;1. &lt;a href="http://andrewadumbrates.blogspot.com/2008/09/marqs-retreiving-sketches-using-domain.html"&gt;Andrew's blog&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Summary&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In this paper, the authors implemented a search-by-sketch system called MARQS. It 1) recognizes a wide range of shapes that are not necessarily geometric nor drawn in the same way each time, 2) recognize a query example from only one initial training example, and 3) learn from successful queries to improve accuracy over time. MARQS uses two classifiers: 1) Single Classifier: immediate used after a single example and 2) Linear Classifier: improve accuracy over time as more examples are available from queries.&lt;br /&gt;&lt;br /&gt;Previous work in feature-based recognizers: Rubine, Long, etc (single stroke), HMM(Hidden Markov Model), however it's style-dependent. Kara &amp;amp; Stahovich, similar to this paper, uses combination of four different recognizers that recognize shapes after only a single example, however, unlike approaches used in this paper, it's not an interactive learning system, and does not learn from future sketches. There are other single-stroke recognizers that use geometric properties instead. Sezgin's system use the process of approximation -&gt; beautification -&gt; basic recognition. Kato's system: create black&amp;amp;white abstraction of full color image, divide into 8*8 blocks and determine local correlation between each block, which are then summed to global correlation to determine similarity.&lt;br /&gt;&lt;br /&gt;Recognition algorithm in this paper uses a feature set based on global features of the sketch, allowing them to be drawn to any scale and orientation, in any order, and with multiple strokes. The first step of the algorithm is to find the major axis (line that connects 2 points in a sketch that are furthest apart), and rotate so that axis lies horizontally. Then it uses two classifiers to perform sketch searching. The first one is Single Classifer: errors between features of query and features of sketches in database are calculated, normalized and summed to total error, ranked in increasing order. And the second one is Linear Classifier:  implemented in much the same way as that in Rubine's paper, this classifier is used when at least 2 examples for every album in the database. Here, 4 global features are chosen: 1) bounding box aspect ratio 2) pixel density 3) average curvature 4) number of perceived corners across all strokes of the sketch.&lt;br /&gt;&lt;br /&gt;Experiment on MARQS: 1350 queries was performed, 27% used Single Classifier with average search rank of 1.7, and 73% used Linear Classifier with average search rank of 1.44. The overall search rank was 1.51. 70% ranked in top 1 and 98% ranked in top 4.&lt;br /&gt;&lt;br /&gt;Then the downfalls (slowdown during query time and reduction in accuracy over time with the Single Classifier) are discussed and improvements (generalize feature values of a symbol across all examples of that symbol for comparison, add more features, etc.) are suggested.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Discussion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I think the highlight of the system is the use of two classifiers, which enables "cold startup". But since the Linear Classifier uses Rubine's approach, I wonder if there is such a number of query examples beyond which gives little improvement or even negative effect in accuracy (like in Rubin's work, the number was 15.)&lt;br /&gt;&lt;br /&gt;Another thing is that I don't think "pixel density" is a good feature to choose, because for the same picture, larger scale renders smaller pixel density. Thus using this feature means constraint on scales of the sketches.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2903915210379382256-5583625127210184798?l=giftzyx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giftzyx.blogspot.com/feeds/5583625127210184798/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2903915210379382256&amp;postID=5583625127210184798' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/5583625127210184798'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/5583625127210184798'/><link rel='alternate' type='text/html' href='http://giftzyx.blogspot.com/2008/09/marqs-retrieving-sketches-using-domain.html' title='&quot;MARQS: Retrieving Sketches Using Domain- and Style-independent Features Learned From a Single Example Using a Dual-classifier&quot;'/><author><name>Yuxiang</name><uri>http://www.blogger.com/profile/17668942513891765844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_9_PZWgNRx8c/SLdWw6lON2I/AAAAAAAAGpM/hnp7ArI6DF0/S220/figure.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2903915210379382256.post-4371761664775069417</id><published>2008-09-02T03:00:00.004-05:00</published><updated>2008-09-10T13:52:38.589-05:00</updated><title type='text'>"Visual Similatiry Of Pen Gestures"</title><content type='html'>&lt;span style="font-style: italic;"&gt;by Long, Landy, Rowe and Michiels&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Summary&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Gestures are versatile, powerful, efficient, and convenient, but users often find gestures difficult to remember and misrecognizes gestures. The authors are developing a tool to assist pen-based UI disigners in creating and evaluating gestures for pen-based UIs by advising them about how to improve their gesture set. The current work is an investigation into gesture similarity.&lt;br /&gt;&lt;br /&gt;Next, related work is showed, Apple Newton MessagePad popularized pen input, it used single-stroke and iconic gestures to recognize text. 3Com PalmPilot recognizes special command strockes. Other examples are music, drawing, air-traffic control, searching, etc. About perceptual similarity: the logarithm of quantitative metrics was found to correlate with similarity. However, similarity metrics vary between people and different stimuli. Multi-Dimensional Scaling (MDS) reduces the number of dimensions of a data set so that patterns can be expressed by a 2-3 dimensional plot. Several issues in using MDS are: (1) how to use data from multiple participants (INDSCAL takes as input a proximity matrix for each participant and takes individual differences into account) (2) how many dimensions to use in analysis (no more than 1/4 number of stimuli) (3) how to measure distance (Euclidean distance) (4) assign meaning to axes (a. inspecting plots of the stimuli b. correlation with measurable quantities).&lt;br /&gt;&lt;br /&gt;Then a gesture similarity experiment is described, 2 data sets and different subjects were used in 2 trials:&lt;br /&gt;&lt;br /&gt;Trial 1, gesture set was designed by Long to span a widerange of possible gesture types and to have differences in orientattion. 21 participants involved and were asked to select the gesture seemed most different among 3 gestures picked from the gesture set, all combinations were showed to each participant exactly once. The goals of the analysis were: (1) determine measurable geometric properties that influence perceived similarity of gestures (by using plots that showed inter-gesture dissimilarities by Euclidean distances) (2) produce a model that predict the perceived similarity of given gestures (by running regression analysis that produced weights indicating how mush each feature contributed to the similarity). A model of gesture similarity that correlated 0.74 with the reported gesture similarities was derived.&lt;br /&gt;&lt;br /&gt;Trial 2, designed three new gesture sets (1) explore the effect of total absolute angle and aspect (2) explore length and area (3) explore rotation-relates features, to test the predictive power of their model for new people and gestures. Participants were asked to do the same thing as in trial 1. Again, this trial was to determine what features were used for similarity judgements and to derive a model for predicting similarity. Also, predicted similarities by using model derived in trial 1 were compared with similarities reported by participants in trial 2. The result was not so satisfactory as that in trial 1. The derived model predicts the reported gesture similarities with correlation 0.71.&lt;br /&gt;&lt;br /&gt;The correlation between the prediction of trial 1 and the data from trial 2 was 0.56, with the other way around 0.51.&lt;br /&gt;&lt;br /&gt;The results show that human perception of gesture similarity is complicated, creating multiple models with more data might help.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Discussion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The inevident predicting power of models derived from trials may due to the design of gesture sets and the features chosen. Both factors are intuitively determined by the authors, which may not fit the perfect model for predicting gesture similarity. Another possibility is that there is no such perfect model that can accurately predict perceived similarities of any given gestures for anyone at all. After all, human perception of similarity is so complicated.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2903915210379382256-4371761664775069417?l=giftzyx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giftzyx.blogspot.com/feeds/4371761664775069417/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2903915210379382256&amp;postID=4371761664775069417' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/4371761664775069417'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/4371761664775069417'/><link rel='alternate' type='text/html' href='http://giftzyx.blogspot.com/2008/09/by-long-landy-rowe-and-michiels-summary.html' title='&quot;Visual Similatiry Of Pen Gestures&quot;'/><author><name>Yuxiang</name><uri>http://www.blogger.com/profile/17668942513891765844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_9_PZWgNRx8c/SLdWw6lON2I/AAAAAAAAGpM/hnp7ArI6DF0/S220/figure.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2903915210379382256.post-4124525975791844827</id><published>2008-09-01T12:29:00.006-05:00</published><updated>2008-09-03T16:24:31.759-05:00</updated><title type='text'>"Specifying Gestures by Example"</title><content type='html'>&lt;span style="font-style: italic;"&gt;by Dean Rubine&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Summary&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The author first listed some examples of existing gesture-based applications, however, in these applications, the gesture recognizer is hand coded, which is quite complicated job. But GRANDMA (Gesture Recognizers Automated in a Novel Direct Manipulation Architecture) enables an implementor to create gestural interfaces with simple click-and drag. GDP is such an application built by using GRANDMA.&lt;br /&gt;&lt;br /&gt;Then GDP is showed as an example gesture-based application. The application recognizes gestures that create rectangle, ellipse, line, pack and perform copy, rotate-scale, delete. The end of gesture is perceived as either release of mouse button or cease of moving mouse for a given amout of time (latter method is used in GDP). Gestureing and direct-manipulation are combines in a 2-phase interaction technique: (1) gesture collection (2) gesture classification &amp;amp; manipulation. And due to the limitation of GRANDMA, gestures in GDP are all single strockes to avoid segmentatic problem and to allow shorter timeouts.&lt;br /&gt;&lt;br /&gt;GRANDMA is a MVC system which associates input event handler with a vew class. In GDP, GdpTopView is the window in which GDP runs, GraphicObjectView is associated with line, rectangle, ellipse, text gesture handlers. Gestures are added through the following steps: (1) create new gesture handler ("new class" button) and associate with GraphicObjectView. (2) enter gesture training examples (15 examples per gesture is adequate). (3) edit semantics of each gesture in handler's set -- "recog" is evaluated when gesture is recognized, "manip" is evaluated on subsequent mouse points, "done" is evaluated when mouse button is released. Note that attributees of the gesture may be used in the gesture semantics (e.g. start and end points of line).&lt;br /&gt;&lt;br /&gt;Next, the author discusses how gestures are classified. Preprocessing is done to eliminate jiggle: an input point within 3 pixels of the previous input point is discarded. Geometrically and algebraically features of are carefully chosen: (1) incrementally computable in constant time per input point (2) meaningful so that it can be used in gesture semantics as well as for recognition (3) enough features to provide differentiation between all gestures that might reasonably be expected (in GDP, 13 features are calculated). Gesture classification is done by calculating the linear evaluation function for each class "Vc" over the features of an input gesture, the input gesture is class "c" that maximizes "Vc". The weights in each class's linear evaluation function are determined by the training examples of that class. Thereafter, the probability that a gesture is classified correctly and the deviation (Mahalanobis distance) that a gesture is away from the mean of its chosen class is computed to reject ambiguous gestures and outliers, however, this should be disenabled if the application provides "undo". Overall, the gesture classification method has high rate of correct rate and fast computation time provided with around 15 training examples per gesture.&lt;br /&gt;&lt;br /&gt;In the end, some extensions are introduced: versions of GDP use eager recognition (as soon as enought of it has been seen to do so unambiguously) and multi-finger gesture recognition (by comining classification of individual paths with a decision tree and a set of global features).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Discussion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;GRANDMA definitely simplifies the work involved in building gesture-based applications. MVC architecture enables straightforward mapping between gesture handlers and views, though I don't see the use of "done" in gesture semantics since gestures end when users stop moving the mouse for a while.&lt;br /&gt;&lt;br /&gt;Training by examples is a great idea, however, the author didn't give much information on how the set of training examples should be consisted of. For example, if all the input examples are all gathered from 5-year-old kids, the features of a class may be biased and cannot be used for efficient classification of input from common users.&lt;br /&gt;&lt;br /&gt;I still need time to figure out the meaning of covariance matrix. But at the same time, I come up with another idea of gesture classfication which I haven't tested how well it works: the mean feature values of training examples for a given class can be computed (and may be normalized by, say, dividing by their standard deviation), and a vector of N mean feature values (say N features are chosen) can be denoted as a point in N-dimensional feature space, M classes can be represented as M points in N-dimentional space, each point for one class. And then, a given input gesture can also be denoted as a point in N-dimensional space based on its feature values, the distances Di (1 &lt; i &lt; M) from the point that represents the input gesture to the M points that represent M classes can then be computed, and the input gesture is class "i" that minimizes Di.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2903915210379382256-4124525975791844827?l=giftzyx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giftzyx.blogspot.com/feeds/4124525975791844827/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2903915210379382256&amp;postID=4124525975791844827' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/4124525975791844827'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/4124525975791844827'/><link rel='alternate' type='text/html' href='http://giftzyx.blogspot.com/2008/09/specifying-gestures-by-example.html' title='&quot;Specifying Gestures by Example&quot;'/><author><name>Yuxiang</name><uri>http://www.blogger.com/profile/17668942513891765844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_9_PZWgNRx8c/SLdWw6lON2I/AAAAAAAAGpM/hnp7ArI6DF0/S220/figure.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2903915210379382256.post-5137594660382666702</id><published>2008-08-28T12:02:00.004-05:00</published><updated>2008-08-28T17:10:50.339-05:00</updated><title type='text'>"Introduction to Sketch Recognition"</title><content type='html'>&lt;span style="font-style: italic;"&gt;by Tracy Hammond and Kenneth Mock&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-weight: bold;"&gt;Comments&lt;/span&gt;&lt;br /&gt;1. &lt;a href="http://blogs.tamu.edu/daniel/2008/08/27/analysis-of-introduction-to-sketch-recognition/"&gt;Daniel's blog&lt;/a&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Summary&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The paper begins with the introduction of the first pen-based computer interaction system -- Sketchpad (1963) and the advantages of raster graphics over vecter graphics (fill areas with solid colors or patterns, refreash independent of complexity of the scene) are stated. Then active and passive digitizers are introduces, and advantages and disadvantages of both techniques are weighed: passive digitizer (easy touch by finger but cursor jumps and hard to perform right-clicking), active digitizer (electromagnetic pens used, "hover" cursor, right-clicking and erasing with pen, but rely on special pen and inaccurate near borders). Afterwards, several kind of hardware (tablet PC slate, Cintiq, SMART board, USB-connected pen tablet) and software (TIP on Windows Vista, Inkwell on Apple, additional drive like Jarnal on Linux, Camtasia) are introduded. Specifically, tablet-based pedagogy shows great success up till now, instructors can make comments on PowerPoint to enable flexibility during class, tablet is also quite useful in aiding the input of diagrams for lectures, equations and graphs in students' homework, etc., also, using tablets in class helps to gather students' attention, because slates can be laid flat on desk so that the instructor can see what a student is working on. Next, the author states use of sketch recognition in different fields (music, ChemPad in chemistry, LADDER MechEng in mechanical engineering, LADDER FSM in finite state machine). The FLUID framework enables development of sketch interface, of which GUILD enables building shape description through drawing. At last, two case studies of tablets use in class are given, both show that tablets have positive effect in maths teaching.  Future directions states the great potential in tablet sketching field.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Discussion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Through this paper, we are informed of various kind of sketch recognition devices and systems in use. The initial success of tablet-based teaching and study in such classes as music, mechanical engineering, calculus and algebra is a useful experience which is worth being extended into other classes like literature, history, etc. And I believe, with our effort and the advancement of technology, new sketch recognition systems will emerge at tremendous speed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2903915210379382256-5137594660382666702?l=giftzyx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giftzyx.blogspot.com/feeds/5137594660382666702/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2903915210379382256&amp;postID=5137594660382666702' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/5137594660382666702'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/5137594660382666702'/><link rel='alternate' type='text/html' href='http://giftzyx.blogspot.com/2008/08/introduction-to-sketch-recognition.html' title='&quot;Introduction to Sketch Recognition&quot;'/><author><name>Yuxiang</name><uri>http://www.blogger.com/profile/17668942513891765844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_9_PZWgNRx8c/SLdWw6lON2I/AAAAAAAAGpM/hnp7ArI6DF0/S220/figure.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2903915210379382256.post-5438396665748870519</id><published>2008-08-28T05:16:00.004-05:00</published><updated>2008-09-14T15:59:09.401-05:00</updated><title type='text'>"Sketch Pad: A Man-machine Graphical Communication System"</title><content type='html'>&lt;span style="font-style: italic;"&gt;by  Sutherland&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;Comments&lt;br /&gt;&lt;/span&gt;&lt;span&gt;1. &lt;a href="http://cpsc689bhat.blogspot.com/2008/08/sketch-pad-ivan-e-sutherland_27.html"&gt;Akshay's blog&lt;/a&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;Summary&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The author first showed us an example of using light pen to draw a hexagon as well as to point to parts of the existing hexagon and apply certain "constraint" (corners on a circle) and "definition copying" (sides of equal length) to it to make it regular. And thereafter, this hexagon was served as a "subpicture", and by attaching a numerous of such subpictures together, a pattern was produced. What's worth mentioning is that Sketchpad stores how various parts of the drawing are related and the structure of the subpictures used.&lt;br /&gt;&lt;br /&gt;Then he explained the implementation of Sketchpad. The data storage structures used: n-component objects are stored in ring structures, in which members can be added, removed or modified. Additionally, generic headings of the rings are collected together as generic types, which may in turn gathered under super-generic blocks to form a hierarchical structure. A light pen is used in the system, the user should touch existing line or spot on the display to initialize, and when pointing to existing object, a "pseudo pen location" is displayed to indicate "aim at" if the exact position falls within a distance to the object. The system can display drawing of a range of magnification of 2000 and compute which part is to be shown on the display, and positions of spots on lines and circles are computed with difference equations. Sketchpad can also display digits and texts. And for easy manipulation, abstractions such as constraints and scalar value can even be displayed. Recursive functions are used when dealing with deleting, merging and display of instances. Attachers (points, lines, cirles, etc.) allow objects to integrate.  Attachers will recursively merge objects of like type when copying occurs, and when copying instances, the copy losses all identity as a unit. Moreover, copying allows duplication of not only objects, but constraints as well. As for constraints, Sketchpad applies the fast one pass method before trying the slow but reliable relaxation method.&lt;br /&gt;&lt;br /&gt;In the last part, examples (patterns, linkages, dimension lines, bridges, artistic drawings, circuit diagrams) were illustrated and conclusions were drawn.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Discussion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This paper shows the first pen-based computer interaction system in the world, as early as 1963. It must be an amazing work at that year. The system is really versatile, the hierarchical structure of generic type enables drawing of objects composed of simpler components that are already known. And by copying and attachers, users can produce complicated drawings which has thousands of parts. The function of constraints is actually quite strong, you can define certain properties of objects and relation between them, so I'd say it's really the highlight of this system.&lt;br /&gt;&lt;br /&gt;In term of sketch recognition, however, Sketchpad is nothing more than a computer-assisted drawing pad, users have to push buttons and turn knob from time to time to tell the computer what is to be drawn and what effects they are expecting, drawing with Sketchpad is a totally manipulated process rather than automatic analysis and understanding by the computer itself.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2903915210379382256-5438396665748870519?l=giftzyx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giftzyx.blogspot.com/feeds/5438396665748870519/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2903915210379382256&amp;postID=5438396665748870519' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/5438396665748870519'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2903915210379382256/posts/default/5438396665748870519'/><link rel='alternate' type='text/html' href='http://giftzyx.blogspot.com/2008/08/sketch-pad-sutherland.html' title='&quot;Sketch Pad: A Man-machine Graphical Communication System&quot;'/><author><name>Yuxiang</name><uri>http://www.blogger.com/profile/17668942513891765844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_9_PZWgNRx8c/SLdWw6lON2I/AAAAAAAAGpM/hnp7ArI6DF0/S220/figure.JPG'/></author><thr:total>0</thr:total></entry></feed>
