- By
**gamma** - Follow User

- 112 Views
- Uploaded on

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

**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

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

Background

- 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

- 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

Goal

- 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

Method

- 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

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

Method

- Output is a 2D skeleton
- Merge the 2D skeletons into a volume again
- Intersect each volume
- One from each axis

Method – Noise

- Noise around the perimeter

Method – Noise

- Red dots indicate points that allowed a skeleton point in the center of this circle

Method – Noise Removal

- Angle between blue lines is small
- Remove points that have a small angle

Method – Noise Removal

- Keep points above 90 degrees
- D < Sqrt(2)*R

Method

- 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

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

Results

- 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

- 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

- Objects that aren’t axis aligned don’t work.
- Results in sheets
- Traditional 3D MA has sheets
- Contradicts one of our goals

Problems

- 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

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

Download Presentation

Connecting to Server..