M Zollhöfer E Sert G Greiner and J Süßmuth Computer Graphics Group University ErlangenNuremberg Germany MotivationRequirements Intuitive modeling Handlebased Direct manipulation 2 ID: 553953
Download Presentation The PPT/PDF document "GPU based ARAP Deformation using Volumet..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
GPU based ARAP Deformation using Volumetric Lattices
M. Zollhöfer, E. Sert, G. Greiner and J. SüßmuthComputer Graphics Group, University Erlangen-Nuremberg, GermanySlide2
Motivation/Requirements
Intuitive modeling
Handle-basedDirect manipulation
2Slide3
Motivation/Requirements
Intuitive modeling
Handle-basedDirect manipulationInteractivityEven for high quality models
3Slide4
Motivation/Requirements
Intuitive modeling
Handle-basedDirect manipulationInteractivityEven for high quality modelsPhysical plausibilityGlobally smooth deformationsDetail preservation
4Slide5
Recent Work
ARAP Surface Modeling
5
[SA07]Slide6
Recent Work
ARAP Surface ModelingDeformation Graphs
6
[SA07]
[SSP07]Slide7
Recent Work
ARAP Surface ModelingDeformation GraphsCoupled
Prisms/Rigid Cells
7
[SA07]
[SSP07]
[BPGK06
,
BPWG07]Slide8
Recent Work
ARAP Surface ModelingDeformation GraphsCoupled
Prisms/Rigid CellsHybrid Mesh Editing
8
[SA07]
[SSP07]
[BPGK06
,
BPWG07]
[BHZN10
]Slide9
Facts/Contribution
MethodBased on the non-linear ARAP energy [SA07]
Volumetric proxy geometryMulti-res GPU deformation pipeline
9Slide10
Facts/Contribution
MethodBased on the non-linear ARAP energy [SA07]
Volumetric proxy geometryMulti-res GPU deformation pipelineBenefitsThe optimization is decoupled from the model’s geometric complexityVolume-awarenessFast even for high quality modelsEasy to integrate into existing systems
10Slide11
Overview
PreprocessingConstruct volumetric latticeDecouples the optimization from the model’s geometric complexityTransparent for the user
11Slide12
Overview
Preprocessing
Construct volumetric lattice
Decouples the optimization from the model’s geometric complexityTransparent for the userRuntime loopModify handle positionsDeform lattice using our multi-res GPU ARAP solverUse lattice to deform the input model
12Slide13
Proxy Geometry
Starting pointUniform voxel gridDelete cubes which are entirely outside
Volumetric Lattice
13Slide14
Proxy Geometry
Starting pointUniform voxel gridDelete cubes which are entirely outside
Volumetric LatticeExpress vertices in local coordinatesInteractive modelingTri-linear interpolationOffline high quality posesB-Splines
14
Slide15
Optimization Problem
ParadigmARAP [SA07] on a volumetric lattice
15
Slide16
Optimization Problem
ParadigmARAP [SA07] on a volumetric lattice
Objective functionPlausibility of deformationRigidity of local transformations
16
Slide17
Optimization Problem
ParadigmARAP [SA07] on a volumetric lattice
Objective functionPlausibility of deformationRigidity of local transformationsFulfillment of user constraintsDistance of vertices to handles
17
Slide18
Optimization Problem
ParadigmARAP [SA07] on a volumetric lattice
Objective functionPlausibility of deformationRigidity of local transformationsFulfillment of user constraintsDistance of vertices to handles
Non-linear optimization
18
Slide19
Minimizing the Objective Function
Why do we use the ARAP paradigm?Non-linear rotation-aware objective function
Minimization does not require a general-purpose non-linear solver
19Slide20
Minimizing the Objective Function
Why do we use the ARAP paradigm?Non-linear rotation-aware objective function
Minimization does not require a general-purpose non-linear solverIterative flip-flop solver [SA07]Compute optimal local
rotationsSVDs are independentCompute new control pointsIterative linear solver
20Slide21
Minimizing the Objective Function
Why do we use the ARAP paradigm?Non-linear rotation-aware objective function
Minimization does not require a general-purpose non-linear solverIterative flip-flop solver [SA07]Compute optimal local
rotationsSVDs are independentCompute new control pointsIterative linear solver
Massively parallel GPU implementation
21Slide22
GPU Deformation Pipeline
CUDA ImplementationSVD Kernel (per control point)
22Slide23
GPU Deformation Pipeline
CUDA ImplementationSVD Kernel (per control point)
Solve Kernel (per control point)Parallel Gauss-Seidel solver or gradient descentUse new positions ASAP
23Slide24
GPU Deformation Pipeline
CUDA ImplementationSVD Kernel (per control point)
Solve Kernel (per control point)Parallel Gauss-Seidel solver or gradient descentUse new positions ASAPTransfer Kernel (per vertex)
24Slide25
GPU Deformation Pipeline
CUDA ImplementationSVD Kernel (per control point)
Solve Kernel (per control point)Parallel Gauss-Seidel solver or gradient descentUse new positions ASAPTransfer Kernel (per vertex)Synchronize between kernel calls
25Slide26
Multi-res GPU Deformation Pipeline
New Proxy GeometryHierarchy of latticesJoin 8 adjacent cubes
Encode lattices w.r.t. the next coarser one
26
Level 0
Level 1
…Slide27
Multi-res GPU Deformation Pipeline
New Proxy GeometryHierarchy of lattices
Join 8 adjacent cubesEncode lattices w.r.t. the next coarser oneHierarchical SolverOptimization LoopSolve for deformation on level
Transfer deformation to next finer level
27
Level 0
Level 1
…Slide28
Results/Properties
Volume-awareness
28
ARAP
OursSlide29
Results/Properties
Volume-awareness
Smoothness
29
ARAP
Ours
Tri-linear
B-SplineSlide30
Facts
EvaluationCore i7 860 CPU with an NVidia GeForce 580
GPU71ms (14fps) to deform a 2M polygon model (40k lattice)
30
Triangle
Mesh
Polygon Soup
Multiple Components
Triangle
Mesh
Triangle
Mesh
Polygon SoupSlide31
Facts
EvaluationCore i7 860 CPU with an NVidia GeForce 580
GPU71ms (14fps) to deform a 2M polygon model (40k lattice)Multi-res solver gives a
3x speedup compared to the single level versionLess iterations per hierarchy level required to converge
31
Triangle
Mesh
Polygon Soup
Multiple Components
Triangle
Mesh
Triangle
Mesh
Polygon SoupSlide32
Conclusion
SummaryIntuitive mesh editing paradigm using a simple volumetric latticeData-parallel multi-res GPU deformation pipeline
32Slide33
Conclusion
SummaryIntuitive mesh editing paradigm using a simple volumetric latticeData-parallel multi-res GPU deformation pipelineFuture Work
Construct lattice hierarchy in a topology preserving wayMonitor deformation error to solve the optimization problem locally up to a given threshold
33Slide34
Questions?
34
Thanks for your attention!