400 likes | 528 Views
Volume-Surface Trees. Tamy Boubekeur* Wolfgang Heidrich † Xavier Granier* Christophe Schlick* *: †:. Introduction - VS Tree - Simplification - Surface Reconstruction - Conclusion. Geometry Processing in CG. For: Modeling Rendering Animation Scalable solutions need locality
E N D
Volume-Surface Trees Tamy Boubekeur* Wolfgang Heidrich† Xavier Granier* Christophe Schlick* *: †:
Introduction - VS Tree - Simplification - Surface Reconstruction - Conclusion Geometry Processing in CG • For: • Modeling • Rendering • Animation • Scalable solutions need locality → Object Partitioning • Efficient and elegant solution: →Hierarchical Space Subdivision
Introduction - VS Tree - Simplification - Surface Reconstruction - Conclusion Hierarchical Space Subdivision Structures • Ubiquitous in Computer Graphics: • Modeling • Partitioning, analysis, simplification, reconstruction, LOD generation, etc • Rendering • Ray tracing, photon mapping, radiosity, irradiance approximation, visibility, etc • Animation • Collision, crowd simulation, physic-based deformation • Virtual Reality • Scene Graph, LOD selection, parallel graphics, etc
Introduction - VS Tree - Simplification - Surface Reconstruction - Conclusion Hierarchical Space Subdivision Structures • Main structures: • kD-Tree [Bentley 1975]: orthogonal organization of scattered data-sets • BSP-Tree [Fuchs et al. 1980]: binary space subdivision by hyperplanes • Quadtree/Octree [Jackins & Tanimoto 1980]: Space dimension in the structure (1-4 in 2D, 1-8 in 3D) • Many uses and combinations in the image processing literature • In 3D space: volume-based clustering of objects through the embedding space
Introduction - VS Tree - Simplification - Surface Reconstruction - Conclusion Surface-Based HS³ In practice, 3D objects are often represented, processed, rendered, […] by their surfaces • Volume-based HS³: leads to strongly imbalanced clusters near the surface • Idea: building an HS³ • Tuned for surfaces rather than volumes • As efficient and simple than octree
Introduction - VS Tree - Simplification - Surface Reconstruction - Conclusion Volume-Surface Tree • A surface-based HS³ • Combination octree/quadtree • Volume-Surface Decomposition: Bounding box of the 3D surface
Introduction - VS Tree - Simplification - Surface Reconstruction - Conclusion Volume-Surface Tree • A surface-based HS³ • Combination octree/quadtree • Volume-Surface Decomposition: • V-Nodes (Volume)
Introduction - VS Tree - Simplification - Surface Reconstruction - Conclusion Volume-Surface Tree • A surface-based HS³ • Combination octree/quadtree • Volume-Surface Decomposition: • V-Nodes (Volume) • T-Nodes (Transition)
Introduction - VS Tree - Simplification - Surface Reconstruction - Conclusion Volume-Surface Tree • A surface-based HS³ • Combination octree/quadtree • Volume-Surface Decomposition: • V-Nodes (Volume) • T-Nodes (Transition) • S-Nodes (Surface)
Introduction - VS Tree - Simplification - Surface Reconstruction - Conclusion Volume-Surface Tree • A surface-based HS³ • Combination octree/quadtree • Volume-Surface Decomposition: • V-Nodes (Volume) • T-Nodes (Transition) • S-Nodes (Surface) • U{T-Nodes} = T-Layer
Introduction - VS Tree - Simplification - Surface Reconstruction - Conclusion : bivariate surface cluster ? • detects the T-Layer • A “topology-free” double criteria [Boubekeur et al. 2005]: • Normal component • Displacement component Normal test Note: alternative predicate when guaranteed topology available (curvature analysis of meshes) Displacement test
Introduction - VS Tree - Simplification - Surface Reconstruction - Conclusion VS-Tree Clustering Hierarchical Surface Clustering
Introduction - VS Tree - Simplification - Surface Reconstruction - Conclusion VS-Tree Clustering • Surface analysis at the T-Layer level • None: Darboux frame, axis directions • Rough: PCA, geometry and/or normal field • Approximate anisotropy in the partitioning • Etc. • 2D computation/classification under the T-Layer • In general, a large part of the structure • Most of the structure for real-world smooth surfaces • In the worst case: behaves like octree Hierarchical Surface Clustering
Introduction - VS Tree - Simplification - Surface Reconstruction - Conclusion Mesh Simplification “Reducing the resolution of a discrete surface while preserving as much as possible the original shape.” • Can be cast as a clustering problem [Cohen Steiner et al. 2004] • Only simple clustering for medium and large size objects: • Regular clustering [Rossignac&Borrel 1993][Lindsrom 2000][Lindstrom&Silva 2001] • Hierarchical clustering using: • BSP [Shaffer&Garland 2001] • Octree [Schaefer&Warren 2003]
Introduction - VS Tree - Simplification - Surface Reconstruction - Conclusion VS-Tree-based Mesh Simplification • Similar to octree-based mesh simplification • Compute one “optimal” position for each leaf cluster • Keep only triangles shared by 3 different clusters • Move triangle vertices to optimal positions • VS-Tree structure improves: • Quality: • Better alignment near the surface, approximate anisotropy • Speed: • Classification in 2D for the largest part of the structure • 1-for-4 split for S-Nodes & local analysis at T-Layer : reduces over-clustering effect→ less clusters for the same error bound
Introduction - VS Tree - Simplification - Surface Reconstruction - Conclusion VS-Tree-based Mesh Simplification • Similar to octree-based mesh simplification • Compute one “optimal” position for each leaf cluster • Keep only triangles shared by 3 different clusters • Move triangle vertices to optimal positions • VS-Tree structure improves: • Quality: • Better alignment near the surface, approximate anisotropy • Speed: • Classification in 2D for the largest part of the structure • 1-for-4 split for S-Nodes & local analysis at T-Layer : reduces over-clustering effect→ less clusters for the same error bound
Introduction - VS Tree - Simplification - Surface Reconstruction - Conclusion VS-Tree-based Mesh Simplification Michelangelo’s David 7M triangles
Introduction - VS Tree - Simplification - Surface Reconstruction - Conclusion VS-Tree-based Mesh Simplification Michelangelo’s David 7M triangles Octree-based simplification 1.75 seconds L² error bounded at 10̄ ³ 62 856 triangles
Introduction - VS Tree - Simplification - Surface Reconstruction - Conclusion VS-Tree-based Mesh Simplification Michelangelo’s David 7M triangles Octree-based simplification 1.75 seconds VS-Tree-based simplification 1.20 seconds L² error bounded at 10̄ ³ 62 856 triangles 52 024 triangles
Introduction - VS Tree - Simplification - Surface Reconstruction - Conclusion VS-Tree-based Mesh Simplification Michelangelo’s David 7M triangles Octree-based simplification 1.75 seconds VS-Tree-based simplification 1.20 seconds L² error bounded at 10̄ ³ 62 856 triangles 52 024 triangles
Introduction - VS Tree - Simplification - Surface Reconstruction - Conclusion Surface Reconstruction “Recovering a manifold from a finite sampling” • A very large number of methods, characterized by: • Input: voxels, surfels, pixels • Output representation: implicit, mesh, nurbs, subdivision surface • Efficiency: speed, scalable • Quality: arbitrary genus, 2-manifold, (semi)regular structure, noise filtering VS-Tree reconstruction, driven by efficiency-quality criteria: • Input sampling: an unorganized point cloud with normals • Output surface: a mesh • Arbitrary genus • Semi-regular • Manifold in practice • Fast Reconstruction using VS-Tree and blending advantages of several representations
Introduction - VS Tree - Simplification - Surface Reconstruction - Conclusion Surface Reconstruction “Recovering a manifold from a finite sampling” • A very large number of methods, characterized by: • Input: voxels, surfels, pixels • Output representation: implicit, mesh, nurbs, subdivision surface • Efficiency: speed, scalable • Quality: arbitrary genus, 2-manifold, (semi)regular structure, noise filtering VS-Tree reconstruction, driven by efficiency-quality criteria: • Input sampling: an unorganized point cloud with normals • Output surface: a mesh • Arbitrary genus • Semi-regular • Manifold in practice • Fast Reconstruction using VS-Tree and blending advantages of several representations
Introduction - VS Tree - Simplification - Surface Reconstruction - Conclusion Surface Reconstruction: Prior Art • Hugues Hoppe PhD Thesis [Hoppe 1994] • Volumetric approach for large models [Curless&Levoy 1996] • PowerCrust [Amenta et al. 2000] • MPU [Ohtake 2003] • Many others ! • Lower Dimensional approaches for point clouds: • Delaunay Triangulation: • For reconstruction [Gopi et al. 2000] • For polygonal rendering [Boubekeur et al. 2005a,b,c] • Spectral Processing [Pauly & Gross 2001] • Displaced Subdivision Surface Reconstruction [Suzuki et al 1999][Jeong&Kim 2002]
Introduction - VS Tree - Simplification - Surface Reconstruction - Conclusion Surface Reconstruction: Prior Art • Hugues Hoppe PhD Thesis [Hoppe 1994] • Volumetric approach for large models [Curless&Levoy 1996] • PowerCrust [Amenta et al. 2000] • MPU [Ohtake 2003] • Many others ! • Lower Dimensional approaches for point clouds: • Delaunay Triangulation: • For reconstruction [Gopi et al. 2000] • For polygonal rendering [Boubekeur et al. 2005a,b,c] • Spectral Processing [Pauly & Gross 2001] • Displaced Subdivision Surface Reconstruction [Suzuki et al 1999][Jeong&Kim 2002]
Refined Mesh Point Cloud Base Mesh Introduction - VS Tree - Simplification - Surface Reconstruction - Conclusion Surface Reconstruction: Principle Error-driven hierarchical clustering VS-Tree + • Refinement: • Curved PN Triangle sampling domain • VS-Tree Displacement using S-Node trees Contouring and simplification by clustering at T-Layer Level
Refined Mesh Point Cloud Base Mesh Introduction - VS Tree - Simplification - Surface Reconstruction - Conclusion Surface Reconstruction: Principle Error-driven hierarchical clustering VS-Tree + • Refinement: • Curved PN Triangle sampling domain • VS-Tree Displacement using S-Node trees Contouring and simplification by clustering at T-Layer Level
Introduction - VS Tree - Simplification - Surface Reconstruction - Conclusion Base Mesh Generation Point cloud T-Layer • Degree 1 Partition of Unity Implicit at T-Layer
Introduction - VS Tree - Simplification - Surface Reconstruction - Conclusion Base Mesh Generation Mesh • Degree 1 Partition of Unity Implicit at T-Layer • Dual Grid for Marching Cube mesh extraction Deepest T-Node Size
Introduction - VS Tree - Simplification - Surface Reconstruction - Conclusion Base Mesh Generation • Degree 1 Partition of Unity Implicit at T-Layer • Dual Grid for Marching Cube mesh extraction • Vertex Clustering at T-Layer again One vertex per T-Node
Refined Mesh Point Cloud Base Mesh Introduction - VS Tree - Simplification - Surface Reconstruction - Conclusion Surface Reconstruction: Principle Error-driven hierarchical clustering VS-Tree + • Refinement: • Curved PN Triangle sampling domain • VS-Tree Displacement using S-Node trees Contouring and simplification by clustering at T-Layer Level
Introduction - VS Tree - Simplification - Surface Reconstruction - Conclusion Base Mesh Refinement • VS-Tree-based Mesh Refinement • Refinement = Tesselation + Displacement • Tessellation: Curved PN Triangle vertex insertion [Vlachos et al. 2001] • Interpolation: displace one time only • Very fast: no 1-neighborhood data-structure • Refinement: For each newly inserted vertex v: • Find the highest S-Node that contains only v • Displace v to the nearest unlocked leaf of the node • Loch the leaf • Apply a tangential smoothing if not displaced afterwards
Introduction - VS Tree - Simplification - Surface Reconstruction - Conclusion Base Mesh Refinement • VS-Tree-based Mesh Refinement • Refinement = Tesselation + Displacement • Tessellation: Curved PN Triangle vertex insertion [Vlachos et al. 2001] • Interpolation: displace one time only • Very fast: no 1-neighborhood data-structure • Refinement: For each newly inserted vertex v: • Find the highest S-Node that contains only v • Displace v to the nearest unlocked leaf l of the node • Lock l • Apply a tangential smoothing if not displaced afterwards
Introduction - VS Tree - Simplification - Surface Reconstruction - Conclusion Quality control • Noise Filtering • Relax the bound of the driving error of the VS-Tree (high frequency small scale noise only) • Semi-regular mesh • Only few extraordinary vertices remaining from T-Layer contouring MPU VS-Tree Recovering adaptivity → over-constraint kappa-p
Introduction - VS Tree - Simplification - Surface Reconstruction - Conclusion Quality control • Noise Filtering • Relax the bound of the driving error of the VS-Tree (high frequency small scale noise only) • Semi-regular mesh • Only few extraordinary vertices remaining from T-Layer contouring MPU VS-Tree
Introduction - VS Tree - Simplification - Surface Reconstruction - Conclusion Quality control • Noise Filtering • Relax the bound of the driving error of the VS-Tree (high frequency small scale noise only) • Semi-regular mesh • Only few extraordinary vertices remaining from T-Layer contouring MPU VS-Tree Recovering adaptivity → over-constraint kappa-p
Introduction - VS Tree - Simplification - Surface Reconstruction - Conclusion Results • Very fast solution • Requires the user: • To modify VS-Tree parameters in some situations, however • Intuitive parameters, and fast enough for update • Limitations - Cannot replace state-of-the-art reconstruction for: • Filling large holes • Handling complex noise models VS-Tree reconstruction VS-Tree Rec.
Introduction - VS Tree - Simplification - Surface Reconstruction - Conclusion Conclusion • HS³ can improve efficiency and quality of geometry processing algorithms not only with the locality it imposes, but also with their structure • The Volume-Surface Tree is almost as efficient as the octree but offers a “better” structure for surfaces • The Transition-Layer offers of simple framework for implementing 2D algorithms on 3D shapes • Partial alternative to parameterization ? • Practical contributions: • The VS-Tree: an Hierarchical Volume-Surface Space Subdivision Structure • VS-Tree Simplification: Mesh Simplification by Clustering • VS-Tree Reconstruction: Fast Surface Reconstruction from Point clouds
Introduction - VS Tree - Simplification - Surface Reconstruction - Conclusion Future Work • Application to rendering • Ray-Tracing • Frequency analysis • Optimal T-Layer
Introduction - VS Tree - Simplification - Surface Reconstruction - Conclusion Future Work • Application to rendering • Ray-Tracing • Frequency analysis • Optimal T-Layer • Idea of analysis: Frequency Analysis • Clustering ~ Low-pass filtering • Frequency Control in 3D • Not directly transmitted from the embedding space to the surface • Surface ~ (locally) slice in the volume decomposition • “A slice in a band-limited function is not band-limited” • [Cook & DeRose 2005]
Thank you for your attention http://www.labri.fr/~boubek