CS 468 Data-driven Shape Analysis Shape Descriptors April 1, 2014
What Is A Shape Descriptor? Shapes Shape Descriptor F1=[f1, f2,.., fn] F2=[f1, f2,.., fn] F3=[f1, f2,.., fn]
What Is A Shape Descriptor? Shapes Shape Descriptor F1=[f1, f2,.., fn] F2=[f1, f2,.., fn] F3=[f1, f2,.., fn] Hopefully F2 F1 and F2 F3
What Is A Shape Descriptor? Shapes Shape Descriptor F1=[f1, f2,.., fn] What Is A Good SD? F2=[f1, f2,.., fn] F3=[f1, f2,.., fn] Hopefully F2 F1 and F2 F3
What Is A Good SD? Desired Properties Automatic Discriminative Robust w.r.t. noise (e.g. due to scanning) Cheap to compute Easy to compare (e.g. few features, L2 distance) Invariant to transformations, e.g.: - Rotation - Translation - Scale
What Is A Good SD? Desired Properties Automatic Discriminative Robust w.r.t. noise (e.g. due to scanning) Cheap to compute Easy to compare (e.g. few features, L2 distance) Invariant to transformations, e.g.: - Rotation - Translation - Scale Toy Example: per-vertex positions, # i.e. [x1, y1, z1, x2, y2, z2,, xn, yn, zn]
What Is A Good SD? Desired Properties Automatic Discriminative Robust w.r.t. noise (e.g. due to scanning) Cheap to compute Easy to compare (e.g. few features, L2 distance) Invariant to transformations, e.g.: Rotation Translation Scale Toy Example: per-vertex positions, # i.e. [x1, y1, z1, x2, y2, z2,, xn, yn, zn]
What Is A Good SD? Desired Properties Automatic Discriminative Robust w.r.t. noise (e.g. due to scanning) Cheap to compute Easy to compare (e.g. few features, L2 distance) Invariant to transformations, e.g.: - Rotation - Translation - Scale Toy Example: shape diameter,# i.e. maximal distance between any two points: [d]
What Is A Good SD? Desired Properties Automatic Discriminative Robust w.r.t. noise (e.g. due to scanning) Cheap to compute Easy to compare (e.g. few features, L2 distance) Invariant to transformations, e.g.: Rotation Translation Scale Toy Example: shape diameter,# i.e. maximal distance between any two points: [d]
What Is A Good SD? Desired Properties Automatic Discriminative Robust w.r.t. noise (e.g. due to scanning) Cheap to compute Easy to compare (e.g. few features, L2 distance) Invariant to transformations, e.g.: - Rotation - Translation - Scale How about looking at statistics # over all pairs of points?
Shape Descriptors Shape Descriptors Shape Distributions (D2) Spin Images Lightfield Descriptor Intrinsic Methods Applications Retrieval Classification Exploration
Shape Distributions (D2) D2 Probability Density Distance Between a Pair
Shape Distributions (D2) Guess: A Line Segment? D2 Probability Density Distance Between a Pair
Shape Distributions (D2) Guess: A Line Segment? D2 Probability Density Distance Between a Pair
Shape Distributions (D2) Guess: A Circle? D2 Probability Density Distance Between a Pair
Shape Distributions (D2) Guess: A Circle? D2 Probability Density Distance Between a Pair
Shape Distributions (D2) Guess: A Car? :) D2 Probability Density Distance Between a Pair
Shape Distributions (D2) Distributions for 6 different cars D2 Probability Density Distance Between a Pair
Shape Distributions (D2) Some Other Examples D2
Good SD? Desired Properties Automatic Discriminative Robust w.r.t. noise (e.g. due to scanning) Cheap to compute Easy to compare (e.g. few features, L2 distance) Invariant to transformations, e.g.: - Rotation - Translation - Scale
Evaluation Metrics Examples Precision/Recall Confusion Mtx Artificial noise
Evaluation Metrics Examples Precision/Recall Confusion Mtx Artificial noise TP FN FP TN Want all Filled Dots to be# retrieved by the Ellipse
Evaluation Metrics Examples Precision/Recall Confusion Mtx Artificial noise TP FN FP TN Want all Filled Dots to be# retrieved by the Ellipse For N retrieved results:# Precision = TP / (TP + FP) Recall = TP / (TP + FN)
Evaluation Metrics Examples Precision/Recall Confusion Mtx Artificial noise TP FN FP TN Want all Filled Dots to be# retrieved by the Ellipse For N retrieved results:# Precision = TP / (TP + FP) Recall = TP / (TP + FN)
Evaluation Metrics Examples Precision/Recall Confusion Mtx Artificial noise
Evaluation Metrics For example: Examples Precision/Recall Confusion Mtx Artificial noise What would you choose?
Shape Descriptors Shape Descriptors Shape Distributions (D2) Spin Images Lightfield Descriptor Intrinsic Methods Applications Retrieval Classification Exploration
α - radial dist. β - elevation Spin Images
Spin Images Works for partial# matching too! Large Support Small Support
Spin Images
Spin Images We will discuss the details of shape matching later
Good SD? Desired Properties Automatic Discriminative Robust w.r.t. noise (e.g. due to scanning) Cheap to compute Easy to compare (e.g. few features, L2 distance) Invariant to transformations, e.g.: - Rotation - Translation - Scale
Good SD? Desired Properties Automatic Discriminative Robust w.r.t. noise (e.g. due to scanning) Cheap to compute Easy to compare (e.g. few features, L2 distance) Invariant to transformations, e.g.: - Rotation - Translation - Scale NOTE: there is a trick here Still expensive:# requires shape matching
Shape Descriptors Shape Descriptors Shape Distributions (D2) Spin Images Lightfield Descriptor Intrinsic Methods Applications Retrieval Classification Exploration
Lightfield Descriptor Image distances under the best rotation
Lightfield Descriptor
Good SD? Desired Properties Automatic Discriminative Robust w.r.t. noise (e.g. due to scanning) Cheap to compute Easy to compare (e.g. few features, L2 distance) Invariant to transformations, e.g.: - Rotation - Translation - Scale
References Shape Distributions. R. Osada, T. Funkhouser, B. Chazelle, D. Dobkin. Trans. on Graphics 2002 Rotation Invariant Spherical Harmonic Representation of 3D Shape Descriptors. M. Kazhdan, T. Funkhouser, S. Rusinkiewicz. SGP 2004 Using Spin Images for Efficient Object Recognition in Cluttered 3D Scenes. A. Johnson, M. Hebert. Trans. PAMI 1999 On Visual Similarity Based 3D Model Retrieval. D-Y. Chen, X-P. Tian, Y-T. Shen, and M. Ouhyoung. Eurographics 2003