The Planar-Reflective Symmetry Transform Princeton University

advertisement
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 Model
Symmetry Transform
Symmetry Transform
A computational representation that describes
all planar symmetries of a shape
?
Perfect Symmetry
Symmetry = 1.0
Symmetry Transform
A computational representation that describes
all planar symmetries of a shape
?
Zero Symmetry
Symmetry = 0.0
Symmetry Transform
A computational representation that describes
all planar symmetries of a shape
?
Local Symmetry
Symmetry = 0.3
Symmetry Transform
A computational representation that describes
all planar symmetries of a shape
?
Partial Symmetry
Symmetry = 0.2
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
D( f ,  )  f   ( f )
Symmetry = 0.7
Symmetry Measure
Symmetry of a shape is measured by
correlation with its reflection
D( f ,  )  f   ( f )
Symmetry = 0.3
Symmetry Measure
Symmetry of a shape is measured by
correlation with its reflection
D( f ,  )  f   ( f )
Symmetry Measure
Symmetry of a shape is measured by
correlation with its reflection
D( f ,  )  f   ( f )
Symmetry = 0.1
Outline
• Introduction
• Algorithm
– Computing Discrete Transform
– Finding Local Maxima Precisely
• Applications
– Alignment
– Segmentation
• Summary
– Matching
– Viewpoint Selection
Computing Discrete Transform
• Brute Force
• Convolution
• Monte-Carlo

Computing Discrete Transform
• Brute Force
• Convolution
• Monte-Carlo
O(n3) planes
X =
O(n6)
O(n3) dot product
O(n6)

Computing Discrete Transform
• Brute Force
• Convolution
• Monte-Carlo
O(n2) normal directions
X =
O(n5log n)
O(n3log n) per direction
O(n6)
O(n5Log n)

Computing Discrete Transform
• Brute Force
• Convolution
• Monte-Carlo
O(n6)
O(n5Log n)
O(n4) For 3D meshes
– Most of the dot product contains zeros.
– Use Monte-Carlo Importance Sampling.
Offset
Monte Carlo Algorithm
Angle
Input Model
Symmetry Transform
Monte Carlo Algorithm
Offset
Monte Carlo sample
for single plane
Angle
Input Model
Symmetry Transform
Offset
Monte Carlo Algorithm
Angle
Input Model
Symmetry Transform
Offset
Monte Carlo Algorithm
Angle
Input Model
Symmetry Transform
Offset
Monte Carlo Algorithm
Angle
Input Model
Symmetry Transform
Offset
Monte Carlo Algorithm
Angle
Input Model
Symmetry Transform
Offset
Monte Carlo Algorithm
Angle
Input Model
Symmetry Transform
Weighting Samples
Need to weight sample pairs by the inverse of the
distance between them
P2
d
P1
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
Need to weight sample pairs by the inverse of the
distance between them
Votes for horizontal plane.
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 Local Maxima Precisely
Approach:
• Start from local maxima of discrete transform
• Refine iteratively to find local maxima precisely
……….
Initial Guess
Final Result
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
Results:
PCA
Alignment
Symmetry
Alignment
Application: Matching
Motivation:
• Database searching
=
Query
Database
Best Match
Application: Matching
Observation:
• All chairs display similar principal symmetries
Application: Matching
Approach:
• Use Symmetry transform as shape descriptor
=
Query
Transform
Database
Best Match
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
• Collision detection
[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
…..
Support = 0.1
Support = 0.5
Support = 0.9
Symmetry Vector = { 0.1 , 0.5 , …. , 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:
Summary
• Symmetry Transform
– Symmetry measure for all planes in space
• Algorithms
– Discrete set of planes
– Finding local maxima precisely
• Applications
– Alignment
– Matching
– Segmentation
– Viewpoint Selection
Future Work
Extended forms of symmetry
• Rotational symmetry
• Point symmetry
• General transform symmetry
Signal processing
Further applications
• Compression
• Constrained editing
• Etc.
Acknowledgements:
Princeton Graphics
• Chris DeCoro
• Michael Kazhdan
Funding
• Air Force Research Lab grant #FA8650-04-1-1718
• NSF grant #CCF-0347427
• NSF grant #CCR-0093343
• NSF grant #IIS-0121446
• The Sloan Foundation
The End
Comparison
Goal
Podolak et al.
Mitra et al.
Transform
Discrete symmetry
Sampling Uniform grid
Clustering
Voting
Points, normals,
curvature
Points only
Symmetr Planar reflection
y Types
Reflection/Rotation/etc.
Detection Perfect, partial, and
Types
continuous
symmetries
Perfect and Partial and
approximate
symmetries
Download