shape analysis and retrieval structural shape descriptors notes courtesy of funk et al., siggraph...

36
Shape Analysis and Retrieval Structural Shape Descriptors Notes courtesy of Funk et al., SIGGRAPH 200

Upload: maria-terry

Post on 01-Jan-2016

219 views

Category:

Documents


0 download

TRANSCRIPT

Shape Analysis and Retrieval

Structural Shape Descriptors

Notes courtesy of Funk et al., SIGGRAPH 2004

Outline:• Structural Shape Descriptors

• Skeletons

Statistical Shape DescriptorsRepresent the geometry of the model:

Good for comparing across rigid body transformations Good for comparing whole modelsBad for comparing deformable modelsBad for comparing parts of a model

Structural Shape DescriptorsGeneral Approach:

– Construct graph where nodes represent partsand edges represent relationships between parts

– Compare nodes

– Match graphs

QueryShape

Descriptor

Database

BestMatches

Structural Shape DescriptorsAdvantages:

– Articulation of nodes does not change the descriptor.

– Statistical shape descriptors can be used to match nodes

– Sub-graph isomorphisms can be used for partial matching.

QueryShape

Descriptor

Database

BestMatches

Outline:• Structural Shape Descriptors

• Skeletons

SkeletonsIdea:

Represent a surface/contour as the collection of quench points of waves propagating from the boundary.

SkeletonsAlternatively:

– Locus of points equidistant from surface– Locus of centers of maximal balls– 1st order discontinuity in distance transform

maximal circle

skeleton

boundary

SkeletonsSpecifically:

If we define the ball of radius r about the point p as:

then given a surface S, the skeleton of S is the collection of points (with associated radii) that are simultaneously closest to at least two points on S:

rsSpBSpBrpS sr ,0)( and 1)( s.t. ),()(Skel

rqpqpBr s.t. )(

SkeletonsExample:

rsSpBSpBrpS sr ,0)( and 1)( s.t. ),()(Skel

S

p1

p3

p2

r3

r2

r1

Skel(S)

SkeletonsProperties:

– By taking the union of the skeleton balls you can reconstruct the shape:

Srpr pBS

),(

)(

SkeletonsProperties:

– By taking the union of the skeleton balls you can reconstruct the shape:

Srpr pBS

),(

)(

SkeletonsProperties:

– Skeletons characterize a model in terms of spatially local information. (The skeleton of the union is similar to the union of the skeletons)

SkeletonsProperties:

– Robust to articulated motion.

Skeletons to GraphsGenerate a graph representing the skeleton with nodes corresponding to:

– Singular points– Continuous regions

Model Skeleton Graph

Computing the SkeletonEquivalent Definitions:

– Locus of points equidistant from surface– Locus of centers of maximal balls– 1st order discontinuity in distance transform

maximal circle

skeleton

boundary

Euclidean Distance TransformThe Euclidean Distance Transform (EDT) of a surface is a function giving the distance of every point in space to the boundary.

SurfaceEDT

qppSq

S

min)(EDT

Euclidean Distance TransformThe EDT grows smoothly away from the surface. At skeleton points the derivative becomes discontinuous.

SurfaceEDT

Computing the EDTBrute Force:

Compute the distance to each surface point and store the minimum.

If there are m surface points and we want the values on a grid of resolution n, the overall complexity becomes:

– O(n2m) for a 2D grid– O(n3m) for a 3D grid

Computing the EDTGraphics Hardware (2D):

For each surface point (x,y), draw a 3D right-cone with apex at (x,y,0) and axis aligned with the positive z-axis.

Draw the cones with orthogonal projection, looking down the positive the z-axis.

The values of the depth-buffer are the values of the EDT.

Computing the EDTGraphics Hardware (2D):

At the point p0, the height of a right-cone with apex at p is equal to the distance from p to p0.

p p0

|p-p0|

Computing the EDTGraphics Hardware (2D):

The height of a right-cone with apex at p is equal to the distance from p.

Given a collection of points:– Draw right-cones at each point

Cone 1 Cone 2

45o 45o

Computing the EDTGraphics Hardware (2D):

The height of a right-cone with apex at p is equal to the distance from p.

Given a collection of points:– Draw right-cones at each point

– View along the z-direction Cone 1 Cone 2

View Plane

Dep

th

Computing the EDTGraphics Hardware (2D):

The height of a right-cone with apex at p is equal to the distance from p.

Given a collection of points:– Draw right-cones at each point

– View along the z-direction

– Read back the frame-buffer

x

ED

TS(x

)

Computing the SkeletonGraphics Hardware (2D):

– Draw right-cones at each point

– View along the z-direction

– Read back the frame-buffer

– Extract the skeleton

Surface Right-Cones Skeleton

z-axis

Computing the Skeleton3D Skeletons:

They can be computed similarly using the 3D Euclidean Distance Transform and looking for discontinuities of the gradient.

The skeleton is made up of:– Points (Sphere)– Curves (Cylinders)– Surfaces (General)

Surface

Skeleton

SkeletonsLimitations:

– The skeletons of 3D models are combinations of 0D points,1D curves, and 2D surfaces.

– The skeleton of a surface is very sensitive to noise in the model.

SkeletonsLimitations:

– The skeletons of 3D models are combinations of points,1D curves, and 2D surfaces.

– The skeleton of a surface is very sensitive to noise in the model.

Skeleton

Small changes in the surface can cause very significant changes in the skeleton

Surface

SkeletonsNoise:

– The skeleton of a surface is very sensitive to noise in the model.

As a result, it is difficult to compute the skeleton of a rasterized model (e.g. images, MRIs, etc.).

SkeletonsGoal:

Try to identify the good segments of the skeleton and discard the bad ones.

SkeletonsGoal:

Try to identify the good segments of the skeleton and discard the bad ones.

Points on the main segment are good because they are generated by pairs of points that are far apart

SkeletonsGoal:

Try to identify the good segments of the skeleton and discard the bad ones.

Points on the spur are bad because they are generated by pairs of points that are close together

SkeletonsSpecifically:

Associate the angle of the generating pair to each point on the skeleton (speed).

The bigger the angle, the more meaningful the skeleton point, the bigger the 1st order discontinuity.

Skeleton

SkeletonsSpeed:

If p is a skeleton point and r is its associated radius, the speed at p is:

Skeleton

in time change over theposition in change The:rp

p

r

)2/cos(

1

)2/cos(

1

rp

rp

SkeletonsCleaning Noise:

Use the speed/angle of a skeleton point to determine its quality.

Model Skeleton Speed-WeightedSkeleton

SummarySkeletons provide a new way of thinking about shapes that is based on excitation principals mimicking human perception.Pros:

– An invertible representation– Well suited for partial matching– Unchanged by articulated motion– Fast to compute

Cons:– Complex structure for 3D models– Difficult to compute robustly