320 likes | 344 Views
Pose-independent Simplification of Articulated Meshes. Christopher DeCoro Szymon Rusinkiewicz. Motivation. 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
E N D
Pose-independent Simplification of Articulated Meshes Christopher DeCoro Szymon Rusinkiewicz
Motivation • 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
Pose-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
Pose-Independent Simplification • Heuristics for adapting static simplification • Bending joints then applying • Preserve high detail near joints • Drawbacks: manual intervention,excessive preservation of detail
Pose-Independent Simplification • Adapt decimation to considererror across all poses • Preserve detail where necessary to allow deformation • Preserve detail only where necessary
Simplifying 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
Framework • Preprocess • Monte Carlo sampling of pose probability distribution • Build pose-independent quadrics • Run-Time • Standard iterative contraction • Update skinning weight vectors
Outline • Framework • Background • Kinematic skeletons • Linear blend skinning • Pose probability distributions • QSlim • Algorithm • Results
Kinematic 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
Linear 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
Assigning 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 = Translate*Rotate*Scale
QSlim 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
Quadric 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
Outline • Framework • Background • Algorithm • Expectations • Overview • Pose-independent Quadric Derivation • Blend-weight Update Rule • Results
Intuitive 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
Incorporating 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
Pose-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
Algorithm 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
Remapping 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 Qvindependentof pose • Equivalent to applying quadric update rule with Mv-1
Monte 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
Weight 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
Outline • Framework • Background • Algorithm • Results • Intuitive results • Weight-update rule validation • Simplification results • Quantitative analysis • Timing
Intuitive 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
Simplification Results • Standard QSlim is on the left, our method is on the right • 64k polygons, 16 poses, 25% longer than standard QSlim
Simplification Results • Our method better approximates than QSlim/Straight Pose • Leg was simplified, then bent. 0.5% resolution, 35% time penalty
Changing Probability Distribution • Left knee has larger range of motion, thus greater detail • Note that region at crease is flat under deformation
Quantitative Comparison • Used the Metro tool to compare generated meshes • Computes the approximate Hausdorff distance • We reduce variance of approximation across poses
Future 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
Algorithm Timings • Compares favorably to standard QSlim • Considering 16 poses only 25% more than single pose
Algorithm 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)
Weight-update Rule Tests • We show both procedural and automatic weights • Procedural weights are “ground truth” • Our method is virtually indistinguishable from ground truth