30
Shape Analysis and Retrieval (600.658) (Michael) Misha Kazhdan

Shape Analysis and Retrieval (600.658) (Michael) Misha Kazhdan

Embed Size (px)

Citation preview

Page 1: Shape Analysis and Retrieval (600.658) (Michael) Misha Kazhdan

Shape Analysis and Retrieval(600.658)

(Michael) Misha Kazhdan

Page 2: Shape Analysis and Retrieval (600.658) (Michael) Misha Kazhdan

Short Bio

• Undergraduate degree in mathematics

• Started Ph.D. in mathematics

• Switched to computer graphics

Page 3: Shape Analysis and Retrieval (600.658) (Michael) Misha Kazhdan

Research

Research Focus+ Methods for automatically analyzing 3D models

- Methods for visualization

Past research• Shape representations

• Shape alignment

• Shape matching

• Symmetry detection

Page 4: Shape Analysis and Retrieval (600.658) (Michael) Misha Kazhdan

Seminar

Shape matching:Given a database of 3D models and a query shape, determine which database models are most similar to the query.

Page 5: Shape Analysis and Retrieval (600.658) (Michael) Misha Kazhdan

Applications

• Entertainment

• Medicine

• Chemistry/Biology

• Archaeology

• Etc.

Page 6: Shape Analysis and Retrieval (600.658) (Michael) Misha Kazhdan

Applications

• Entertainment– Model generation

• Medicine

• Chemistry/Biology

• Archaeology

• Etc. Movie Courtesy of Summoner

Page 7: Shape Analysis and Retrieval (600.658) (Michael) Misha Kazhdan

Applications

• Entertainment

• Medicine– Automated diagnosis

• Chemistry/Biology

• Archaeology

• Etc.Images courtesy of NLM

Page 8: Shape Analysis and Retrieval (600.658) (Michael) Misha Kazhdan

Applications

• Entertainment

• Medicine

• Chemistry/Biology– Docking and binding

• Archaeology

• Etc.Image Courtesy of PDB

Page 9: Shape Analysis and Retrieval (600.658) (Michael) Misha Kazhdan

Applications

• Entertainment

• Medicine

• Chemistry/Biology

• Archaeology– Reconstruction

• Etc. Image Courtesy of Stanford

Page 10: Shape Analysis and Retrieval (600.658) (Michael) Misha Kazhdan

Seminar

• Whole shape matching– How do you test if two models are similar?

• Alignment

• Partial shape matching

Page 11: Shape Analysis and Retrieval (600.658) (Michael) Misha Kazhdan

Seminar

• Whole shape matching

• Alignment– How do you match across transformations that

do not change the shape of a model?

• Partial shape matching

=

Page 12: Shape Analysis and Retrieval (600.658) (Michael) Misha Kazhdan

Seminar

• Whole shape matching

• Alignment– How do you match across transformations that

do not change the shape of a model?

• Partial shape matching

Page 13: Shape Analysis and Retrieval (600.658) (Michael) Misha Kazhdan

Seminar

• Whole shape matching

• Alignment

• Partial shape matching– How do you test if one model is a subset of

another model?

Page 14: Shape Analysis and Retrieval (600.658) (Michael) Misha Kazhdan

Course Structure

Paper presentation:• Two papers a week• Everybody reads• Students present

Final project:• New method / implementation of existing ones• Proposals due October 19th

• Presented December 6th, 7th (last week of classes)

Page 15: Shape Analysis and Retrieval (600.658) (Michael) Misha Kazhdan

About you

Background:– Graphics?– Mathematics?– Coding?

Specific interests?

Undergrad/Masters/Ph. D.?

Year?

Page 16: Shape Analysis and Retrieval (600.658) (Michael) Misha Kazhdan

Shape Matching

General approach:Define a function that takes in two models and returns a measure of their proximity.

D , D ,M1 M1 M3M2

M1 is closer to M2 than it is to M3

Page 17: Shape Analysis and Retrieval (600.658) (Michael) Misha Kazhdan

Database Retrieval

• Compute the distance from the query to each database model

3D Query

Database Models

Q

M1

M2

Mn

D(Q,Mi

)

Page 18: Shape Analysis and Retrieval (600.658) (Michael) Misha Kazhdan

Database Retrieval

• Sort the database models by proximity

3D Query

Database Models Sorted Models

D(Q,Mi

)Q

M1

M2

Mn

M1

M2

Mn

~

~

~

ji

MQDMQD ji

)~

,()~

,(

Page 19: Shape Analysis and Retrieval (600.658) (Michael) Misha Kazhdan

~

Database Retrieval

• Return the closest matches

Best Match(es)

3D Query

Database Models Sorted Models

D(Q,Mi

)Q

M1

M2

Mn

M1

M2

Mn

~

~

~

ji

MQDMQD ji

)~

,()~

,(

M1~

M2

Page 20: Shape Analysis and Retrieval (600.658) (Michael) Misha Kazhdan

Evaluation

Classify models:– Retrieval is good if the closest matches in the

database are in the same class as the query

Ranked Matches

Query

44

77

11

55

22

88

66

33

99

Page 21: Shape Analysis and Retrieval (600.658) (Michael) Misha Kazhdan

Similarity Matrix

Given a database of models {M1,…,Mn}:Generate the nxn matrix whose (i,j)th entry is equal to D(Mi,Mj).

– Darkness representssimilarity

– If models are sortedby class, good resultsgive dark diagonalblocks

Page 22: Shape Analysis and Retrieval (600.658) (Michael) Misha Kazhdan

Precision vs. Recall

A graph giving the accuracy of the retrieval.

Answers the question:How easy is it to get back n% of the models in the query’s class?

Ranked Matches

Query

44

77

11

55

22

88

66

33

99

Page 23: Shape Analysis and Retrieval (600.658) (Michael) Misha Kazhdan

Precision vs. Recall

• Precision-recall curves– Recall = retrieved_in_class / total_in_class– Precision = retrieved_in_class / total_retrieved

0 0.2 0.4 0.6 0.80

0.2

0.4

0.6

0.8

1

Recall

Precision

1

Ranked Matches

Query

44

77

11

55

22

88

66

33

99

Page 24: Shape Analysis and Retrieval (600.658) (Michael) Misha Kazhdan

Precision vs. Recall

• Precision-recall curves– Recall = 0 / 5– Precision = 0 / 0

0 0.2 0.4 0.6 0.80

0.2

0.4

0.6

0.8

1

Recall

Precision

1

Ranked Matches

Query

44

77

11

55

22

88

66

33

99

Page 25: Shape Analysis and Retrieval (600.658) (Michael) Misha Kazhdan

Precision vs. Recall

• Precision-recall curves– Recall = 1 / 5– Precision = 1 / 1

0 0.2 0.4 0.6 0.80

0.2

0.4

0.6

0.8

1

Recall

Precision

1

Ranked Matches

Query

44

77

11

55

22

88

66

33

99

Page 26: Shape Analysis and Retrieval (600.658) (Michael) Misha Kazhdan

Precision vs. Recall

• Precision-recall curves– Recall = 2 / 5– Precision = 2 / 3

0 0.2 0.4 0.6 0.80

0.2

0.4

0.6

0.8

1

Recall

Precision

1

Ranked Matches

Query

44

77

11

55

22

88

66

33

99

Page 27: Shape Analysis and Retrieval (600.658) (Michael) Misha Kazhdan

Precision vs. Recall

• Precision-recall curves– Recall = 3 / 5– Precision = 3 / 5

0 0.2 0.4 0.6 0.80

0.2

0.4

0.6

0.8

1

Recall

Precision

1

Ranked Matches

Query

44

77

11

55

22

88

66

33

99

Page 28: Shape Analysis and Retrieval (600.658) (Michael) Misha Kazhdan

Precision vs. Recall

• Precision-recall curves– Recall = 4 / 5– Precision = 4 / 7

0 0.2 0.4 0.6 0.80

0.2

0.4

0.6

0.8

1

Recall

Precision

1

Ranked Matches

Query

44

77

11

55

22

88

66

33

99

Page 29: Shape Analysis and Retrieval (600.658) (Michael) Misha Kazhdan

Precision vs. Recall

• Precision-recall curves– Recall = 5 / 5– Precision = 5 / 9

0 0.2 0.4 0.6 0.80

0.2

0.4

0.6

0.8

1

Recall

Precision

1

Ranked Matches

Query

44

77

11

55

22

88

66

33

99

Page 30: Shape Analysis and Retrieval (600.658) (Michael) Misha Kazhdan

Precision vs. Recall

Average the p/r plots over all the queries

• Recall normalizes for class size

• Graphs that are shifted up correspond to better retrieval