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