Shape Analysis and Retrieval Structural Shape Descriptors Notes

  • Slides: 36
Download presentation
Shape Analysis and Retrieval Structural Shape Descriptors Notes courtesy of Funk et al. ,

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

Outline: • Structural Shape Descriptors • Skeletons

Outline: • Structural Shape Descriptors • Skeletons

Statistical Shape Descriptors Represent the geometry of the model: C Good for comparing across

Statistical Shape Descriptors Represent the geometry of the model: C Good for comparing across rigid body transformations C Good for comparing whole models D Bad for comparing deformable models D Bad for comparing parts of a model

Structural Shape Descriptors General Approach: – Construct graph where nodes represent parts and edges

Structural Shape Descriptors General Approach: – Construct graph where nodes represent parts and edges represent relationships between parts – Compare nodes – Match graphs Query Shape Descriptor Best Matches Database

Structural Shape Descriptors Advantages: – Articulation of nodes does not change the descriptor. –

Structural Shape Descriptors Advantages: – 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. Query Shape Descriptor Best Matches Database

Outline: • Structural Shape Descriptors • Skeletons

Outline: • Structural Shape Descriptors • Skeletons

Skeletons Idea: Represent a surface/contour as the collection of quench points of waves propagating

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

Skeletons Alternatively: – Locus of points equidistant from surface – Locus of centers of

Skeletons Alternatively: – Locus of points equidistant from surface – Locus of centers of maximal balls – 1 st order discontinuity in distance transform boundary skeleton maximal circle

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

Skeletons Specifically: 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:

Skeletons Example: S r 1 p 1 Skel(S) p 3 r 2 p 2

Skeletons Example: S r 1 p 1 Skel(S) p 3 r 2 p 2

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

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

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

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

Skeletons Properties: – Skeletons characterize a model in terms of spatially local information. (The

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

Skeletons Properties: – Robust to articulated motion.

Skeletons Properties: – Robust to articulated motion.

Skeletons to Graphs Generate a graph representing the skeleton with nodes corresponding to: –

Skeletons to Graphs Generate a graph representing the skeleton with nodes corresponding to: – Singular points – Continuous regions Model Skeleton Graph

Computing the Skeleton Equivalent Definitions: – Locus of points equidistant from surface – Locus

Computing the Skeleton Equivalent Definitions: – Locus of points equidistant from surface – Locus of centers of maximal balls – 1 st order discontinuity in distance transform boundary skeleton maximal circle

Euclidean Distance Transform The Euclidean Distance Transform (EDT) of a surface is a function

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

Euclidean Distance Transform The EDT grows smoothly away from the surface. At skeleton points

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

Computing the EDT Brute Force: Compute the distance to each surface point and store

Computing the EDT Brute 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(n 2 m) for a 2 D grid – O(n 3 m) for a 3 D grid

Computing the EDT Graphics Hardware (2 D): For each surface point (x, y), draw

Computing the EDT Graphics Hardware (2 D): For each surface point (x, y), draw a 3 D rightcone 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 EDT Graphics Hardware (2 D): At the point p 0, the height

Computing the EDT Graphics Hardware (2 D): At the point p 0, the height of a right-cone with apex at p is equal to the distance from p to p 0. |p-p 0| p p 0

Computing the EDT Graphics Hardware (2 D): The height of a right-cone with apex

Computing the EDT Graphics Hardware (2 D): 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 45 o

Computing the EDT Graphics Hardware (2 D): The height of a right-cone with apex

Computing the EDT Graphics Hardware (2 D): The height of a right-cone with apex at p is equal to the distance from p. Given a collection of points: Depth – Draw right-cones at each point Cone 1 – View along the z-direction View Plane Cone 2

Computing the EDT Graphics Hardware (2 D): The height of a right-cone with apex

Computing the EDT Graphics Hardware (2 D): The height of a right-cone with apex at p is equal to the distance from p. Given a collection of points: EDTS(x) – Draw right-cones at each point – View along the z-direction – Read back the frame-buffer x

Computing the Skeleton Graphics Hardware (2 D): – – Draw right-cones at each point

Computing the Skeleton Graphics Hardware (2 D): – – Draw right-cones at each point View along the z-direction Read back the frame-buffer Extract the skeleton z-axis Surface Right-Cones Skeleton

Computing the Skeleton 3 D Skeletons: They can be computed similarly using the 3

Computing the Skeleton 3 D Skeletons: They can be computed similarly using the 3 D Euclidean Distance Transform and looking for discontinuities of the gradient. The skeleton is made up of: – Points (Sphere) – Curves (Cylinders) – Surfaces (General) Surface Skeleton

Skeletons Limitations: – The skeletons of 3 D models are combinations of 0 D

Skeletons Limitations: – The skeletons of 3 D models are combinations of 0 D points, 1 D curves, and 2 D surfaces. – The skeleton of a surface is very sensitive to noise in the model.

Skeletons Limitations: – The skeletons of 3 D models are combinations of points, 1

Skeletons Limitations: – The skeletons of 3 D models are combinations of points, 1 D curves, and 2 D surfaces. – The skeleton of a surface is very sensitive to noise in the model. Surface Skeleton Small changes in the surface can cause very significant changes in the skeleton

Skeletons Noise: – The skeleton of a surface is very sensitive to noise in

Skeletons Noise: – 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. ).

Skeletons Goal: Try to identify the good segments of the skeleton and discard the

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

Skeletons Goal: Try to identify the good segments of the skeleton and discard the

Skeletons Goal: 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

Skeletons Goal: Try to identify the good segments of the skeleton and discard the

Skeletons Goal: 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

Skeletons Specifically: Associate the angle of the generating pair to each point on the

Skeletons Specifically: 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 1 st order discontinuity. Skeleton

Skeletons Speed: If p is a skeleton point and r is its associated radius,

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

Skeletons Cleaning Noise: Use the speed/angle of a skeleton point to determine its quality.

Skeletons Cleaning Noise: Use the speed/angle of a skeleton point to determine its quality. Model Skeleton Speed-Weighted Skeleton

Summary Skeletons provide a new way of thinking about shapes that is based on

Summary Skeletons 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 3 D models – Difficult to compute robustly