280 likes | 398 Vues
Contextual Part Analogies in 3D Objects. Shy Shalom Bar Ilan U niversity. Lior Shapira Tel Aviv University. Ariel Shamir The Interdisciplinary Center. Daniel Cohen Or Tel Aviv University. H.Zhang. Presented by Dana Silverbush. Overview. Motivation
E N D
Contextual Part Analogies in 3D Objects Shy Shalom Bar IlanUniversity • LiorShapiraTel Aviv University Ariel Shamir The Interdisciplinary Center • Daniel Cohen Or Tel Aviv University • H.Zhang • Presented by Dana Silverbush
Overview • Motivation • Why part analogies • The whole shape method (in a glimpse) • The Contextual Part Analogies Process • Partition • Measure • Determine distance • Results • Local vs. contextual • Robustness
Motivation • Why find part analogies • Analogies in a set of objects • Partial match queries • Instrument to carry information from one to many (semantic information, tags, deformation, operations). dial Dial dial dial dial dial dial dial
f(q) Whole Shape Analogy • Given q find similar s in set S • Common technique: • define f() and calculate for q and S f(s) S
- = ? Whole Shape Analogy • Given q find similar s in set S • Common technique: • define f() and calculate for q and S • Similarity: Two shape Sa, Sb, are similar if f(Sa) is close to f(Sb) in some sense, i.e. Dist(Sa,Sb) is small.
Part Analogy Process • Instead of using Dist(f(Sa),f(Sb) for the whole shapes, use it on sub parts! • Three main issues: • What sub-parts (segmentation)? • What descriptor f()? • What distance Dist(f(Sa), f(Sb))? • The process:
Measure Through Volume • Partition • Measure • Distance • Test • Cluster • Smooth • Define f() • Dist() • Contextual distance • The Shape Diameter Function (SDF) • Connects volume to surface • Ray Shooting & Averaging
Volume Normalization • Partition • Measure • Distance • Test • Cluster • Smooth • Define f() • Dist() • Contextual distance for different scales Move to log-space: enhance delicate parts Notice the horn and the nose separate better
Segmentation • Partition • Measure • Distance • Test • Cluster • Smooth • Define f() • Dist() • Contextual distance • Fit Gaussian Mixture Model (GMM) of k Gaussians to the histogram of SDF. • Each face has a vector of length k signifying its probability to be in each cluster Normalized SDF faces
Optimize Segmentation • Partition • Measure • Distance • Test • Cluster • Smooth • Define f() • Dist() • Contextual distance • find min-cut to optimize energy function • Employ an alpha expansion graph-cut algorithm to solve the k-way graph-cut • Get start segmentation • Swap alpha tags GMM Smoothing Probability (face f belongs to cluster Xf) Incorporates edge length + angle
Local SDF Signature • Partition • Measure • Distance • Test • Cluster • Smooth • Define f() • Dist() • Contextual distance • Normalized histogram of SDF values within the part • The size of the part as a percentage of the whole model Compare relative size of part Compare volumetric measure
Local SDF Signature • Partition • Measure • Distance • Test • Cluster • Smooth • Define f() • Dist() • Contextual distance • Normalized histogram of SDF values within the part • The size of the part as a percentage of the whole model Compare relative size of part
Not Good Enough… • Partition • Measure • Distance • Test • Cluster • Smooth • Define f() • Dist() • Contextual distance • The part is not a separate shape • We want to think of it in its context. • A finger is closer to another finger than it is to a cylinder!
Create Hierarchy • Partition • Measure • Distance • Test • Cluster • Smooth • Define f() • Dist() • Contextual distance
Create Hierarchy • Partition • Measure • Distance • Test • Cluster • Smooth • Define f() • Dist() • Contextual distance
Parts Contextual Distance • Partition • Measure • Distance • Test • Cluster • Smooth • Define f() • Dist() • Contextual distance Context of a part -> the path between the node representing the part, and the root of the object tree
Parts Contextual Distance • Partition • Measure • Distance • Test • Cluster • Smooth • Define f() • Dist() • Contextual distance Context of a part -> the path between the node representing the part, and the root of the object tree
Parts Contextual Distance • Partition • Measure • Distance • Test • Cluster • Smooth • Define f() • Dist() • Contextual distance Context of a part -> the path between the node representing the part, and the root of the object tree
Parts Contextual Distance • Partition • Measure • Distance • Test • Cluster • Smooth • Define f() • Dist() • Contextual distance Context of a part -> the path between the node representing the part, and the root of the object tree
Advantage to context-awareness • Comparing local signature to a context-aware distance measure
Advantage to context-awareness • Preforming part queries in several categories (human leg, armadillo leg and airplane wing)
Robustness to K-Partitioning • Five distinct partitioning were inserted, making part hierarchy different for each model • Query the dinopet handreturns matching hand from all dinopet variants
Robustness to K-Partitioning • Five distinct partitioning were inserted, making part hierarchy different for each model • Query the dinopet handreturns matching hand from all dinopet variants
Automatic Tagging All results marked with a yellow diamond have already been tagged ‘head’.
Conclusion • Analogies based on parts • Utilizes Shape Diameter Function (SDF) • Segmentation + Distance • New Contextual Distance based on segmentation hierarchy