Ligang Liu Graphics&GeometricComputing Lab USTC …• We need methods to measure, analyze,...
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