Avatar: interactive control of a 3D avatar in a complex environment. Project leader was Jehee Lee; paper published in Siggraph 2002.

PRSDR: a novel algorithm for coordinating cooperation in realistic, low-communication auction scenarios that uses self-enforcing strategic demand reduction to provide significant profit improvements over individual approaches such as the Knapsack algorithm. Published in Workshop on Agent-Mediated Electronic Commerce, a workshop at Autonomous Agents and Multi-Agent Systems 2002 (which published the extended abstract).

Blend: using a signal-processing approach to transition (or otherwise modify) motion-captured actions while maintaining high-frequency components and verisimilitude.  The particular subproblem I'm addressing is that of deseaming difficult and conflicting motion transitions.

For example, suppose a motion-captured kicking motion was available, where the character kicked once and then returned to a more normal standing-on-both-feet position.  To use two copies of this motion clip to make an output motion where the character kicks twice before putting its foot back down, the transition between the first copy of the motion and the second would have to occur while the first motion had the kicking leg coming down to return to the ground and the second motion had the kicking leg coming up from the ground at the start of the kick.  This, then, is a conflicting transition - the two motions, while they may have similar poses, have velocities in very different or even opposite directions.  Interpolating between the two motions over too short of an interval will cause noticeable visual artifacts as the body snaps quickly to the new position, while interpolating over too long of an interval will wash out any characteristics of the original actor who created the motion as well as possibly leading to undesirable visual artifacts like the foot rushing back from the first kick too quickly as it's blended with a foot position near the ground.

This problem is similar to that of deseaming image transitions, as examined in Burt and Adelson's classic paper, "A Multiresolution Spline with Application to Image Mosaics", in that the high-frequency information of the motion must be blended with a small interval to maintain it intact while the low-frequency components must be blended with a longer interval in order to avoid a visually apparent seam.  Hence, I use an interpolation approach where the frequency bands of the motion's joint-angle signals are treated separately from each other, allowing just such a composite blend.

Moreover, this method is being used as the test-bed for examining several motion-quality metrics.  For many applications, the created motion need not be perfect nor optimal - "good enough" is, well, good enough.  The problem, however, is that "good enough" is a subjective measure that requires human input, since it's "good enough (to a human observer)" that is the real goal.  For any metric, motions that are "good enough" will have certain values, and motions that are (for various reasons) not good enough will have other, ideally very different, values.  With an appropriate suite of metrics, then, it should be possible to examine the metric patterns that tend to accompany motions which are good enough and hence have an automated method for determining whether a human observer would consider the motion acceptable.  If this could be done with sufficient confidence and accuracy, it would allow "good enough" - whatever that means for the current application - to be used as a guide for optimization steps or automatic blend generation.  Even if the discriminating power is uncertain or imperfect, this would provide a reasonable base from which to continue further with other methods with lessened human intervention.

Much more information on this will show up very soon - I'm preparing a presentation on it, and the choicest data will be presented here for your viewing enjoyment...

DataStrokes:  visualizing computational fluid dynamics data using a painting metaphor to aid comprehension.  It looked a little like this...

Dan Keefe and I worked on this for David Laidlaw's Scientific Visualization course in the fall of 1999.  We hoped to create a method of visualizing multiple data values, such as vorticity and velocity, in a fluid using techniques reminiscent of those used in oil painting.

The  image on the left was one we created by hand using a spline-and-colour tool we'd made and was our proof-of-concept image.  On the right is one of the imaged generated automatically from the data file and showing streamlines, velocity, and vorticity (IIRC).  (All parts of the project were shared between us.)

ROMP:  the project for Brown's week-long programming comprehensive exam the year I took it was to create a physical simulation of a pretty cool toy, the Randomly Oscillating Magneting Pendulum (ROMP, for short).  My simulation took into account gravity, attractive or repulsive magnetic forces, and pendulum collisions (either of the magnet on the end of the pendulum or of the supporting stick) with other parts of the toy (the supporting column in particular), with adaptive timesteps and a variety of little goodies (a selectable pendulum-tracer for visualizing the motion, physical characteristics - from mass to damping constant to magnetism - that could be changed on the fly, and so on).  Surprisingly fun, as week-long tests go.

Semantic Disambiguation:  a statistical approach to discerning the meaning of a title phrase in a web page.  Done for Eugene Charniak's Natural Language Processing course, we gathered a corpus of web pages with selected title phrases to train on, and then categorized the individual phrases as one of Book/Movie/Game/Other based on the context.  This was a group project, but I coded pretty much all of it.

Watercolor:  an implementation and slight extension of part of Cassidy Curtis's Siggraph '97 paper "Computer-Generated Watercolor".  I did this work with Joe Lee and Georgeta Marai for John Hughes's graduate graphics course, with most of my work being on the UI.

Daily Sobriety

Treat every day as though it were your last.  It might be.
Box 1910, Computer Science Department
Brown University
Providence, RI 02912

Finger me.

Home People