Total Pageviews

Monday, October 18, 2010

Reading #13 Ink Features for Diagram Recognition

Comment:
Chris
Summary:
This paper tried to solve very important problem in Sketch recognition : Distinguish text and shape. Acutally, most of document of sketched diagram consists of text and shape or drawing diagram. However, recognzing text and shape are two independant tasks that we need to reocognize seperately. So the first task is to find which part is text and which part is shape. In fact, this is very difficult problem and there is no universal solution for this problem. In this paper, the author shows very intuitive way to distinguish these two and gains reasonable accuracy but still not very high. The overall approach is very simple, is to find most disdinguishable features for differenciating shape and text. The author initially choose forty-six features, and use decision tree to find the most important features . The final feature set consists of eight most disdinguishing features. In the result part of this paper, the author compares his recognizer with Microsoft divider and Inkkit, and found that accuracy is much higher than these two.


Discussion:
For me, this paper is very informative from the perspective of choosing features. For different sketching system, we need to recognize different sybmols. For statistical pattern recognition, the most important task is to find most disdinguishing feature set. Using too few feature may result in low accuracy of sytem, choosing too many features instead results in overfitting. This paper gives me answer, approach used in this paper is a really nice way to find good features among all the candidate features. We can make automatic feature extraction system for certain domain using decision tree like in this paper.

Reading #9 PaleoSketch: Accurate Primitive sketch Recognition and Beautification

Comment:
Chris
Summary:
Paleosketch is the primitive sketch recognition library, which is widely used in many projects. In fact, for sketch recognition, the first very begining task is to recognize primities as line, polyline, arc, and etc. For most of sketching system, the first step is to recognize each stroke as primitives, then hierarchyly builds more complex system by using botton-up approach. Thus, the primitive recognition the most important steps for sketch recognition, and greatly affect the later processing and recognition and overall accuracy of sketching system. Paleosketch is an accurate, configurable primitive recognition library, that can recognize each stroke as eight different primitives, line, polyline, circle, ellipse,arc curve,spiral and helix. PaleoSketch starts by preprocessing step that remove noise of strokes. In the implementation part, the author shows most disdingushiable features for each primitve recognition. Author shows that two most importatn contributuion of this paper is to use two new important features, NDDE and DCR respectively. These two features are very useful for differenciate polyline and curve. Anther important contribution of this paper is new ranking algorithm as mentioned in this paper. In the remaining part of paper, the author compares different versions of PaleoSketch as well as with SSD, the result shows that Paleo has very good recognition accuracy.


Discussion:
PaleoSketch is accurate and an important contribution to the Sketch Recognition community. It uses very good features to recognize differrent primitives. We can easily configure PaleoSketch based on our own needs and requriement of specific system. However, in my opition, it stills needs improvement. It acctually uses fixed threshold for all the features. This cause one problem, for recognizing Polyline, if part of these lines are not passed polyline test, it will failed and instead it is likely to recognize it as circle. Thus, my idea is instead of using fixed threshold for each part, we can make it flexible by using interval threshold. when we recognize certain stroke, we can calculate the sum of each part of values and then use the some distribution of this sum value. In this case, we can solve this problem : Certain part of stroke failed to pass the test, but from overall perspective, the whole part can still pass the test.

Reading #8 A Lightweight Multistroke Recognizer for User Interface Prototypes

Comment:
Chris
Summary:
This paper is extention of previous 1$ recognizer. As same as 1$ recognizer, the purpose of this recognizer is not provide systematic and complex recognizer, instead it provides fast implementation, keep its simplicity. It mostly based on 1$ recognizer, but it makes great improvement that can recognizer multstroke symbols which is the limiatio of 1$ recognizer. Like 1$ recognizer, it consists of several steps. but the preprocessing steps is different from 1$ recognizer. For N$ recognzier, for each template symbol, it generates all the permutations of stroke combination, and the connect end points of consecutive strokes to make it unistroke. Aftet that, we can treat is unistroke just like in 1$ recognzier. Due to the computation explosion, the author gives some heuristic approach the prume some comparing templates. The author use start angle of stroke to eliminate unlikely matched candiate symbols. Instead of decreasing the accuracy of recognition, the author said this appraoch improve the recognizer accuracy. Another heuristic is to use number of strokes information, which futhur decrease the compuation cost. For the result part, the author said N$ recognizer gains about 96%, 97% accuracy rate.

Discussion:
Nice, simple, easy to understand approach to recognizer multistrokes. I pretty much like the idea of this paper. We can easily intergrate into our own system. However, as the author says, easy means there is limitation. For the large set of symbols, this approach is obvioulsy undergo high computation cost, which is also the limitation of template matching approach. There are might some improvements for N$ recognzier. 1. Intead of permuting all kinds of multistrokes, we can use certain more informative combination. 2. For the large symbol set. we can build binary tree to store these training data to improve the efficiency, clearly, we have to use some geometric features in that case to dinguish symbols.

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

Comment:
Chris

Summary:
In this paper, the author focused on preprocessing steps for sketch recognition, especially for corner finding in stroke, fitting lines and curves. Generally, the early prorecessing consists of three phases, approximation, beautification and basic recognition, respectively. The most appealing part of this paper is the part of explanation of finding corners. The author uses two kinds of graph, Curvature graph and speed graph. From careful examination, author found that people tends to slow down at each corner of the stroke, which is a very intuitive idea. The author also found that using curvature graph only or speed graph only cannot find all the corners very effectively, this is the reason why author combined these two graphs to detect vertices, which gives good results. In the remaining part of paper, the author also shows the approach of how to handling curves as well as fitting problem.

Discussion:
Paper is excellent. I am very into the first part of paper that find the corners. I like the idea of using speed graph, it is really interesting and intuitive for me. Even though in some cases, this does not gives good result, generally, it is true that people tends to draw slowly at each corner of stroke. Thus, speed graph, definitely is good, then how about the acceleration graph, which is the deriative of speedy graph. I think we can also use acceleration graph for this purpose.. furthermore, derivative of accelaration graph, I am not sure if it useful or not, however, we could try.