Monday, October 29, 2007

014 - Ambiguous Intentions

Summary:

The paper describes NAPKIN, a system which allows users to draw sketchy shapes and then define them in different domains. An example would be to draw a box with four boxes around it denoting a table with four chairs. The system would then beautify and label the object. The objects are ranked by how they are recognized and by how many domains they are recognized in. The system stores all this data and saves it for later, in case a new napkin wants to use information from a previous napkin. This allows for multiple domains and ambiguous gestures, such as the above square as a table to be used in a bar graph, etc. The symbols are usually related to each other, such as the chairs to the table, because they are smaller and near. Different constraints would be made for different domains.

Discussion:

Honestly, I think this system has limited uses. While it seems and fine and dandy to have all these attachment features and ambiguous data, when people are ACTUALLY sketching something they usually don't intend anyone else to use their sketches. Since everyone has their own sketching style, labeling things would only hinder someone who is sketching something for their own personal use. Why bother labeling something as a table if the sketcher KNOWS it's a table? Also, I believe too many domains should be handled seperately, because the more domains a recognizer takes on, the less likely it is to correctly label objects in the right domain. Also, it's just as easy to write two systems for two domains as it is to write one system for two domains - if you've written the code well, that is.

013 - Herot

Summary:

The paper apparently was a little-known breakthrough in the field. While Sezgin and Rubine seemed to come up with some great ideas, this paper proves that they weren't the first to think of everything. The paper revolves around some early sketch recognition and seems to cover a broad scope. It explains that sketch recognition would be best at the beginning of the design process - a.k.a. the part where everyone's still "sketching". It deals with corner recognition by introducing speed in strokes, which Sezgin uses decades later. It further discusses latching and the user-domains that other papers have covered. It says that the system functioned well with some users and poorly with others, saying the results were "interesting".

Discussion:

Obviously, the paper's age makes it a bit dated technology wise, but the ideas are all there and still valid. I, along with the rest of the class, found it interesting that this paper even existed, because two decades later all kinds of papers flare up stating the exact same thing, although to be fair most of them did have SOME new ideas as well. This paper seems to be ahead of its time, perhaps due to limitations on availability of technology at the time. This "diamond in the rough" is sadly out-dated now by more in-depth research, and to be honest is a little disheartening that such an innovative paper can go so unnoticed.

012 - Learning of Shape Descriptions

Summary:

The paper is mostly concerning constraints on different features. The authors state that users pay more attention to some features and less to others. It introduces a score to different constraints, and allows for different settings on constraints. The best example is the parallel lines - when parallel lines are close in proximity, people recognize them as parallel lines very quickly. If the lines are far apart, it becomes less likely to be recognized, and by other gestures in between the lines human recognition drops drastically. In essence, their system was based as close to real humans as possible, not as close to the ideal recognition a computer can make.

Discussion:

I like the paper quite a bit, though I think it's somewhat unnecessary. I think the whole point of recognizers should be to get as close to human recognition as possible. In this day and age, we've proven that computers can think faster than any human being except on simple math problems and some seemingly unsolvable computer problems. I read that the human brain has around one terrabyte of memory, which you can go out and buy in a single hard drive in today's market. In that sense, we shouldn't shoot for perfect recognition in these sketches, because sketches are human made and thus not perfect. Again, I think the paper just stated what everyone who built recognizers should be thinking - make it as human as possible.

Wednesday, October 3, 2007

011 - LADDER

Summary:

This paper is all about the LADDER system. It begins with a basic description of the system. LADDER is a tool that allows designers to create sketch recognition "languages" that work with sketch recognizers to form more high-level programs. The paper describes some of the abilities of LADDER and some limitations, including curve-heavy domains. It explains the hierarchy and shape definition of the system, which allows various shapes to be constrained and grouped into complex shapes for various uses. LADDER has an extensive list of constraints, but still has many different directions and area to explore.

Discussion:

I personally love the LADDER tool. I believe it may be the first "sketch recognition design tool", such as Visual Studio is to programming and Adobe Photoshop is to digital graphics (just examples, of course). This is a tool that will provide huge steps in the field. Now, I won't sing its praises too much, because while the program has a lot of potential, it still isn't NEARLY as user-friendly as it could be. The drawing area is pretty intuitive and the shape/contraint window SEEMS straight-forward, but it can get very muddy very quickly, especially with more complex systems. I'm a big fan of the tool, but I'm the first to admit that there's still a lot of work to be done before Hammond et. al can put the program on shelves and available to download to the general public.

Monday, October 1, 2007

010 - Beautifying Low-level Sketch Shapes

Summary:

Paulson and Hammond begin their paper by explaining the different low-level sketch shapes used in their system. These shapes are basic enough to be useful but broad enough to not allow too much clutter and overlap. They explain a bit of the work that led to their system, and then jump into details. The writers start by explaining their new features of NDDE (normalized distance between direction extremes) and DCR (direction change ratio) and how they're used to find each shape. They help immensely in the finding of spirals and arcs vs. curves. The next section explains their innovative "ranking" system, which allows for multiple fits to be found for each sketch. Then each fit is given a number based on the rankings and the number of each primitive in the fit. For example, if a fit has 5 lines and a fit of the same sketch has 1 line and 1 arc (3 points), then the 1 line and 1 arc will be a better fit than the 5 lines.

Discussion:

I love the idea of the ranking system. I think some might find it hard to accept, however, unless they are given the option of changing it for their own needs. Some may think that an arc should be worth more than 3 points, and a circle more than 5, etc. If everyone is given the option of changing these "thresholds" on ranking, however, I think this would be a great asset to low level sketch recognition and finding the best fit.

009 - Streaming Algorithms for Line Simplification

Summary:

The paper began by explaining the context of the system. It gives examples of different distance functions, Hausdorff and Frechet, and how they're used. It explains how the technique used is for an infinite amount of string points and simplifying those points to a limited amount of space. Finding the least error point, it removes that point and connects the point before and the point after instead, thus increasing error the smallest amount possible of the new line. It discusses the creation of an error oracle and how it is used in the system.

Discussion:

Quite simply, this is the worst research paper I've ever read. It's not only INCREDIBLY cryptic, but it's also covering what I believe to be a useless topic. The paper gives an example of migrating birds. Points keep streaming in of where the birds are, and the system has to maintain a certain amount of accuracy with a limited amount of space, so it removes the least error point every time a new point comes in. However, it states in the paper that the writer's assume an INFINITE amount of points, which therefore makes the problem unsolvable. Assuming the birds continued migrating North and South, at infinite the graph would look like a bunch of jagged straight lines from the start to finish. Trying to solve this problem is NONSENSE. There should never be an infinite amount of points in a single set of data. For the given example, breaking up the migration into a yearly interval of sets would be completely plausible, or any such case for that matter. All you need to do is break the data into a managable amount, then this system might come in handy by throwing out the small changes and keeping the most data possible.