Title: Pose-independent Simplification of Articulated Meshes
1Pose-independent Simplification of Articulated
Meshes
Christopher DeCoro Szymon Rusinkiewicz
2Motivation
- Decimation enables complex scenes
- Interactive rendering
- Automatic Level of Detail
- Non-static geometry crucial for movies and games
- Goal single decimated mesh for multiple poses
- Lower cost than view / pose-dependent LOD
- Framework for geometric processing on non-static
geometry
3Pose-Independent Simplification
- Current methods consider a single pose
- Do not preserve enough detail for some poses
- Coloration based on triangle area, note uniform
color
Reference from Surface Simplification using
Quadric Error Metrics, M. Garland, P. Heckbert,
1997
4Pose-Independent Simplification
- Heuristics for adapting static simplification
- Bending joints then applying
- Preserve high detail near joints
- Drawbacks manual intervention,excessive
preservation of detail
5Pose-Independent Simplification
- Adapt decimation to considererror across all
poses - Preserve detail where necessary to allow
deformation - Preserve detail only where necessary
6Simplifying Articulated Models
- Observation need to specify meaningful, but
restrictedclass of deformation - Kinematic skeletons with linear blend skinning
- Probability distribution constraining
deformations - Major result define pose-independent quadric
containing information about all poses - Computed as a preprocess
- Used by standard iterative decimation method
- Generalizes quadric from union of multiple planes
tounion over multiple planes and poses
7Framework
- Preprocess
- Monte Carlo sampling of pose probability
distribution - Build pose-independent quadrics
- Run-Time
- Standard iterative contraction
- Update skinning weight vectors
8Outline
- Framework
- Background
- Kinematic skeletons
- Linear blend skinning
- Pose probability distributions
- QSlim
- Algorithm
- Results
9Kinematic Skeletons
- Heirarchy of affine linear transformations
(bones) - Each non-root bone defined in frame of unique
parent - Changes to parent frame affect all descendent
bones
10Linear Blend Skinning
- Each vertex of skin potentially influenced by all
bones - Normalized weight vertex wv gives influence of
each bone transform - When bones move, influenced vertices also move
- We can compute a transformation Mv for a skinned
vertex - For each bone
- Compute transformation Nb from bind pose to bone
coordinates - Compute global bone transformation Mb from parent
transformation - For each vertex
- Take a linear combination of bone transforms
- Apply transformation to vertex in original pose
11Assigning Probability Distributions
- Simplest Box functions
- Range of values for which probability is non-zero
- More control Gaussian distributions
- Assign preferred angle (mean), stiffness
(standard deviation) - Corresponds to intuitive quantities
- Detailed control sampled functions
- Pre-defined animations
- Motion capture
- All of these are high-dimensional functions
withcomplex correlations - Can reduce dimensionality by letting Mb
TranslateRotateScale
12QSlim Simplification Algorithm
- Combine framework, primitive, and metric QSlim
- Framework Greedy selection
- Primitive Edge collapse
- Metric Quadric error
- Compute initial quadrics Qv for every vertex v
- Compute optimal error for each edge collapse
- Place into min-priority queue keyed on collapse
cost - While the queue is not empty
- Collapse the edge on the top of the queue to a
single vertex - Update the costs of all edges in the affected
neighborhood
Reference from Surface Simplification using
Quadric Error Metrics, M. Garland, P. Heckbert
13Quadric Error Metric
- Compute sum-of-squared distances over all planes
- Goal is to approximate distance of simplified to
original mesh - Each vertex has associated set of constraint
planes - We can factor out vertices from the summation
- Factor planes into error quadrics (symmetric 4x4
matrices) - Avoids requirement to keep list of planes plane
union as quadric addition - Common math technique to represent quadratic form
as a matrix multiplication
14Outline
- Framework
- Background
- Algorithm
- Expectations
- Overview
- Pose-independent Quadric Derivation
- Blend-weight Update Rule
- Results
15Intuitive Expectations
- Suppose we have a leg model
- Joint bends at the knee, 90 degree range of
motion - What do we expect to see?
- Areas away from the joints dramatically
simplified - Crease at the bottom preserved in high detail
- Rounded top maintains mid-level of detail
16Incorporating Multiple Poses
- Mohr Gleicher 03 Arbitrary Deformation
- Consider error in each pose for every collapse
- Our Method Linear Blend Skinning
- Consider all poses in a preprocess
- Collapses are independent of pose
Foreach collapse Foreach pose Compute
error Perform collapse
Foreach vertex Foreach pose Compute
quadric Combine quadrics from all poses Foreach
collapse Use single quadric to compute
error Perform collapse
17Pose-independent Metric
- Each vertex v corresponds to vertex vp in pose P
- The quadric for v in pose P, Qv(P), can be
computed directly - Expected point-to-plane distance over all poses,
weighted by ? - Our goal will be to factor the vertices out of
the integral, and define a pose-independent
quadric that incorporates all poses
18Algorithm Overview
- Integrated over every pose P
- Compute initial quadrics Qv(P) for every vertex v
- Map quadrics into reference coordinate system
- Compute optimal error for each edge collapse
- Place into min-priority queue keyed on collapse
cost - While the queue is not empty
- Collapse the edge on the top of the queue to a
single vertex - Compute new skin influence vector
- Update the costs of all edges in the affected
neighborhood - Similar structure to QSlim
- Makes large changes to initial quadric
computation - We define a metric, which is independent of
framework
19Remapping Quadrics
- A vertex v in pose P is transformed by Mv(P)
- Suppose we compute error d(v) integrated over all
poses - We can let vP Mv(P)v, then factor out Qv
independent of pose - Equivalent to applying quadric update rule with
Mv-1
20Monte Carlo Integration
- Integral over poses can not be evaluated
analytically - Standard quadrature exponential in dimensionality
- We have up to 12 degrees of freedom per bone
- Evaluate pose-independent quadrics withMonte
Carlo sampling - Recursively stratified to reduce variance
- In practice good results with 10-20 poses
21Weight Update Rule
- New vertices must be given a bone influence
vector - Each parent exerts an influence on the child per
bone - Directly proportional to bone influence on parent
vertex - Influence falls-off based on distance
- Use the following linear interpolation system
- Strong empirical justification
22Outline
- Framework
- Background
- Algorithm
- Results
- Intuitive results
- Weight-update rule validation
- Simplification results
- Quantitative analysis
- Timing
23Intuitive Results
- Previously, we discussed our intuitive
expectations - We show various levels of simplification (26,
13, 5, 2.5) - We can see these were achieved in the results
- Crease kept in highest detail
- Simplified in time 32 longer than Qslim
colored randomly
coloredby area
Less simplified ? More simplified
24Simplification Results
- Standard QSlim is on the left, our method is on
the right - 64k polygons, 16 poses, 25 longer than standard
QSlim
25Simplification Results
- Our method better approximates than
QSlim/Straight Pose - Leg was simplified, then bent. 0.5 resolution,
35 time penalty
26Changing Probability Distribution
- Left knee has larger range of motion, thus
greater detail - Note that region at crease is flat under
deformation
27Quantitative Comparison
- Used the Metro tool to compare generated meshes
- Computes the approximate Hausdorff distance
- We reduce variance of approximation across poses
28Future Work
- Apply to more general classes of deformations
- Linear Free Form Deformation is a natural choice
- When geometry is known, but not skeleton, we
require fitting transforms - Potentially fit linear transforms to non-linear
deformations - Determine the effect of importance sampling
- Does it effectively reduce variance?
- Analyze under which conditions this is
qualitatively effective - Subtle effect for the meshes seen
- Certain conditions may result in more drastic
benefits
29(No Transcript)
30Algorithm Timings
- Compares favorably to standard QSlim
- Considering 16 poses only 25 more than single
pose
31Algorithm Timings
- Compares favorably to standard Qslim
- About 25 overhead w/ 16 samples, less with fewer
samples - For larger models, QSlim iterative contraction
dominates - Our preprocess is O(kn), the contraction is O(kn
n log n)
32Weight-update Rule Tests
- We show both procedural and automatic weights
- Procedural weights are ground truth
- Our method is virtually indistinguishable from
ground truth