39
Symmetrization Niloy J. Mitra Leonidas J. Guibas Mark Pauly TU Vienna Stanford University ETH Zurich SIGGRAPH 2007

Niloy J. Mitra Leonidas J. Guibas Mark Pauly TU Vienna Stanford University ETH Zurich SIGGRAPH 2007

Embed Size (px)

Citation preview

SymmetrizationNiloy J. Mitra Leonidas J. Guibas Mark Pauly

TU Vienna Stanford University ETH Zurich

SIGGRAPH 2007

2

Invariance under a class of transforma-tions

Types of Symmetry

3

Goal: Symmetrize 3D geometry

Approach: Minimally deform the model in the spatial domain by optimizing the distri-bution in transformation space

Symmetrization

4

Given an explicit point‐pairing, a closed form solution for symmetrizing the point set

A symmetrization algorithm that uses trans-form domain reasoning to guide shape de-formation in object domain

Applications:◦ Extend the types of detected symmetries◦ Symmetric remeshing◦ Automatic correspondence for articulated bodies

Contributions

5

Mitra, Guibas, Pauly: Partial and Approx-imate Symmetry Detection for 3d Ge-ometry. ACM Trans. Graph. 25, 3, 2006

Prior Work: Symmetry Detec-tion

6

Initial pairs are sampled randomly Pruning based on curvature and normal

Prior Work: Pair pruning

7

Use mean-shift algorithm◦ Non-Parametric Density Estimation

Prior Work: Clustering

Tessellate the space with windows

Run the procedure in parallel

The blue data points were traversed by the windows towards the mode

8

Goal : Extracting the connected compo-nents of the model from cluster

Starting with a random point of cluster◦ Corresponds to a pair (pi, pj) of points on the

model surface Look at the one-ring neighbors pi and apply

T Check distances of the transformed points

to the surface around pj

Prior Work: Verification

9

2D Example: Symmetry Detec-tion

Transformation space

d

10

2D Example: Another point‐pair votes

11

Pairs of sample points define reflective symmetry transform

2D Example: Voting Con-tinues

12

Density plot → accumulation of symmetry evidence

2D Example: Density Plot

13

Density cluster → reflective symmetry

2D Example: Density Peaks

14

2D Example: Symmetry Detec-tion

15

2D Example: Symmetry Detec-tion

A set of potential corresponding point pairs extracted

16

2D Example: Local Symmetriza-tion

17

2D Example: Local Symmetriza-tion

Cluster contraction

Local symmetrization

Cluster contraction in transform space

Constrained deformation in object space

18

Object space point pairs → points in transform space

Cluster in transform space corresponds to approximate symmetry

Cluster contraction in transform space corresponds to constrained in deforma-tion in object space that enhances object symmetry

Recap

19

2D Example: Global Symmetrization

Cluster merging → global symmetrization

20

2D Example: Global Symmetrization

Cluster merging/contraction → Global symmetrization

21

Local Symmetrization◦ Cluster contraction How to deform in the spatial domain ? Where to move in transform space ?

Global Symmetrization◦ Cluster merging

Sub‐problems

22

Goal: Minimally displace two points to make them symmetric with respect to a given transformation

Optimal Displacements

[Zabrodsky et al. 1997]

2

)('

2

)(' 1 qpd

pqd

Tand

Tqp

23

Goal: Find optimal transformation and minimal displacements for a set of point‐pairs

Optimal Transformation

24

Reflection◦ Minimize energy

◦ Reduced to eigenvalue problem

Rigid Transform◦ Minimize energy

◦ SVD problem

Optimal Transformation

2/)(21

2

1

2

1

22

m

iii

m

ip

m

ippT TE

ijipqddd

m

iFqpiiR ii

CRCRE1

22

),( qtpt

25

Initial random sampling does not respect symmetries.

The correspondences estimated during the symmetry detection stage are potentially inaccurate and incomplete

Optimization

26

Every sample p shifted in the direction of displacement dp (white circle)

Project them onto the surface (colored square)

The procedure is iterated until the variance of the cluster is no longer reduced.

Optimizing Sample Posi-tions

27

Local Symmetrization◦ Cluster contraction Where to move in transform space ? How to deform in the spatial domain ? Optimal transformation

Global Symmetrization◦ Cluster merging

Sub‐problems

28

Using existing shape deformation method◦ Symmetrizing displacements positional constraints◦ 2D : As-rigid-as-possible shape manipulation method[Igarashi

et al.2005]◦ 3D : Non-linear PriMo deformation model [Botsch et al. 2006]

Symmetrizing Deformation

As-Rigid-As-Possible Shape Manipulation[Igarashi 2005] PriMo: Coupled Prisms for Intuitive Surface Modeling

[Botsch 2006]

29

Find sample pairs Optimize sample positions on surface Compute the optimal transformation Update pi : p are used as deformation constraints Re-compute the optimal transformation Find new sample pairs every 5 time step

Contracting Clusters

iii tdpp

30

Sort clusters by height Select the most pronounced cluster for

symmetrization Apply the symmetrizing deformation Repeat the process with next biggest cluster Finally, Merge clusters based on distance

greedily

Merging Clusters

31

User controls the deformation by modifying the stiffness of the shape’s material

Soft materials allow for better symmetriza-tion

Stiffer materials more strongly resist the symmetrizing deformation

System allow spatially varying stiffness User controls the symmetrization by inter-

actively selecting clusters for contraction or merging

Control

32

Results

33

Results

34

Results - Symmetric Mesh-ing

Symmetry Based Remeshing [Podolak al SGP 2007]

35

Results

36

Results –Computation Time

37

Results- Articulated Bodies

38

Some case, method is fails to process the entire model◦ The front feet of the bunny and the right foot of

the male character Small-scale features are sometimes ignored Insufficient local matching

The deformation model does not respect the semantics of the shape.

Limitations

39

Symmetrization algorithm◦ Robust and efficient, requires minimal user inter-

vention ◦ Handle both local and global symmetries

Future Work◦ Symmetry respecting geometry processing◦ Hierarchical shape semantics◦ Perception, art, design◦ Other data, e.g. motion data, derived spaces

Conclusion