CS527 Paper Presentation

Title: Skinning Mesh Animations
Authors: D. James and C.D. Twigg
From: ACM Transactions on Graphics (SIGGRAPH 2005), Vol. 24, No. 3, August, 2005.


Paper website: Here
Paper: Download
Animation Video: Download

References:
Mean shift clustering: http://homepages.inf.ed.ac.uk/cgi/rbf/CVONLINE/entries.pl?TAG1156


Questions and Answers:

Arunan Rabindran:
How can we play with epsilon which is constant (0.05) in this implementation by changing it in realtime?

From the Figure 5. in the paper, you can find that the smaller epsilon the more bones you will get in the estimated results. The epsilon is the input parameter to Mean Shift Clustering to control the number of estimated bones in the pre-processing phrase.

Joshua Buss:
Are the weights between two vertices or between each vertex and a local "center"? Are vertices between bones "connected" by weights too?

The weights are calculated with resepct to all bones that will be affect the vertex. Each vertex will calculate their weights from influcing bones independently(in the equation6,7), though the weighting coefficients are solved using least square fitting with enough inputs.


Saiprasad Santhanakrishnan:
The different zone on the horse(the colored horse) is determined using the algorithm. Does this algorithm consider all motions of the muscle, bones? Or is it just for the running motion?

The basic bone structure and bone influential weights are determined from the input samples. According to this paper, the estimation and approximation are quite stable, you could say it's close to the real model skeleton, so you can do something like rest pose editing and keep the animation. I think the paper Jason presented took a step further providing editing tools based on the estimation produced in this paper. Then you can have more edited samples to do more different pose animations.


Jason Gorski:
Exactly what data is being sent to GPU?

Javier Iparraeuirre:
Do you store the clusters in the GPU? If so, what information do you send while animating?

The bone clustering and the influence weighting from related bones for each vertices are calculated offline. So during runtime, to do the animation, CPU only needs to send all bones transformation matrix (10-100 bones maybe). The vertices' positions in the next frame can be calculated from bones' transformation matrices and the weighs(which should be already in GPU). By the way, the bones transformation could be just a function of time step. Comparing to send millions of triangles' positions every frame even with vertex buffer object, this method could save a lot of traffic between CPU and GPU.


Vijay Krishnamoorthy:
The result section of the paper, claims that the computation complexity is O(nSB) while memory complexity is O(nS). Why does memory complexity not take, no . of bones into consideration while computational complexity does consider it?

That is because when you are searching for a limit value among all sample points in the space, you will only want to find a (local) maximum at a time. In this case, we are searching for bone candicates, and we just looking for one bone at a time.


Lindsay Grace:
Both the "skinning mesh" and "Inverse Kinematics" require samples for constructing the animation algorithms. Has any research been presented that demonstrates the cost (animation time, pre-visualization pre-production) of this technique compared to traditional bone based approachs? I'm particularly concerned about implementation of models that are brand new charaters - can we reduce animation time by blending reference frames?(eg. use two pre-processed creatures for the key frames - a  big horse and a man for pre-processing a creature).

Both these two papers do need some not too bad input samples. Actually that is what the authors speaks during their SIGGRAPH presentation. They need companies or institutes like Pixar or so to release more complex and interesting datasets to facilitate the research in this area. This paper did not discuss the cost of such method comparing to letting animators manually draw the bone structures and specifying kinematic relationships. But I can imagine that for characters that can be precisely captured digitally such methods could save a lot of time. And of course for characters that cannot be captured some human intervention will be necessary in some stage like the composition of human-horse creature. After that it might look like just merging two skining data structures. This paper's technique can still be applied to get the benefits of highly reduced CPU-GPU bandwidth consumption.


Vishu (Vivek R S)
The algorithm uses the examples of the models provided to identify bones (‘proxy bones’ or ‘proxy vertices’). Most of the modeling done for computer animations are either modeled using software or scanned using laser scanners, et al. What are the advantages of letting the algorithm ‘guess’ the bones as opposed to the designer specifying where the bones are located?
 
I think as the audience getting more and more critical to realistic character movements, more and more animations will be fully captured using either laser scanner or high resolution cameras. We can think such techniques can provide a coarse estimation of what is precise real. If the automatic estimation is good enough for most of the cases, then animations can just move on to the next cut/shot. If the result is not good enough, then animators come in to do more fine-grain tuning of character's bone structures and kinematic constraints. That could save them quite some time in reality I believe. Also with the SMA idea, more intuitive editing tools could be developed to facilitate animatior work just like the paper presented by Jason.


Fall 2006, by Julian Yu-Chung Chen