Your SlideShare is downloading. ×
0
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
PhD Defense - Aurélien MARTINET
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

PhD Defense - Aurélien MARTINET

718

Published on

Slides from my PhD Defense in May 2007 @ Inria Rhône Alpes, Grenoble, France.

Slides from my PhD Defense in May 2007 @ Inria Rhône Alpes, Grenoble, France.

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
718
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
13
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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 Efficiency 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 file 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 file 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: Definition and Construction Structuring at the Object Level: Symmetry Examples Structuring at the Scene Level: Instancing Summary ConclusionsObjective Question What is an Object ? Generalities Ill-Defined Notion Large Number of Possibilities In this thesis, we define Objects as Tiles Aurelien MARTINET Structuring 3D Geometry
  • 26. Introduction Objective Pre-processing 3D Geometry Tiles: Definition and Construction Structuring at the Object Level: Symmetry Examples Structuring at the Scene Level: Instancing Summary ConclusionsObjective Question What is an Object ? Generalities Ill-Defined Notion Large Number of Possibilities In this thesis, we define Objects as Tiles Aurelien MARTINET Structuring 3D Geometry
  • 27. Introduction Objective Pre-processing 3D Geometry Tiles: Definition and Construction Structuring at the Object Level: Symmetry Examples Structuring at the Scene Level: Instancing Summary ConclusionsTiles: Definition and Construction Definition A tile is a maximal set of edge-connected polygons Aurelien MARTINET Structuring 3D Geometry
  • 28. Introduction Objective Pre-processing 3D Geometry Tiles: Definition 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: Definition 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 Definition Finding a symmetry of a shape S is equivalent to find 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 efficiently 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 affect 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 defined ? 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 defined ? 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 SummaryDefinition 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 SummaryDefinition 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 SymmetryEfficient 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 SymmetryEfficient Computation Closed-form expression of Mk for k even Using Spherical Harmonic (SH) Basis SH coefficient 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 coefficients. 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” coefficients 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, fixed-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, fixed-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 Define a Symmetry Measure Symmetries defined 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 Define a Symmetry Measure Symmetries defined 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 InstantiationDefinition 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 InstantiationDefinition 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 Definition 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 Definition Definition 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 Definition Definition 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 Efficient 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 Efficient 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 Inefficient for memory reduction 3 Geometry editing is much more difficult 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 Inefficient for memory reduction 3 Geometry editing is much more difficult 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

×