Project 2–First Ideas

by Mike Gleicher on March 27, 2011 · 38 comments

in Project 2

I want this to be flexible. You should work on a topic you like, in a style of project you like, with a team that you like. But, if you don’t give me ideas as to what you want to do, I’ll make it up for you.

All projects will involve doing some reading (some I pick, and some that you’ll have to find), some writing (a final report), some presenting (an in-class presentation).

Topics:

The topic should be related to animation, but I am willing to have a broad notion of what this is. It’s fine to mix in some of your other interests.

Kinds of projects:

All projects will require reading and summary writing, final report writing, and a presentation. Different categories may require different amounts of each. A survey project would require more reading, a longer presentation, but no implementation. An engineering project would have less reading, a shorter presentation (with a demo), and a lot of implementation.

Category A: More “reading based” – primarily a survey/presentation. You might do some implementation to make a demo of the basic idea, but its not an extensive implementation.

  1. Survey of the basic approaches (to a fundamental topic) (faces, fluids, crowds)
  2. Survey of a topic (find what’s happened in a narrow topic)  (sketch-based animation, performance animation)
  3. Basic Idea + applications, follow on  (perlin noise, kallman filters)
  4. Paper in detail (easy with details, hard with intuitions) (2.5D cartoons, piles of objects, a current physics control, fastlsm)
  5. Current paper background (example-based rigging)
  6. Historical paper (idea, impact) (spacetime constraints)

Category B: More “experiment-based” – try to solve some interesting problem. With an old method, an emerging method, or an invented method. Many of the types here require you to pick simple versions of the problem (like limiting yourself to 2D)

  1. Build basic “reference implementations” for a several approaches to a basic problem, and compare contrast. (shape morphing, skinning, …)
  2. Take a (moderately hard) paper and work through the details enough to make a basic implementation of the approach.

Category C: More “engineering-based” – what makes this interesting is that you’re picking an “engineering constraint” on how you’re building the solution that makes it interesting. You still need to have interesting methods and an interesting problem, but more of your energy  may be spent dealing with practical issues.

  1. Pick an interesting input device (a Kinnect) and do something with it (make a puppetry system or 2D animation authoring)
  2. Take an interesting form of data (tracking data from video) and do something with it (make cartoons, or crude environments).
  3. Take an interesting implementation technology (SVG animation, WebGL) and do something interesting with it.

Team:

You may work alone. You may work with a partner. If you really want, you may work in a group of 3. I would prefer if groups of 3 were not the same as your project 1 groups.

Expectations will be higher for larger groups. And each person will be required to do some in-class presenting, and write paper summaries.

Your Ideas?

Please put project ideas (topics, specific projects, thoughts on types, …) as comments on this posting. If you have good ideas, they might be interesting to someone else (even if you don’t do it yourself). Or maybe you’ll find a partner, or at least someone to bounce ideas around with.

Then send an email with choices for all parts by Tuesday, 3/29, 8pm. These choices aren’t cast in stone (and its OK to be vague, or even “I don’t care” for some aspects) – but I need some ideas so we can start to define projects.

{ 37 comments }

Jim Hill March 28, 2011 at 4:45 am

I am interested in fluid simulation similar to what’s found here:

http://physbam.stanford.edu/

I’m not as interested in rendering, just the simulation so I wouldn’t expect to have something that looks as good. If possible, I would like to look at implementation on the GPU.

Reid March 29, 2011 at 4:24 pm

That looks pretty sweet, I wouldn’t mind working on something like that. I haven’t worked with GPU coding much but it’s something I’d like to pick up.

gleicher March 29, 2011 at 5:33 pm

I guess the main issue is where to start, and what to do in a short amount of time. Also, to warn you, unlike stuff we’ve been doing in class, that stuff actually requires learning some math.

One thought is to talk to Eftychios and see if he has any good ideas for simple, short term projects. (that don’t require taking his class first)

Michael Correll March 28, 2011 at 12:26 pm

We talked about the rules of animation in the beginning of the class, with the objective of seeing how we can apply them to 3D animation. I think it would be cool to implement a project that goes the other way around, from knowledge of the rules of animation to the creation of objects.

I’m envisioning a sort of sketch interface for drawing spheres, where animator draws circles using all the tricks of the trade. Based on the squash, stretch, location of specular highlights, and things like shadow length and placement, the software creates a plausible sphere with plausible lighting conditions and motion paths.

Similar to the 2.5D cartooning paper, I’m thinking of a system where hand drawings are the input, and a plausible 3D motion is the output.

adrm March 29, 2011 at 11:12 am

I want to do something similar to you, also using the 2.5D style, but to animate 2D characters using 3d data. It would probably be good if we worked together on some common infrastructure for the 2.5D stuff

Michael Correll March 29, 2011 at 2:50 pm

I was envisioning this as more of a generative art project than animation per se: the user draws one or more static images and it results in a animated scene for testing of compositions and dynamics. I agree that the sort of things that our projects will require (solving for lighting conditions &c.) are going to be very similar up to a point. Collaboration might be a good idea just so there isn’t duplication of effort, then we can go our separate ways once we have a good platform working.

sgallege March 29, 2011 at 4:47 pm

I think this is a very cool idea… I think sketch based animations are cool in general. I thought you were implementing some sort of sketch based techniques in project 1, hope that it coming along well too.

The reversed approach sounds interesting but how difficult is to actually get to work. I can definitely think of some cool application once you get it working. Eg: have collection of drawings by kids and using those sketches to create a 3D animation or using photos as input (might be getting more towards the Computer vision there though)

csv March 28, 2011 at 1:47 pm

There are bewildering number of articles on “Mesh Deformation” such as Laplacian, Poission, Subspace gradient methods, Least square ….. and the list goes on and on.

But two things are very clear, (1) Mesh deformation is extremely useful (2) There are no public domain software to experiment and evaluate different systems.

I have read atleast 20 different papers in the last 10 days and now I am thoroughly confused also. So I want to pick 1-2 paper and start implementing the underlying ideas and see how much the papers hiding the important issues and how useful the techniques they present. I want to do gory detail analysis of all the techniques, but perhaps the time is too short.

So, here the starting point ( and more papers in the next posting )
http://www.cs.nyu.edu/~sorkine/ProjectPages/Editing/lse.html

Anyone wants to join me ?

xlzhang March 29, 2011 at 8:40 am

I enjoyed the papers on cage-based deformation, especially the Joshi et all paper on harmonic coordinates. I also want to learn MEL. I’d like to do a Category B type project and see what kind of results harmonic coordinates gets on materials such as cloth.

Leslie March 29, 2011 at 11:00 am

physics-based animation?

sandrist March 29, 2011 at 12:18 pm

I also am intrigued by physics-based animation. Finding an interesting paper and working through the details to a basic implementation sounds like a good idea. Not sure what that interesting paper would be though.

Jim Hill March 29, 2011 at 3:54 pm

My fluid simulation idea would probably fall under this category. Now that I think about it, it would be interesting to investigate “cartoon physics” to see if there is any simply way to extend classical mechanics for animation of exaggerated characters. Mechanics is hard enough though so it would probably be an ambitious project.

Leslie March 29, 2011 at 5:27 pm

The cartoon physics thing sounds like a really neat idea.

gleicher March 29, 2011 at 5:34 pm

I like cartoon physics – in some ways, it can be easier than real physics. But in other ways its harder since it is about “intent” – it isn’t just following the rules of the world – its dynamically changing the rules of the world to tell a story.

adrm March 29, 2011 at 11:11 am

I want to explore using 3D motion cap and other animation techniques for animating 2D characters. I am envisioning a system similar to the 2.5D cartoons paper that uses image warping to retarget the 3d animations to a 2D character. Perhaps it would be beneficial if Michael and I work on some common components together.

sandrist March 29, 2011 at 12:14 pm

Implementing a simple puppetry system on Kinect sounds really fun, but I have no idea how hard that would be. I saw this (http://www.youtube.com/watch?v=GBjOIjc5qn0) the other day, which I thought was pretty cool. I suppose this would actually require having a Kinect, which might make this idea not possible, but perhaps there are other options?

raja March 29, 2011 at 1:17 pm

Yup, that sounds like a really cool and fun idea.
I found this video of a simple (!) hand puppet system which they claim to have hacked in a day using openFrameworks and libFreenect
http://www.youtube.com/watch?v=tAGnSrdOfyA

There is a whole open source kinect hacking community at http://openkinect.org/wiki/Main_Page

I’m thinking about using kinect and webgl together, hopefully in a simple game. There is a group at MIT who’ve used kinect to interact with the browser (depthjs).

sghosh March 29, 2011 at 1:22 pm

wow that video is really cool. yah i believe this requires a kinect for implementation (unless someone decides to use reinforcement learning and controls!). but it would be really interesting to make something using the kinect.

Nathan Mitchell March 29, 2011 at 4:33 pm

Getting a Kinect might not be a problem. The VR class was able to get two for experiments with the CAVE in WID. You may want to talk to Kevin Ponto about them. I too think this is an interesting project.

danieljc March 29, 2011 at 12:26 pm

I would prefer to focus more on Category B or C, assuming I was working with one or more partners on a project.

A few different project ideas:

– Something related to an expansion of some of the project 1 material, like experiments on moving characters in a non-flat landscape with a constraint system including footskate control.

– A project including an attempting to implement one of the modern versions of skinning, could be with deformations

raja March 29, 2011 at 1:18 pm

Is there a Kinect that is available for use in the graphics lab?

gleicher March 29, 2011 at 1:52 pm

I will buy a Kinnect if people want to use it

raja March 29, 2011 at 1:59 pm

awesome, thanks mike!

sghosh March 29, 2011 at 1:30 pm

Initially I was interested in doing something with a kinect but I guess that’s not available. So I might try some simple physics based animation as well.

gleicher March 29, 2011 at 1:55 pm

I will buy a Kinnect if you want to do something cool with it.

raja March 29, 2011 at 1:31 pm

Thought I’d add a few things that might be of interest to someone
i) Procedural content generation: There are a ton of ideas/approaches/algorithms in this area (a lot to do with pseudorandom generators).
Lot of info at http://pcg.wikidot.com/
ii) Maze creation using WebGL or O3D
A ton of info at http://www.astrolog.org/labyrnth/algrithm.htm

Reid March 29, 2011 at 4:21 pm

I’m working on a 2d random dungeon generator for another project, if your curious remind me and I can show you in class tomorrow.

Nathan Mitchell March 29, 2011 at 4:39 pm

I personally have an interest in crowd animation. Perhaps it would be possible to use a combination of Kinect motion capture with a noise function of some sort to generate a large crowd. I’m thinking of a system where the other people in the crowd would have similar motions to yourself, but each individual would move slightly differently due to noise. This may create a convincing model of general crowd emotion. I believe Perlin did an interesting demo with noise controlled figures, maybe we can build from that?

Jim Hill March 29, 2011 at 4:11 pm

Here are some other ideas that I thought I would throw out there if anyone is interested.

1. Tools for animation creation. This wouldn’t be motion synthesis, but a method for animators to generate animation. We didn’t really talk much about what animators want in animation tools, we just sort of left it at “Maya knows best”. This would be sort of a “Think outside the box” project.

2. Kinetic for motion detection. I saw people asking about Kinect and I have to wonder why there isn’t a product for getting motion data from the kinect into BVH format. Given open source libraries, this might be too easy.

3. Understanding rendering for animation. I know from the Renderman companion that things like anti aliasing and motion blur are required for visually pleasing animation. It would be interesting to know if there are any other attributes that aren’t required in single frame rendering but make animation look much better.

4. Animation in learning. I’ve always felt that Animation is the best way to learn things. Something that can take pages of explanation in text might be made much simpler by an animation. For example, in the derivation of a mathematical formula, many print sources assume that any missing pieces of an equation (such as canceling or replacement) will be detected by the reader. A simple animation in which terms that cancel have lines drawn threw them before being removed or equalities are shown before being replace would make understanding math concepts much simpler.

5. Cartoon style animation. This sort of falls under the topic of rendering, but we did read the 2.5d animation paper. Japanese game developers seem to be getting very close to emulating the style of anime, it would be interesting to see a survey explaining what they do right, what they do wrong, and how it all works.

Another thought would be to see if you can couple the 2.5d technique with a model sheet to get something that truly looks hand drawn.

gleicher March 29, 2011 at 11:45 pm

each of these leads to a great set of potential topics.
#2 – kinnect to BVH isn’t so straightforward since you’ll need to deal with the noise issues to get decent results
#4 – there’s a bunch of the psychology, but it would be nice to create animations that either show stuff off well, or experiment as to whether good animation leads to better learning
#5/#6 getting hand drawn looks is a big topic that is quite far along.
using model sheets, not something that happens much
(of course, its hard to get our hands on many model sheets)

Reid March 29, 2011 at 4:18 pm

I’d like to work on either experimenting or engineering based project. I remember the animation effects video’s we were shown at the beginning of class and think implementing some sort of effect/effect(s) could be fun and interesting.

I also find computer vision interesting so I’d be willing to work on a kinect based project. My laptop already has the freenect drivers installed on it as well.

sgallege March 29, 2011 at 4:39 pm

I would like to look in to 2.5D cartoons, when I read the paper initially I thought the Idea was pretty cool. So I would like to look in to it a little more. I think it would be interesting to work on basic implementation or extend functionality of the provided implementation.

danieljc March 29, 2011 at 4:49 pm

Another idea would be for experiments and/or implementation with more specific character animation concept such as building a system for changing facial expressions.

Aaron Bartholomew March 29, 2011 at 5:20 pm

Sorry about the lateness…

As with many others in the class, I’d like to do something with 2D character animation. The idea I’m considering is to use a motion with a 3-D model to generate ‘sprite animations’ from orthographic projections. In other words, an artist would create a model + animation and specify a desired projection; then the tool would sample the animation from this perspective and generate X amount of images (putting them on a sprite animation grid/texture).

Ideally, I’d like to use the results from this to make a controllable ‘sprite pawn’ in the Unreal Engine with the intent to streamline production of 2D + 3D games.

Realistically though, I might need to settle for a reading-based project focused on 2D animation due to plethoras of programming I have for other classes.

Danielle March 29, 2011 at 5:26 pm

Physics based animations would be something interesting to play with.

Also, it’d be interesting to see how perception can be involved the construction of animations (i.e. in procedural content generation or in blending or facial animation) but I have no good sense of how well this has been covered in the literature. I know there were a few facial animation topics discussed at APGV last year, but that’s all I can think of right now.

csv March 29, 2011 at 10:57 pm

Jim wrote “Animation in learning”, and I think this is extremely powerful media to explain many hard to imagine physics or maths. I could never understand the Bing-Bang Horizon, String theory, and 10 dimensional spaces without the animation.

How can you explain to a child ( or for that matter even adult) that it is possible to turn a sphere inside out without puncturing it.
http://www.youtube.com/watch?v=R_w4HYXuo9M
or produce elegant universe
http://www.youtube.com/watch?v=zO2vfYNaIbk

In fact, we spent too much time on Brownian motion of human beings in the class than many other types of animations, which are impossible to produce without computers.

xlzhang March 30, 2011 at 7:36 pm

Again on the topic of animation in learning, I think a lot of advanced subjects could benefit from applications of computer animation including physics, chemistry, and medicine. The most extreme example of this that I have come across is virtual surgery, where surgeons can practice surgeries using tools that actually have tactile feedback when a virtual obstruction is encountered, or when making a cut. That’s probably a bit out of our league at the moment though.

Simulation of plasma, or animation of events detected by photon detectors in common usage in physics labs everywhere ( in conjunction with lasers and atomic colliders) would probably be helpful to physicists; they do get an idea of what is going on inside via LabView or printouts, but computer animations are obviously cooler.

{ 1 trackback }

Previous post:

Next post: