1 / 36

Shape Analysis and Retrieval

Shape Analysis and Retrieval. Structural Shape Descriptors. Notes courtesy of Funk et al. , SIGGRAPH 2004. Outline: Structural Shape Descriptors Skeletons. Statistical Shape Descriptors. Represent the geometry of the model: Good for comparing across rigid body transformations

olaf
Download Presentation

Shape Analysis and Retrieval

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Outline: • Structural Shape Descriptors • Skeletons

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

  4. Structural Shape Descriptors General Approach: • Construct graph where nodes represent partsand edges represent relationships between parts • Compare nodes • Match graphs ShapeDescriptor Query BestMatches Database

  5. 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. ShapeDescriptor Query BestMatches Database

  6. Outline: • Structural Shape Descriptors • Skeletons

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

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

  9. 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:

  10. Skeletons Example: S r1 p1 r2 Skel(S) p2 p3 r3

  11. Skeletons Properties: • By taking the union of the skeleton balls you can reconstruct the shape:

  12. Skeletons Properties: • By taking the union of the skeleton balls you can reconstruct the shape:

  13. 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)

  14. Skeletons Properties: • Robust to articulated motion.

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

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

  17. 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

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

  19. 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(n2m) for a 2D grid • O(n3m) for a 3D grid

  20. Computing the EDT Graphics 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.

  21. Computing the EDT Graphics 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

  22. Computing the EDT Graphics 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

  23. Computing the EDT Graphics 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 Depth View Plane

  24. Computing the EDT Graphics 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 EDTS(x) x

  25. Computing the Skeleton Graphics Hardware (2D): • 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

  26. Computing the Skeleton 3D 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

  27. Skeletons Limitations: • 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.

  28. Skeletons Limitations: • 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. Surface Skeleton Small changes in the surface can cause very significant changes in the skeleton

  29. 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.).

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

  31. 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

  32. 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

  33. 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 1st order discontinuity. Skeleton 

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

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

  36. 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 3D models • Difficult to compute robustly

More Related