SlideShare una empresa de Scribd logo
1 de 101
Descargar para leer sin conexión
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
Introduction
                                                         Generalities
                          Pre-processing 3D Geometry
                                                         Motivations
           Structuring at the Object Level: Symmetry
                                                         Approach
            Structuring at the Scene Level: Instancing
                                                         Contributions
                                           Conclusions


3D Geometry
Representation




   Question
   How can these objects be represented in a computer ?



                                Aurelien MARTINET        Structuring 3D Geometry
Introduction
                                                         Generalities
                          Pre-processing 3D Geometry
                                                         Motivations
           Structuring at the Object Level: Symmetry
                                                         Approach
            Structuring at the Scene Level: Instancing
                                                         Contributions
                                           Conclusions


3D Geometry
Representation


         3D Geometry represented as a collection of polygons




                                Aurelien MARTINET        Structuring 3D Geometry
Introduction
                                                        Generalities
                         Pre-processing 3D Geometry
                                                        Motivations
          Structuring at the Object Level: Symmetry
                                                        Approach
           Structuring at the Scene Level: Instancing
                                                        Contributions
                                          Conclusions


3D Geometry
Treatements


        Rendering
        Animation
        Editing




                               Aurelien MARTINET        Structuring 3D Geometry
Introduction
                                                        Generalities
                         Pre-processing 3D Geometry
                                                        Motivations
          Structuring at the Object Level: Symmetry
                                                        Approach
           Structuring at the Scene Level: Instancing
                                                        Contributions
                                          Conclusions


3D Geometry
Treatements


        Rendering
        Animation
        Editing




                               Aurelien MARTINET        Structuring 3D Geometry
Introduction
                                                        Generalities
                         Pre-processing 3D Geometry
                                                        Motivations
          Structuring at the Object Level: Symmetry
                                                        Approach
           Structuring at the Scene Level: Instancing
                                                        Contributions
                                          Conclusions


3D Geometry
Treatements


        Rendering
        Animation
        Editing




                               Aurelien MARTINET        Structuring 3D Geometry
Introduction
                                                        Generalities
                         Pre-processing 3D Geometry
                                                        Motivations
          Structuring at the Object Level: Symmetry
                                                        Approach
           Structuring at the Scene Level: Instancing
                                                        Contributions
                                          Conclusions


Motivations
Observations

   Fact
   Structure of Geometry is a key to Efficiency
        Improve rendering speed
        Reduce memory usage
        ...




                               Aurelien MARTINET        Structuring 3D Geometry
Introduction
                                                         Generalities
                          Pre-processing 3D Geometry
                                                         Motivations
           Structuring at the Object Level: Symmetry
                                                         Approach
            Structuring at the Scene Level: Instancing
                                                         Contributions
                                           Conclusions


Motivations
Observations




   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
Introduction
                                                         Generalities
                          Pre-processing 3D Geometry
                                                         Motivations
           Structuring at the Object Level: Symmetry
                                                         Approach
            Structuring at the Scene Level: Instancing
                                                         Contributions
                                           Conclusions


Motivations
Observations




   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
Introduction
                                                      Generalities
                       Pre-processing 3D Geometry
                                                      Motivations
        Structuring at the Object Level: Symmetry
                                                      Approach
         Structuring at the Scene Level: Instancing
                                                      Contributions
                                        Conclusions


Structural Information

  Generalities
      In Computer Graphics:
             Symmetry Group of a Shape
             Parameters of a Revolution Surface
             Scene-Graph
             ...




                             Aurelien MARTINET        Structuring 3D Geometry
Introduction
                                                      Generalities
                       Pre-processing 3D Geometry
                                                      Motivations
        Structuring at the Object Level: Symmetry
                                                      Approach
         Structuring at the Scene Level: Instancing
                                                      Contributions
                                        Conclusions


Accessibility of Structural Information



  Fact
  Structural Information is not accessible

  Sources of Problems
      Asset Exchange
      Non-Interactive Modeling Techniques




                             Aurelien MARTINET        Structuring 3D Geometry
Introduction
                                                        Generalities
                         Pre-processing 3D Geometry
                                                        Motivations
          Structuring at the Object Level: Symmetry
                                                        Approach
           Structuring at the Scene Level: Instancing
                                                        Contributions
                                          Conclusions


Accessibility of Structural Information
Asset 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
Introduction
                                                        Generalities
                         Pre-processing 3D Geometry
                                                        Motivations
          Structuring at the Object Level: Symmetry
                                                        Approach
           Structuring at the Scene Level: Instancing
                                                        Contributions
                                          Conclusions


Accessibility of Structural Information
Asset 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
Introduction
                                                         Generalities
                          Pre-processing 3D Geometry
                                                         Motivations
           Structuring at the Object Level: Symmetry
                                                         Approach
            Structuring at the Scene Level: Instancing
                                                         Contributions
                                           Conclusions


Accessibility of Structural Information
Non-Interactive Modeling Techniques




 Pros                                                    Cons
        Reach High-Complexity                                Unstructured Output



                                Aurelien MARTINET        Structuring 3D Geometry
Introduction
                                                         Generalities
                          Pre-processing 3D Geometry
                                                         Motivations
           Structuring at the Object Level: Symmetry
                                                         Approach
            Structuring at the Scene Level: Instancing
                                                         Contributions
                                           Conclusions


Accessibility of Structural Information
Non-Interactive Modeling Techniques




 Pros                                                    Cons
        Reach High-Complexity                                Unstructured Output



                                Aurelien MARTINET        Structuring 3D Geometry
Introduction
                                                        Generalities
                         Pre-processing 3D Geometry
                                                        Motivations
          Structuring at the Object Level: Symmetry
                                                        Approach
           Structuring at the Scene Level: Instancing
                                                        Contributions
                                          Conclusions


Structural Information
Scene and Objects




   Structural Information as a two-scale notion:
        Object Level
        Scene Level




                               Aurelien MARTINET        Structuring 3D Geometry
Introduction
                                                         Generalities
                          Pre-processing 3D Geometry
                                                         Motivations
           Structuring at the Object Level: Symmetry
                                                         Approach
            Structuring at the Scene Level: Instancing
                                                         Contributions
                                           Conclusions


Approach
Pipeline and Outline

         A three-stage pipeline:




                                        1                            2             3
  Unstructured
  3D Geometry



                                Aurelien MARTINET        Structuring 3D Geometry
Introduction
                                                         Generalities
                          Pre-processing 3D Geometry
                                                         Motivations
           Structuring at the Object Level: Symmetry
                                                         Approach
            Structuring at the Scene Level: Instancing
                                                         Contributions
                                           Conclusions


Approach
Pipeline and Outline

         A three-stage pipeline:




                                        1                            2             3
  Unstructured               Pre-Processing
  3D Geometry                3D Geometry



                                Aurelien MARTINET        Structuring 3D Geometry
Introduction
                                                         Generalities
                          Pre-processing 3D Geometry
                                                         Motivations
           Structuring at the Object Level: Symmetry
                                                         Approach
            Structuring at the Scene Level: Instancing
                                                         Contributions
                                           Conclusions


Approach
Pipeline and Outline

         A three-stage pipeline:




                                        1                            2             3
  Unstructured               Pre-Processing                  Object Level:
  3D Geometry                3D Geometry                      Symmetry



                                Aurelien MARTINET        Structuring 3D Geometry
Introduction
                                                         Generalities
                          Pre-processing 3D Geometry
                                                         Motivations
           Structuring at the Object Level: Symmetry
                                                         Approach
            Structuring at the Scene Level: Instancing
                                                         Contributions
                                           Conclusions


Approach
Pipeline 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
Introduction
                                                       Generalities
                        Pre-processing 3D Geometry
                                                       Motivations
         Structuring at the Object Level: Symmetry
                                                       Approach
          Structuring at the Scene Level: Instancing
                                                       Contributions
                                         Conclusions


Contributions
    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
Introduction
                                                       Generalities
                        Pre-processing 3D Geometry
                                                       Motivations
         Structuring at the Object Level: Symmetry
                                                       Approach
          Structuring at the Scene Level: Instancing
                                                       Contributions
                                         Conclusions


Contributions
    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
Introduction
                                                       Generalities
                        Pre-processing 3D Geometry
                                                       Motivations
         Structuring at the Object Level: Symmetry
                                                       Approach
          Structuring at the Scene Level: Instancing
                                                       Contributions
                                         Conclusions


Contributions
    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
Introduction
                                                       Generalities
                        Pre-processing 3D Geometry
                                                       Motivations
         Structuring at the Object Level: Symmetry
                                                       Approach
          Structuring at the Scene Level: Instancing
                                                       Contributions
                                         Conclusions


Contributions
    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
Introduction
                                                      Objective
                       Pre-processing 3D Geometry
                                                      Tiles: Definition and Construction
        Structuring at the Object Level: Symmetry
                                                      Examples
         Structuring at the Scene Level: Instancing
                                                      Summary
                                        Conclusions


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
Introduction
                                                      Objective
                       Pre-processing 3D Geometry
                                                      Tiles: Definition and Construction
        Structuring at the Object Level: Symmetry
                                                      Examples
         Structuring at the Scene Level: Instancing
                                                      Summary
                                        Conclusions


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
Introduction
                                                      Objective
                       Pre-processing 3D Geometry
                                                      Tiles: Definition and Construction
        Structuring at the Object Level: Symmetry
                                                      Examples
         Structuring at the Scene Level: Instancing
                                                      Summary
                                        Conclusions


Tiles: Definition and Construction


  Definition
  A tile is a maximal set of edge-connected polygons




                             Aurelien MARTINET        Structuring 3D Geometry
Introduction
                                                      Objective
                       Pre-processing 3D Geometry
                                                      Tiles: Definition and Construction
        Structuring at the Object Level: Symmetry
                                                      Examples
         Structuring at the Scene Level: Instancing
                                                      Summary
                                        Conclusions


Examples of Tiles Decomposition




  Computational-Friendly: Less than 2 minutes for 13M Polygons.
                             Aurelien MARTINET        Structuring 3D Geometry
Introduction
                                                   Objective
                    Pre-processing 3D Geometry
                                                   Tiles: Definition and Construction
     Structuring at the Object Level: Symmetry
                                                   Examples
      Structuring at the Scene Level: Instancing
                                                   Summary
                                     Conclusions


Summary




    Polygon Soup is now a Set of Tiles
    Next step is to compute the Symmetries of each Tile.



                          Aurelien MARTINET        Structuring 3D Geometry
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   Summary


Problem Statement

  Objectives
      Detect global symmetries of a 3D Shape
      Independent of Shape Tesselation




                             Aurelien MARTINET        Structuring 3D Geometry
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   Summary


Problem Statement

  Objectives
      Detect global symmetries of a 3D Shape
      Independent of Shape Tesselation




                             Aurelien MARTINET        Structuring 3D Geometry
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       Summary


Problem 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
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   Summary


Problem Statement




  Question
  How efficiently found parameters of symmetries of a 3D Shape ?




                             Aurelien MARTINET        Structuring 3D Geometry
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   Summary


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
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   Summary


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
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   Summary


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
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   Summary


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
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   Summary


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
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       Summary


The Generalized Moment Functions

Variance 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
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       Summary


The Generalized Moment Functions

Variance 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
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   Summary


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
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   Summary


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
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   Summary


Determination 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
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    Summary


Determination of the Axis of Symmetry
Efficient 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
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    Summary


Determination of the Axis of Symmetry
Efficient 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
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   Summary


Determination of Symmetry Parameters

  Property 3
  Symmetries of M2p are obtained by testing SH coefficients.




                             Aurelien MARTINET        Structuring 3D Geometry
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   Summary


Determination of Symmetry Parameters
Example: 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
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   Summary


Determination of Symmetry Parameters
Example: 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
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   Summary


Determination of Symmetry Parameters
Example: 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
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   Summary


Determination 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
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   Summary


Determination 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
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   Summary


Testing 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
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   Summary


Testing 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
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   Summary


Results
Complete Example




                               Aurelien MARTINET        Structuring 3D Geometry
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   Summary


Results
Complete Example




                                                        M8




                                                        ∇M8        2


                               Aurelien MARTINET        Structuring 3D Geometry
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   Summary


Results
Complete Example




                                                        M8




                                                        ∇M8        2


                               Aurelien MARTINET        Structuring 3D Geometry
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   Summary


Summary




    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
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   Results


Hierarchical Instantiation
Definition


   Instantiation
   Factorize repeated geometry




   Hierarchical Instantiation
   Extend Instantiation at multiple scales

                                 Aurelien MARTINET        Structuring 3D Geometry
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   Results


Hierarchical Instantiation
Definition


   Instantiation
   Factorize repeated geometry




   Hierarchical Instantiation
   Extend Instantiation at multiple scales

                                 Aurelien MARTINET        Structuring 3D Geometry
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   Results


Patterns 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
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   Results


Utility of Instancing Information


      Rendering
      Geometry Editing




                            Aurelien MARTINET        Structuring 3D Geometry
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   Results


Utility of Instancing Information


      Rendering
      Geometry Editing




                            Aurelien MARTINET        Structuring 3D Geometry
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   Results


Overview

  Input data
      Set of Tiles
      Class of Congruency
             Congruent Descriptor (see manuscript)
             Derived from M2p




                             Aurelien MARTINET        Structuring 3D Geometry
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   Results


Overview


  A two-step approach:




Structured 3D Geometry                  Frequent Patterns                             Organizing
     Object Level                          Discovery                            Frequent Patterns




                             Aurelien MARTINET        Structuring 3D Geometry
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       Results


Problem 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
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       Results


Problem 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
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   Results


Approach



Two 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
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   Results


Approach



Two 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
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   Results


Symmetry-Based Approach
Basic assumption




   Fact
   Two instances of a pattern form a local symmetry.

                               Aurelien MARTINET        Structuring 3D Geometry
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   Results


Symmetry-based approach



  Strategy
                                Set of Frequent Patterns



                           Local Symmetries of the Scene




                             Aurelien MARTINET        Structuring 3D Geometry
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   Results


Symmetry-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
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   Results


Symmetry-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
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   Results


Symmetry-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
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   Results


Symmetry-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
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   Results


Symmetry-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
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   Results


Symmetry-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
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   Results


Symmetry-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
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   Results


Frequent Patterns: Results




                            Aurelien MARTINET        Structuring 3D Geometry
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   Results




Summary 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 mappings

Next step is to represent the scene as a Hierarchy of Instances




                            Aurelien MARTINET        Structuring 3D Geometry
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   Results




Summary 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 mappings

Next step is to represent the scene as a Hierarchy of Instances




                            Aurelien MARTINET        Structuring 3D Geometry
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   Results




Summary 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 mappings

Next step is to represent the scene as a Hierarchy of Instances




                            Aurelien MARTINET        Structuring 3D Geometry
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   Results




Summary 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 mappings

Next step is to represent the scene as a Hierarchy of Instances




                            Aurelien MARTINET        Structuring 3D Geometry
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   Results


Problem 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
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   Results


HAG 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
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   Results


HAG Construction
Example: The Plane Model




                               Aurelien MARTINET        Structuring 3D Geometry
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   Results


HAG 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
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   Results


HAG 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
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   Results


Deriving 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
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   Results


Deriving 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
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   Results


Deriving a usable Hierarchy of Instances
Ray-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
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   Results


Deriving a usable Hierarchy of Instances
Ray-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
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   Results


Deriving a usable Hierarchy of Instances
Ray-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
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   Results


Deriving a usable Hierarchy of Instances
Example: Plane Model




                               Aurelien MARTINET        Structuring 3D Geometry
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   Results


Deriving a usable Hierarchy of Instances
Example: Powerplant Model




                               Aurelien MARTINET        Structuring 3D Geometry
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   Results


Deriving a usable Hierarchy of Instances
Example: Powerplant Model




                               Aurelien MARTINET        Structuring 3D Geometry
Introduction
                       Pre-processing 3D Geometry     Summary
        Structuring at the Object Level: Symmetry     Contributions
         Structuring at the Scene Level: Instancing   Future Work
                                        Conclusions


Summary

      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
Introduction
                       Pre-processing 3D Geometry     Summary
        Structuring at the Object Level: Symmetry     Contributions
         Structuring at the Scene Level: Instancing   Future Work
                                        Conclusions


Summary 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
Introduction
                       Pre-processing 3D Geometry     Summary
        Structuring at the Object Level: Symmetry     Contributions
         Structuring at the Scene Level: Instancing   Future Work
                                        Conclusions


Summary 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
Introduction
                     Pre-processing 3D Geometry     Summary
      Structuring at the Object Level: Symmetry     Contributions
       Structuring at the Scene Level: Instancing   Future Work
                                      Conclusions


Future 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
Introduction
                     Pre-processing 3D Geometry     Summary
      Structuring at the Object Level: Symmetry     Contributions
       Structuring at the Scene Level: Instancing   Future Work
                                      Conclusions


Future 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
Introduction
                Pre-processing 3D Geometry     Summary
 Structuring at the Object Level: Symmetry     Contributions
  Structuring at the Scene Level: Instancing   Future Work
                                 Conclusions




Thank you for your attention
               π
               2

                              2π
                               3



                                  π
                         π
                         2
                             2π
                              3
                    π




                        Aurelien MARTINET      Structuring 3D Geometry

Más contenido relacionado

La actualidad más candente

A Survey of Image Processing and Identification Techniques
A Survey of Image Processing and Identification TechniquesA Survey of Image Processing and Identification Techniques
A Survey of Image Processing and Identification Techniquesvivatechijri
 
APPLICATION OF IMAGE FUSION FOR ENHANCING THE QUALITY OF AN IMAGE
APPLICATION OF IMAGE FUSION FOR ENHANCING THE QUALITY OF AN IMAGEAPPLICATION OF IMAGE FUSION FOR ENHANCING THE QUALITY OF AN IMAGE
APPLICATION OF IMAGE FUSION FOR ENHANCING THE QUALITY OF AN IMAGEcscpconf
 
8. 10179 13825-1-ed edit iqbal
8. 10179 13825-1-ed edit iqbal8. 10179 13825-1-ed edit iqbal
8. 10179 13825-1-ed edit iqbalIAESIJEECS
 
Texture Unit based Monocular Real-world Scene Classification using SOM and KN...
Texture Unit based Monocular Real-world Scene Classification using SOM and KN...Texture Unit based Monocular Real-world Scene Classification using SOM and KN...
Texture Unit based Monocular Real-world Scene Classification using SOM and KN...IDES Editor
 
Fpga implementation of image segmentation by using edge detection based on so...
Fpga implementation of image segmentation by using edge detection based on so...Fpga implementation of image segmentation by using edge detection based on so...
Fpga implementation of image segmentation by using edge detection based on so...eSAT Journals
 
Fpga implementation of image segmentation by using edge detection based on so...
Fpga implementation of image segmentation by using edge detection based on so...Fpga implementation of image segmentation by using edge detection based on so...
Fpga implementation of image segmentation by using edge detection based on so...eSAT Publishing House
 
DOMAIN SPECIFIC CBIR FOR HIGHLY TEXTURED IMAGES
DOMAIN SPECIFIC CBIR FOR HIGHLY TEXTURED IMAGESDOMAIN SPECIFIC CBIR FOR HIGHLY TEXTURED IMAGES
DOMAIN SPECIFIC CBIR FOR HIGHLY TEXTURED IMAGEScseij
 
Visual cryptography scheme for color images
Visual cryptography scheme for color imagesVisual cryptography scheme for color images
Visual cryptography scheme for color imagesiaemedu
 
Frequency Domain Blockiness and Blurriness Meter for Image Quality Assessment
Frequency Domain Blockiness and Blurriness Meter for Image Quality AssessmentFrequency Domain Blockiness and Blurriness Meter for Image Quality Assessment
Frequency Domain Blockiness and Blurriness Meter for Image Quality AssessmentCSCJournals
 
Correcting garment set deformalities on virtual human model using transparanc...
Correcting garment set deformalities on virtual human model using transparanc...Correcting garment set deformalities on virtual human model using transparanc...
Correcting garment set deformalities on virtual human model using transparanc...eSAT Publishing House
 
State of art pde based ip to bt vijayakrishna rowthu
State of art pde based ip to bt  vijayakrishna rowthuState of art pde based ip to bt  vijayakrishna rowthu
State of art pde based ip to bt vijayakrishna rowthuvijayakrishna rowthu
 
A study on the importance of image processing and its apllications
A study on the importance of image processing and its apllicationsA study on the importance of image processing and its apllications
A study on the importance of image processing and its apllicationseSAT Publishing House
 
a survey of morphing techniques
a survey of morphing techniquesa survey of morphing techniques
a survey of morphing techniquesIJAEMSJORNAL
 
PERFORMANCE ANALYSIS OF CLUSTERING BASED IMAGE SEGMENTATION AND OPTIMIZATION ...
PERFORMANCE ANALYSIS OF CLUSTERING BASED IMAGE SEGMENTATION AND OPTIMIZATION ...PERFORMANCE ANALYSIS OF CLUSTERING BASED IMAGE SEGMENTATION AND OPTIMIZATION ...
PERFORMANCE ANALYSIS OF CLUSTERING BASED IMAGE SEGMENTATION AND OPTIMIZATION ...cscpconf
 
Paper id 252014130
Paper id 252014130Paper id 252014130
Paper id 252014130IJRAT
 
GRUPO 4 : new algorithm for image noise reduction
GRUPO 4 :  new algorithm for image noise reductionGRUPO 4 :  new algorithm for image noise reduction
GRUPO 4 : new algorithm for image noise reductionviisonartificial2012
 

La actualidad más candente (18)

A Survey of Image Processing and Identification Techniques
A Survey of Image Processing and Identification TechniquesA Survey of Image Processing and Identification Techniques
A Survey of Image Processing and Identification Techniques
 
APPLICATION OF IMAGE FUSION FOR ENHANCING THE QUALITY OF AN IMAGE
APPLICATION OF IMAGE FUSION FOR ENHANCING THE QUALITY OF AN IMAGEAPPLICATION OF IMAGE FUSION FOR ENHANCING THE QUALITY OF AN IMAGE
APPLICATION OF IMAGE FUSION FOR ENHANCING THE QUALITY OF AN IMAGE
 
8. 10179 13825-1-ed edit iqbal
8. 10179 13825-1-ed edit iqbal8. 10179 13825-1-ed edit iqbal
8. 10179 13825-1-ed edit iqbal
 
Texture Unit based Monocular Real-world Scene Classification using SOM and KN...
Texture Unit based Monocular Real-world Scene Classification using SOM and KN...Texture Unit based Monocular Real-world Scene Classification using SOM and KN...
Texture Unit based Monocular Real-world Scene Classification using SOM and KN...
 
Fpga implementation of image segmentation by using edge detection based on so...
Fpga implementation of image segmentation by using edge detection based on so...Fpga implementation of image segmentation by using edge detection based on so...
Fpga implementation of image segmentation by using edge detection based on so...
 
Fpga implementation of image segmentation by using edge detection based on so...
Fpga implementation of image segmentation by using edge detection based on so...Fpga implementation of image segmentation by using edge detection based on so...
Fpga implementation of image segmentation by using edge detection based on so...
 
DOMAIN SPECIFIC CBIR FOR HIGHLY TEXTURED IMAGES
DOMAIN SPECIFIC CBIR FOR HIGHLY TEXTURED IMAGESDOMAIN SPECIFIC CBIR FOR HIGHLY TEXTURED IMAGES
DOMAIN SPECIFIC CBIR FOR HIGHLY TEXTURED IMAGES
 
Visual cryptography scheme for color images
Visual cryptography scheme for color imagesVisual cryptography scheme for color images
Visual cryptography scheme for color images
 
Frequency Domain Blockiness and Blurriness Meter for Image Quality Assessment
Frequency Domain Blockiness and Blurriness Meter for Image Quality AssessmentFrequency Domain Blockiness and Blurriness Meter for Image Quality Assessment
Frequency Domain Blockiness and Blurriness Meter for Image Quality Assessment
 
Ll2419251928
Ll2419251928Ll2419251928
Ll2419251928
 
Correcting garment set deformalities on virtual human model using transparanc...
Correcting garment set deformalities on virtual human model using transparanc...Correcting garment set deformalities on virtual human model using transparanc...
Correcting garment set deformalities on virtual human model using transparanc...
 
State of art pde based ip to bt vijayakrishna rowthu
State of art pde based ip to bt  vijayakrishna rowthuState of art pde based ip to bt  vijayakrishna rowthu
State of art pde based ip to bt vijayakrishna rowthu
 
A study on the importance of image processing and its apllications
A study on the importance of image processing and its apllicationsA study on the importance of image processing and its apllications
A study on the importance of image processing and its apllications
 
a survey of morphing techniques
a survey of morphing techniquesa survey of morphing techniques
a survey of morphing techniques
 
Ai4201231234
Ai4201231234Ai4201231234
Ai4201231234
 
PERFORMANCE ANALYSIS OF CLUSTERING BASED IMAGE SEGMENTATION AND OPTIMIZATION ...
PERFORMANCE ANALYSIS OF CLUSTERING BASED IMAGE SEGMENTATION AND OPTIMIZATION ...PERFORMANCE ANALYSIS OF CLUSTERING BASED IMAGE SEGMENTATION AND OPTIMIZATION ...
PERFORMANCE ANALYSIS OF CLUSTERING BASED IMAGE SEGMENTATION AND OPTIMIZATION ...
 
Paper id 252014130
Paper id 252014130Paper id 252014130
Paper id 252014130
 
GRUPO 4 : new algorithm for image noise reduction
GRUPO 4 :  new algorithm for image noise reductionGRUPO 4 :  new algorithm for image noise reduction
GRUPO 4 : new algorithm for image noise reduction
 

PhD Defense - Aurélien MARTINET

  • 1. 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
  • 2. Introduction Generalities Pre-processing 3D Geometry Motivations Structuring at the Object Level: Symmetry Approach Structuring at the Scene Level: Instancing Contributions Conclusions 3D Geometry Representation 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 Conclusions 3D Geometry Representation 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 Conclusions 3D Geometry Treatements 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 Conclusions 3D Geometry Treatements 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 Conclusions 3D Geometry Treatements 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 Conclusions Motivations Observations 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 Conclusions Motivations Observations 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 Conclusions Motivations Observations 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 Conclusions Structural 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 Conclusions Accessibility 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 Conclusions Accessibility of Structural Information Asset 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 Conclusions Accessibility of Structural Information Asset 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 Conclusions Accessibility of Structural Information Non-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 Conclusions Accessibility of Structural Information Non-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 Conclusions Structural Information Scene 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 Conclusions Approach Pipeline 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 Conclusions Approach Pipeline 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 Conclusions Approach Pipeline 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 Conclusions Approach Pipeline 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 Conclusions Contributions 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 Conclusions Contributions 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 Conclusions Contributions 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 Conclusions Contributions 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 Conclusions 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
  • 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 Conclusions 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
  • 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 Conclusions Tiles: 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 Conclusions Examples 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 Conclusions Summary 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 Summary Problem 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 Summary Problem 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 Summary Problem 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 Summary Problem 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 Summary 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
  • 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 Summary 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
  • 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 Summary 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
  • 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 Summary 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
  • 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 Summary 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
  • 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 Summary The Generalized Moment Functions Variance 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 Summary The Generalized Moment Functions Variance 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 Summary 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
  • 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 Summary 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
  • 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 Summary Determination 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 Summary Determination of the Axis of Symmetry Efficient 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 Summary Determination of the Axis of Symmetry Efficient 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 Summary Determination 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 Summary Determination of Symmetry Parameters Example: 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 Summary Determination of Symmetry Parameters Example: 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 Summary Determination of Symmetry Parameters Example: 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 Summary Determination 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 Summary Determination 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 Summary Testing 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 Summary Testing 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 Summary Results Complete 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 Summary Results Complete 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 Summary Results Complete 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 Summary Summary 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 Results Hierarchical Instantiation Definition 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 Results Hierarchical Instantiation Definition 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 Results Patterns 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 Results Utility 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 Results Utility 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 Results Overview 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 Results Overview 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 Results Problem 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 Results Problem 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 Results Approach Two 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 Results Approach Two 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 Results Symmetry-Based Approach Basic 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 Results Symmetry-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 Results Symmetry-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 Results Symmetry-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 Results Symmetry-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 Results Symmetry-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 Results Symmetry-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 Results Symmetry-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 Results Symmetry-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 Results Frequent 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 Results Summary 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 mappings Next 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 Results Summary 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 mappings Next 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 Results Summary 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 mappings Next 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 Results Summary 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 mappings Next 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 Results Problem 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 Results HAG 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 Results HAG Construction Example: 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 Results HAG 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 Results HAG 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 Results Deriving 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 Results Deriving 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 Results Deriving a usable Hierarchy of Instances Ray-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 Results Deriving a usable Hierarchy of Instances Ray-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 Results Deriving a usable Hierarchy of Instances Ray-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 Results Deriving a usable Hierarchy of Instances Example: 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 Results Deriving a usable Hierarchy of Instances Example: 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 Results Deriving a usable Hierarchy of Instances Example: 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 Conclusions Summary 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 Conclusions Summary 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 Conclusions Summary 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 Conclusions Future 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 Conclusions Future 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 Conclusions Thank you for your attention π 2 2π 3 π π 2 2π 3 π Aurelien MARTINET Structuring 3D Geometry