3d skeletons using graphics hardware n.
Skip this Video
Download Presentation
3D Skeletons Using Graphics Hardware

Loading in 2 Seconds...

play fullscreen
1 / 32

3D Skeletons Using Graphics Hardware - PowerPoint PPT Presentation

  • Uploaded on

3D Skeletons Using Graphics Hardware. Jonathan Bilodeau Chris Niski. Outline. Background Goal Method Find points that lie on the graph Extract vertices/edges from points Results Problems Future Work. Background. Two general techniques for computing shape descriptors

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about '3D Skeletons Using Graphics Hardware' - gamma

Download Now 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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
3d skeletons using graphics hardware

3D Skeletons Using Graphics Hardware

Jonathan Bilodeau

Chris Niski

  • Background
  • Goal
  • Method
    • Find points that lie on the graph
    • Extract vertices/edges from points
  • Results
  • Problems
  • Future Work
  • Two general techniques for computing shape descriptors
    • Statistical shape descriptors
    • Structural shape descriptors
  • Statistical shape descriptors work well when comparing objects that cannot be deformed
  • Also need to potentially store large amounts of data
  • Structural shape descriptors are simple geometrical descriptions of a more complex model
  • Generally the structural shape descriptor takes the form of a skeleton of the mesh
  • Skeleton representation is efficient if properly computed as it takes up little space, and can compare deformed objects, as well as perform partial matching
computing the skeleton
Computing the skeleton
  • In 2D the traditional method of computing the skeleton is to use the Euclidian Distance Transform
    • Basically find the center line of a 2d contour
    • Another method is to use waves propagating inward from the surface
The EDT is expensive to compute
    • On2m for 2D
    • On3m for 3D
  • No good/fast 3D equivalent
    • Usually mesh thinning is used to calculate the skeleton
  • Using graphics hardware, create a 3D graph of a model
    • Slice the model along each coordinate axis
    • Find 2D skeleton with GH, merge them
    • Find intersection
    • Extract graph
  • Capture 3d axis information
  • Intersection will remove random noise
  • Simple transition to a graph
    • only vertices and edges
    • No sheets
  • Voxelize the model
  • Consider each slice of the volume along each axis
    • Gives you a 2D contour
  • Compute the skeleton of each 2D contour
method finding 2d skeleton
Method – Finding 2D skeleton
  • Using Graphics hardware
    • For each point on the contour draw a code centered on the point, pointing at the viewer.
    • Read back the depth buffer
    • Analogous to a distance transform
method finding 2d skeleton1
Method – Finding 2D skeleton
  • Look for discontinuities in the EDT
    • Scan columns/rows looking for points where both neighbors are smaller
    • Every point that passes is marked true
  • Output is a 2D skeleton
  • Merge the 2D skeletons into a volume again
  • Intersect each volume
    • One from each axis
method noise
Method – Noise
  • Noise around the perimeter
method noise1
Method – Noise
  • Red dots indicate points that allowed a skeleton point in the center of this circle
method noise removal
Method – Noise Removal
  • Angle between blue lines is small
  • Remove points that have a small angle
method noise removal1
Method – Noise Removal
  • Keep points above 90 degrees
  • D < Sqrt(2)*R
  • Once the EDT of the mesh is calculated we need to fit a skeleton to the resulting points
  • The EDT voxel grid is not necessarily connected, ie. Voxels may not have neighbours
fitting skeleton
Fitting Skeleton
  • Start by assigning an edge to each point that has several neighbours
  • Begin merging the edges based on several criteria
    • Distance between the two edges
    • Length of the edges
    • The angle between the two edges
  • Stop merging when no suitable candidates are present
fitting skeleton1
Fitting Skeleton
  • We also discard some of the edges
    • If they are short and do not have an edge to merge with
    • Not attached to the rest of the graph
  • We can extract a voxel grid containing the mesh skeleton
  • Filter the grid to remove some of the noise
  • Fit a skeleton onto the grid to compactly represent the grid points
problems voxelation
Problems - Voxelation
  • Still can’t remove all the noise
    • Have to be conservative with the noise test or else you throw out large chunks of the valid skeleton
problems orientation
Problems - Orientation
  • Objects that aren’t axis aligned don’t work.
  • Results in sheets
    • Traditional 3D MA has sheets
    • Contradicts one of our goals
  • General problems with skeleton based approach:
    • The skeleton is not very descriptive
    • Can be very susceptible to noise
    • If connectivity changes after deformation, comparison becomes very difficult
    • Hard to capture just the right amount of detail
Problems with our approach:
    • Our version of the EDT still creates noise around the surface of the mesh
    • Noise on the surface of the mesh creates false edges which can merge with good edges
future work
Future Work
  • Try other methods for finding 2D skeleton that are less prone to noise
    • Before voxelation?
    • High resolution 2D images that get down sampled?
      • Can’t keep high resolution for 3D
      • What affect would aliasing have?
future work1
Future Work
  • Orientation problem
    • Instead of using the coordinate axis, find the EGI with a relatively small number of bins.
      • Flip any normals with –z components
    • Find axis volume relative to the dominant normals
      • Problem lining up volumes with arbitrary rotations