Project Description ------------------- My goal was to start with a motion capture file for a human performer, and modify it to make it more suitable for cartoon animations. The way we achieve this is by applying some of the 11 rules in the Lasseter paper. The results of my work can be seen in the handin directory. I put in the actual bvh files for the inputs and results. I used 2 techniques, one of them works in the frquency domain, and the other works in the time domain. The frequency domain technique works on the DCT of the signal, whilst the time domain technique works directly on the time domain. The frequency domain technique allows you to amplify/diminish certain frequencies, thus affecting the moves these frequencies represent. The time domain works directly on the input signal. The user specifies ranges of frames for anticipation, exaggeration and followthrough, and how much to affect each of those. I found the frequency domain filter to be easier to work with and it generally produced better results. The reason behind this is that the time domain technique gives much more control, and is much easier to mess up!! I think that the time domain method is impractical without an automatic way of finding out where to apply the filter. Otherwise, it takes a huge time even to do the simplest task! I learned several things in this project. The list includes a. How to study frequency behavior of orientations b. Designing simple filters in frequency domains c. Dealing with BVH files, and the MotionResearch package in lab. Self Evaluation --------------- I think for this projectlet, it was a success. I could achieve my goals, and the results were pretty good. I wish I could also find a way to automatically identify parts of the motion to exaggerate, but probably that was too much for this projectlet. Summary of papers I read ------------------------ Spacetime Constraints: The paper discusses how to modify a certain animation to obey some constraints. The solution to the problem is to integrate time into the optimization problem, so that now, we are optimizing in both space and time. The benefit of this method is that you no longer need to worry about discontinuities. I couldn't find a way to integrate this into this project, but it was a fun read overall Motion Signal processing: This was an optional paper for CS777. This one contained several ideas for applying signal processing on motion data. This was a real inspiration, because it gave so many different ideas for applying filters on motion data. Stylizing motion with drawings: This is another paper about cartoonifying motion. But, it goes to a different direction. This paper focuses more on squashing and stretching. It also requires an actual artist to help the system by making some stylized drawings in 2D, which is a good thing, since computers don't really understand the concept of "beautiful" exaggeration very well! How does this affect my next project ------------------------------------ After doing this project, I started to believe it would be a good idea to have at least a basic set of features that have to be implemented. So, I am trying to write a set of features to implement for my next project. Credits ------- - For the BVH system, I used the KovarMotionResearch package availalbe on the CVS repository of the lab. - I used a public domain implementation of DCT available here (http://momonga.t.u-tokyo.ac.jp/~ooura/fft.html). - Thanks to David for trying to help with foot skating, unfortunately, we weren't able to get it working because of skeleton differences - Thanks to Rachel for trying to help with producing videos (but I ended up using my own method anyway! :))