the planar-reflective symmetry transform princeton university
Post on 15-Jan-2016
218 views
TRANSCRIPT
The Planar-Reflective Symmetry TransformThe Planar-Reflective Symmetry Transform
Princeton University
MotivationMotivation
Symmetry is everywhere
MotivationMotivation
Symmetry is everywhere
Perfect Symmetry[Blum ’64, ’67][Wolter ’85][Minovic ’97] [Martinet ’05]
MotivationMotivation
Symmetry is everywhere
Local Symmetry[Blum ’78][Mitra ’06] [Simari ’06]
MotivationMotivation
Symmetry is everywhere
Partial Symmetry[Zabrodsky ’95][Kazhdan ’03]
GoalGoal
A computational representation that describes all planar symmetries of a shape
?Input Model
Symmetry TransformSymmetry Transform
A computational representation that describesall planar symmetries of a shape
?Input Model Symmetry Transform
Symmetry TransformSymmetry Transform
A computational representation that describesall planar symmetries of a shape
?Symmetry = 1.0Perfect Symmetry
Symmetry TransformSymmetry Transform
A computational representation that describesall planar symmetries of a shape
?Symmetry = 0.0Zero Symmetry
Symmetry TransformSymmetry Transform
A computational representation that describesall planar symmetries of a shape
?Symmetry = 0.3Local Symmetry
Symmetry TransformSymmetry Transform
A computational representation that describesall planar symmetries of a shape
?Symmetry = 0.2Partial Symmetry
Symmetry MeasureSymmetry Measure
Symmetry of a shape is measured by correlation with its reflection
Symmetry MeasureSymmetry Measure
Symmetry of a shape is measured by correlation with its reflection
)(),( fffD Symmetry = 0.7
Symmetry MeasureSymmetry Measure
Symmetry of a shape is measured by correlation with its reflection
)(),( fffD Symmetry = 0.3
Symmetry MeasureSymmetry Measure
Symmetry of a shape is measured by correlation with its reflection
)(),( fffD
Symmetry MeasureSymmetry Measure
Symmetry of a shape is measured by correlation with its reflection
)(),( fffD Symmetry = 0.1
OutlineOutline
• Introduction• Algorithm
– Computing Discrete Transform– Finding Local Maxima Precisely
• Applications– Alignment– Segmentation
• Summary
– Matching– Viewpoint Selection
n p
lan
esComputing Discrete TransformComputing Discrete Transform
• Brute Force• Convolution• Monte-Carlo
n p
lan
esComputing Discrete TransformComputing Discrete Transform
• Brute Force O(n6)• Convolution• Monte-Carlo
O(n3) planes
X = O(n6)
O(n3) dot product
n p
lan
es
Computing Discrete TransformComputing Discrete Transform
• Brute Force O(n6)• Convolution O(n5Log n)• Monte-Carlo
O(n2) normal directions
X = O(n5log n)
O(n3log n) per direction
Computing Discrete TransformComputing Discrete Transform
• Brute Force O(n6)• Convolution O(n5Log n)• Monte-Carlo O(n4) For 3D meshes
– Most of the dot product contains zeros.– Use Monte-Carlo Importance Sampling.
Monte Carlo AlgorithmMonte Carlo Algorithm
Off
set
Angle
Input Model Symmetry Transform
Monte Carlo AlgorithmMonte Carlo Algorithm
Off
set
Angle
Monte Carlo sample for single plane
Input Model Symmetry Transform
Monte Carlo AlgorithmMonte Carlo Algorithm
Off
set
Angle
Input Model Symmetry Transform
Monte Carlo AlgorithmMonte Carlo Algorithm
Off
set
Angle
Input Model Symmetry Transform
Monte Carlo AlgorithmMonte Carlo Algorithm
Off
set
Angle
Input Model Symmetry Transform
Monte Carlo AlgorithmMonte Carlo Algorithm
Off
set
Angle
Input Model Symmetry Transform
Monte Carlo AlgorithmMonte Carlo Algorithm
Off
set
Angle
Input Model Symmetry Transform
Weighting SamplesWeighting Samples
Need to weight sample pairs by the inverse of the distance between them
P1
P2
d
Weighting SamplesWeighting Samples
Need to weight sample pairs by the inverse of the distance between them
Two planes of (equal) perfect symmetry
Weighting SamplesWeighting Samples
Need to weight sample pairs by the inverse of the distance between them
Votes for vertical plane…
Weighting SamplesWeighting Samples
Votes for horizontal plane.
Need to weight sample pairs by the inverse of the distance between them
OutlineOutline
• Introduction• Algorithm
– Computing Discrete Transform– Finding Local Maxima Precisely
• Applications– Alignment– Segmentation
• Summary
– Matching– Viewpoint Selection
Finding Local Maxima PreciselyFinding Local Maxima Precisely
Motivation:• Significant symmetries will be local maxima of the
transform: the Principal Symmetries of the model
Principal Symmetries
Finding Local Maxima PreciselyFinding Local Maxima Precisely
Approach:• Start from local maxima of discrete transform
Finding Local Maxima PreciselyFinding Local Maxima Precisely
Initial Guess Final Result
……….
Approach:• Start from local maxima of discrete transform• Refine iteratively to find local maxima precisely
OutlineOutline
• Introduction• Algorithm
– Computing discrete transform– Finding Local Maxima Precisely
• Applications– Alignment– Segmentation
• Summary
– Matching– Viewpoint Selection
Application: AlignmentApplication: Alignment
Motivation:• Composition of range scans• Feature mapping
PCA Alignment
Application: AlignmentApplication: Alignment
Approach:• Perpendicular planes with the greatest symmetries
create a symmetry-based coordinate system.
Application: AlignmentApplication: Alignment
Approach:• Perpendicular planes with the greatest symmetries
create a symmetry-based coordinate system.
Application: AlignmentApplication: Alignment
Approach:• Perpendicular planes with the greatest symmetries
create a symmetry-based coordinate system.
Application: AlignmentApplication: Alignment
Approach:• Perpendicular planes with the greatest symmetries
create a symmetry-based coordinate system.
Application: AlignmentApplication: Alignment
Symmetry Alignment
PCA Alignment
Results:
Application: MatchingApplication: Matching
Motivation:• Database searching
Database Best MatchQuery
=
Application: MatchingApplication: Matching
Observation:• All chairs display similar principal symmetries
Application: MatchingApplication: Matching
Approach:• Use Symmetry transform as shape descriptor
Database Best MatchQuery
=
Transform
Application: MatchingApplication: Matching
Results: • The PRST provides orthogonal information about
models and can therefore be combined with other shape descriptors
Application: MatchingApplication: Matching
Results: • The PRST provides orthogonal information about
models and can therefore be combined with other shape descriptors
Application: MatchingApplication: Matching
Results: • The PRST provides orthogonal information about
models and can therefore be combined with other shape descriptors
Application: SegmentationApplication: Segmentation
Motivation:• Modeling by parts• Collision detection
[Chazelle ’95][Li ’01][Mangan ’99][Garland ’01]
[Katz ’03]
Application: SegmentationApplication: Segmentation
Observation:• Components will have strong local symmetries not
shared by other components
Application: SegmentationApplication: Segmentation
Observation:• Components will have strong local symmetries not
shared by other components
Application: SegmentationApplication: Segmentation
Observation:• Components will have strong local symmetries not
shared by other components
Application: SegmentationApplication: Segmentation
Observation:• Components will have strong local symmetries not
shared by other components
Application: SegmentationApplication: Segmentation
Observation:• Components will have strong local symmetries not
shared by other components
Application: SegmentationApplication: Segmentation
Approach:• Cluster points on the surface by how well they
support different symmetries
Symmetry Vector = { 0.1 , 0.5 , …. , 0.9 }
Support = 0.1 Support = 0.5 Support = 0.9
…..
Application: SegmentationApplication: Segmentation
Results:
Application: Viewpoint SelectionApplication: Viewpoint Selection
Motivation:• Catalog generation• Image Based Rendering
[Blanz ’99][Vasquez ’01][Lee ’05][Abbasi ’00]
Picture from Blanz et al. ‘99
Application: Viewpoint SelectionApplication: Viewpoint Selection
Approach:• Symmetry represents redundancy in information.
Application: Viewpoint SelectionApplication: 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 SelectionApplication: Viewpoint Selection
Results:
Viewpoint Function
Application: Viewpoint SelectionApplication: Viewpoint Selection
Results:
Viewpoint Function
Best Viewpoint
Application: Viewpoint SelectionApplication: Viewpoint Selection
Results:
Viewpoint Function
Best Viewpoint
Worst Viewpoint
Application: Viewpoint SelectionApplication: Viewpoint Selection
Results:
SummarySummary
• 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 WorkFuture Work
Extended forms of symmetry• Rotational symmetry• Point symmetry• General transform symmetrySignal processing
Further applications • Compression• Constrained editing• Etc.
Acknowledgements: 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
ComparisonComparison
Podolak et al. Mitra et al.
Goal Transform Discrete symmetry
Sampling Uniform grid Clustering
Voting Points only Points, normals, curvature
Symmetry Types
Planar reflection Reflection/Rotation/etc.
Detection Types
Perfect, partial, and continuous symmetries
Perfect and Partial and approximate symmetries