Last modified: 15:39 Jan 18, 1999
General Rules
You will be required to complete one major project for this
course.
Some ground rules on projects:
- You may work in groups of 2. If you do work together, you will
be expected to complete a more ambitious project.
- You must write a project proposal, describing what you want to
do. Project proposals must be approved by March 4th,
which means you must complete the proposal beforehand so we have
time to discuss it.
- You must pick your own project and define it.
- You must create an animation as part of your project. Most
probably, you will write a piece of software and then use it in
the production of an animation.
- You must write up a web page describing your project.
The deadlines:
- February 25 - project proposal meetings scheduled. Because of
the next deadline, you have to schedule a meeting with me to
discuss your project. I am happy to meet with you more than once,
or to meet with you before this deadline to help you pick a topic.
By Feb 25, you should definitely have picked who (if anyone)
you're going to work with, and have ideas as to what you will work
on.
- March 4 - project proposal acceptance deadline. By this date,
you must have a project proposal on the web, and have your project
approved by me.
- April 6 - progress reports. By April 6, someone on your
project must send me email describing what you've done, and what
you expect to have done by the end.
- April 27 - final animations due. The animations that you are
going to submit as your "final" from your project must be given to
me (so I can make a compendium reel to show in class).
- April 29 - project web pages due. Your "final report" on your
project must be posted to the web.
838 Project Ideas
Part of the task of doing a project is picking one and defining
it.
Pick an paper that it would be interesting to have an
implementation of, and make interesting use of it:
- Witkin&Kass / Cohen Spacetime - synthesize some
interesting motions
- Ngo&Marks / Simms Creature and controller synthesis -
synthesize some interesting motions
- Miller - snakes and worms
- Hodgins et. al - human simulation
- Perlin - "noise" based motion synthesis
- Witkin and Welch Fast Physics - build a simple animation
system for springy objects. Now that there's texture mapping
hardware, you could do the 2D stuff with images.
Pick a paper that generates nice images, and make it work for
animation:
- XXX & Salesin pen and ink illustrations
Pick a basic method and make an implementation that nicely
integrates it into some other system / method
Pick a paper that has a technique that could be applied to
animation, and apply it:
- Seitz & Dyer cycle analysis - do this for mocap data
- Black & Yacoob face tracker - could be used to drive
facial animation
Apply something in a new domain:
- Automatic cinematography for visualizing mechanical
gadgets
Mix and match:
- Add Perlin noise to "liven" motion data
Something crying out to be done:
- Automatic emphasis/exageration
- Pen-based input of motions
- Simulator for cartoon physics
An "engineering effort" to build a useful tool that provides an
opportunity to add in something more interesting if time permits.
- A viewer that automatically produces animations from motion
capture data (automatic cinematography, mocap file understanding,
...)
- A mocap processor to take marker data and produce skelletons
(add in better mathematics, robust statistics, ...)
- A simple video tracker (chromadots, patterns, textures)
driving motion.
Pick a "known hard problem" and implement a state of the art
solution (or better, improve the state of the art)
- Hair and fur.
- Puddles and splashing.
- Cloth simulation
- Human motion simulation
Insert some "new mathematics" into existing techniques:
- Exponential map based motion editing (signal processing,
keyframing, spacetime, ...)
- R-function for non-intersection, visibility, non-overlap,
...
- Quaternion Spline based motion editing
Build a "Tutorial Implementation" of a mathematically difficult
paper
- Interpolating cubics for quaternions
- Caltech dynamic splines
Make a film that requires developing some technology to produce
it
- Integrate a CG character into a real environment
Some "hacking efforts" that aren't necessarily 838 projects, but
would be "useful" things to do to help animation research here, and
might be grown into an 838 project with some creativity:
- Acclaim Skelleton (mocap data format) parser writer, tied to
Timelines
- Mocap data web pages for public mocap library
- Maya <-> Timelines interfaces
Some Possible Projects
- Particle system crowd simulation (flocks/boids)
- Non-Photorealistic rendering - make a new style work for
animation
- Paint on video (planar tracking/segmenting, drive image warps,
...)
- Motion capture processing (robust statistics or optimization,
from optical data)
- Ngo/Simms spacetime/GA based synthesis
- Walk/Run generator from data
- Mocap from images
- Witkin/Kass/Cohen spacetime synthesis
- quadraped/multiped
- video de-interlacing
- autocinematography with occlusions
- faces driven by video analysis (black & yacoob)
- map human motion to other characters (furniture)
- automatic camera control during manipulation or
visualization
- automatically build strobed view (auto-summarization)
- perlin dancer (synthesis motion via noise)
- perlin noise to "liven" mocap
- automatic explanation generation
- shadow/light matching
- skin/muscles
- optimization-based keyframe interpolation (with
avoidance)
- automatic exageration/cartoonification of motion
- non rigid figure tracking to drive animatiom parameters
(visual servoing)
- Thin-plate-spline image warps with constraints.
- cycle analysis
- automatic constraint detection
- Modal dynamics
- Caltech Dynamic Splines
- Quaternion interpolation splines integrated into
spacetime...
Some thoughts on graphics research projects:
Planning is important
A Formula for a SIGGRAPH paper:
- Here's a problem (that you have)
- Here's why current tools don't address it
- Here's the answer
- Here are the details to try this at home
- Here's some evidence that it really works
- Here is some evidence that it is interesting
A good choice for numbers 1&2 can make 6 easier. Pick problems
that it will be easier to give compelling proof. Be sure you have
ideas for examples. This sets your minimum for what you need to do,
and also may be a critical flaw (if you can't actually generate the
example, for lack of data, ...).
Always a good bet when you don't have to convince someone that
what you want to solve is a problem.
2 is tough since almost can be done manually, given enough time,
talent and effort.
Think like a reviewer.
Beware of unreasonable resource needs:
- vast amounts of computation
- artistic (or other data) - for example, if you need to get 100
walking motions to do a statistical machine learning
technique
- users (to do a user study so you can claim "easier"
Know criteria for success