60
Partial Shape Partial Shape Matching Matching Hu Jianwei Hu Jianwei 2006-10-11 2006-10-11

Partial Shape Matching

Embed Size (px)

DESCRIPTION

Partial Shape Matching. Hu Jianwei 2006-10-11. 3D Query. Best Match. 3D Database. Shape Retrieval. Global Shape Matching. Skeleton Based Similarity Reeb Graph Based Similarity Shape Histograms Light Field Descriptor Extended Gaussian Image ……. Partially Overlapping Scans. - PowerPoint PPT Presentation

Citation preview

Page 1: Partial Shape Matching

Partial Shape MatchingPartial Shape Matching

Hu JianweiHu Jianwei2006-10-112006-10-11

Page 2: Partial Shape Matching

Shape RetrievalShape Retrieval

3D Query

3D Database

Best Match

Page 3: Partial Shape Matching

Global Shape MatchingGlobal Shape Matching

Skeleton Based SimilaritySkeleton Based Similarity Reeb Graph Based SimilarityReeb Graph Based Similarity

Shape HistogramsShape Histograms Light Field Descriptor Light Field Descriptor Extended Gaussian Image Extended Gaussian Image …………

Page 4: Partial Shape Matching

MergingMerging

Aligned ScansPartially Overlapping Scans

Page 5: Partial Shape Matching

The same class with different overall shapesThe same class with different overall shapes

Page 6: Partial Shape Matching

Partial Shape MatchingPartial Shape Matching

Partial matching is a much harder problem than global matching, since it needs to search for and define the subparts prior to measuring similarities.

Exhaustive Search?

Page 7: Partial Shape Matching

Partial Shape MatchingPartial Shape Matching

SegmentationSegmentation

Page 8: Partial Shape Matching

Salient Geometric Features for Partial Salient Geometric Features for Partial Shape Matching and SimilarityShape Matching and Similarity

ACM Transactions on Graphics, Vol. 25, No. 1, January 2006, Pages 130–ACM Transactions on Graphics, Vol. 25, No. 1, January 2006, Pages 130–150.150.

Ran Gal & Daniel Cohen-OrRan Gal & Daniel Cohen-Or

Tel-Aviv UniversityTel-Aviv University

Page 9: Partial Shape Matching
Page 10: Partial Shape Matching

OutlineOutline

Local Surface DescriptorsLocal Surface Descriptors Salient Geometric FeaturesSalient Geometric Features Indexing and Geometric HashingIndexing and Geometric Hashing

Page 11: Partial Shape Matching

Quadric Fitting and Curvature EstimationQuadric Fitting and Curvature Estimation

Quadric FittingQuadric FittingDouros and Buxton [2002]Douros and Buxton [2002]

Curvature EstimationCurvature EstimationOhtake et al [2004]Ohtake et al [2004]

Page 12: Partial Shape Matching

Compact RepresentationCompact Representation

Defining the Local PatchesDefining the Local Patches Error Measuring: Squared Algebraic Error Measuring: Squared Algebraic

DistancesDistances Threshold: of the model bounding box Threshold: of the model bounding box

diagonal lengthdiagonal length

410

Page 13: Partial Shape Matching

Local Surface DescriptorsLocal Surface Descriptors

A Patch (Points)A Patch (Points) A PointA Point A CurvatureA Curvature

Page 14: Partial Shape Matching

Gaussian Curvature vs Max CurvatureGaussian Curvature vs Max Curvature

Page 15: Partial Shape Matching

Sample the Surface RandomlySample the Surface Randomly

Osada et al [2001]Osada et al [2001] Elad et al [2001]Elad et al [2001]

Page 16: Partial Shape Matching

OutlineOutline

Local Surface DescriptorsLocal Surface Descriptors Salient Geometric FeaturesSalient Geometric Features Indexing and Geometric HashingIndexing and Geometric Hashing

Page 17: Partial Shape Matching

Salient Geometric FeaturesSalient Geometric Features

A set of descriptors that have:A set of descriptors that have: A high curvature relative to their surroundingsA high curvature relative to their surroundings A high variance of curvature valuesA high variance of curvature values

A function of one free parameter: the scaleA function of one free parameter: the scale

Page 18: Partial Shape Matching

Saliency GradeSaliency Grade

31 2( ) ( ) ( ) ( )S Area d Curv d N F Var F The area of the patch associated with d relative to the sphere sizeThe curvature associated with dThe number of local minimums or

maximums curvatures in the cluster

The curvature variance in the cluster

Page 19: Partial Shape Matching

Saliency GradeSaliency Grade

31 2( ) ( ) ( ) ( )S Area d Curv d N F Var F

The saliency of the regionThe degree of interestingness of the cluster

Page 20: Partial Shape Matching

Saliency GradeSaliency Grade

Page 21: Partial Shape Matching

Saliency GradeSaliency Grade

Page 22: Partial Shape Matching

OutlineOutline

Local Surface DescriptorsLocal Surface Descriptors Salient Geometric FeaturesSalient Geometric Features Indexing and Geometric HashingIndexing and Geometric Hashing

Page 23: Partial Shape Matching

Indexing and Geometric HashingIndexing and Geometric Hashing

Each salient feature is associated with a Each salient feature is associated with a vector indexvector index

The vector index is defined by the four The vector index is defined by the four terms: terms:

Geometric hash table contains the vector Geometric hash table contains the vector indicesindices

( ), ( ), ( ), ( )Area d Curv d N F Var F

Page 24: Partial Shape Matching

Best TransformationBest Transformation

Compute the transformationCompute the transformation Triplet of pointsTriplet of points Voting system Voting system [Lamdan and Wolfson 1988][Lamdan and Wolfson 1988]

Page 25: Partial Shape Matching

Time and StorageTime and Storage

Page 26: Partial Shape Matching

Self-SimilaritySelf-Similarity

Page 27: Partial Shape Matching

Shape AlignmentShape Alignment

Page 28: Partial Shape Matching

Partial Shape RetrievalPartial Shape Retrieval

Page 29: Partial Shape Matching

Retrieval ResultRetrieval Result

Page 30: Partial Shape Matching

Spin Image vs SGFsSpin Image vs SGFs

Page 31: Partial Shape Matching

Registration of Synthetic ScansRegistration of Synthetic Scans

Page 32: Partial Shape Matching

ReconstructionReconstruction

Page 33: Partial Shape Matching

Local Feature Extraction and Local Feature Extraction and Matching Partial ObjectsMatching Partial Objects

Computer-Aided Design 38 (2006) 1020–1037Computer-Aided Design 38 (2006) 1020–1037

Dmitriy Bespalov, William C. Regli & Ali ShokoufandehDmitriy Bespalov, William C. Regli & Ali Shokoufandeh

Drexel UniversityDrexel University

Page 34: Partial Shape Matching

Traditional CAD RepresentationTraditional CAD Representation

Watertight boundary-Watertight boundary-representation solidrepresentation solid Implicit surfacesImplicit surfaces Analytic surfacesAnalytic surfaces NURBS, etcNURBS, etc

Topologically and Topologically and geometrically consistentgeometrically consistent

Produced by kernel Produced by kernel modelers and CAD modelers and CAD systemssystems

Page 35: Partial Shape Matching

Traditional CAD RepresentationTraditional CAD Representation

Usually a mesh or point Usually a mesh or point cloudcloud

Usually an approximate Usually an approximate representationrepresentation

Sometimes error proneSometimes error prone Produced by CAD Produced by CAD

systems, animation tools, systems, animation tools, laser scanners, etclaser scanners, etc

Page 36: Partial Shape Matching

What is a Scale-Space What is a Scale-Space Representation?Representation?

Commonly used for Coarse-to-Commonly used for Coarse-to-Fine representations of an objectFine representations of an object

Very popular in Computer VisionVery popular in Computer Vision Basic Idea:Basic Idea:

At each At each scalescale, topologically relevant , topologically relevant components will components will decomposedecompose the the object into so called object into so called salient partssalient parts

RecursiveRecursive application of this application of this paradigm will create the object’s paradigm will create the object’s scale space hierarchyscale space hierarchy

Page 37: Partial Shape Matching

Why Scale-Space Representation?Why Scale-Space Representation?

A unified framework for matchingA unified framework for matching Different features can be parameterized as Different features can be parameterized as

different scale-space decompositionsdifferent scale-space decompositions Robust & consistent across noisy and diverse Robust & consistent across noisy and diverse

data setsdata sets

Page 38: Partial Shape Matching

MethodMethod

Start with CAD modelStart with CAD model Perform geometry-based decompositionPerform geometry-based decomposition Construct hierarchical “feature” graphConstruct hierarchical “feature” graph Use hierarchical matching to compare graphsUse hierarchical matching to compare graphs

Page 39: Partial Shape Matching

Algorithm Overview (I)Algorithm Overview (I)

1. Given model P, compute mesh representation M

2. Define measurement function: Our d is the maximum angle on an angular shortest path distance function between every two faces on M will be captured in a pair-wise distance matrix D.

d(t1,t2)

Page 40: Partial Shape Matching

Algorithm Overview (II)Algorithm Overview (II)

3. 3. DecomposeDecompose MM into components relevant using a into components relevant using a sisingular value decompositionngular value decomposition of distance matrix of distance matrix DD

Compute the SVD decompositionCompute the SVD decomposition

with with

Compute the order-k compression matrixCompute the order-k compression matrix

Let denote the jLet denote the jthth column of , column of ,

Form sub-feature as the union of facesForm sub-feature as the union of faces

withwith

TD U V

1 2( , , , )nDiag

( )1( , , ,0, ,0)k T

kD UDiag V

jC ( )kD

1{ , , }kS c c

jM

it M ( , ) ( , )i i jd t S d t c

Page 41: Partial Shape Matching

Algorithm Overview (III)Algorithm Overview (III)

4. Recursive 4. Recursive feature decompositionfeature decomposition using two using two principle components creates binary principle components creates binary feature feature treestrees

feature tree for swivelfeature tree for simple_bracket

Page 42: Partial Shape Matching

Algorithm Overview (IV)Algorithm Overview (IV)

5. Compare feature trees (bottom up dynamic programming) using The Largest Common Subgraph Algorithm [Ullmann JR. 1976]

swivelsimple_bracket

Page 43: Partial Shape Matching

When to Stop?When to Stop?

2 3,i jt M t M m l i jt t t t

. .s t

2 3 ( , ) ( , )m l m l i jt M t M t t D t t

The feature is decomposed into sub-features and if the angular distance between components of and is large.

1M

2M 3M

2M3M

Page 44: Partial Shape Matching

Example DecompositionExample Decomposition

Page 45: Partial Shape Matching

Feature Decomposition on Noisy DataFeature Decomposition on Noisy Data

Page 46: Partial Shape Matching

Partial Shape MatchingPartial Shape Matching

Retrieved Relevant models

Relevant models

andrecall

Retrieved Relevant models

Retrieved models

andprecision

A precision–recall graph for retrieval experiment using: 1. A Reeb Graph technique; 2. a Scale–Space technique with the max-angle distance function and simple sub-graph isomorphism for matching; 3. the original Scale–Space technique with a geodesic distance function; 4. a random retrieval technique.

Page 47: Partial Shape Matching

Fidelity ExperimentsFidelity Experiments

Page 48: Partial Shape Matching

Retrieval experimentRetrieval experiment

Page 49: Partial Shape Matching

Partial Shape Matching of 3D Partial Shape Matching of 3D Shapes with Priority-Driven SearchShapes with Priority-Driven Search

Eurographics Symposium on Geometry Processing (2006)Eurographics Symposium on Geometry Processing (2006)

T.Funkhouser & P.ShilaneT.Funkhouser & P.Shilane

Princeton UniversityPrinceton University

Page 50: Partial Shape Matching

System ExecutionSystem Execution

Preprocessing phasePreprocessing phase Constructing RegionsConstructing Regions Computing Shape DescriptorsComputing Shape Descriptors Selecting Distinctive FeaturesSelecting Distinctive Features

Query phaseQuery phase Creating Pairwise Feature CorrespondencesCreating Pairwise Feature Correspondences Searching for the Optimal Multi-Feature MatchSearching for the Optimal Multi-Feature Match

Page 51: Partial Shape Matching

Constructing RegionsConstructing Regions

Page 52: Partial Shape Matching

Computing Shape DescriptorsComputing Shape Descriptors

Generate and store a representation of the

shape for each spherical region Spin image Spin image [Johnson A. & Hebert M. 1999][Johnson A. & Hebert M. 1999]

Extended Gaussian Image Extended Gaussian Image [Horn, 1984][Horn, 1984]

Spherical Harmonics Spherical Harmonics [Frome A. et al. 2004][Frome A. et al. 2004]

…………

Page 53: Partial Shape Matching

Selecting Distinctive FeaturesSelecting Distinctive Features

Compute the difference between every two Compute the difference between every two descriptors in the data basedescriptors in the data base

Build a rank-to-difference mapping (RTD)Build a rank-to-difference mapping (RTD) Distinctive Feature: both similar to features in Distinctive Feature: both similar to features in

few other objects (ones in the same class) and few other objects (ones in the same class) and different from the rest (objects in other classes)different from the rest (objects in other classes)

2L

Page 54: Partial Shape Matching

Discounted Cumulative GainDiscounted Cumulative Gain

1

12

, 1

,log ( )

i ii

G i

DCG GDCG otherwise

i

22

11

log ( )

M

C

j

DCGDCG

j

Page 55: Partial Shape Matching

Selecting Distinctive FeaturesSelecting Distinctive Features

The selection algorithm iteratively chooses The selection algorithm iteratively chooses the feature with highest DCG whose positithe feature with highest DCG whose position is not closer than a Euclidean distance on is not closer than a Euclidean distance threshold to the position of any previously threshold to the position of any previously selected featureselected feature

Page 56: Partial Shape Matching

Result of Result of Preprocessing PhasePreprocessing Phase

A small set of featuresA small set of features Each feature associated with Each feature associated with

A positionA position A normalA normal A radiusA radius A shape descriptorA shape descriptor A rank-to-difference mapping (RTD)A rank-to-difference mapping (RTD) A retrieval performance score (DCG)A retrieval performance score (DCG)

Page 57: Partial Shape Matching

The Cost FunctionThe Cost Function

1 2( , ) ( , )rankC Rank RTD D Rank RTD D

1 2

1 2radius

R RC

RAVG RAVG

1 1 2 2normalC r n r n ��������������������������������������������������������

rank radius normalcorrespondence rank rank radius radius normal normalC C C C

Page 58: Partial Shape Matching

The Cost FunctionThe Cost Function1 2

1 2

1 2

1 2

max( , )length

L LLAVG LAVG

CL L

LAVG LAVG

1 1 2 2 1 1 2 2 1 1 2 2orient a b a b a a b bC n n n n v n v n v n v n ������������������������������������������������������������������������������������������������������������������������������������������������������������������������

length orientchord length length orient orientC C C

, ,

( ) ( , )match correspondence chordi k i j k i j

C C i C i j

Page 59: Partial Shape Matching

Query PhaseQuery Phase

Page 60: Partial Shape Matching

Comparison to Previous MethodsComparison to Previous Methods