Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor...

57
Bachelor thesis preview Daniel Mewes Extracting Point Features for Symmetry Detection

Transcript of Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor...

Page 1: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

Bachelor thesis previewDaniel Mewes

Extracting Point Features for Symmetry Detection

Page 2: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

Overview

● Problem description– Symmetry detection

– Feature extraction

● My approach– The framework

– Scene structure analysis

● Preliminary results

Page 3: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

Overview

● Problem description– Symmetry detection

– Feature extraction

● My approach– The framework

– Scene structure analysis

● Preliminary results

Page 4: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

Symmetry Detection

● Given a 3D scene● Detect repeating structures

Figure fromBokeloh et al. 2009

Page 5: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

Symmetry Detection

● Many useful applications, e.g.– Simultaneous editing

– Data compression

– Data reconstruction and refinement

Page 6: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

Symmetry Detection

● Input● Find subsets with corresponding

transformations● Rigid case: are rigid transformations

⊂ℝ3

S⊂f 1 , ... , f n :S

f 1 , ... , f n

Page 7: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

Features

● Symmetry Detection is computationally complex

● Techniques to reduce computational costs:– Downsampling

– Randomized approaches (RANSAC)

– Features

– Combinations of these

Page 8: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

Features

● Idea: – Preselect relevant subset of the data

– Find symmetry candidates in the subset

– Validate

● Simplest class: Point features

Page 9: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

Feature Extraction

● Goal for feature extraction for symmetry detection

– Problem:

➔ Consistent features across all instances

One instance misses a feature

No symmetry candidate

Undetectable symmetry

Page 10: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

Feature Extraction

● How to extract point features?

Page 11: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

Feature Extraction

● Related work: Slippage features(Bokeloh et al. 2008, Gelfand et al. 2004)

– Perform local slippage analysis

– Select local maxima

No slippable translations

Slippable to the “right”

Slippable in two translational dimensions

Page 12: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

Feature Extraction

● Example: Slippage features (Bokeloh et al. 2008, Gelfand et al. 2004)

non-slippable

one slippable motion

Page 13: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

Feature Extraction

● So far: Local criteria

Feature? Feature?

Page 14: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

Feature Extraction

● Turns out local criteria are insufficient sometimes

Feature? Feature?

Page 15: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

Overview

● Problem description– Symmetry detection

– Feature extraction

● My approach– The framework

– Scene structure analysis

● Preliminary results

Page 16: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

My Approach

● Interleave iteratively:– Feature extraction

– Partial symmetry detection

● Missing features ← reconstruct from other instances

Page 17: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

The Framework

● Input

Page 18: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

The Framework

● Interest Function: Assigns local scores to points● e.g. slippage analysis

Page 19: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

The Framework

● Selection Function: Select feature points based on per-point scores

Page 20: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

The Framework

● Propagation Function: analyze structure, guess about additional features

Page 21: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

The Framework

● Combiner Function: Incorporate guesses into per-point scores

Page 22: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

The Framework

● Select new set of feature points based on the combined scores

Page 23: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

The Framework

● Iterate: repeat propagation, combination and selection with new feature points...

Page 24: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

Overview

● Problem description– Symmetry detection

– Feature extraction

● My approach– The framework

– Scene structure analysis

● Preliminary results

Page 25: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

Scene Structure Analysis

● How to analyze the scene's structure?

Page 26: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

Scene Structure Analysis

● Related work: Graph-based symmetry detection (Berner et al. 2008)

– Extract slippage features– Build neighborhood graph– Annotate:

● Edges with their lengths● Features with curvature descriptor

– Find isometric subgraphs

Page 27: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

Scene Structure Analysis

● Related work: Graph-based symmetry detection (Berner et al. 2008)

22

1.8

1.52.3

1

1.21.1

1.1

1.2

1.1

1.1

2

Page 28: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

Scene Structure Analysis

● Related work: Graph-based symmetry detection (Berner et al. 2008)

22

1.8

1.52.3

1

1.21.1

1.1

1.2

1.1

1.1

2

Page 29: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

Scene Structure Analysis

● More approaches:– Mitra et al. 2006, transformation voting

– Pauly et al. 2008, detect grid structures

– ...and lots more

Page 30: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

Sub-Symmetry Detection

● My approach: use metric relation of feature points to each other

● Loosely inspired by Berner et al. 2008● Aimed at detecting small sub-symmetries

Page 31: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

Sub-Symmetry Detection

● Build neighbor graph over feature points

Page 32: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

Sub-Symmetry Detection

● Build neighbor graph over feature points

● For each feature, generate all n-tuples with neighbors

Page 33: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

Sub-Symmetry Detection

● Build neighbor graph over feature points

● For each feature, generate all n-tuples with neighbors

● Characterize tuples by a vector of pairwise distances

Page 34: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

Sub-Symmetry Detection

● Build neighbor graph over feature points

● For each feature, generate all n-tuples with neighbors

● Characterize tuples by a vector of pairwise distances

● Establish correspondence between similar ones

Page 35: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

Sub-Symmetry Detection

● Build neighbor graph over feature points

● For each feature, generate all n-tuples with neighbors

● Characterize tuples by a vector of pairwise distances

● Establish correspondence between similar ones

● “Triangulate” nearby features using tuple features as reference points

● Establish correspondence between similar ones

Page 36: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

Sub-Symmetry Detection

● Build neighbor graph over feature points

● For each feature, generate all n-tuples with neighbors

● Characterize tuples by a vector of pairwise distances

● Establish correspondence between similar ones

● “Triangulate” nearby features using tuple features as reference points

● Establish correspondence between similar ones

● Use tuple-relative coordinates to propagate features 2D triangulation

Page 37: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

Handling Feature Guesses

● Result: Large set of feature guesses

● Some guesses are wrong● Some are badly constrained● How to handle that robustly?

?

Page 38: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

Handling Feature Guesses

● Assign a certainty to each guess

● Merge spatially related guesses

● Boost certainty if many guesses predict the same feature

● Others can be neglected

%

Page 39: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

Handling Feature Guesses

● Bonus: Extract feature-to-feature correspondences

● Remember: Guesses were derived from partial symmetries

Page 40: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

Overview

● Problem description– Symmetry detection

– Feature extraction

● My approach– The framework

– Scene structure analysis

● Preliminary results

Page 41: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

Preliminary Results

● Synthetic example: “IPSFX houses”● 3 iterations

Page 42: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

Preliminary Results

No local evidence feature completed

Page 43: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

Preliminary Results

● Scanned example: Hannover town hall● Input data and slippage:

Page 44: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

Preliminary Results

● Scanned example: Hannover town hall● 1st iteration (interest based features):

Page 45: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

Preliminary Results

● Scanned example: Hannover town hall● Propagation quadlets (example):

Page 46: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

Preliminary Results

● Scanned example: Hannover town hall● 2nd iteration, features and correspondences:

Page 47: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

Preliminary Results

● Scanned example: Hannover town hall● 3rd iteration, features and correspondences:

Page 48: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

Preliminary Results

● Scanned example: Hannover town hall● 4th iteration, features and correspondences:

Page 49: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

Preliminary Results

● Scanned example: Hannover town hall● 5th iteration, features and correspondences:

Page 50: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

Preliminary Results

● Scanned example: Hannover town hall● 6th iteration, features and correspondences:

Page 51: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

Preliminary Results

● Scanned example: Hannover town hall● 7th iteration, features and correspondences:

Page 52: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

Preliminary Results

Completed window features

Page 53: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

Preliminary Results

● Scanned example: Thai elephant statue● Input data and slippage:

Page 54: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

Preliminary Results

● Scanned example: Thai elephant statue● 5 iterations

Page 55: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

Preliminary Results

“garbage” correspondence class at frequency limit

Correspondences detected at foot

Trunk features nicely completed

Page 56: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

Overview

● Problem description– Symmetry detection

– Feature extraction

● My approach– The framework

– Scene structure analysis

● Preliminary results

Page 57: Extracting Point Features for Symmetry Detectiondanielmewes.dnsalias.net/~daniel/Bachelor Thesis... · Conclusion Good feature extraction requires global understanding of the scene's

Conclusion

● Good feature extraction requires global understanding of the scene's structure

● I propose:– A framework for interleaved feature selection

and partial symmetry detection

– A robust approach to sub-symmetry detection

ReferencesGelfand N., Guibas L. J.: Shape segmentation using local slippage analysis. Eurographics 2004Bokeloh M., Berner A., Wand M., Seidel H.-P., Schilling A.: Slippage features. Technical report 2008Berner A., Bokeloh M., Wand M., Schilling A., Seidel H.-P.: A graph based approach to symmetry detection.

Proc. Symp. Point-Based Graphics 2008Pauly M., Mitra N. J., Wallner J., Pottmann H., Guibas L. J.: Discovering Structural Regularity in 3D Geometry.

ACM SIGGRAPH 2008Mitra N. J., Guibas L. J., Pauly M.: Partial and approximate symmetry detection for 3d geometry.

ACM SIGGRAPH 2006