pose-independent simplification of articulated meshes

32
Christopher DeCoro Szymon Rusinkiewicz Pose-independent Pose-independent Simplification of Simplification of Articulated Meshes Articulated Meshes

Upload: anneke

Post on 09-Feb-2016

42 views

Category:

Documents


3 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Pose-independent Simplification of Articulated Meshes

Christopher DeCoroSzymon Rusinkiewicz

Pose-independent Simplification Pose-independent Simplification of Articulated Meshesof Articulated Meshes

Page 2: Pose-independent Simplification of Articulated Meshes

MotivationMotivation

• Decimation enables complex scenesDecimation enables complex scenes– Interactive rendering– Automatic Level of Detail

• Non-static geometry crucial for movies and gamesNon-static geometry crucial for movies and games

• Goal: Goal: singlesingle decimated mesh for decimated mesh for multiplemultiple poses poses– Lower cost than view / pose-dependent LOD– Framework for geometric processing on non-static

geometry

Page 3: Pose-independent Simplification of Articulated Meshes

Pose-Independent SimplificationPose-Independent Simplification

• Current methods consider a single poseCurrent 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

Page 4: Pose-independent Simplification of Articulated Meshes

Pose-Independent SimplificationPose-Independent Simplification

• Heuristics for adapting static simplificationHeuristics for adapting static simplification– Bending joints then applying– Preserve high detail near joints– Drawbacks: manual intervention,

excessive preservation of detail

Page 5: Pose-independent Simplification of Articulated Meshes

Pose-Independent SimplificationPose-Independent Simplification

• Adapt decimation to considerAdapt decimation to considererror across all poseserror across all poses– Preserve detail where necessary to allow deformation– Preserve detail only where necessary

Page 6: Pose-independent Simplification of Articulated Meshes

Simplifying Articulated ModelsSimplifying Articulated Models• Observation: need to specify meaningful, but restrictedObservation: need to specify meaningful, but restricted

class of deformationclass of deformation– Kinematic skeletons with linear blend skinning– Probability distribution constraining deformations

• Major result: define Major result: define pose-independent quadricpose-independent quadric containing containing information about all posesinformation about all poses– Computed as a preprocess– Used by standard iterative decimation method– Generalizes quadric from union of multiple planes to

union over multiple planes and poses

Page 7: Pose-independent Simplification of Articulated Meshes

FrameworkFramework

• PreprocessPreprocess– Monte Carlo sampling of pose probability distribution– Build pose-independent quadrics

• Run-TimeRun-Time– Standard iterative contraction– Update skinning weight vectors

Page 8: Pose-independent Simplification of Articulated Meshes

OutlineOutline

• FrameworkFramework• BackgroundBackground

– Kinematic skeletons– Linear blend skinning– Pose probability distributions– QSlim

• AlgorithmAlgorithm• ResultsResults

Page 9: Pose-independent Simplification of Articulated Meshes

Kinematic SkeletonsKinematic Skeletons• Heirarchy of affine linear transformations (“bones”)Heirarchy of affine linear transformations (“bones”)

– Each non-root bone defined in frame of unique parent– Changes to parent frame affect all descendent bones

Page 10: Pose-independent Simplification of Articulated Meshes

Linear Blend SkinningLinear Blend Skinning• Each vertex of skin potentially influenced by all bonesEach 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 MWe can compute a transformation Mvv for a skinned vertex 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

Page 11: Pose-independent Simplification of Articulated Meshes

Assigning Probability DistributionsAssigning Probability Distributions• Simplest: Box functionsSimplest: Box functions

– Range of values for which probability is non-zero

• More control: Gaussian distributionsMore control: Gaussian distributions– Assign “preferred angle” (mean), “stiffness” (standard deviation)– Corresponds to intuitive quantities

• Detailed control: sampled functionsDetailed control: sampled functions– Pre-defined animations– Motion capture

• All of these are high-dimensional functions withAll of these are high-dimensional functions withcomplex correlationscomplex correlations– Can reduce dimensionality by letting

Mb = Translate*Rotate*Scale

Page 12: Pose-independent Simplification of Articulated Meshes

QSlim Simplification AlgorithmQSlim Simplification Algorithm

• Combine framework, primitive, and metric: QSlimCombine framework, primitive, and metric: QSlim– Framework: Greedy selection– Primitive: Edge collapse– Metric: Quadric error

• Compute initial quadrics Compute initial quadrics QQvv for every vertex for every vertex vv• Compute optimal error for each edge collapseCompute optimal error for each edge collapse• Place into min-priority queue keyed on collapse costPlace into min-priority queue keyed on collapse cost• While the queue is not emptyWhile 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

Page 13: Pose-independent Simplification of Articulated Meshes

Quadric Error MetricQuadric Error Metric• Compute sum-of-squared distances over all planesCompute 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)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

Page 14: Pose-independent Simplification of Articulated Meshes

OutlineOutline

• FrameworkFramework• BackgroundBackground• AlgorithmAlgorithm

– Expectations– Overview– Pose-independent Quadric Derivation– Blend-weight Update Rule

• ResultsResults

Page 15: Pose-independent Simplification of Articulated Meshes

Intuitive ExpectationsIntuitive Expectations• Suppose we have a “leg” modelSuppose we have a “leg” model

– Joint bends at the knee, 90 degree range of motion

• What do we expect to see? 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

Page 16: Pose-independent Simplification of Articulated Meshes

Incorporating Multiple PosesIncorporating Multiple Poses• Mohr & Gleicher 03 – Arbitrary DeformationMohr & Gleicher 03 – Arbitrary Deformation

– Consider error in each pose for every collapse

• Our Method – Linear Blend SkinningOur Method – Linear Blend Skinning– Consider all poses in a preprocess– Collapses are independent of poseCollapses are independent of pose

Foreach collapseForeach pose

Compute errorPerform collapse

Foreach vertexForeach pose

Compute quadricCombine quadrics from all poses

Foreach collapseUse single quadric to compute errorPerform collapse

Page 17: Pose-independent Simplification of Articulated Meshes

Pose-independent MetricPose-independent Metric• Each vertex v corresponds to vertex vEach vertex v corresponds to vertex vpp in pose P in pose P

• The quadric for v in pose P, QThe quadric for v in pose P, Qvv(P), can be computed directly(P), can be computed directly• Expected point-to-plane distance over all poses, weighted by Expected point-to-plane distance over all poses, weighted by

• Our goal will be to factor the vertices out of the integral, and Our goal will be to factor the vertices out of the integral, and define a pose-independent quadric that incorporates all posesdefine a pose-independent quadric that incorporates all poses

Page 18: Pose-independent Simplification of Articulated Meshes

Algorithm Overview:Algorithm Overview:• Integrated over every pose PIntegrated 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 collapseCompute optimal error for each edge collapse• Place into min-priority queue keyed on collapse costPlace into min-priority queue keyed on collapse cost• While the queue is not emptyWhile 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 QSlimSimilar structure to QSlim– Makes large changes to initial quadric computation– We define a metric, which is independent of framework

Page 19: Pose-independent Simplification of Articulated Meshes

Remapping QuadricsRemapping Quadrics

• A vertex A vertex vv in pose in pose PP is transformed by is transformed by MMvv(P)(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 MEquivalent to applying quadric update rule with Mvv-1-1

Page 20: Pose-independent Simplification of Articulated Meshes

Monte Carlo IntegrationMonte Carlo Integration• Integral over poses can not be evaluated analyticallyIntegral over poses can not be evaluated analytically• Standard quadrature exponential in dimensionalityStandard quadrature exponential in dimensionality

– We have up to 12 degrees of freedom per bone

• Evaluate pose-independent quadrics withEvaluate pose-independent quadrics withMonte Carlo samplingMonte Carlo sampling– Recursively stratified to reduce variance– In practice: good results with 10-20 poses

Page 21: Pose-independent Simplification of Articulated Meshes

Weight Update RuleWeight Update Rule• New vertices must be given a bone influence vectorNew 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 justificationStrong empirical justification

Page 22: Pose-independent Simplification of Articulated Meshes

OutlineOutline

• FrameworkFramework• BackgroundBackground• AlgorithmAlgorithm• ResultsResults

– Intuitive results– Weight-update rule validation– Simplification results– Quantitative analysis– Timing

Page 23: Pose-independent Simplification of Articulated Meshes

Intuitive ResultsIntuitive Results• Previously, we discussed our intuitive expectationsPreviously, we discussed our intuitive expectations• We show various levels of simplification (26%, 13, 5, 2.5)We show various levels of simplification (26%, 13, 5, 2.5)

• We can see these were achieved in the resultsWe can see these were achieved in the results– Crease kept in highest detail

• Simplified in time 32% longer than QslimSimplified in time 32% longer than Qslim

Less simplified More simplified

colored randomly

coloredby area

Page 24: Pose-independent Simplification of Articulated Meshes

Simplification ResultsSimplification Results• Standard QSlim is on the left, our method is on the rightStandard QSlim is on the left, our method is on the right

• 64k polygons, 16 poses, 25% longer than standard QSlim64k polygons, 16 poses, 25% longer than standard QSlim

Page 25: Pose-independent Simplification of Articulated Meshes

Simplification ResultsSimplification Results• Our method better approximates than QSlim/Straight PoseOur method better approximates than QSlim/Straight Pose

– Leg was simplified, then bent. 0.5% resolution, 35% time penalty

Page 26: Pose-independent Simplification of Articulated Meshes

Changing Probability DistributionChanging Probability Distribution• Left knee has larger range of motion, thus greater detailLeft knee has larger range of motion, thus greater detail

– Note that region at crease is flat under deformation

Page 27: Pose-independent Simplification of Articulated Meshes

Quantitative ComparisonQuantitative Comparison• Used the Metro tool to compare generated meshesUsed the Metro tool to compare generated meshes

– Computes the approximate Hausdorff distance

• We reduce variance of approximation across posesWe reduce variance of approximation across poses

Model Straight Pose Bent Pose Std. Dev. QSlim/Straight Pose .010 .014 2.4e-3

QSlim/Bent Pose .017 .011 4.1e-3Our Method .011 .012 6.0e-4

Page 28: Pose-independent Simplification of Articulated Meshes

Future WorkFuture Work• Apply to more general classes of deformationsApply 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 samplingDetermine the effect of importance sampling– Does it effectively reduce variance?

• Analyze under which conditions this is qualitatively effectiveAnalyze under which conditions this is qualitatively effective– Subtle effect for the meshes seen– Certain conditions may result in more drastic benefits

Page 29: Pose-independent Simplification of Articulated Meshes
Page 30: Pose-independent Simplification of Articulated Meshes

Algorithm TimingsAlgorithm Timings• Compares favorably to standard QSlimCompares favorably to standard QSlim• Considering 16 poses only 25% more than single poseConsidering 16 poses only 25% more than single pose

Page 31: Pose-independent Simplification of Articulated Meshes

Algorithm TimingsAlgorithm Timings• Compares favorably to standard QslimCompares favorably to standard Qslim

– About 25% overhead w/ 16 samples, less with fewer samples

• For larger models, QSlim iterative contraction dominatesFor larger models, QSlim iterative contraction dominates– Our preprocess is O(kn), the contraction is O(kn + n log n)

ModelModel VerticeVerticess

BonesBones 4 Samples4 Samples 8 Samples8 Samples 16 Samples16 Samples 32 Samples32 Samples

LegLeg 23062306 22 .06.06 .525.525 .11.11 .574.574 .22.22 .677.677 .15.15 .895.895

HorseHorse 4848548485 2222 1.51.5 18.718.7 2.82.8 19.919.9 5.435.43 22.422.4 10.810.8 28.028.0

CopCop 6388163881 1515 1.91.9 25.125.1 3.93.9 27.927.9 7.27.2 30.630.6 13.713.7 36.936.9

Page 32: Pose-independent Simplification of Articulated Meshes

Weight-update Rule TestsWeight-update Rule Tests• We show both procedural and automatic weightsWe show both procedural and automatic weights

– Procedural weights are “ground truth”

• Our method is virtually indistinguishable from ground truthOur method is virtually indistinguishable from ground truth