The Planar-Reflective Symmetry Transform Princeton University
Motivation Symmetry is everywhere
Motivation Symmetry is everywhere Perfect Symmetry [Blum ’ 64, ’ 67] [Wolter ’ 85] [Minovic ’ 97] [Martinet ’ 05]
Motivation Symmetry is everywhere Local Symmetry [Blum ’ 78] [Mitra ’ 06] [Simari ’ 06]
Motivation Symmetry is everywhere Partial Symmetry [Zabrodsky ’ 95] [Kazhdan ’ 03]
Goal A computational representation that describes all planar symmetries of a shape ? Input Model
Symmetry Transform A computational representation that describes all planar symmetries of a shape ? Input ModelSymmetry Transform
A computational representation that describes all planar symmetries of a shape ? Symmetry = 1.0Perfect Symmetry
Symmetry Transform A computational representation that describes all planar symmetries of a shape ? Symmetry = 0.0Zero Symmetry
Symmetry Transform A computational representation that describes all planar symmetries of a shape ? Symmetry = 0.3Local Symmetry
Symmetry Transform A computational representation that describes all planar symmetries of a shape ? Symmetry = 0.2Partial Symmetry
Symmetry Measure Symmetry of a shape is measured by correlation with its reflection
Symmetry Measure Symmetry of a shape is measured by correlation with its reflection Symmetry = 0.7
Symmetry Measure Symmetry of a shape is measured by correlation with its reflection Symmetry = 0.3
Outline Introduction Algorithm – Computing Discrete Transform – Finding Local Maxima Precisely Applications – Alignment – Segmentation Summary – Matching – Viewpoint Selection
PRST
Outline Introduction Algorithm – Computing Discrete Transform – Finding Local Maxima Precisely Applications – Alignment – Segmentation Summary – Matching – Viewpoint Selection
n planes Computing Discrete Transform Brute Force Convolution Monte-Carlo
n planes Computing Discrete Transform Brute ForceO(n 6 ) Convolution Monte-Carlo O(n 3 ) planes X = O(n 6 ) O(n 3 ) dot product
n planes Computing Discrete Transform Brute ForceO(n 6 ) ConvolutionO(n 5 Log n) Monte-Carlo
Computing Discrete Transform Brute ForceO(n 6 ) ConvolutionO(n 5 Log n) Monte-CarloO(n 4 ) For 3D meshes – Most of the dot product contains zeros. – Use Monte-Carlo Importance Sampling.
Monte Carlo Algorithm Offset Angle Input ModelSymmetry Transform
Monte Carlo Algorithm Offset Angle Monte Carlo sample for single plane Input ModelSymmetry Transform
Monte Carlo Algorithm Offset Angle Input ModelSymmetry Transform
Monte Carlo Algorithm Offset Angle Input ModelSymmetry Transform
Monte Carlo Algorithm Offset Angle Input ModelSymmetry Transform
Monte Carlo Algorithm Offset Angle Input ModelSymmetry Transform
Monte Carlo Algorithm Offset Angle Input ModelSymmetry Transform
Weighting Samples Need to weight sample pairs by the inverse of the distance between them P1P1 P2P2 d
Weighting Samples Need to weight sample pairs by the inverse of the distance between them Two planes of (equal) perfect symmetry
Weighting Samples Need to weight sample pairs by the inverse of the distance between them Votes for vertical plane…
Weighting Samples Votes for horizontal plane. Need to weight sample pairs by the inverse of the distance between them
Outline Introduction Algorithm – Computing Discrete Transform – Finding Local Maxima Precisely Applications – Alignment – Segmentation Summary – Matching – Viewpoint Selection
Finding Local Maxima Precisely Motivation: Significant symmetries will be local maxima of the transform: the Principal Symmetries of the model Principal Symmetries
Finding Local Maxima Precisely Approach: Start from local maxima of discrete transform Finding the candidate plane by using threshold(1-r/R)
Finding Local Maxima Precisely Initial GuessFinal Result ………. Approach: Start from local maxima of discrete transform Refine iteratively to find local maxima precisely
Outline Introduction Algorithm – Computing discrete transform – Finding Local Maxima Precisely Applications – Alignment – Segmentation Summary – Matching – Viewpoint Selection
Application: Alignment Motivation: Composition of range scans Feature mapping PCA Alignment
Application: Alignment Approach: Perpendicular planes with the greatest symmetries create a symmetry-based coordinate system.
Application: Alignment Approach: Perpendicular planes with the greatest symmetries create a symmetry-based coordinate system.
Application: Alignment Approach: Perpendicular planes with the greatest symmetries create a symmetry-based coordinate system.
Application: Alignment Approach: Perpendicular planes with the greatest symmetries create a symmetry-based coordinate system.
Application: Alignment Symmetry Alignment PCA Alignment Results:
Application: Matching Motivation: Database searching Database Best MatchQuery =
Application: Matching Observation: All chairs display similar principal symmetries
Application: Matching Approach: Use Symmetry transform as shape descriptor DatabaseBest MatchQuery = Transform
Application: Matching Results: The PRST provides orthogonal information about models and can therefore be combined with other shape descriptors
Application: Matching Results: The PRST provides orthogonal information about models and can therefore be combined with other shape descriptors
Application: Matching Results: The PRST provides orthogonal information about models and can therefore be combined with other shape descriptors
Application: Segmentation Motivation: Modeling by parts [Chazelle ’95][Li ’01] [Mangan ’99][Garland ’01] [Katz ’03]
Application: Segmentation Observation: Components will have strong local symmetries not shared by other components
Application: Segmentation Observation: Components will have strong local symmetries not shared by other components
Application: Segmentation Observation: Components will have strong local symmetries not shared by other components
Application: Segmentation Observation: Components will have strong local symmetries not shared by other components
Application: Segmentation Observation: Components will have strong local symmetries not shared by other components
Application: Segmentation Approach: Cluster points on the surface by how well they support different symmetries Symmetry Vector = { 0.1, 0.5, …., 0.9 } Support = 0.1Support = 0.5Support = 0.9 …..
Application: Segmentation Results:
Application: Viewpoint Selection Motivation: Catalog generation Image Based Rendering [Blanz ’99][Vasquez ’01] [Lee ’05][Abbasi ’00] Picture from Blanz et al. ‘99
Application: Viewpoint Selection Approach: Symmetry represents redundancy in information.
Application: Viewpoint Selection Approach: Symmetry represents redundancy in information Minimize the amount of visible symmetry Every plane of symmetry votes for a viewing direction perpendicular to it Best Viewing Directions
Application: Viewpoint Selection Results: Viewpoint Function
Application: Viewpoint Selection Results: Viewpoint Function Best Viewpoint
Application: Viewpoint Selection Results: Viewpoint Function Best Viewpoint Worst Viewpoint
Application: Viewpoint Selection Results:
The End