Introduction Pre-processing 3D Geometry Structuring 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
Slides from my PhD Defense in May 2007 @ Inria Rhône Alpes, Grenoble, France.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
IntroductionPre-processing 3D Geometry
Structuring at the Object Level: SymmetryStructuring 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
IntroductionPre-processing 3D Geometry
Structuring at the Object Level: SymmetryStructuring at the Scene Level: Instancing
Conclusions
GeneralitiesMotivationsApproachContributions
3D GeometryRepresentation
Question
How can these objects be represented in a computer ?
Aurelien MARTINET Structuring 3D Geometry
IntroductionPre-processing 3D Geometry
Structuring at the Object Level: SymmetryStructuring at the Scene Level: Instancing
Conclusions
GeneralitiesMotivationsApproachContributions
3D GeometryRepresentation
3D Geometry represented as a collection of polygons
Aurelien MARTINET Structuring 3D Geometry
IntroductionPre-processing 3D Geometry
Structuring at the Object Level: SymmetryStructuring at the Scene Level: Instancing
Conclusions
GeneralitiesMotivationsApproachContributions
3D GeometryTreatements
Rendering
Animation
Editing
Aurelien MARTINET Structuring 3D Geometry
IntroductionPre-processing 3D Geometry
Structuring at the Object Level: SymmetryStructuring at the Scene Level: Instancing
Conclusions
GeneralitiesMotivationsApproachContributions
3D GeometryTreatements
Rendering
Animation
Editing
Aurelien MARTINET Structuring 3D Geometry
IntroductionPre-processing 3D Geometry
Structuring at the Object Level: SymmetryStructuring at the Scene Level: Instancing
Conclusions
GeneralitiesMotivationsApproachContributions
3D GeometryTreatements
Rendering
Animation
Editing
Aurelien MARTINET Structuring 3D Geometry
IntroductionPre-processing 3D Geometry
Structuring at the Object Level: SymmetryStructuring at the Scene Level: Instancing
Conclusions
GeneralitiesMotivationsApproachContributions
MotivationsObservations
Fact
Structure of Geometry is a key to Efficiency
Improve rendering speed
Reduce memory usage
. . .
Aurelien MARTINET Structuring 3D Geometry
IntroductionPre-processing 3D Geometry
Structuring at the Object Level: SymmetryStructuring at the Scene Level: Instancing
Conclusions
GeneralitiesMotivationsApproachContributions
MotivationsObservations
Fact
3D Geometry is often unstructured
m
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
IntroductionPre-processing 3D Geometry
Structuring at the Object Level: SymmetryStructuring at the Scene Level: Instancing
Conclusions
GeneralitiesMotivationsApproachContributions
MotivationsObservations
Fact
3D Geometry is often unstructured
m
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
IntroductionPre-processing 3D Geometry
Structuring at the Object Level: SymmetryStructuring at the Scene Level: Instancing
Conclusions
GeneralitiesMotivationsApproachContributions
Structural Information
Generalities
In Computer Graphics:
Symmetry Group of a ShapeParameters of a Revolution SurfaceScene-Graph. . .
Aurelien MARTINET Structuring 3D Geometry
IntroductionPre-processing 3D Geometry
Structuring at the Object Level: SymmetryStructuring at the Scene Level: Instancing
Conclusions
GeneralitiesMotivationsApproachContributions
Accessibility of Structural Information
Fact
Structural Information is not accessible
Sources of Problems
Asset Exchange
Non-Interactive Modeling Techniques
Aurelien MARTINET Structuring 3D Geometry
IntroductionPre-processing 3D Geometry
Structuring at the Object Level: SymmetryStructuring at the Scene Level: Instancing
Conclusions
GeneralitiesMotivationsApproachContributions
Accessibility of Structural InformationAsset Exchange
Exchanging assets is a major problem:
Constraints due to multiple platforms, software and file formatsMust ideally preserve the structure of the geometry
Aurelien MARTINET Structuring 3D Geometry
IntroductionPre-processing 3D Geometry
Structuring at the Object Level: SymmetryStructuring at the Scene Level: Instancing
Conclusions
GeneralitiesMotivationsApproachContributions
Accessibility of Structural InformationAsset Exchange
Exchanging assets is a major problem:
Constraints due to multiple platforms, software and file formatsMust ideally preserve the structure of the geometry
Aurelien MARTINET Structuring 3D Geometry
IntroductionPre-processing 3D Geometry
Structuring at the Object Level: SymmetryStructuring at the Scene Level: Instancing
Conclusions
GeneralitiesMotivationsApproachContributions
Accessibility of Structural InformationNon-Interactive Modeling Techniques
Pros
Reach High-Complexity
Cons
Unstructured Output
Aurelien MARTINET Structuring 3D Geometry
IntroductionPre-processing 3D Geometry
Structuring at the Object Level: SymmetryStructuring at the Scene Level: Instancing
Conclusions
GeneralitiesMotivationsApproachContributions
Accessibility of Structural InformationNon-Interactive Modeling Techniques
Pros
Reach High-Complexity
Cons
Unstructured Output
Aurelien MARTINET Structuring 3D Geometry
IntroductionPre-processing 3D Geometry
Structuring at the Object Level: SymmetryStructuring at the Scene Level: Instancing
Conclusions
GeneralitiesMotivationsApproachContributions
Structural InformationScene and Objects
Structural Information as a two-scale notion:
Object Level
Scene Level
Aurelien MARTINET Structuring 3D Geometry
IntroductionPre-processing 3D Geometry
Structuring at the Object Level: SymmetryStructuring at the Scene Level: Instancing
Conclusions
GeneralitiesMotivationsApproachContributions
ApproachPipeline and Outline
A three-stage pipeline:
Unstructured3D Geometry
1 2 3
Aurelien MARTINET Structuring 3D Geometry
IntroductionPre-processing 3D Geometry
Structuring at the Object Level: SymmetryStructuring at the Scene Level: Instancing
Conclusions
GeneralitiesMotivationsApproachContributions
ApproachPipeline and Outline
A three-stage pipeline:
Unstructured3D Geometry
1 2 3
Pre-Processing3D Geometry
Aurelien MARTINET Structuring 3D Geometry
IntroductionPre-processing 3D Geometry
Structuring at the Object Level: SymmetryStructuring at the Scene Level: Instancing
Conclusions
GeneralitiesMotivationsApproachContributions
ApproachPipeline and Outline
A three-stage pipeline:
Unstructured3D Geometry
1 2 3
Pre-Processing3D Geometry
Object Level:Symmetry
Aurelien MARTINET Structuring 3D Geometry
IntroductionPre-processing 3D Geometry
Structuring at the Object Level: SymmetryStructuring at the Scene Level: Instancing
Conclusions
GeneralitiesMotivationsApproachContributions
ApproachPipeline and Outline
A three-stage pipeline:
Unstructured3D Geometry
1 2
Pre-Processing3D Geometry
Object Level:Symmetry
Scene Level:Instancing
Aurelien MARTINET Structuring 3D Geometry
IntroductionPre-processing 3D Geometry
Structuring at the Object Level: SymmetryStructuring at the Scene Level: Instancing
Conclusions
GeneralitiesMotivationsApproachContributions
Contributions
1 A new way of partitioning unstructured geometry2 Original methods to compute Symmetries of 3D Shapes
Algorithm for single shapesAlgorithm for composite shapes
3 A new shape congruency descriptor
4 Original method to represent 3D geometry as a hierarchy ofinstances
Aurelien MARTINET Structuring 3D Geometry
IntroductionPre-processing 3D Geometry
Structuring at the Object Level: SymmetryStructuring at the Scene Level: Instancing
Conclusions
GeneralitiesMotivationsApproachContributions
Contributions
1 A new way of partitioning unstructured geometry2 Original methods to compute Symmetries of 3D Shapes
Algorithm for single shapesAlgorithm for composite shapes
3 A new shape congruency descriptor
4 Original method to represent 3D geometry as a hierarchy ofinstances
Aurelien MARTINET Structuring 3D Geometry
IntroductionPre-processing 3D Geometry
Structuring at the Object Level: SymmetryStructuring at the Scene Level: Instancing
Conclusions
GeneralitiesMotivationsApproachContributions
Contributions
1 A new way of partitioning unstructured geometry2 Original methods to compute Symmetries of 3D Shapes
Algorithm for single shapesAlgorithm for composite shapes
3 A new shape congruency descriptor
4 Original method to represent 3D geometry as a hierarchy ofinstances
Aurelien MARTINET Structuring 3D Geometry
IntroductionPre-processing 3D Geometry
Structuring at the Object Level: SymmetryStructuring at the Scene Level: Instancing
Conclusions
GeneralitiesMotivationsApproachContributions
Contributions
1 A new way of partitioning unstructured geometry2 Original methods to compute Symmetries of 3D Shapes
Algorithm for single shapesAlgorithm for composite shapes
3 A new shape congruency descriptor
4 Original method to represent 3D geometry as a hierarchy ofinstances
Aurelien MARTINET Structuring 3D Geometry
IntroductionPre-processing 3D Geometry
Structuring at the Object Level: SymmetryStructuring at the Scene Level: Instancing
Conclusions
ObjectiveTiles: Definition and ConstructionExamplesSummary
Objective
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
IntroductionPre-processing 3D Geometry
Structuring at the Object Level: SymmetryStructuring at the Scene Level: Instancing
Conclusions
ObjectiveTiles: Definition and ConstructionExamplesSummary
Objective
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
IntroductionPre-processing 3D Geometry
Structuring at the Object Level: SymmetryStructuring at the Scene Level: Instancing
Conclusions
ObjectiveTiles: Definition and ConstructionExamplesSummary
Tiles: Definition and Construction
Definition
A tile is a maximal set of edge-connected polygons
Aurelien MARTINET Structuring 3D Geometry
IntroductionPre-processing 3D Geometry
Structuring at the Object Level: SymmetryStructuring at the Scene Level: Instancing
Conclusions
ObjectiveTiles: Definition and ConstructionExamplesSummary
Examples of Tiles Decomposition
Computational-Friendly: Less than 2 minutes for 13M Polygons.
Aurelien MARTINET Structuring 3D Geometry
IntroductionPre-processing 3D Geometry
Structuring at the Object Level: SymmetryStructuring at the Scene Level: Instancing
Conclusions
ObjectiveTiles: Definition and ConstructionExamplesSummary
Summary
Polygon Soup is now a Set of Tiles
Next step is to compute the Symmetries of each Tile.
Aurelien MARTINET Structuring 3D Geometry
IntroductionPre-processing 3D Geometry
Structuring at the Object Level: SymmetryStructuring at the Scene Level: Instancing
Conclusions
Problem StatementThe Generalized Moment FunctionsSymmetries of the Generalized Moment FunctionsSymmetries of the 3D ShapeSummary
Problem Statement
Objectives
Detect global symmetries of a 3D Shape
Independent of Shape Tesselation
Aurelien MARTINET Structuring 3D Geometry
IntroductionPre-processing 3D Geometry
Structuring at the Object Level: SymmetryStructuring at the Scene Level: Instancing
Conclusions
Problem StatementThe Generalized Moment FunctionsSymmetries of the Generalized Moment FunctionsSymmetries of the 3D ShapeSummary
Problem Statement
Objectives
Detect global symmetries of a 3D Shape
Independent of Shape Tesselation
Aurelien MARTINET Structuring 3D Geometry
IntroductionPre-processing 3D Geometry
Structuring at the Object Level: SymmetryStructuring at the Scene Level: Instancing
Conclusions
Problem StatementThe Generalized Moment FunctionsSymmetries of the Generalized Moment FunctionsSymmetries of the 3D ShapeSummary
Problem Statement
Definition
Finding a symmetry of a shape S is equivalent to find an isometryA = (X, α), such that:
AS = S
π
2π3
π2
π
2π3
π2
Aurelien MARTINET Structuring 3D Geometry
IntroductionPre-processing 3D Geometry
Structuring at the Object Level: SymmetryStructuring at the Scene Level: Instancing
Conclusions
Problem StatementThe Generalized Moment FunctionsSymmetries of the Generalized Moment FunctionsSymmetries of the 3D ShapeSummary
Problem Statement
Question
How efficiently found parameters of symmetries of a 3D Shape ?
Aurelien MARTINET Structuring 3D Geometry
IntroductionPre-processing 3D Geometry
Structuring at the Object Level: SymmetryStructuring at the Scene Level: Instancing
Conclusions
Problem StatementThe Generalized Moment FunctionsSymmetries of the Generalized Moment FunctionsSymmetries of the 3D ShapeSummary
Approach
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
IntroductionPre-processing 3D Geometry
Structuring at the Object Level: SymmetryStructuring at the Scene Level: Instancing
Conclusions
Problem StatementThe Generalized Moment FunctionsSymmetries of the Generalized Moment FunctionsSymmetries of the 3D ShapeSummary
PCA-Based Approach
Principal Component Analysis (PCA)
Used to affect a local frame to a 3D Shape,called Principal Axes
Aurelien MARTINET Structuring 3D Geometry
IntroductionPre-processing 3D Geometry
Structuring at the Object Level: SymmetryStructuring at the Scene Level: Instancing
Conclusions
Problem StatementThe Generalized Moment FunctionsSymmetries of the Generalized Moment FunctionsSymmetries of the 3D ShapeSummary
PCA-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
IntroductionPre-processing 3D Geometry
Structuring at the Object Level: SymmetryStructuring at the Scene Level: Instancing
Conclusions
Problem StatementThe Generalized Moment FunctionsSymmetries of the Generalized Moment FunctionsSymmetries of the 3D ShapeSummary
PCA-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
IntroductionPre-processing 3D Geometry
Structuring at the Object Level: SymmetryStructuring at the Scene Level: Instancing
Conclusions
Problem StatementThe Generalized Moment FunctionsSymmetries of the Generalized Moment FunctionsSymmetries of the 3D ShapeSummary
PCA-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
IntroductionPre-processing 3D Geometry
Structuring at the Object Level: SymmetryStructuring at the Scene Level: Instancing
Conclusions
Problem StatementThe Generalized Moment FunctionsSymmetries of the Generalized Moment FunctionsSymmetries of the 3D ShapeSummary
The Generalized Moment Functions
Variance Function a.k.a.
Moment of Order 2 M2(ω) =
∫s∈S
‖s × ω‖2ds
⇓
Generalized Moment of Order k Mk(ω) =
∫s∈S
‖s × ω‖kds
M2
Aurelien MARTINET Structuring 3D Geometry
IntroductionPre-processing 3D Geometry
Structuring at the Object Level: SymmetryStructuring at the Scene Level: Instancing
Conclusions
Problem StatementThe Generalized Moment FunctionsSymmetries of the Generalized Moment FunctionsSymmetries of the 3D ShapeSummary
The Generalized Moment Functions
Variance Function a.k.a.
Moment of Order 2 M2(ω) =
∫s∈S
‖s × ω‖2ds
⇓
Generalized Moment of Order k Mk(ω) =
∫s∈S
‖s × ω‖kds
M2 M4 M6
Aurelien MARTINET Structuring 3D Geometry
IntroductionPre-processing 3D Geometry
Structuring at the Object Level: SymmetryStructuring at the Scene Level: Instancing
Conclusions
Problem StatementThe Generalized Moment FunctionsSymmetries of the Generalized Moment FunctionsSymmetries of the 3D ShapeSummary
Definition
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
IntroductionPre-processing 3D Geometry
Structuring at the Object Level: SymmetryStructuring at the Scene Level: Instancing
Conclusions
Problem StatementThe Generalized Moment FunctionsSymmetries of the Generalized Moment FunctionsSymmetries of the 3D ShapeSummary
Definition
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
IntroductionPre-processing 3D Geometry
Structuring at the Object Level: SymmetryStructuring at the Scene Level: Instancing
Conclusions
Problem StatementThe Generalized Moment FunctionsSymmetries of the Generalized Moment FunctionsSymmetries of the 3D ShapeSummary
Determination of the Axis of Symmetry
Property 2
ω is a symmetry axis of Mk
⇓
:
‖∇Mk(ω)‖2 = 0
Potential Symmetry Axis ω of the Shape by solving:
∀k (∇Mk)(ω) = 0
Aurelien MARTINET Structuring 3D Geometry
IntroductionPre-processing 3D Geometry
Structuring at the Object Level: SymmetryStructuring at the Scene Level: Instancing
Conclusions
Problem StatementThe Generalized Moment FunctionsSymmetries of the Generalized Moment FunctionsSymmetries of the 3D ShapeSummary
Determination of the Axis of SymmetryEfficient Computation
Closed-form expression of Mk for k even
Using Spherical Harmonic (SH) Basis
M2p(ω) =
∫s∈S
‖s × ω‖2pds
=
p∑l=0
2l∑m=−2l
Cml Y m
2l (ω)
Aurelien MARTINET Structuring 3D Geometry
IntroductionPre-processing 3D Geometry
Structuring at the Object Level: SymmetryStructuring at the Scene Level: Instancing
Conclusions
Problem StatementThe Generalized Moment FunctionsSymmetries of the Generalized Moment FunctionsSymmetries of the 3D ShapeSummary
Determination of the Axis of SymmetryEfficient Computation
Closed-form expression of Mk for k even
Using Spherical Harmonic (SH) Basis
M2p(ω) =
∫s∈S
‖s × ω‖2pds
=
p∑l=0
2l∑m=−2l
Cml Y m
2l (ω)
SH coefficient
Aurelien MARTINET Structuring 3D Geometry
IntroductionPre-processing 3D Geometry
Structuring at the Object Level: SymmetryStructuring at the Scene Level: Instancing
Conclusions
Problem StatementThe Generalized Moment FunctionsSymmetries of the Generalized Moment FunctionsSymmetries of the 3D ShapeSummary
Determination of Symmetry Parameters
Property 3
Symmetries of M2p are obtained by testing SH coefficients.
Aurelien MARTINET Structuring 3D Geometry
IntroductionPre-processing 3D Geometry
Structuring at the Object Level: SymmetryStructuring at the Scene Level: Instancing
Conclusions
Problem StatementThe Generalized Moment FunctionsSymmetries of the Generalized Moment FunctionsSymmetries of the 3D ShapeSummary
Determination 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 6= 0 ⇒ Cml = 0
Aurelien MARTINET Structuring 3D Geometry
IntroductionPre-processing 3D Geometry
Structuring at the Object Level: SymmetryStructuring at the Scene Level: Instancing
Conclusions
Problem StatementThe Generalized Moment FunctionsSymmetries of the Generalized Moment FunctionsSymmetries of the 3D ShapeSummary
Determination 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 6= 0 ⇒ Cml = 0
Aurelien MARTINET Structuring 3D Geometry
IntroductionPre-processing 3D Geometry
Structuring at the Object Level: SymmetryStructuring at the Scene Level: Instancing
Conclusions
Problem StatementThe Generalized Moment FunctionsSymmetries of the Generalized Moment FunctionsSymmetries of the 3D ShapeSummary
Determination 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 Cml
(up to a threshold)
Aurelien MARTINET Structuring 3D Geometry
IntroductionPre-processing 3D Geometry
Structuring at the Object Level: SymmetryStructuring at the Scene Level: Instancing
Conclusions
Problem StatementThe Generalized Moment FunctionsSymmetries of the Generalized Moment FunctionsSymmetries of the 3D ShapeSummary