Title: Editing and approximating deforming surfaces
1Editing and approximating deforming surfaces
- Preliminary Examination
- Scott Kircher
2Deforming surfaces
3Why edit deforming surfaces?
- Avoid endless hours of tweaking simulations
- Get close enough, then edit
4Why edit deforming surfaces?
- Modify motion-captured data
5Why edit deforming surfaces?
- Reuse existing deforming surface data
6Overview
- Approximating
- Published SCA 2005
- Spatial editing (GSP modeling)
- To appear in SIGGRAPH 2006
- Temporal editing (TSP keyframing)
- Ongoing proposed work
7Approximation
Progressive Multiresolution Meshes for Deforming
Surfaces Symposium on Computer Animation, 2005
8Visual Abstract
17,489v
9Visual Abstract
17,489v
3,200v
10Visual Abstract
11Visual Abstract
12Motivation
- Too much detail.
- Too much motion.
- Per-frame simplification wasteful and incoherent.
13Related Work
14Static/Static Simplification
- Progressive Meshes Hoppe 1996
- Quadric Error Metric Garland Heckbert 1997
Garland Heckbert 1997
Hoppe1996
15Static/Dynamic Simplification
- Deformation sensitive decimation Mohr Gleicher
2003 - Pose independent simplification DeCoro
Rusinkiewicz 2005
16Dynamic/Static Simplification
- Selective Refinement and Vertex Hierarchies
- View dependent simplification
- Xia Varshney 1996
- Hoppe 1997
- Luebke Erikson 1997
Hoppe 1997
17Dynamic/Dynamic Simplification
- Time-dependent Directed Acyclic Graph
(T-DAG) Shamir et al. 2000, 2001
18Vertex Hierarchies as Hierarchical Clustering
(our view)
19Vertex Hierarchies as Hierarchical Clustering
(our view)
20Vertex Hierarchies as Hierarchical Clustering
(our view)
21Prior Reclustering Work
- Kernighan-Lin algorithm 1970
- Multilevel scheme for graph partitioning Karypis
Kumar 1998 - Probabilistic mesh reclustering using bloom
filters Carr Hart 2004
Carr Hart 2004
22The Main Idea
23Approximating Deforming Surfaces
- Build initial approximation hierarchy
- Transfer hierarchy to next frame
- Improve hierarchy incrementally
24How Does it Work?
25Reclustering the Multilevel Mesh
- Edge-contraction based simplification
- Contractions specify clusters as well as
approximation - Reclustering
- Clusters can be used to rebuild approximation
- Changing clusters produces new approximation
26Reclustering via swapping
- The fundamental swap operation (v,a,b)
27Reclustering via swapping
- The fundamental swap operation (v,a,b)
28Swap Validity and Priority
- Validity When can we swap?
- Priority When should we swap?
?
29Swap Validity
- Validity When can we swap?
- We can guarantee
- Approximation could have been obtained by normal
edge-contraction. - Clusters remain connected
- For any arbitrary original mesh.
30Swap Validity
- Validity When can we swap?
- We can guarantee
- Approximation could have been obtained by normal
edge-contraction. - Clusters remain connected
- For any arbitrary original mesh.
- Approximation is homeomorphic to original surface
- For manifolds
- Optional
31Swap Priority
- Priority When should we swap?
- Perform swaps of highest benefit first
- Benefit is how much swap reduces error
- Quadric Error Metric Garland Heckbert 1997
32Hierarchical Reclustering
- To improve entire hierarchy
- Perform reclustering at each level, from coarsest
to finest - Error metric is weighted sum of quadric errors
from each level
33Deforming Surfaces Revisted
34Approximating Deforming Surfaces
- Sequence of swaps can be recorded
- Can be later played back in real-time
- Progressive format
- Initial hierarchy
- Swaps for each frame
35Results
36Horse To Man Morph
37Collapsing Horse
38Selective Refinement
39Wind Whipped Cloth
- Homeomorphism preservation Texture mapping
40Example Cloth LOD
41Comparison
Our Result
Original
Our Mesh
42Comparison
Our Result
Original
Our Mesh
Uniform Mesh
43Performance
- Analysis phase comparable to edge-contraction
based simplification (seconds per frame) - Full hierarchy updating (for VDR)
- Input and output dependent
- A few milliseconds for medium size meshes
- Connectivity updating (non-VDR)
- Output dependent only
- See flying cows video
- 20 of frame time at 20fps.
- Vertex count lt 0.5 of original for 550 capes.
44Approximation Conclusion
- Multiresolution meshes for deforming surfaces
- Use reclustering to update hierarchy as surface
deforms - Can guarantee various validity properties
- Cluster connectedness
- Homeomorphism to original surface
- Progressive representation
- Store sequence of updates at each frame
- Real-time playback of updates
- Compatible with existing VDR methods
45Spatial Editing
Editing Arbitrarily Deforming Surface
Animations To appear in SIGGRAPH 2006
46Visual Abstract
47Motivation
- Review
- Ease simulated surface development
48Motivation
- Review
- Ease simulated surface development
- Modify motion captured cloth
49Motivation
- Review
- Ease simulated surface development
- Modify motion captured cloth
- Reuse deforming surface data
50Related Work
51Related Work
- Irregular mesh multiresolution editing
- Interactive multi-resolution modeling on
arbitrary surfaces Kobbelt1998 - Multiresolution Signal Processing for Meshes
Guskov1999
52Related Work
- Deforming surface editing
- Skinning Mesh Animations Twigg2005
53The Main Idea
54Main Idea
- Multiresolution editing
- Preserve surface detail
- Better edit transport behavior
- Geometric signal processing
55Main Idea
- Irregular mesh multiresolution hierarchy depends
on geometry - Temporal coherence important
- Use swap-based hierarchy adaptation method
- Basis smoothing
56Why change the hierarchy?
- Hierarchy encodes frequency content of surface
Vital for signal processing
57Why change the hierarchy?
Static wavelet basis
58Why change the hierarchy?
Static wavelet basis
59Why change the hierarchy?
Static wavelet basis
Adaptive relaxation operators (Static hierarchy)
60Why change the hierarchy?
Static wavelet basis
Adaptive relaxation operators (Static hierarchy)
61Why change the hierarchy?
Static wavelet basis
Fully adaptive basis (Our result)
Static hierarchy
62How Does it Work?
63Mesh Pyramid Transform
Multilevel Mesh Hierarchy
64Mesh Pyramid Transform
Subdivide and Relax
Relaxation Stencil
Multilevel Mesh Hierarchy
65Mesh Pyramid Transform
Subdivide and Relax
Subtract subdivided M2 geometry from original M1
geometry to get detail vectors. Store in local
coordinate frames.
66Time-Varying Transform (TVT)
- Adapt hierarchy using swap-based method
- And recompute relaxation coefficients
- Still not fully coherent
67Time-Varying Transform (TVT)
- Basis Smoothing (Basis Voting)
- Average editing results over nearby bases
- Diffuses effects of combinatorial changes
Important Smooth over space of bases, not over
time
68Time-Varying Transform (TVT)
- Signal processing result with basis smoothing
69Blockification
- Acceleration technique for basis smoothing
- Dont need a new basis every frame
- Break sequence into blocks
70Editing
- Direct manipulation
- Multiresolution Embossing
- Constraint Editing
- Signal Processing
71Transporting Edits
- Edit replicators
- Associate all edits with finest level mesh
72Transporting Edits
- Edit replicators
- Associate all edits with finest level mesh
73Transporting Edits
- Edit replicators
- Associate all edits with finest level mesh
74Transporting Edits
- Edit replicators
- Associate all edits with finest level mesh
75Transporting Edits
- Edit replicators
- Associate all edits with finest level mesh
76Transporting Edits
- Edit replicators
- Associate all edits with finest level mesh
77Multiresolution Embossing
78Multiresolution Embossing
79Multiresolution Embossing
80Multiresolution Embossing
81Constraints
- Ignore detail vector, move directly to
constrained location when reconstructing
82Results
83Wheres my skeleton!?
84Embossing Comparison
85More Embossing Results
86Stretch and Crumple
87A napkin? No, its a sail!
88Barnyard Superheroes
89Spatial Editing Conclusion
- Time-Varying Transform
- Supports multiscale spatial operations
- Maintains temporal coherence
- Editing Arbitrarily Deforming Surfaces
- Direct Manipulation
- Multiresolution Embossing
- Constraint Editing
- Signal Processing
90Temporal Signal Processing andKeyframing
Ongoing and Proposed Work
91Goals
- Signal processing of motion itself
- Orthogonal to spatial signal processing
92Goals
- Signal processing of motion itself
- Orthogonal to spatial signal processing
- Inserting new keyframes into existing motion
93Goals
- Signal processing of motion itself
- Orthogonal to spatial signal processing
- Inserting new keyframes into existing motion
- Intuitive authoring of new keyframes
- Possibly by analyzing existing animation
94Related Work
95Deformation Gradients
- Deformation Transfer for Triangle Meshes
Sumner2004 - Mesh-based Inverse Kinematics Sumner2005
- Deformation gradient decomposition
- Pose editing
96Articulated Motion Editing
- Motion Signal Processing Bruderlin1995
- Motion Warping Witkin1995
Witkin1995
97Current Ideas Preliminary Results
98Motion Representation
- Canonical Deformation Gradient
- Affine transformation of canonical triangle to
current triangle - Decomposed into rotational and stretch/skew parts
(q1,S1)
99Motion Representation
- Triangle Path
- Sequence of canonical deformation gradients over
time for single triangle - Can modify each path separately
- Recombine using least-squares solve
100Temporal Signal Processing
- Apply standard 1D multi-resolution pyramid
transform to triangle paths - Linear part (stretch/skew) easy
- Angular part (rotations) requires quaternion
operations
101Frequency Decomposition
102Frequency Decomposition
103Frequency Decomposition
104Frequency Decomposition
- Medium angular frequencies
105Frequency Decomposition
106Frequency Decomposition
- Low linear frequencies (amplitude ?5)
107Frequency Decomposition
- Medium linear frequencies (amplitude ?5)
108Motion Enhancement
- Original Horse Animation (Reminder)
109Motion Enhancement
- Medium-high angular band exaggerated
110Cloth Signal Processing
- Medium-high frequencies quintupled
- Highest frequency band damped
111Keyframing
- Compute residual between keyframe and exiting
frame - Blend residual into other frames
112Keyframing
113Summary
114Proposed Thesis Components
- Dynamic Surface
- Approximation
- Adaptive Multiresolution Hierarchy
- Spatial Multiresolution Editing
- Geometric Signal Processing
- Direct Manipulation
- Embossing
- Constraint Editing
- Temporal (Motion) Editing (Work in progress)
- Temporal Signal Processing
- Keyframe Insertion
- Intuitive Keyframe Authoring (Planned work)
115Questions?