6.1 Shape Matching Hao Li http://cs621.hao-li.com 1 - - PowerPoint PPT Presentation

6 1 shape matching
SMART_READER_LITE
LIVE PREVIEW

6.1 Shape Matching Hao Li http://cs621.hao-li.com 1 - - PowerPoint PPT Presentation

Spring 2017 CSCI 621: Digital Geometry Processing 6.1 Shape Matching Hao Li http://cs621.hao-li.com 1 Acknowledgement Images and Slides are courtesy of Prof. Michael Kazhdan, Johns Hopkins University ICCV Course 2005:


slide-1
SLIDE 1

CSCI 621: Digital Geometry Processing

Hao Li

http://cs621.hao-li.com

1

Spring 2017

6.1 Shape Matching

slide-2
SLIDE 2

Acknowledgement

2

Images and Slides are courtesy of

  • Prof. Michael Kazhdan, Johns Hopkins University
  • ICCV Course 2005: http://www.cis.upenn.edu/~bjbrown/

iccv05_course/

slide-3
SLIDE 3

Last Time

3

Surface Registration

  • Pairwise ICP & Variants
  • Point-to-point/plane metric
  • BSP closes point search
  • Stability Analysis
  • Global Registration
slide-4
SLIDE 4

Shape Matching for Model Alignment

4

Goal

  • Given two partially overlapping scans, compute

transformation that aligns the two.

  • No assumption about rough initial alignment

Partially Overlapping Scans Aligned Scans

slide-5
SLIDE 5

Shape Matching for Model Alignment

5

Approach

  • Find feature points on the two scans

Partially Overlapping Scans

slide-6
SLIDE 6

Shape Matching for Model Alignment

6

Approach

  • Find feature points on the two scans
  • Establish correspondences

Partially Overlapping Scans

slide-7
SLIDE 7

Shape Matching for Model Alignment

7

Approach

  • Find feature points on the two scans
  • Establish correspondences
  • Compute the alignment

Partially Overlapping Scans Aligned Scans

slide-8
SLIDE 8

Outline

8

  • Global Shape Correspondence
  • Shape Descriptors
  • Alignment
  • Partial Shape Correspondence
  • From Global to Local
  • Pose Normalization
  • Partial Shape Descriptors
  • Registration
  • Closed Form Solutions
  • Branch & Bound
  • Random Sample Consensus (RANSAC)
slide-9
SLIDE 9

Correspondence

9

Goal

  • Identify when two points on different scans represent the

same feature

slide-10
SLIDE 10

Local Correspondence

10

Goal

  • Identify when two points on different scans represent the

same feature

  • Are the surrounding regions similar?
slide-11
SLIDE 11

Global Correspondence

11

More Generally:

  • Given two models, determine if they represent the same/

similar shapes

  • models can have different representations, tesselations,

topologies, etc.

slide-12
SLIDE 12

Global Correspondence

12

Approach:

  • Represent each model by a shape descriptor:
  • A structured abstraction of a 3D model
  • that captures salient shape information
slide-13
SLIDE 13

Global Correspondence

13

Approach:

  • Represent each model by a shape descriptor:
  • Compare shapes by comparing their shape

descriptors

slide-14
SLIDE 14

Shape Descriptors: Examples

14

Shape Histograms

  • Shape descriptor stores a histogram of how much surface

area resides within different concentric shells in space

[Ankerst et al. 1999]

slide-15
SLIDE 15

Shape Descriptors: Examples

15

Shape Histograms

  • Shape descriptor stores a histogram of how much surface

area resides within different sectors in space

[Ankerst et al. 1999]

slide-16
SLIDE 16

Shape Descriptors: Examples

16

Shape Histograms

  • Shape descriptor stores a histogram of how much surface

area resides within different shells and sectors in space

[Ankerst et al. 1999]

slide-17
SLIDE 17

Shape Descriptors: Challenge

17

  • The shape of a model does not change when a rigid body

transformation is applied to the model.

slide-18
SLIDE 18

Shape Descriptors: Challenge

18

  • To compare two models, we need them at their optimal

alignment

slide-19
SLIDE 19

Shape Descriptors: Alignment

19

Three general methods:

  • Exhaustive Search
  • Normalization
  • Invariance
slide-20
SLIDE 20

Shape Descriptors: Alignment

20

Exhaustive Search:

  • Compare at all alignments

Exhaustive search for optimal rotation

slide-21
SLIDE 21

Shape Descriptors: Alignment

21

Exhaustive Search:

  • Compare at all alignments
  • Correspondence is determined by the alignment at which the

models are closest

Exhaustive search for optimal rotation

slide-22
SLIDE 22

Shape Descriptors: Alignment

22

Exhaustive Search:

  • Compare at all alignments
  • Correspondence is determined by the alignment at which the

models are closest

Properties:

  • Gives the correct answer (w.r.t. the metric)
  • While slow on a single processor, it can be parallelized

(Clusters? Multi-Threading? GPU?)

slide-23
SLIDE 23

Shape Descriptors: Alignment

23

Normalization:

  • Put each model into a canonical frame:
  • Translation
  • Rotation
slide-24
SLIDE 24

Shape Descriptors: Alignment

24

Normalization:

  • Put each model into a canonical frame:
  • Translation: Center of Mass
  • Rotation
slide-25
SLIDE 25

Shape Descriptors: Alignment

25

Normalization:

  • Put each model into a canonical frame:
  • Translation: Center of Mass
  • Rotation
slide-26
SLIDE 26

Shape Descriptors: Alignment

26

Normalization:

  • Put each model into a canonical frame:
  • Translation: Center of Mass
  • Rotation: PCA alignment
slide-27
SLIDE 27

Shape Descriptors: Alignment

27

Normalization:

  • Put each model into a canonical frame:
  • Translation: Center of Mass
  • Rotation: PCA alignment

Properties:

  • Efficient
  • Not always robust
  • Not suitable for local feature matching
slide-28
SLIDE 28

Shape Descriptors: Alignment

28

Invariance:

  • Represent a model by a shape descriptor that is independent
  • f the pose.
slide-29
SLIDE 29

Shape Descriptors: Alignment

29

Example: Ankerst’s Shells

  • A histogram of the radial distribution of surface area
slide-30
SLIDE 30

Shape Descriptors: Alignment

30

Invariance

  • Power spectrum representation
  • Fourier transform for translations
  • Spherical harmonic transform for rotations
slide-31
SLIDE 31

Translation Invariance

31

slide-32
SLIDE 32

Translation Invariance

32

slide-33
SLIDE 33

Translation Invariance

33

Frequency subspaces are fixed by rotations:

slide-34
SLIDE 34

Translation Invariance

34

Frequency subspaces are fixed by rotations:

slide-35
SLIDE 35

Translation Invariance

35

Frequency subspaces are fixed by rotations:

slide-36
SLIDE 36

Translation Invariance

36

slide-37
SLIDE 37

Rotation Invariance

37

Represent each spherical function as a sum of harmonic frequencies (orders)

slide-38
SLIDE 38

Rotation Invariance

38

Frequency subspaces are fixed by rotations

slide-39
SLIDE 39

Rotation Invariance

39

Frequency subspaces are fixed by rotations

slide-40
SLIDE 40

Rotation Invariance

40

Frequency subspaces are fixed by rotations

slide-41
SLIDE 41

Rotation Invariance

41

Store “how much” (L2-norm) of the shape resides in each frequency to get a rotatin invariant representation

slide-42
SLIDE 42

Shape Descriptors: Alignment

42

Invariance:

  • Represent a model by a shape descriptor that is independent
  • f the pose

Properties:

  • Compact representation
  • Not always discriminating
slide-43
SLIDE 43

Outline

43

  • Global Shape Correspondence
  • Shape Descriptors
  • Alignment
  • Partial Shape Correspondence
  • From Global to Local
  • Pose Normalization
  • Partial Shape Descriptors
  • Registration
  • Closed Form Solutions
  • Branch & Bound
  • Random Sample Consensus (RANSAC)
slide-44
SLIDE 44

From Global to Local

44

To characterize the surface about a point p, take global descriptor and:

  • center it about p (instead of center of mass), and
  • restrict the extent to a small region about p
slide-45
SLIDE 45

From Global to Local

45

Given scans of a model:

slide-46
SLIDE 46

From Global to Local

46

Identify the features

slide-47
SLIDE 47

From Global to Local

47

Identify the features Computer a local descriptor for each feature

slide-48
SLIDE 48

From Global to Local

48

Identify the features Computer a local descriptor for each feature Feature correspond → descriptors are similar

slide-49
SLIDE 49

Pose Normalization

49

From Global to Local

  • Translation: Accounted for by centering the descriptor at the

point of interest.

  • Rotation: We still need to be able to match descriptors across

different rotations.

slide-50
SLIDE 50

Pose Normalization

50

Challenge

  • Since only parts of the models are given, we cannot use global

normalization to align the local descriptors

Solutions

  • Normalize using local information
slide-51
SLIDE 51

Local Descriptors: Examples

51

Variations of Shape Histograms

  • For each feature, represent its local geometry in cylindrical

coordinates about the normal

slide-52
SLIDE 52

Local Descriptors: Examples

52

Variations of Shape Histograms

  • For each feature, represent its local geometry in cylindrical

coordinates about the normal

  • Spin Images: Store energy in

each normal ring

  • Harmonic Shape Contexts: Store

power spectrum of each normal ring

  • 3D Shape Contexts: Search over

all rotatinos about the normal for best match

slide-53
SLIDE 53

Outline

53

  • Global Shape Correspondence
  • Shape Descriptors
  • Alignment
  • Partial Shape Correspondence
  • From Global to Local
  • Pose Normalization
  • Partial Shape Descriptors
  • Registration
  • Closed Form Solutions
  • Branch & Bound
  • Random Sample Consensus (RANSAC)
slide-54
SLIDE 54

Registration

54

Ideal Case

  • Every feature point on one scan has a single corresponding

feature on the other.

  • Solve for optimal transformation T
slide-55
SLIDE 55

Registration

55

Challenge:

  • Even with good descriptors, symmetries in the model and the

locality of descriptors can result in multiple and incorrect correspondences

slide-56
SLIDE 56

Registration

56

Exhaustive Search

  • Compute alignment error at each permutation of

correspondences and use the optimal one

slide-57
SLIDE 57

Registration

57

Exhaustive Search

  • Compute alignment error at each permutation of

correspondences and use the optimal one

slide-58
SLIDE 58

Registration

58

Branch & Bound (Decision tree)

  • Try all permuations but terminate early if the alignment can be

predicted to be bad

slide-59
SLIDE 59

Registration

59

Goal

  • Need to be able to determine if the alignment will be good

without knowing all of the correspondences

Observation

  • Alignment needs to

preserve the lengths between points in a single scan

slide-60
SLIDE 60

Registration

60

Goal

  • Need to be able to determine if the alignment will be good

without knowing all of the correspondences

Observation

  • Alignment needs to

preserve the lengths between points in a single scan

slide-61
SLIDE 61

RANdom SAmple Consensus

61

Algorithm (iterate 100 times)

  • Randomly choose 3 points on source
  • For all possible correspondences on target:
  • Compute T
  • For every other source p:
  • find closest correspondence T(p)
  • Compute alignment error
slide-62
SLIDE 62

Summary

62

Global Shape Correspondences

  • Shape Descriptors
  • Shells (1D)
  • Sectors (2D)
  • Sectors & Shells (3D)
  • Alignment
  • Exhaustive Search
  • Normalization
  • Invariance
slide-63
SLIDE 63

Summary

63

Partial-Shape/Point Correspondences

  • From Global to Local
  • Center at feature
  • Restrict extent
  • Pose Normalization
  • Normal-based alignment
  • Partial Shape Descriptors
  • Normalization/invariance
  • Normalization/exhaustive-search
slide-64
SLIDE 64

Summary

64

Registration

  • Closed Form Solutions
  • Global symmetry
  • Local self similarity
  • Branch & Bound
  • Inter-feature distances for early termination
  • RANdom SAmple Consensus
  • Efficient transformation computation
slide-65
SLIDE 65

Next Time

65

Surface Reconstruction

slide-66
SLIDE 66

http://cs621.hao-li.com

Thanks!

66