1 / 56

Amir Pelled

3D-Symmetry. Amir Pelled. Topics. What is 3D-Symmetry ? Basic 3d-Symmetry Definitions Mathematical Definitions for 3D-Space Symmetry Detection Algorithms Applications Bibliography. What is 3D-Symmetry ?. Does this building possess 3D-Symmetry ?. What is 3D-Symmetry ?.

emil
Download Presentation

Amir Pelled

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 3D-Symmetry Amir Pelled

  2. Topics • What is 3D-Symmetry ? • Basic 3d-Symmetry Definitions • Mathematical Definitions for 3D-Space • Symmetry Detection Algorithms • Applications • Bibliography

  3. What is 3D-Symmetry ? • Does this building possess 3D-Symmetry ?

  4. What is 3D-Symmetry ? • A basic misconception : • We can only see the 2D-projection that is facing us. • 3D-symmetry has to consider the whole of the object

  5. Basic Definitions • Topics : • 3d-reflection symmetry • 3d-rotation symmetry

  6. Basic Definitions3D-Reflection-Symmetry • A reflection symmetry has : • N mirror planes each passing through the object’s mass center ( in contrast to mirror axes in 2D) • A rotational symmetry has a center of rotation : • an axis (a line) in a 3D object ( in contrast to a point in 2D) • A number of times N by which shapes are repeated about that axis

  7. Basic Definitions3D-Reflection-Symmetry • Reflection planes of a water molecule

  8. Basic Definitions3D-Reflection-Symmetry

  9. Basic Definitions3D-Reflection-Symmetry • How many 3D-reflection symmetries does a cube have ? 9

  10. Basic Definitions3D-Rotation-Symmetry • A cube has these axes of rotational symmetry : 4 axes of 3-fold : each passing through the centers of two opposite vertices 3 axes of 4-fold : each passing through the centers of two opposite faces 6 axes of 2-fold : each passing through the centers of two opposite edges

  11. Basic Definitions3D-Rotation-Symmetry • Table of rotational symmetries for other platonic objects: Symmetry Basis axes through vertices Axes through face centers Axes through edge centers Icosahedron 6 5-fold 10 3-fold 15 2-fold Dodecahedron 10 3-fold 6 5-fold 15 2-fold Octahedron 3 4-fold 4 3-fold 6 2-fold Hexahedron 4 3-fold 3 4-fold 6 2-fold = Tetrahedron 4 3-fold 4 3-fold 3 2-fold

  12. Mathematical Definitions for 3D-Space • We need one standard method which could represent an object’s characteristics in 3D space : • Shape • Size • Position • Orientation

  13. Mathematical Definitions for 3D-Space • Inertia Matrix • Eigenvalues & Eigenvectors • Principal Axes

  14. Mathematical Definitions for 3D-Space (inertia matrix) • The inertia matrix of an object, is a mathematical descriptor of the dispersion of the object’s mass, around its center. • If B is an object and : • O is the center of mass for B • We sample points at coordinates (x,y,z) where x is the distance from O on the yz plane • Mi is the mass of the object located at point i

  15. Mathematical Definitions for 3D-Space (inertia matrix) Notice that matrix I is symmetrical

  16. Mathematical Definitions for 3D-Space (EigenValues & EigenVectors) • Scalar λ is called an eigenvalue of a linear mapping A if there exists a non-zero vector x such that Ax = λx • Vector x is called an eigenvector Example:

  17. Mathematical Definitions for 3D-Space (EigenValues & EigenVectors) • The dominant eigenvector of a matrix is an eigenvector corresponding to the eigenvalue of largest magnitude (for real numbers, largest absolute value) of that matrix • EigenVectors of a symmetrical matrix are mutually orthogonal

  18. Mathematical Definitions for 3D-Space (EigenValues & EigenVectors) <-x x-> o The eigenvector in the direction of x, is more dominant in describing the dispersion of mass around O than the other two. As such, the eigenvalue associated with it will be the largest.

  19. Mathematical Definitions for 3D-Space (principle axes) • Principle axes can be defined as a set of N vectors that satisfy the following conditions: • They have a common intersection point at the object’s centroid • They are mutually orthogonal • They point in the direction of the maximum variance of data

  20. Mathematical Definitions for 3D-Space (principle axes cont’) • Principal Axis Theorem • Any plane of reflectional symmetry of a body is perpendicular to a principal axis • Any axis of rotational symmetry of a body is a principal axis • Principal axes are eigenvectors of the object’s inertia matrix ( and its covariance matrix as well)

  21. Symmetry Detection Algorithms • There are numerous algorithms for 3D-symmetry detection but they have flaws • Computational problems • 2D based algorithms could detect symmetry only in specific directions • Noise • Standard of object/symmetry representation • Unable to work with complex objects

  22. Symmetry Detection Algorithms • We would like to introduce two improved algorithms • An Oct-Tree based algorithm • An Extended-Gaussian-Image algorithm

  23. Symmetry Detection Algorithms (Oct-Tree) • Why use an Oct-Tree ? • We need an object representation that allows : • Computing moment ( in order to form the inertia matrix) • Linear transformation ( translation and rotation) • Cross-section extraction • Symmetry evaluation • An Oct-Tree is a data structure that allows these operations

  24. Symmetry Detection Algorithms (Oct-Tree cont’) • A cross-section represented by a quad-tree can be found simply by an oct-tree traversal. • Symmetry evaluation of rotation and reflection can be obtained by traversing and comparing appropriate tree nodes. (for rotation of n<=4. For n>5 a more complex evaluation is required) • Linear transformation can be achieved by moving the object from one group of cells, to another correlating group in the oct-tree. (the transformations are not immune to quantization errors, but this does not significantly affect their performance

  25. Symmetry Detection Algorithms (Oct-Tree cont’) • Building the tree : • Starting with one cube enclosing the entire object • Mark all unmarked boxes White and Black (representing the absence, presence on the object) • Mark all boxes containing a border of the object Grey and split them • Continue until no more unmarked boxes exist, or reached requested resolution.

  26. Symmetry Detection Algorithms (Oct-Tree cont’)

  27. Symmetry Detection Algorithms (Oct-Tree cont’) • Using the tree • Step 1 : • Compute the eigenvalues associated with the inertia matrix • Compute the principal axis transform • For eigenvectors not uniquely determined, choose any orthogonal vectors (to the ones that are)

  28. Symmetry Detection Algorithms (Oct-Tree cont’) Computing the inertia matrix with an oct-tree : The inertia matrix is composed of central moments that are related to the ordinary moments Mpqr of order (p+q+r : p,q,r N0) Where S is the oct-tree’s space and  is the density function

  29. Symmetry Detection Algorithms (Oct-Tree cont’) • Step 2: • Perform the principal axis transform of the “input tree” in order to build the “principal oct-tree” • The result of this step is that the object is centered at the origin, and its principal axes are aligned with the coordinate axes

  30. Symmetry Detection Algorithms (Oct-Tree cont’) • Step 3 : • According to the eigenvalues acquired in step 1 evaluate the types of symmetries we need to search ( that there is a potential of ) • Case 1 :If all eigenvalues are distinct, check for • reflectional symmetry using the coordinate planes • axial symmetry using the coordinate axes • central symmetry, using the centroid • Case 2 :If two eigen values are equal also check for • Rotational symmetry using a cross-section of coordinate plane perpendicular to the unique eigenvector • Case 3 :If all eigenvalues are equal also check for • central symmetry with respect to the origin • Spherical symmetry (if potential axes of symmetry are given)

  31. y z z y x x Symmetry Detection Algorithms (Oct-Tree cont’) If all eigenvalues are distinct, search for symmetry along the dominant eigenvector or perpendicular to it If two eigen values are the same, we need to look for symmetry along the third eigenvector or perpendicular to it If all three eigenvalues are equal, there is a possibility for spherical symmetry

  32. Symmetry Detection Algorithms (symmetry detection using Oct-Tree)

  33. Symmetry Detection Algorithms (Extended Gaussian Image) • The Oct-Tree based algorithm operates well on synthetic objects, but when it comes to real images, it has its short-comings. • The EGI algorithm solves this problem and as such, is much more flexible than the Oct-Tree solution.

  34. Symmetry Detection Algorithms (Extended Gaussian Image cont’) • The goals of the EGI algorithm : • Determine the position and orientation of the plane of reflection symmetry • Determine the axis and order of rotational symmetry for images in a variety of formats

  35. Symmetry Detection Algorithms (Extended Gaussian Image cont’) • It is not an objective of the algorithm to determine whether or not an image is symmetric, but assumes that the image has some degree of symmetry. • Not all symmetries are required to be found, only the strongest. For rotational symmetry, the highest order is sought.

  36. Symmetry Detection Algorithms (Extended Gaussian Image cont’) • The Gaussian Image • Take a 3D object. Declare a sphere that encloses the object whose center of mass is the center of the object • From every surface of the object, draw a normal vector whose tail lies at the center of the sphere, and head lies on a point on the sphere appropriate to the particular face

  37. Symmetry Detection Algorithms (Extended Gaussian Image cont’) Block object Gi of a block object

  38. Symmetry Detection Algorithms (Extended Gaussian Image cont’) • The Extended Gaussian Image • Create the Gaussian Image, but assign each vector a weight (scalar) which is equal to the area of the surface the vector is mapping 8 8 2 2 8 8

  39. Symmetry Detection Algorithms (Extended Gaussian Image cont’) • The Orientation Histogram • We need a data structure that stores the EGI, in a fashion that a computer can use

  40. Symmetry Detection Algorithms (Extended Gaussian Image cont’) • Tessellating the Gaussian Sphere • Place an Icosahedron in the gaussian sphere, so that they both have the same center, and the vertices are touching the sphere • Divide each triangle face into four triangle by connecting the mid-points of the three edges • Normalize the new triangles onto the unit sphere • Repeat until desired resolution is achieved • Convert the triangular faces into hexagonal faces

  41. Symmetry Detection Algorithms (Extended Gaussian Image cont’) • Properties of Tessellation • All the cells have the same area • All cells are of the same shape • All cells have compact regular shapes • The division should be fine enough to allow curvature • Each bin (hexagon) of the tessellation sphere is enumerated

  42. Symmetry Detection Algorithms (Extended Gaussian Image cont’) object Tessellation sphere

  43. Symmetry Detection Algorithms (Extended Gaussian Image cont’) • Creating the orientation histogram • Using the Gaussian Image, assign each normal to the appropriate bin (hexagon) in the Tessellation Sphere • For every bin, mark the number of normal that are assigned to it • Create the histogram F: bin -> num(normals)

  44. Symmetry Detection Algorithms (Extended Gaussian Image cont’) • Symmetry detection using the orientation histogram • Reflectional symmetry : • The degree of reflectional symmetry in a plane is measured by the correlation of the histogram with itself after reflection in the plane • The correlation is formed by visiting each histogram bin and multiplying its value by the value in the bin which mirrors it in the plane • Accumulate the products • The candidates for the symmetry plane normal are the three principal axis directions and their neighbors (5-6) • The plane with the highest histogram correlation is the plane with the strongest symmetry

  45. Symmetry Detection Algorithms (reflection detection using EGI)

  46. Symmetry Detection Algorithms (Extended Gaussian Image cont’) • Symmetry detection using the orientation histogram • Rotation symmetry : • We denote the rotation around vector n through an angle θ • For each candidate rotation degree, the histogram is rotated by the corresponding angle, and the product is correlated with the original

  47. Symmetry Detection Algorithms (Extended Gaussian Image cont’) • This is performed for all candidate axes for rotational symmetry ( the eigenvectors ) • The order which results in a peak in the correlation is the strongest order of symmetry for the given axis • The largest correlation from these axes indicates the axis of rotational symmetry

  48. Symmetry Detection Algorithms (rotation detection using EGI)

  49. Symmetry Detection Algorithms (rotation detection using EGI) (a) (b) (c)

  50. Symmetry Detection Algorithms (rotation detection using EGI) This object also has an axis of 2-fold rotational symmetry, but the axis with the higher order will be the one identified by the algorithm

More Related