Tuesday, January 29, 2013

Gestures without libraries, toolkits or training: a $1 recognizer for user interface prototypes

Jacob O. Wobbrock, Andrew D. Wilson, and Yang Li. 2007. Gestures without libraries, toolkits or training: a $1 recognizer for user interface prototypes. In Proceedings of the 20th annual ACM symposium on User interface software and technology (UIST '07). ACM, New York, NY, USA, 159-168. DOI=10.1145/1294211.1294238 http://doi.acm.org/10.1145/1294211.1294238

This 2007 paper offers instructions for a simple gesture recognizer that will recognize gestures using a template matching technique. The major goal of the work is to provide prototypers with an easy but somewhat robust way to implement gesture recognition in their applications.

The algorithm is based on resampling, rotating, and translating the stroke data, followed by finding the nearest-neighbor example. The method supports adding new examples to the templates database to allow for different strokes. Online data capture is not necessary, as temporal information is not analyzed. A Golden Section Search is used to find the appropriate rotation.

The authors conducted tests which show the $1 recognizer to be as good as the Rubine algorithm and Dynamic Time Warping. However the algorithm suffers from being unable to detect the differences between circles and ovals or squares and rectangles. Horizontal and vertical lines can also be troublesome, but can be mitigated using a modification to the scaling method.

Specifying Gestures by Example

Dean Rubine. 1991. Specifying gestures by example. In Proceedings of the 18th annual conference on Computer graphics and interactive techniques (SIGGRAPH '91). ACM, New York, NY, USA, 329-337. DOI=10.1145/122718.122753 http://doi.acm.org/10.1145/122718.122753

This 1991 paper offers a simple feature based method for detecting single-stroke gestures. The paper provides 13 features, two which are optional (based on temporal information), and a simple linear classifier. The features are derived from single stroke input (with temporal information) using simple geometric reasoning techniques. The features were derived from empirical observation of what worked well. The GRANDMA toolkit (an implementation) allows users to teach new gestures to the classifier.

The paper admits that more work must be done to distinguish certain gestures, for which the 13 features are not enough. Additionally, the methods described may be extended to support eager classification or multi-finger recognition.

Overall a very interesting paper for its time. Defines a simple and easy to use method for basic gesture recognition which uses temporal information.

Tuesday, January 22, 2013

Sketchpad - Ivan E. Sutherland

Paper Bibliography
Sutherland, I. E. (1964, January). Sketch pad a man-machine graphical communication system. In Proceedings of the SHARE design automation workshop (pp. 6-329). ACM.

Ivan Sutherland's Sketchpad system created not only a new modality for interaction with a computer, but also contributed greatly to the development of object oriented programming, CAD software, and the graphical user interface in general.


As current day computer scientists read this paper, they may be confused, that is until they see the date it was originally published: 1963. The paper spends ample time discussing not the novel interface of a pen, but rather the novelty of the algorithms and design which underpinned the content created through the pen. The early roots of object oriented programming can be seen as Sutherland describes the creation of instances from a master. Furthermore, the ideas of polymorphism and inheritance are touched upon in that though instances are originally copies of their masters, they can also be modified to be different from their original masters. 


Aside from pioneering major aspects of object oriented programming, Sutherland's program reflects many of the core components of modern day CAD software. The ability to apply constraints and relationships to and between drawn shapes was pivotal in giving computer software a role in drafting and design problems. With Sutherland's creation, the computer suddenly became a more competent and faster solution than traditional drafting.


Finally, the concept of screen graphics and pen input was extraordinarily ahead of its time. In an age where graphical displays were novel, Sutherland's work materialized concepts that were only seen as a distant vision in the course of technology. The undoubtable impact of this work is evident by simply surveying the changes and innovations which have occurred since its publication. While there have been vast increases in speed and accuracy, along with expansions of this work, it is fair to say that much of the original work found in this paper remains as the basis for modern systems. 



Wednesday, January 16, 2013

Introduction




Email me at zmhenkel [at] tamu [dot] edu

Howdy! My name is Zack Henkel. This is my third semester as a PhD student at TAMU in Computer Engineering. I've answered all of the questions for this entry below, but if you want to know more about my research interests or me, you can visit my personal website at https://zmhenkel.com .

Why are you taking this class?
I'm taking this class because I would like to know more about sketch recognition and how it is accomplished. I'm not familiar with any of the techniques, algorithms, or limitations of sketch recognition, so I'm looking forward to learning them. I also think that sketch recognition is applicable to my area of study, human-robot interaction.

What experience do you bring to this class?
My undergrad is in Computer Science, so I bring with me all the fundamentals from that. More interestingly though, I enjoy working on the hardware side of things and have experience from doing robotics research for a few years. I also have a strong background in psychology and am experienced at running large-scale human participant studies. I also really enjoy working with video and anything to do with visual effects. I spent a few years self-employed making local commercials and other video projects. Finally, I enjoy web-based technologies and have a lot of experience building web-based solutions for a wide variety of applications.

What are your professional life goals?
My main goal professionally is to always work on technologies which have a social impact. More concretely, I've had fun developing a couple of small businesses and would like to spend more time doing things like that. I'm also extremely interested in teaching and leading research at the university level.

What are your personal life goals?
My personal life goals are vague. I want to experience as many things as possible and try to understand things from as many different perspectives as possible. I guess my main personal life goal is to contribute to the world in a positive way.

What do you want to do after you graduate?
Postdoc? A Faculty Position? Start a business? I don't know!

What do you expect to be doing in 10 years?
Something amazing. I can't be any more specific than that.

What do you think will be the next biggest technological advancement in computer science?
It seems like it will be in the area of human-computer interaction. Modalities like gesture and speech are becoming popular at the consumer level. I think eye-gaze tracking will become an important part of regular interactions soon. It will be the fusion of these different modalities into something that works and is enjoyable to use.

If you could travel back in time, who would you like to meet and why?
Jesus, the central figure of Christianity. I grew up studying Christianity and a lot of people I know make their decisions based on things that Jesus said, so I would have a ton of questions for him.

Describe your favorite shoes and why they are your favorite?
They are tannish colored with dark blue stripes. They are comfortable and functional.

If you could be fluent in any foreign language that you're not already fluent in, which one would it be and why?
German or Russian, because they generally sound kind of intense and angry when saying everyday phrases.

Give some interesting fact/story about yourself:
I really like live productions of any kind: theatre, concerts, etc. Specifically I like all the technical behind the scenes stuff. I used to do lighting design for local theatre and bands, and I still enjoy even the smallest technical roles.