1. A Topological Approach to Shape
Analysis and Alignment
David O’Gwynn
University of Alabama at Birmingham
Sandia National Laboratories – p. 1/5
2. The Problem: Shape Alignment
Importance of Part Structure
Part Structure from Topology
Topology → Parts → Alignment
Results
Sandia National Laboratories – p. 2/5
3. The Problem: Shape Alignment
Importance of Part Structure
Part Structure from Topology
Topology → Parts → Alignment
Results
Sandia National Laboratories – p. 2/5
4. The Problem: Shape Alignment
Importance of Part Structure
Part Structure from Topology
Topology → Parts → Alignment
Results
Sandia National Laboratories – p. 2/5
5. The Problem: Shape Alignment
Importance of Part Structure
Part Structure from Topology
Topology → Parts → Alignment
Results
Sandia National Laboratories – p. 2/5
6. The Problem: Shape Alignment
Importance of Part Structure
Part Structure from Topology
Topology → Parts → Alignment
Results
Sandia National Laboratories – p. 2/5
7. Problem Definition
Data
Problem
Existing solutions
Sandia National Laboratories – p. 3/5
8. Surface data from very different
sources
MRI
Stored in many different
databases
Range scans
CAT [Levoy 2000]
Sandia National Laboratories – p. 4/5
9. Predominantly stored as a mesh
MRI
Range scans
CAT [MeshLab] [Levoy 2000]
Sandia National Laboratories – p. 4/5
16. Given:
Input shapes P and Q
2-manifold triangle meshes
Same underlying shape class (hands, humans)
Transform class A
Isometry: Rigid or distance-preserving transforms
Find:
Transformation α ∈ A that minimizes
E(P, Q) = min d2 (α(P), Q)
α
Sandia National Laboratories – p. 9/5
17. Existing Solutions
Surface Registration
Local
Global
Orientation Normalization
Principle component analysis (PCA)
Function-space search
Sandia National Laboratories – p. 10/5
18. Surface Registration
→ →
[Gelfand 2006]
[Levoy 2000] [Levoy 2000]
Sandia National Laboratories – p. 11/5
19. Local Registration
Iterative Corresponding Point (ICP)
[Besl and McKay 1992, Chen and Medioni 1991]
[Rusinkiewicz and Levoy 2001]
Given: initial guess α0
correspond α0 (P),Q → solve for α1 [Gelfand 2006]
correspond α1 (P),Q → solve for α2 Correspondence is based on a
... modified nearest neighbor
until convergence approach.
Process iterates to local minimum of E(P, Q).
Sandia National Laboratories – p. 12/5
20. Global Registration
Robust Global Registration
[Gelfand et al. 2005]
Select unique points on P and Q based on
volumetric feature space
Search correspondence space for optimal corre-
spondence
Four Points Congruent Sets (4PCS)
[Aiger et al. 2008]
Search 4-point set correspondence space
[Gelfand 2005]
The goal is to find the global minimum of E(P, Q).
Sandia National Laboratories – p. 13/5
21. Orientation Normalization
[Chaouch and Verroust-Blondet 2009]
Sandia National Laboratories – p. 14/5
22. Principal Component Analysis (PCA)
Each shape has a “correct” orientation characterized by its
principal components.
Continuous PCA (CPCA)
[Vranic et al. 2001]
Plane Reflection Symmetry PCA
[Chaouch and Verroust-Blondet 2009]
Find the principal axes of P and Q
(best fitting ellipsoid) and align those axes
Sandia National Laboratories – p. 15/5
23. Function-space Alignment
Map P and Q to some functional space and solve for the
rotation in that space that best aligns them. Then map that
rotation back to R3 .
Axially Symmetric Alignment via
Spherical Harmonics
[Kazhdan 2007]
GPU-based Rotational Alignment
[Martinek and Grosso 2009]
[Kazhdan 2007]
Sandia National Laboratories – p. 16/5
24. Issues...
Surface Registration
Predicated on “ground truth” model to which input shapes conform
Exceptions:
Anguelov et al. 2005
Chang and Zwicker 2008
Orientation Normalization
Reliance on well-defined axes/planes of symmetry
Poor performance on non-symmetric objects
Treat the shape as a geometric monolith.
Sandia National Laboratories – p. 17/5
25. Our Problem
How do we align these horses?
surface characteristics? principle axes?
Sandia National Laboratories – p. 18/5
26. Solution...
Helps to remember they’re horses
... and not a bag of surface samples, or planes of symmetry
Sandia National Laboratories – p. 19/5
27. Solution...
They have a part structure.
Aligning horses requires aligning their parts.
Sandia National Laboratories – p. 19/5
28. So we need part structure.
What do we mean by parts?
How are these parts related?
How do we get this part structure?
Sandia National Laboratories – p. 20/5
29. Segmentation
Subdividing a mesh into simpler, more manageable
sub-parts
Types of segmentations [Attene et al. 2006]: [Katz et al. 2005]
Geometric: clusters of similar geometry
Semantic: how would a human segment the mesh?
Salience [Hoffman 1997, Lee 2005, Golovinsky 2008]
Geodesic distance [Tierny 2007, Berretti 2009]
Medial/functional [de Goes 2008, Shapira 2008]
[Berretti et al. 2009]
Global part boundaries
Sandia National Laboratories – p. 21/5
30. Skeleton extraction
Simplifying a 3D surface to a 1D curve-skeleton
[Dey and Sun 2006]
[Tierny 2006]
Approaches [Cornea 2007]:
Volumetric thinning [Svensson 2002, Siddiqi 2008]
Geometric [Tierny 2006, Tagliasacchi 2008, Agathos
2010]
[Siddiqi 2008]
Global connectivity of parts
Sandia National Laboratories – p. 22/5
31. What do we want to do?
We want to correspond part junctions (i.e. boundaries) and
part caps (i.e. part end-points). Then we can align those
correspondences in closed form.
What do we need?
Simple, robust algorithm for decomposing shape into part graph
that captures the part structures shared between two shapes of
the same object class
Must be:
Invariant to isometry
As minimal as possible
Sandia National Laboratories – p. 23/5
33. ˆ
Breath-first graph G
Let the topology of the mesh do the talking,
and this is what it says
Sandia National Laboratories – p. 25/5
34. ˆ
Breath-first graph G
Given:
Mesh M = {V, E, F }
Seed vertices VS ⊆ V
Traverse M in a breadth-first manner
Each frontier of the traversal becomes a node in a new
graph
Sandia National Laboratories – p. 26/5
45. ˆ
Breadth-first graph G
mesh graph structure → simplified metagraph structure
Sandia National Laboratories – p. 27/5
46. ˆ
Segmentation from G
Cap segments: Contain a cap vertex
Pipe segments: Connect 2 junctions
Junction segments: Connect > 2 other seg-
ments
ˆ
Skeleton from G
Use edges of BFG
Vertex of skeleton is the centroid of mesh
vertices it encodes
Sandia National Laboratories – p. 28/5
48. Seed vertices
Breadth-first traversal tends to terminate at appendage tips
Use a “priming” run to find appendage tips.
Problem: too many tips...
Sandia National Laboratories – p. 30/5
49. “Hairs”
Distilling the BFG:
Trim cap segments with only one edge
Get standard deviation (σ) of number of edges in all cap segments
Iteratively trim segments of length < σ
Usually < 4 iterations
Sandia National Laboratories – p. 31/5
50. Distilling the BFG
Original BFG skeleton Trim segments of length 1 Iteratively trim
Sandia National Laboratories – p. 32/5
51. Robust to...
AutoBFG
Start with mesh vertex closest to mesh
ˆ
centroid (vcent ), generate G0
ˆ
Distill G0
ˆ ˆ
Use caps of G0 , minus Vcent , to build G1
ˆ
Distill G1 Sampling density
ˆ
Return G1
TopoBFG
Purely topological BFG. Same as above except that the
initial seed vertex is chosen randomly.
Shape variation and pose
Sandia National Laboratories – p. 33/5
52. Benchmark for Segmentation [Chen 2009]
400 different models, 20 classes, 20 meshes/class
Based on human-generated segmentations
Tested 7 other algorithms, plus two sanity checks
Uses four different metrics (lower is always better)
Cut discrepancy:
Disagreement between segment boundaries and baseline
Hamming distance:
Disagreement between segment regions and baseline
Consistency error:
Disagreement between segment regions in a way that does not penalize
differences in hierarchical granularity
Rand index:
Unlikelihood that a pair of faces will agree on segment identity
Sandia National Laboratories – p. 34/5
58. → →
P and Q Skeleton for P and Q
→
Correspondence
Alignment
Sandia National Laboratories – p. 40/5
59. Shape Alignment
Two aspects of alignment:
Correspondence
Limit correspondence space to most semantically dissimilar vertices
Junction (part boundaries)
Cap (part tips)
Greedy search
Alignment
Given correspondence, the transform α which minimizes E(P, Q) can be solved for in closed
form [Arun 1987]
Real problem is correspondence
Sandia National Laboratories – p. 41/5
60. Correspondence
Very similar in spirit to greedy search of Mitra et al. [2005].
Greedy Correspondence:
ˆ ˆ ˆ ˆ
Require: BFGs GP = {VP , EP } and GQ = {VQ , EQ }ˆ ˆ
ˆ
FP = junctions and caps of GP ˆ
ˆ
FQ = junctions and caps of GQ ˆ
ˆ ˆ
for all vP ∈ FP do
ˆ ˆ
Topologically sort FP w.r.t. graph distance from vP
ˆ ˆ
Find the vQ ∈ FQ (of the same type as vP ) whose topological sorted FQ most agrees
ˆ ˆ
ˆ
with that of vP
end for
Imagine two graphs as made of string. Grab both at a vertex, and if the
knots line up, then it’s likely that they are corresponding points.
Sandia National Laboratories – p. 42/5
61. Complications
We’re extracting part structure from mesh topology.
What if the topology doesn’t reflect the part structure?
Sandia National Laboratories – p. 43/5
62. Complications
Correspondence is based on similarity of internal graph distance, as well as
Euclidean distance.
Sandia National Laboratories – p. 44/5
63. Alignment Results
Using Chen database, selected 10 object classes (200 meshes)
Selected semantically relevant landmarks (tops of heads, tips of
wings, front and back of body, etc.)
For some mesh MP and MQ , whose landmark vertices are LP ⊂ VP
and LQ ⊂ VQ , respectively (N = |LP | = |LQ |), and some aligning
transform α, the error associated with (MP , MQ , α) is
N
1
E(MP , MQ , α) = ||α(vi ) − wi ||, vi ∈ LP , wi ∈ LQ
N i=1
Tested against Generalized-ICP of Segal et al. [2009]
Results show mean error over each class
Sandia National Laboratories – p. 45/5
64. Alignment Results
1.4
Baseline
1.2 AutoBFG
TopoBFG
1 Gen ICP
0.8
0.6
0.4
0.2
0
0 50 100 150 200
Humans
Sandia National Laboratories – p. 46/5
65. Alignment Results
1.4
Baseline
1.2 AutoBFG
TopoBFG
1 Gen ICP
0.8
0.6
0.4
0.2
0
0 50 100 150 200
Hands
Sandia National Laboratories – p. 47/5
66. Alignment Results
1.4
Baseline
1.2 AutoBFG
TopoBFG
1 Gen ICP
0.8
0.6
0.4
0.2
0
0 50 100 150 200
Four legged animals
Sandia National Laboratories – p. 48/5
67. Conclusions
Shape alignment better with part information
Startling amount of part information in topology
Part information from breadth-first traversal
ˆ
Alignment using the breadth-first graph G
Future Work
Shape reconstruction from BFG
Applications to graph visualization
Integration into Blender3D [www.blender.org]
1. Alignment
2. Auto-rigging
Sandia National Laboratories – p. 49/5
68. Questions?
Sandia National Laboratories – p. 50/5