Ligang Liu Graphics&GeometricComputing Lab USTC …• We need methods to measure, analyze,...

Post on 12-Mar-2018

216 views 2 download

Transcript of Ligang Liu Graphics&GeometricComputing Lab USTC …• We need methods to measure, analyze,...

Symmetry Analysis

Ligang LiuGraphics&Geometric Computing Lab

USTChttp://staff.ustc.edu.cn/~lgliu

Ack: T. Funkhouser et al.

Motivation• Most real‐world objects are symmetric(at least approximately and/or partially)

Symmetry everywhere

Reflectional Symmetry

• Symmetry with respect to reflection– Mirror symmetry

• The most fundamental form of symmetry observed

Many Types of Symmetry

• Rotational symmetry

• Translational symmetry

• Helical symmetry

• … …

Why Symmetry Important?

• Human cognition– fundamental principle of perception

– important cue for shape recognition

• Shape analysis– high‐level shape information

• Geometry processing– process half of the mesh

– segmentation, remeshing, simplification, …

Symmetry Research in Graphics

• Symmetry descriptor– [Kazhdan et al. 2004, Zabrodsky et al. 2005, Kazhdan et al. 2006, Podolak et al. 

2007]

• Symmetry detection– [Atallah 1985, Mitra et al. 2006, Loy et al. 2006, Martinet et al. 2006, Simari et 

al. 2006, Raviv et al. 2007, Ovsjanikov et al. 2008, Pauly et al. 2008, Bokeloh et al. 2009, Yeh et al. 2009, Bronstein et al. 2009, Xu et al. 2009]

• Symmetry aware geometry processing– [Golovinski et al. 2007, Mitra et al. 2007]

Mathematically, symmetry concept is general…

• Symmetry in math notation– Two objects are symmetric to each other if one is obtained from the other by some  mathematical operations. 

– The set of operations form a group. 

:g G X X× →

( )g x y=( )g x x=

x and y are symmetrical to each other

x is a symmetric object

Specifically, symmetry is

• an invariant under a class of transformations

g x x⋅ =

Reflectional symmetries

Problem• Geometric processing algorithms generally ignore (and sometimes destroy) symmetries, causing …– Inefficient processing

– Rendering artifacts

– Simulation errors

– etc.

[Cohen-Steiner04]

Symmetric Input Mesh

Asymmetric Output Mesh

Simplify

Goal• We need methods to measure, analyze, represent, and exploit symmetries in 3D models

Symmetric Input Mesh

Symmetric Output Mesh

Representationof Symmetries

This Talk

• We need methods to measure, analyze, represent, and exploit symmetries in 3D models

Symmetric Input Mesh

Symmetric Output Mesh

Representationof Symmetries

Outline

• Introduction

• Symmetry measurement

• Symmetry representations

• Applications

• Conclusion

Outline

• Introduction

• Symmetry measurement

• Symmetry representations

• Applications

• Conclusion

Symmetry Detection

• Definition: a shape S is symmetric with respect to transform T if and only if S=T(S)

T = PlaneReflect(p)

T = LineReflect(l)

l

l

l

p

T = Rotate(l,180°)

T = Rotate(l,90°)

Symmetry Measurement• How symmetric is shape S to transform T?

e.g., T = Rotate(p,120)?

Sp

InputShape

Symmetry Measurement• How symmetric is shape S to transform T?

pS

InputShape

Closest ShapeSymmetric to T

SymmetryDistance

p

Zabrodsky: L2 distance between S and closest shape symmetric to T

T = Rotate(p,120)

Symmetry Measurement• How symmetric is shape S to transform T?

SymmetryDistance

l

S

Closest ShapeSymmetric to T

Zabrodsky: L2 distance between S and closest shape symmetric to T

T = Reflect(l)

InputShape

Symmetry Measurement• How symmetric is shape S to transform T?

InputShape

SymmetryMeasure

l

Zabrodsky: L2 distance between S and closest shape symmetric to TMarola,Sun,Kazhdan: Correlation between f(S) and f(T(S))

f(S) + f(T(S))2

Closest ShapeSymmetric to T

f(S) f(S) · f(T(S))f(S)2

Symmetry Measurement

lS

Symmetry Measure = 1

• Sym(S,T) provides a continuous measure in [0,1] of how symmetric shape S is to transform T

Symmetry Measurement• Sym(S,T) provides a continuous measure in [0,1] of how symmetric shape S is to transform T

l

S

Symmetry Measure = 0

Symmetry Measurement• Sym(S,T) provides a continuous measure in [0,1] of how symmetric shape S is to transform T

S

Symmetry Measure = 0.7

l

Symmetry Measurement

l

S

Symmetry Measure = 0.3

• Sym(S,T) provides a continuous measure in [0,1] of how symmetric shape S is to transform T

Symmetry Measurement

S

Symmetry Measure = 0.4

l

• Sym(S,T) provides a continuous measure in [0,1] of how symmetric shape S is to transform T

Outline

• Introduction

• Symmetry measurement

• Symmetry representations

• Applications

• Conclusion

Symmetry Representations

• Measure the symmetry of an object with respect to a set of transformations

SymmetryRepresentation

Input Shape

Principle Symmetries

• Measure the symmetry of an object with respect to its most symmetric transformations

Planar ReflectivePrinciple Symmetries

Input Shape

Principle Symmetries

• Measure the symmetry of an object with respect to its most symmetric transformations

Planar ReflectivePrinciple Symmetries

Input Shape

Symmetry Descriptor

• Measure the symmetry of an object with respect to all reflections/rotations around a point

Planar ReflectiveSymmetry Descriptor

Input Shape

Symmetry Transform

• Measure the symmetry of an object with respect to all transformations

Planar ReflectiveSymmetry Transform

Input Shape

Symmetry Transform• Example planar reflective symmetry transforms: 

Symmetry Transform• Highlights large symmetric features of shape:

Outline

• Introduction

• Background

• Symmetry representations

• Applications

• Conclusion

Applications• General idea: symmetry‐aware processing

Symmetry Analysis

Principal Symmetry Transformations

+ Regions of Support

InputMesh

SymmetryAware

ProcessingOutputMesh

Recent Work • General idea: symmetry‐aware processing

– Completion – Zabrodsky93, Thrun05

– Alignment – Zabrodsky95, Kazhdan02, Podolak06

– Symmetrization – Zabrodsky97, Mitra07, Golovinskiy07

– Feature detection – Reisfeld95

– Reverse engineering – Mills01

– Instancing ‐Martinet05, Mitra08

– Matching – Kazhdan02, Gal05

– Compression – Simari06

– Smoothing – Golovinskiy07

– Segmentation – Mitra06, Podolak06, Liu07

– Viewpoint selection – Podolak06

– Simplification – Podolak07, Mitra07, Golovinskiy07

– Beautification – Langbein03, Golovinskiy07

– Editing – Mitra06, Golovinskiy07

Applications

• Alignment

• Matching

• Segmentation

• Simplification

• Beautification

Applications

• Alignment

• Matching

• Segmentation

• Simplification

• Beautification

Application: Alignment

• Motivation: registration, modeling, etc.

PCA Alignment

Application: Alignment

• Approach: align planes with highest symmetries

Application: Alignment

• Approach: align planes with highest symmetries

Application: Alignment

• Approach: align planes with highest symmetries

Application: Alignment

• Approach: align planes with highest symmetries

Application: Alignment• Results:

Application: Alignment• Results:

Applications

• Alignment

• Matching

• Segmentation

• Simplification

• Beautification

Application: Matching

• Motivation: similarity search of database

Database Best MatchQuery

=

Application: Matching• Observation: symmetry is more consistent than shape for some object classes

Application: Matching

• Approach: use symmetry transform (or descriptor) as shape descriptor

Database Best MatchQuery

=

SymmetryTransform

Application: Matching

• Results: symmetry is not as discriminating as shape

Shape X SymmetryShape AloneSymmetry Alone

Application: Matching• Results: symmetry is not as discriminating as shape, but it is better for some classes

Application: Matching• Results: symmetry is not as discriminating as shape, but it is better for some classes, and sothe two together are better than either alone

Shape X SymmetryShape AloneSymmetry Alone

Applications

• Alignment

• Matching

• Segmentation

• Simplification

• Beautification

Application: Segmentation

• Motivation: animation, modeling by parts, etc.

Application: Segmentation

• Observation: distinct parts have strong local symmetries not shared by other parts  

Application: Segmentation

• Observation: distinct parts have strong local symmetries not shared by other parts 

Application: Segmentation

• Observation: distinct parts have strong local symmetries not shared by other parts 

Application: Segmentation

• Observation: distinct parts have strong local symmetries not shared by other parts

Application: Segmentation

• Observation: distinct parts have strong local symmetries not shared by other parts

Application: Segmentation

• Approach: cluster points on the surface by how much they support different symmetries

Symmetry Vector = { 0.1 , 0.5 , …. , 0.9 }

Support = 0.1 Support = 0.5 Support = 0.9

…..

Application: Segmentation• Approach: cluster points on the surface by how much they support different symmetries

Application: Segmentation

• Results:

Applications

• Alignment

• Matching

• Segmentation

• Simplification

• Beautification

Application: Simplification

• Motivation: maintain symmetries as simplify mesh

InputMesh

StandardSimplification

SymmetricSimplification

Application: Simplification• Approach: detect (approximate) symmetries as part of the simplification/approximation process

Symmetry-Aware Variatonal Shape ApproximationPodolak et al.

Original 600 Proxies 200 Proxies 50 Proxies

Application: Simplification

• Results:

Original 100 ProxiesOriginal 100 Proxies

Application: Simplification

• Results:

Input Model Simplified Models

Application: Simplification• Results:

Application: Parameterization• Preserves symmetries in base domain

Input Mesh

Base Domain Parameterization

Applications

• Alignment

• Matching

• Segmentation

• Simplification

• Beautification

Application: Beautification• Goal: make meshes of symmetric objectsperfectly symmetric

Input Mesh Symmetric Mesh

Application: Beautification

• Approach: iterative non‐rigid deformation to align symmetric points (symmetrization)

Input shape CorrespondencesBetween

SymmetricPoints

Shape PreservingDeformation to

Enhance Symmetry

Iterate

Application: Beautification• Results:

Input Mesh

Application: Beautification

• Results:

PrincipalSymmetry Planes

Application: Beautification

• Results:

Output Mesh

Application: Beautification

• Results:

Output Mesh

Application: Beautification

• Results:

Input Mesh

Application: Denoising• Results:

InputMesh

SymmetrizedMesh

BilateralFiltering

More symmetries

Symmetric or not?

Intrinsic Symmetry:symmetry under isometry

Intrinsic Symmetry

• Isometric homeomorphism– preserving all the geodesic distances

:T M M→

( ) ( ), ( ), ( ) , ,d p q d T p T q

p q M=

∀ ∈

p

q

( )T p

( )T q

Intrinsic Symmetry

• More difficult to represent and compute

• Only a few papers so far– [Raviv et al. 2007]

– [Ovsjanikov et al. 2008]

p

q

( )T p

( )T q

Partial Symmetry

• Symmetry plays a fundamental role in cognitive grouping and object identification.

It is more natural to separate the two arms and decompose the shape into two symmetric sub-parts.

Partial Symmetry

Partial Symmetry

Partial Symmetries

Partial extrinsic symmetries Partial intrinsic symmetries

Symmetry Detections

Extrinsic Intrinsic

Global [Atallah 1985][Martinet et al. 2006][Kazhdan et al. 2006][Pauly et al. 2008][Bokeloh et al. 2009]

[Raviv et al. 2007][Ovsjanikov et al. 2008]

Partial [Mitra et al. 2006][Simari et al. 2006]

[Xu et al. 2009]

More…

• Symmetry in 3D Geometry: Extraction and Applications– Niloy J. Mitra, Mark Pauly, Michael Wand, Duygu Ceylan

– State‐of‐the‐art Report  of EUROGRAPHICS 2012 

Summary

• Representations– Principal symmetries

– Symmetry descriptor

– Symmetry transform

• Applications– Alignment

– Matching

– Segmentation

– Simplification (parameterization)

– Beautification (denoising)

Discussion