1. Introduction Pre-processing 3D GeometryStructuring at the Object Level: Symmetry Structuring at the Scene Level: Instancing Conclusions Structuring 3D Geometry based on Symmetry and Instancing Information Aurelien MARTINET May 14, 2007 Aurelien MARTINET Structuring 3D Geometry
2. Introduction Generalities Pre-processing 3D Geometry Motivations Structuring at the Object Level: Symmetry Approach Structuring at the Scene Level: Instancing Contributions Conclusions3D GeometryRepresentation Question How can these objects be represented in a computer ? Aurelien MARTINET Structuring 3D Geometry
3. Introduction Generalities Pre-processing 3D Geometry Motivations Structuring at the Object Level: Symmetry Approach Structuring at the Scene Level: Instancing Contributions Conclusions3D GeometryRepresentation 3D Geometry represented as a collection of polygons Aurelien MARTINET Structuring 3D Geometry
4. Introduction Generalities Pre-processing 3D Geometry Motivations Structuring at the Object Level: Symmetry Approach Structuring at the Scene Level: Instancing Contributions Conclusions3D GeometryTreatements Rendering Animation Editing Aurelien MARTINET Structuring 3D Geometry
5. Introduction Generalities Pre-processing 3D Geometry Motivations Structuring at the Object Level: Symmetry Approach Structuring at the Scene Level: Instancing Contributions Conclusions3D GeometryTreatements Rendering Animation Editing Aurelien MARTINET Structuring 3D Geometry
6. Introduction Generalities Pre-processing 3D Geometry Motivations Structuring at the Object Level: Symmetry Approach Structuring at the Scene Level: Instancing Contributions Conclusions3D GeometryTreatements Rendering Animation Editing Aurelien MARTINET Structuring 3D Geometry
7. Introduction Generalities Pre-processing 3D Geometry Motivations Structuring at the Object Level: Symmetry Approach Structuring at the Scene Level: Instancing Contributions ConclusionsMotivationsObservations Fact Structure of Geometry is a key to Eﬃciency Improve rendering speed Reduce memory usage ... Aurelien MARTINET Structuring 3D Geometry
8. Introduction Generalities Pre-processing 3D Geometry Motivations Structuring at the Object Level: Symmetry Approach Structuring at the Scene Level: Instancing Contributions ConclusionsMotivationsObservations Fact 3D Geometry is often unstructured Structural Information is not accessible Raises two important questions: 1 What is Structural Information ? 2 Why is it not accessible ? Aurelien MARTINET Structuring 3D Geometry
9. Introduction Generalities Pre-processing 3D Geometry Motivations Structuring at the Object Level: Symmetry Approach Structuring at the Scene Level: Instancing Contributions ConclusionsMotivationsObservations Fact 3D Geometry is often unstructured Structural Information is not accessible Raises two important questions: 1 What is Structural Information ? 2 Why is it not accessible ? Aurelien MARTINET Structuring 3D Geometry
10. Introduction Generalities Pre-processing 3D Geometry Motivations Structuring at the Object Level: Symmetry Approach Structuring at the Scene Level: Instancing Contributions ConclusionsStructural Information Generalities In Computer Graphics: Symmetry Group of a Shape Parameters of a Revolution Surface Scene-Graph ... Aurelien MARTINET Structuring 3D Geometry
11. Introduction Generalities Pre-processing 3D Geometry Motivations Structuring at the Object Level: Symmetry Approach Structuring at the Scene Level: Instancing Contributions ConclusionsAccessibility of Structural Information Fact Structural Information is not accessible Sources of Problems Asset Exchange Non-Interactive Modeling Techniques Aurelien MARTINET Structuring 3D Geometry
12. Introduction Generalities Pre-processing 3D Geometry Motivations Structuring at the Object Level: Symmetry Approach Structuring at the Scene Level: Instancing Contributions ConclusionsAccessibility of Structural InformationAsset Exchange Exchanging assets is a major problem: Constraints due to multiple platforms, software and ﬁle formats Must ideally preserve the structure of the geometry Aurelien MARTINET Structuring 3D Geometry
13. Introduction Generalities Pre-processing 3D Geometry Motivations Structuring at the Object Level: Symmetry Approach Structuring at the Scene Level: Instancing Contributions ConclusionsAccessibility of Structural InformationAsset Exchange Exchanging assets is a major problem: Constraints due to multiple platforms, software and ﬁle formats Must ideally preserve the structure of the geometry Aurelien MARTINET Structuring 3D Geometry
14. Introduction Generalities Pre-processing 3D Geometry Motivations Structuring at the Object Level: Symmetry Approach Structuring at the Scene Level: Instancing Contributions ConclusionsAccessibility of Structural InformationNon-Interactive Modeling Techniques Pros Cons Reach High-Complexity Unstructured Output Aurelien MARTINET Structuring 3D Geometry
15. Introduction Generalities Pre-processing 3D Geometry Motivations Structuring at the Object Level: Symmetry Approach Structuring at the Scene Level: Instancing Contributions ConclusionsAccessibility of Structural InformationNon-Interactive Modeling Techniques Pros Cons Reach High-Complexity Unstructured Output Aurelien MARTINET Structuring 3D Geometry
16. Introduction Generalities Pre-processing 3D Geometry Motivations Structuring at the Object Level: Symmetry Approach Structuring at the Scene Level: Instancing Contributions ConclusionsStructural InformationScene and Objects Structural Information as a two-scale notion: Object Level Scene Level Aurelien MARTINET Structuring 3D Geometry
17. Introduction Generalities Pre-processing 3D Geometry Motivations Structuring at the Object Level: Symmetry Approach Structuring at the Scene Level: Instancing Contributions ConclusionsApproachPipeline and Outline A three-stage pipeline: 1 2 3 Unstructured 3D Geometry Aurelien MARTINET Structuring 3D Geometry
18. Introduction Generalities Pre-processing 3D Geometry Motivations Structuring at the Object Level: Symmetry Approach Structuring at the Scene Level: Instancing Contributions ConclusionsApproachPipeline and Outline A three-stage pipeline: 1 2 3 Unstructured Pre-Processing 3D Geometry 3D Geometry Aurelien MARTINET Structuring 3D Geometry
19. Introduction Generalities Pre-processing 3D Geometry Motivations Structuring at the Object Level: Symmetry Approach Structuring at the Scene Level: Instancing Contributions ConclusionsApproachPipeline and Outline A three-stage pipeline: 1 2 3 Unstructured Pre-Processing Object Level: 3D Geometry 3D Geometry Symmetry Aurelien MARTINET Structuring 3D Geometry
20. Introduction Generalities Pre-processing 3D Geometry Motivations Structuring at the Object Level: Symmetry Approach Structuring at the Scene Level: Instancing Contributions ConclusionsApproachPipeline and Outline A three-stage pipeline: 1 2 Unstructured Pre-Processing Object Level: Scene Level: 3D Geometry 3D Geometry Symmetry Instancing Aurelien MARTINET Structuring 3D Geometry
21. Introduction Generalities Pre-processing 3D Geometry Motivations Structuring at the Object Level: Symmetry Approach Structuring at the Scene Level: Instancing Contributions ConclusionsContributions 1 A new way of partitioning unstructured geometry 2 Original methods to compute Symmetries of 3D Shapes Algorithm for single shapes Algorithm for composite shapes 3 A new shape congruency descriptor 4 Original method to represent 3D geometry as a hierarchy of instances Aurelien MARTINET Structuring 3D Geometry
22. Introduction Generalities Pre-processing 3D Geometry Motivations Structuring at the Object Level: Symmetry Approach Structuring at the Scene Level: Instancing Contributions ConclusionsContributions 1 A new way of partitioning unstructured geometry 2 Original methods to compute Symmetries of 3D Shapes Algorithm for single shapes Algorithm for composite shapes 3 A new shape congruency descriptor 4 Original method to represent 3D geometry as a hierarchy of instances Aurelien MARTINET Structuring 3D Geometry
23. Introduction Generalities Pre-processing 3D Geometry Motivations Structuring at the Object Level: Symmetry Approach Structuring at the Scene Level: Instancing Contributions ConclusionsContributions 1 A new way of partitioning unstructured geometry 2 Original methods to compute Symmetries of 3D Shapes Algorithm for single shapes Algorithm for composite shapes 3 A new shape congruency descriptor 4 Original method to represent 3D geometry as a hierarchy of instances Aurelien MARTINET Structuring 3D Geometry
24. Introduction Generalities Pre-processing 3D Geometry Motivations Structuring at the Object Level: Symmetry Approach Structuring at the Scene Level: Instancing Contributions ConclusionsContributions 1 A new way of partitioning unstructured geometry 2 Original methods to compute Symmetries of 3D Shapes Algorithm for single shapes Algorithm for composite shapes 3 A new shape congruency descriptor 4 Original method to represent 3D geometry as a hierarchy of instances Aurelien MARTINET Structuring 3D Geometry
25. Introduction Objective Pre-processing 3D Geometry Tiles: Deﬁnition and Construction Structuring at the Object Level: Symmetry Examples Structuring at the Scene Level: Instancing Summary ConclusionsObjective Question What is an Object ? Generalities Ill-Deﬁned Notion Large Number of Possibilities In this thesis, we deﬁne Objects as Tiles Aurelien MARTINET Structuring 3D Geometry
26. Introduction Objective Pre-processing 3D Geometry Tiles: Deﬁnition and Construction Structuring at the Object Level: Symmetry Examples Structuring at the Scene Level: Instancing Summary ConclusionsObjective Question What is an Object ? Generalities Ill-Deﬁned Notion Large Number of Possibilities In this thesis, we deﬁne Objects as Tiles Aurelien MARTINET Structuring 3D Geometry
27. Introduction Objective Pre-processing 3D Geometry Tiles: Deﬁnition and Construction Structuring at the Object Level: Symmetry Examples Structuring at the Scene Level: Instancing Summary ConclusionsTiles: Deﬁnition and Construction Deﬁnition A tile is a maximal set of edge-connected polygons Aurelien MARTINET Structuring 3D Geometry
28. Introduction Objective Pre-processing 3D Geometry Tiles: Deﬁnition and Construction Structuring at the Object Level: Symmetry Examples Structuring at the Scene Level: Instancing Summary ConclusionsExamples of Tiles Decomposition Computational-Friendly: Less than 2 minutes for 13M Polygons. Aurelien MARTINET Structuring 3D Geometry
29. Introduction Objective Pre-processing 3D Geometry Tiles: Deﬁnition and Construction Structuring at the Object Level: Symmetry Examples Structuring at the Scene Level: Instancing Summary ConclusionsSummary Polygon Soup is now a Set of Tiles Next step is to compute the Symmetries of each Tile. Aurelien MARTINET Structuring 3D Geometry
30. Introduction Problem Statement Pre-processing 3D Geometry The Generalized Moment Functions Structuring at the Object Level: Symmetry Symmetries of the Generalized Moment Functions Structuring at the Scene Level: Instancing Symmetries of the 3D Shape Conclusions SummaryProblem Statement Objectives Detect global symmetries of a 3D Shape Independent of Shape Tesselation Aurelien MARTINET Structuring 3D Geometry
31. Introduction Problem Statement Pre-processing 3D Geometry The Generalized Moment Functions Structuring at the Object Level: Symmetry Symmetries of the Generalized Moment Functions Structuring at the Scene Level: Instancing Symmetries of the 3D Shape Conclusions SummaryProblem Statement Objectives Detect global symmetries of a 3D Shape Independent of Shape Tesselation Aurelien MARTINET Structuring 3D Geometry
32. Introduction Problem Statement Pre-processing 3D Geometry The Generalized Moment Functions Structuring at the Object Level: Symmetry Symmetries of the Generalized Moment Functions Structuring at the Scene Level: Instancing Symmetries of the 3D Shape Conclusions SummaryProblem Statement Deﬁnition Finding a symmetry of a shape S is equivalent to ﬁnd an isometry A = (X, α), such that: AS = S π 2 2π 3 π π 2 2π 3 π Aurelien MARTINET Structuring 3D Geometry
33. Introduction Problem Statement Pre-processing 3D Geometry The Generalized Moment Functions Structuring at the Object Level: Symmetry Symmetries of the Generalized Moment Functions Structuring at the Scene Level: Instancing Symmetries of the 3D Shape Conclusions SummaryProblem Statement Question How eﬃciently found parameters of symmetries of a 3D Shape ? Aurelien MARTINET Structuring 3D Geometry
34. Introduction Problem Statement Pre-processing 3D Geometry The Generalized Moment Functions Structuring at the Object Level: Symmetry Symmetries of the Generalized Moment Functions Structuring at the Scene Level: Instancing Symmetries of the 3D Shape Conclusions SummaryApproach Our approach extends PCA-Based Approach: 1 What is PCA-Based Approach ? 2 What are its limitations ? 3 Our approach: The Generalized Moment Functions Aurelien MARTINET Structuring 3D Geometry
35. Introduction Problem Statement Pre-processing 3D Geometry The Generalized Moment Functions Structuring at the Object Level: Symmetry Symmetries of the Generalized Moment Functions Structuring at the Scene Level: Instancing Symmetries of the 3D Shape Conclusions SummaryPCA-Based Approach Principal Component Analysis (PCA) Used to aﬀect a local frame to a 3D Shape, called Principal Axes Aurelien MARTINET Structuring 3D Geometry
36. Introduction Problem Statement Pre-processing 3D Geometry The Generalized Moment Functions Structuring at the Object Level: Symmetry Symmetries of the Generalized Moment Functions Structuring at the Scene Level: Instancing Symmetries of the 3D Shape Conclusions SummaryPCA-Based Approach Fundamental Idea [Minovic, 1993] ω is a Symmetry Axis of S ⇓ ω is a Principal Axis of S The Method 1 Compute principal axes of the shape 2 Check each axis for a symmetry Aurelien MARTINET Structuring 3D Geometry
37. Introduction Problem Statement Pre-processing 3D Geometry The Generalized Moment Functions Structuring at the Object Level: Symmetry Symmetries of the Generalized Moment Functions Structuring at the Scene Level: Instancing Symmetries of the 3D Shape Conclusions SummaryPCA-Based Approach Problems What happends if principal axes are not uniquely deﬁned ? Properties of Principal Axes Along direction of maximum variance Unicity only if extrema are strict Aurelien MARTINET Structuring 3D Geometry
38. Introduction Problem Statement Pre-processing 3D Geometry The Generalized Moment Functions Structuring at the Object Level: Symmetry Symmetries of the Generalized Moment Functions Structuring at the Scene Level: Instancing Symmetries of the 3D Shape Conclusions SummaryPCA-Based Approach Problems What happends if principal axes are not uniquely deﬁned ? Properties of Principal Axes Along direction of maximum variance Unicity only if extrema are strict Aurelien MARTINET Structuring 3D Geometry
39. Introduction Problem Statement Pre-processing 3D Geometry The Generalized Moment Functions Structuring at the Object Level: Symmetry Symmetries of the Generalized Moment Functions Structuring at the Scene Level: Instancing Symmetries of the 3D Shape Conclusions SummaryThe Generalized Moment FunctionsVariance Function a.k.a.Moment of Order 2 M2 (ω) = s×ω 2 ds s∈S ⇓Generalized Moment of Order k Mk (ω) = s×ω k ds s∈S M2 Aurelien MARTINET Structuring 3D Geometry
40. Introduction Problem Statement Pre-processing 3D Geometry The Generalized Moment Functions Structuring at the Object Level: Symmetry Symmetries of the Generalized Moment Functions Structuring at the Scene Level: Instancing Symmetries of the 3D Shape Conclusions SummaryThe Generalized Moment FunctionsVariance Function a.k.a.Moment of Order 2 M2 (ω) = s×ω 2 ds s∈S ⇓Generalized Moment of Order k Mk (ω) = s×ω k ds s∈S M2 M4 M6 Aurelien MARTINET Structuring 3D Geometry
41. Introduction Problem Statement Pre-processing 3D Geometry The Generalized Moment Functions Structuring at the Object Level: Symmetry Symmetries of the Generalized Moment Functions Structuring at the Scene Level: Instancing Symmetries of the 3D Shape Conclusions SummaryDeﬁnition Property 1 of Mk Isometry A is a symmetry of S ⇓ Isometry A is a symmetry of Mk , for all k Strategy 1 Candidates Symmetries are Symmetries of Mk , for all k 2 Check candidates on the shape S Aurelien MARTINET Structuring 3D Geometry
42. Introduction Problem Statement Pre-processing 3D Geometry The Generalized Moment Functions Structuring at the Object Level: Symmetry Symmetries of the Generalized Moment Functions Structuring at the Scene Level: Instancing Symmetries of the 3D Shape Conclusions SummaryDeﬁnition Property 1 of Mk Isometry A is a symmetry of S ⇓ Isometry A is a symmetry of Mk , for all k Strategy 1 Candidates Symmetries are Symmetries of Mk , for all k 2 Check candidates on the shape S Aurelien MARTINET Structuring 3D Geometry
43. Introduction Problem Statement Pre-processing 3D Geometry The Generalized Moment Functions Structuring at the Object Level: Symmetry Symmetries of the Generalized Moment Functions Structuring at the Scene Level: Instancing Symmetries of the 3D Shape Conclusions SummaryDetermination of the Axis of Symmetry Property 2 ω is a symmetry axis of Mk ⇓ 2 ∇Mk (ω) =0 Potential Symmetry Axis ω of the Shape by solving: ∀k (∇Mk )(ω) = 0 Aurelien MARTINET Structuring 3D Geometry
44. Introduction Problem Statement Pre-processing 3D Geometry The Generalized Moment Functions Structuring at the Object Level: Symmetry Symmetries of the Generalized Moment Functions Structuring at the Scene Level: Instancing Symmetries of the 3D Shape Conclusions SummaryDetermination of the Axis of SymmetryEﬃcient Computation Closed-form expression of Mk for k even Using Spherical Harmonic (SH) Basis M2p (ω) = s×ω 2p ds s∈S p 2l = Clm Y2l (ω) m l=0 m=−2l Aurelien MARTINET Structuring 3D Geometry
45. Introduction Problem Statement Pre-processing 3D Geometry The Generalized Moment Functions Structuring at the Object Level: Symmetry Symmetries of the Generalized Moment Functions Structuring at the Scene Level: Instancing Symmetries of the 3D Shape Conclusions SummaryDetermination of the Axis of SymmetryEﬃcient Computation Closed-form expression of Mk for k even Using Spherical Harmonic (SH) Basis SH coeﬃcient M2p (ω) = s×ω 2p ds s∈S p 2l = Clm Y2l (ω) m l=0 m=−2l Aurelien MARTINET Structuring 3D Geometry
46. Introduction Problem Statement Pre-processing 3D Geometry The Generalized Moment Functions Structuring at the Object Level: Symmetry Symmetries of the Generalized Moment Functions Structuring at the Scene Level: Instancing Symmetries of the 3D Shape Conclusions SummaryDetermination of Symmetry Parameters Property 3 Symmetries of M2p are obtained by testing SH coeﬃcients. Aurelien MARTINET Structuring 3D Geometry
47. Introduction Problem Statement Pre-processing 3D Geometry The Generalized Moment Functions Structuring at the Object Level: Symmetry Symmetries of the Generalized Moment Functions Structuring at the Scene Level: Instancing Symmetries of the 3D Shape Conclusions SummaryDetermination of Symmetry ParametersExample: Testing Revolution-Symmetry Question Has M2p a revolution-symmetry around axis n ? We use the following powerful property: Property A Moment Function has a revolution-symmetry around z−axis if: ∀l ∀m m = 0 ⇒ Clm = 0 Aurelien MARTINET Structuring 3D Geometry
48. Introduction Problem Statement Pre-processing 3D Geometry The Generalized Moment Functions Structuring at the Object Level: Symmetry Symmetries of the Generalized Moment Functions Structuring at the Scene Level: Instancing Symmetries of the 3D Shape Conclusions SummaryDetermination of Symmetry ParametersExample: Testing Revolution-Symmetry Question Has M2p a revolution-symmetry around axis n ? We use the following powerful property: Property A Moment Function has a revolution-symmetry around z−axis if: ∀l ∀m m = 0 ⇒ Clm = 0 Aurelien MARTINET Structuring 3D Geometry
49. Introduction Problem Statement Pre-processing 3D Geometry The Generalized Moment Functions Structuring at the Object Level: Symmetry Symmetries of the Generalized Moment Functions Structuring at the Scene Level: Instancing Symmetries of the 3D Shape Conclusions SummaryDetermination of Symmetry ParametersExample: Testing Revolution-Symmetry Lead to a simple 2-step method: 1 Rotate M2p to align axis n on z 2 Test the nullity of the “new” coeﬃcients Clm (up to a threshold) Aurelien MARTINET Structuring 3D Geometry
50. Introduction Problem Statement Pre-processing 3D Geometry The Generalized Moment Functions Structuring at the Object Level: Symmetry Symmetries of the Generalized Moment Functions Structuring at the Scene Level: Instancing Symmetries of the 3D Shape Conclusions SummaryDetermination of Symmetry Parameters Equivalent properties exist for: Planar symmetries, ﬁxed-angle rotational symmetries Last step is to check candidates on the 3D shape S Aurelien MARTINET Structuring 3D Geometry
51. Introduction Problem Statement Pre-processing 3D Geometry The Generalized Moment Functions Structuring at the Object Level: Symmetry Symmetries of the Generalized Moment Functions Structuring at the Scene Level: Instancing Symmetries of the 3D Shape Conclusions SummaryDetermination of Symmetry Parameters Equivalent properties exist for: Planar symmetries, ﬁxed-angle rotational symmetries Last step is to check candidates on the 3D shape S Aurelien MARTINET Structuring 3D Geometry
52. Introduction Problem Statement Pre-processing 3D Geometry The Generalized Moment Functions Structuring at the Object Level: Symmetry Symmetries of the Generalized Moment Functions Structuring at the Scene Level: Instancing Symmetries of the 3D Shape Conclusions SummaryTesting a symmetry on a 3D Shape Deﬁne a Symmetry Measure Symmetries deﬁned up to a threshold Allow approximate symmetries. Fact Testing a symmetry on S is costly. Symmetry Measure only computed for few candidates Aurelien MARTINET Structuring 3D Geometry
53. Introduction Problem Statement Pre-processing 3D Geometry The Generalized Moment Functions Structuring at the Object Level: Symmetry Symmetries of the Generalized Moment Functions Structuring at the Scene Level: Instancing Symmetries of the 3D Shape Conclusions SummaryTesting a symmetry on a 3D Shape Deﬁne a Symmetry Measure Symmetries deﬁned up to a threshold Allow approximate symmetries. Fact Testing a symmetry on S is costly. Symmetry Measure only computed for few candidates Aurelien MARTINET Structuring 3D Geometry
54. Introduction Problem Statement Pre-processing 3D Geometry The Generalized Moment Functions Structuring at the Object Level: Symmetry Symmetries of the Generalized Moment Functions Structuring at the Scene Level: Instancing Symmetries of the 3D Shape Conclusions SummaryResultsComplete Example Aurelien MARTINET Structuring 3D Geometry
55. Introduction Problem Statement Pre-processing 3D Geometry The Generalized Moment Functions Structuring at the Object Level: Symmetry Symmetries of the Generalized Moment Functions Structuring at the Scene Level: Instancing Symmetries of the 3D Shape Conclusions SummaryResultsComplete Example M8 ∇M8 2 Aurelien MARTINET Structuring 3D Geometry
56. Introduction Problem Statement Pre-processing 3D Geometry The Generalized Moment Functions Structuring at the Object Level: Symmetry Symmetries of the Generalized Moment Functions Structuring at the Scene Level: Instancing Symmetries of the 3D Shape Conclusions SummaryResultsComplete Example M8 ∇M8 2 Aurelien MARTINET Structuring 3D Geometry
57. Introduction Problem Statement Pre-processing 3D Geometry The Generalized Moment Functions Structuring at the Object Level: Symmetry Symmetries of the Generalized Moment Functions Structuring at the Scene Level: Instancing Symmetries of the 3D Shape Conclusions SummarySummary Each tile (object) is structured using symmetry information Last step is to compute a representation of the geometry as a Hierarchy of Instances. Aurelien MARTINET Structuring 3D Geometry
58. Introduction Introduction Pre-processing 3D Geometry Overview Structuring at the Object Level: Symmetry Step 1: Frequent Pattern Discovery Structuring at the Scene Level: Instancing Step 2: Organizing frequent patterns Conclusions ResultsHierarchical InstantiationDeﬁnition Instantiation Factorize repeated geometry Hierarchical Instantiation Extend Instantiation at multiple scales Aurelien MARTINET Structuring 3D Geometry
59. Introduction Introduction Pre-processing 3D Geometry Overview Structuring at the Object Level: Symmetry Step 1: Frequent Pattern Discovery Structuring at the Scene Level: Instancing Step 2: Organizing frequent patterns Conclusions ResultsHierarchical InstantiationDeﬁnition Instantiation Factorize repeated geometry Hierarchical Instantiation Extend Instantiation at multiple scales Aurelien MARTINET Structuring 3D Geometry
60. Introduction Introduction Pre-processing 3D Geometry Overview Structuring at the Object Level: Symmetry Step 1: Frequent Pattern Discovery Structuring at the Scene Level: Instancing Step 2: Organizing frequent patterns Conclusions ResultsPatterns and Instances Deﬁnition A pattern is a generic set of objects, represented in the scene by its instances. Per instance attributes: Transformation matrix Aurelien MARTINET Structuring 3D Geometry
61. Introduction Introduction Pre-processing 3D Geometry Overview Structuring at the Object Level: Symmetry Step 1: Frequent Pattern Discovery Structuring at the Scene Level: Instancing Step 2: Organizing frequent patterns Conclusions ResultsUtility of Instancing Information Rendering Geometry Editing Aurelien MARTINET Structuring 3D Geometry
62. Introduction Introduction Pre-processing 3D Geometry Overview Structuring at the Object Level: Symmetry Step 1: Frequent Pattern Discovery Structuring at the Scene Level: Instancing Step 2: Organizing frequent patterns Conclusions ResultsUtility of Instancing Information Rendering Geometry Editing Aurelien MARTINET Structuring 3D Geometry
63. Introduction Introduction Pre-processing 3D Geometry Overview Structuring at the Object Level: Symmetry Step 1: Frequent Pattern Discovery Structuring at the Scene Level: Instancing Step 2: Organizing frequent patterns Conclusions ResultsOverview Input data Set of Tiles Class of Congruency Congruent Descriptor (see manuscript) Derived from M2p Aurelien MARTINET Structuring 3D Geometry
64. Introduction Introduction Pre-processing 3D Geometry Overview Structuring at the Object Level: Symmetry Step 1: Frequent Pattern Discovery Structuring at the Scene Level: Instancing Step 2: Organizing frequent patterns Conclusions ResultsOverview A two-step approach:Structured 3D Geometry Frequent Patterns Organizing Object Level Discovery Frequent Patterns Aurelien MARTINET Structuring 3D Geometry
65. Introduction Introduction Pre-processing 3D Geometry Overview Structuring at the Object Level: Symmetry Step 1: Frequent Pattern Discovery Structuring at the Scene Level: Instancing Step 2: Organizing frequent patterns Conclusions ResultsProblem Deﬁnition Deﬁnition The frequency of a pattern is equal to the number of its (possibly overlaping) instances ⇓ Objective Given a threshold f , identify all patterns P which frequency is greater or equal to f . Aurelien MARTINET Structuring 3D Geometry
66. Introduction Introduction Pre-processing 3D Geometry Overview Structuring at the Object Level: Symmetry Step 1: Frequent Pattern Discovery Structuring at the Scene Level: Instancing Step 2: Organizing frequent patterns Conclusions ResultsProblem Deﬁnition Deﬁnition The frequency of a pattern is equal to the number of its (possibly overlaping) instances ⇓ Objective Given a threshold f , identify all patterns P which frequency is greater or equal to f . Aurelien MARTINET Structuring 3D Geometry
67. Introduction Introduction Pre-processing 3D Geometry Overview Structuring at the Object Level: Symmetry Step 1: Frequent Pattern Discovery Structuring at the Scene Level: Instancing Step 2: Organizing frequent patterns Conclusions ResultsApproachTwo potential approaches 1 Agglomerative Approach Progressively grow up a pattern Eﬃcient traversal of the search space Exponential Complexity 2 Symmetry-Based Approach Aurelien MARTINET Structuring 3D Geometry
68. Introduction Introduction Pre-processing 3D Geometry Overview Structuring at the Object Level: Symmetry Step 1: Frequent Pattern Discovery Structuring at the Scene Level: Instancing Step 2: Organizing frequent patterns Conclusions ResultsApproachTwo potential approaches 1 Agglomerative Approach Progressively grow up a pattern Eﬃcient traversal of the search space Exponential Complexity 2 Symmetry-Based Approach Aurelien MARTINET Structuring 3D Geometry
69. Introduction Introduction Pre-processing 3D Geometry Overview Structuring at the Object Level: Symmetry Step 1: Frequent Pattern Discovery Structuring at the Scene Level: Instancing Step 2: Organizing frequent patterns Conclusions ResultsSymmetry-Based ApproachBasic assumption Fact Two instances of a pattern form a local symmetry. Aurelien MARTINET Structuring 3D Geometry
70. Introduction Introduction Pre-processing 3D Geometry Overview Structuring at the Object Level: Symmetry Step 1: Frequent Pattern Discovery Structuring at the Scene Level: Instancing Step 2: Organizing frequent patterns Conclusions ResultsSymmetry-based approach Strategy Set of Frequent Patterns Local Symmetries of the Scene Aurelien MARTINET Structuring 3D Geometry
71. Introduction Introduction Pre-processing 3D Geometry Overview Structuring at the Object Level: Symmetry Step 1: Frequent Pattern Discovery Structuring at the Scene Level: Instancing Step 2: Organizing frequent patterns Conclusions ResultsSymmetry-Based Approach Overview Consider each couple of congruent tiles Compute the transformation that map one tile to the other Add the corresponding point in the Transformation Space Aurelien MARTINET Structuring 3D Geometry
72. Introduction Introduction Pre-processing 3D Geometry Overview Structuring at the Object Level: Symmetry Step 1: Frequent Pattern Discovery Structuring at the Scene Level: Instancing Step 2: Organizing frequent patterns Conclusions ResultsSymmetry-Based Approach Overview Consider each couple of congruent tiles Compute the transformation that map one tile to the other Add the corresponding point in the Transformation Space Aurelien MARTINET Structuring 3D Geometry
73. Introduction Introduction Pre-processing 3D Geometry Overview Structuring at the Object Level: Symmetry Step 1: Frequent Pattern Discovery Structuring at the Scene Level: Instancing Step 2: Organizing frequent patterns Conclusions ResultsSymmetry-Based Approach The Transformation Space For a couple of tiles, transformation is not unique: Discrete symmetries i.e. rotation or planar symmetries. continuous symmetries: spherical symmetries, cylindrical symmetries. Aurelien MARTINET Structuring 3D Geometry
74. Introduction Introduction Pre-processing 3D Geometry Overview Structuring at the Object Level: Symmetry Step 1: Frequent Pattern Discovery Structuring at the Scene Level: Instancing Step 2: Organizing frequent patterns Conclusions ResultsSymmetry-Based Approach The Transformation Space For a couple of tiles, transformation is not unique: Discrete symmetries i.e. rotation or planar symmetries. continuous symmetries: spherical symmetries, cylindrical symmetries. Aurelien MARTINET Structuring 3D Geometry
75. Introduction Introduction Pre-processing 3D Geometry Overview Structuring at the Object Level: Symmetry Step 1: Frequent Pattern Discovery Structuring at the Scene Level: Instancing Step 2: Organizing frequent patterns Conclusions ResultsSymmetry-Based Approach The Transformation Space For a couple of tiles, transformation is not unique: Discrete symmetries i.e. rotation or planar symmetries. continuous symmetries: spherical symmetries, cylindrical symmetries. Aurelien MARTINET Structuring 3D Geometry
76. Introduction Introduction Pre-processing 3D Geometry Overview Structuring at the Object Level: Symmetry Step 1: Frequent Pattern Discovery Structuring at the Scene Level: Instancing Step 2: Organizing frequent patterns Conclusions ResultsSymmetry-Based Approach Forming patterns Each point of the Transformation Space contains an information of mapping between two tiles, Local symmetries are obtained by clustering points Aurelien MARTINET Structuring 3D Geometry
77. Introduction Introduction Pre-processing 3D Geometry Overview Structuring at the Object Level: Symmetry Step 1: Frequent Pattern Discovery Structuring at the Scene Level: Instancing Step 2: Organizing frequent patterns Conclusions ResultsSymmetry-Based Approach Forming patterns Each point of the Transformation Space contains an information of mapping between two tiles, Local symmetries are obtained by clustering points Aurelien MARTINET Structuring 3D Geometry
78. Introduction Introduction Pre-processing 3D Geometry Overview Structuring at the Object Level: Symmetry Step 1: Frequent Pattern Discovery Structuring at the Scene Level: Instancing Step 2: Organizing frequent patterns Conclusions ResultsFrequent Patterns: Results Aurelien MARTINET Structuring 3D Geometry
79. Introduction Introduction Pre-processing 3D Geometry Overview Structuring at the Object Level: Symmetry Step 1: Frequent Pattern Discovery Structuring at the Scene Level: Instancing Step 2: Organizing frequent patterns Conclusions ResultsSummary of Contributions 1 Identify the “hardness” of the problem 2 A new approach to generate frequent patterns 3 Not presented in this talk (see manuscript): Analytic expression of curve equation for continuous symmetry Method to reduce the number of mappingsNext step is to represent the scene as a Hierarchy of Instances Aurelien MARTINET Structuring 3D Geometry
80. Introduction Introduction Pre-processing 3D Geometry Overview Structuring at the Object Level: Symmetry Step 1: Frequent Pattern Discovery Structuring at the Scene Level: Instancing Step 2: Organizing frequent patterns Conclusions ResultsSummary of Contributions 1 Identify the “hardness” of the problem 2 A new approach to generate frequent patterns 3 Not presented in this talk (see manuscript): Analytic expression of curve equation for continuous symmetry Method to reduce the number of mappingsNext step is to represent the scene as a Hierarchy of Instances Aurelien MARTINET Structuring 3D Geometry
81. Introduction Introduction Pre-processing 3D Geometry Overview Structuring at the Object Level: Symmetry Step 1: Frequent Pattern Discovery Structuring at the Scene Level: Instancing Step 2: Organizing frequent patterns Conclusions ResultsSummary of Contributions 1 Identify the “hardness” of the problem 2 A new approach to generate frequent patterns 3 Not presented in this talk (see manuscript): Analytic expression of curve equation for continuous symmetry Method to reduce the number of mappingsNext step is to represent the scene as a Hierarchy of Instances Aurelien MARTINET Structuring 3D Geometry
82. Introduction Introduction Pre-processing 3D Geometry Overview Structuring at the Object Level: Symmetry Step 1: Frequent Pattern Discovery Structuring at the Scene Level: Instancing Step 2: Organizing frequent patterns Conclusions ResultsSummary of Contributions 1 Identify the “hardness” of the problem 2 A new approach to generate frequent patterns 3 Not presented in this talk (see manuscript): Analytic expression of curve equation for continuous symmetry Method to reduce the number of mappingsNext step is to represent the scene as a Hierarchy of Instances Aurelien MARTINET Structuring 3D Geometry
83. Introduction Introduction Pre-processing 3D Geometry Overview Structuring at the Object Level: Symmetry Step 1: Frequent Pattern Discovery Structuring at the Scene Level: Instancing Step 2: Organizing frequent patterns Conclusions ResultsProblem Statement Goal Obtain a hierarchy of instances Represented as a Hierarchy Assembly Graph (HAG) Directed Acyclic Graph Each node is a pattern Each edge carries geometric transformation Aurelien MARTINET Structuring 3D Geometry
84. Introduction Introduction Pre-processing 3D Geometry Overview Structuring at the Object Level: Symmetry Step 1: Frequent Pattern Discovery Structuring at the Scene Level: Instancing Step 2: Organizing frequent patterns Conclusions ResultsHAG Construction HAG Construction Represent inclusion between frequent patterns Pick a reference instance for each pattern Compute the appropriate transform by iterating through edges Aurelien MARTINET Structuring 3D Geometry
85. Introduction Introduction Pre-processing 3D Geometry Overview Structuring at the Object Level: Symmetry Step 1: Frequent Pattern Discovery Structuring at the Scene Level: Instancing Step 2: Organizing frequent patterns Conclusions ResultsHAG ConstructionExample: The Plane Model Aurelien MARTINET Structuring 3D Geometry
86. Introduction Introduction Pre-processing 3D Geometry Overview Structuring at the Object Level: Symmetry Step 1: Frequent Pattern Discovery Structuring at the Scene Level: Instancing Step 2: Organizing frequent patterns Conclusions ResultsHAG Construction Observation A HAG with overlap nodes is hardly usable Overlapping Problems 1 Multiple rendering of overlaped parts 2 Ineﬃcient for memory reduction 3 Geometry editing is much more diﬃcult Aurelien MARTINET Structuring 3D Geometry
87. Introduction Introduction Pre-processing 3D Geometry Overview Structuring at the Object Level: Symmetry Step 1: Frequent Pattern Discovery Structuring at the Scene Level: Instancing Step 2: Organizing frequent patterns Conclusions ResultsHAG Construction Observation A HAG with overlap nodes is hardly usable Overlapping Problems 1 Multiple rendering of overlaped parts 2 Ineﬃcient for memory reduction 3 Geometry editing is much more diﬃcult Aurelien MARTINET Structuring 3D Geometry
88. Introduction Introduction Pre-processing 3D Geometry Overview Structuring at the Object Level: Symmetry Step 1: Frequent Pattern Discovery Structuring at the Scene Level: Instancing Step 2: Organizing frequent patterns Conclusions ResultsDeriving a usable Hierarchy of Instances Usable Hierarchy : Hierarchy with no-overlap Some choices must be made This process is Application-Dependent Example Hierarchy of Instances optimized for Ray-Tracing Aurelien MARTINET Structuring 3D Geometry
89. Introduction Introduction Pre-processing 3D Geometry Overview Structuring at the Object Level: Symmetry Step 1: Frequent Pattern Discovery Structuring at the Scene Level: Instancing Step 2: Organizing frequent patterns Conclusions ResultsDeriving a usable Hierarchy of Instances Usable Hierarchy : Hierarchy with no-overlap Some choices must be made This process is Application-Dependent Example Hierarchy of Instances optimized for Ray-Tracing Aurelien MARTINET Structuring 3D Geometry
90. Introduction Introduction Pre-processing 3D Geometry Overview Structuring at the Object Level: Symmetry Step 1: Frequent Pattern Discovery Structuring at the Scene Level: Instancing Step 2: Organizing frequent patterns Conclusions ResultsDeriving a usable Hierarchy of InstancesRay-Tracing Generalities Ray-Tracing naturally allows instancing Load a single pattern per instance Reduce part of the geometry loaded in memory Aurelien MARTINET Structuring 3D Geometry
91. Introduction Introduction Pre-processing 3D Geometry Overview Structuring at the Object Level: Symmetry Step 1: Frequent Pattern Discovery Structuring at the Scene Level: Instancing Step 2: Organizing frequent patterns Conclusions ResultsDeriving a usable Hierarchy of InstancesRay-Tracing If considering whole scene itself as a Pattern of frequency 1: Strategy Hierarchy of Instances optimized for Ray-Tracing Reduce storage cost C(P) of each pattern P Aurelien MARTINET Structuring 3D Geometry
92. Introduction Introduction Pre-processing 3D Geometry Overview Structuring at the Object Level: Symmetry Step 1: Frequent Pattern Discovery Structuring at the Scene Level: Instancing Step 2: Organizing frequent patterns Conclusions ResultsDeriving a usable Hierarchy of InstancesRay-Tracing Strategy Bottom-Up Approach For each pattern P: min C(P) constrained by non-overlap Such problem is NP−complete Need an approximation algorithm: greedy approach Aurelien MARTINET Structuring 3D Geometry
93. Introduction Introduction Pre-processing 3D Geometry Overview Structuring at the Object Level: Symmetry Step 1: Frequent Pattern Discovery Structuring at the Scene Level: Instancing Step 2: Organizing frequent patterns Conclusions ResultsDeriving a usable Hierarchy of InstancesExample: Plane Model Aurelien MARTINET Structuring 3D Geometry
94. Introduction Introduction Pre-processing 3D Geometry Overview Structuring at the Object Level: Symmetry Step 1: Frequent Pattern Discovery Structuring at the Scene Level: Instancing Step 2: Organizing frequent patterns Conclusions ResultsDeriving a usable Hierarchy of InstancesExample: Powerplant Model Aurelien MARTINET Structuring 3D Geometry
95. Introduction Introduction Pre-processing 3D Geometry Overview Structuring at the Object Level: Symmetry Step 1: Frequent Pattern Discovery Structuring at the Scene Level: Instancing Step 2: Organizing frequent patterns Conclusions ResultsDeriving a usable Hierarchy of InstancesExample: Powerplant Model Aurelien MARTINET Structuring 3D Geometry
96. Introduction Pre-processing 3D Geometry Summary Structuring at the Object Level: Symmetry Contributions Structuring at the Scene Level: Instancing Future Work ConclusionsSummary A whole pipeline for structuring 3D Geometry: Unstructured Pre-Processing Object Level: Scene Level: 3D Geometry 3D Geometry Symmetry Instancing Potential Applications: Rendering Geometry Editing Aurelien MARTINET Structuring 3D Geometry
97. Introduction Pre-processing 3D Geometry Summary Structuring at the Object Level: Symmetry Contributions Structuring at the Scene Level: Instancing Future Work ConclusionsSummary of Contributions Two contributions for Structuring 3D Geometry: Detection of Symmetries in 3D Shapes The Generalized Moment Functions Algorithms for Single and Composite Shapes Potential Applications: Compression, Geometry Editing, . . . Aurelien MARTINET Structuring 3D Geometry
98. Introduction Pre-processing 3D Geometry Summary Structuring at the Object Level: Symmetry Contributions Structuring at the Scene Level: Instancing Future Work ConclusionsSummary of Contributions Two contributions for Structuring 3D Geometry: Hierarchical Instancing of Geometry A way of representing geometry as a Hierarchy of Instances Potential Applications: Geometry Editing, Compression, rendering, . . . Aurelien MARTINET Structuring 3D Geometry
99. Introduction Pre-processing 3D Geometry Summary Structuring at the Object Level: Symmetry Contributions Structuring at the Scene Level: Instancing Future Work ConclusionsFuture Work Most Promising Work: Structuring at the Semantic Level Adaptive Display Algorithm [Funkhouser et al. 93] Adapt geometry to render it at interactive frame rates Aurelien MARTINET Structuring 3D Geometry
100. Introduction Pre-processing 3D Geometry Summary Structuring at the Object Level: Symmetry Contributions Structuring at the Scene Level: Instancing Future Work ConclusionsFuture Work Most Promising Work: Structuring at the Semantic Level Adaptive Display Algorithm [Funkhouser et al. 93] Adapt geometry to render it at interactive frame rates Aurelien MARTINET Structuring 3D Geometry
101. Introduction Pre-processing 3D Geometry Summary Structuring at the Object Level: Symmetry Contributions Structuring at the Scene Level: Instancing Future Work ConclusionsThank you for your attention π 2 2π 3 π π 2 2π 3 π Aurelien MARTINET Structuring 3D Geometry
Be the first to comment