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

top related