heterogeneous porosity modeling craig schroeder may 13, 2004

38
Heterogeneous Porosity Modeling Craig Schroeder May 13, 2004

Upload: christina-nicholson

Post on 13-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Heterogeneous Porosity Modeling Craig Schroeder May 13, 2004

Heterogeneous Porosity Modeling

Craig Schroeder

May 13, 2004

Page 2: Heterogeneous Porosity Modeling Craig Schroeder May 13, 2004

Outline

● Problem● Background● Past Work

– Representation– Booleans– Reconstruction

● Current Work● Future Work

Page 3: Heterogeneous Porosity Modeling Craig Schroeder May 13, 2004

Problem

● Given a porous object● Concise representation● Retain desired properties

(connectivity, flow, strength, etc.)● Reconstruct objects from stored

information● Reconstructed object should have

desired properties

Osteoporotic Bone, NASA

Page 4: Heterogeneous Porosity Modeling Craig Schroeder May 13, 2004

Background

● There has not been much background in computer science for representing porosity.

● Heterogeneous objects are being stored as material composition fractions, which is equivalent to density in this case.

● Storing exact internal geometry● Store by using unit cells

Page 5: Heterogeneous Porosity Modeling Craig Schroeder May 13, 2004

Background

● Storing volume fractions– Knowing the density is not always enough– Does not store important properties– Porosity information is completely gone!– Concise

Page 6: Heterogeneous Porosity Modeling Craig Schroeder May 13, 2004

Background

● Storing Exact Geometry– Do not lose property information– Stores a lot of information that we simply do not care

about– Geometric representation of porosity can be very

intricate and detailed– No two bones are exactly the same

Page 7: Heterogeneous Porosity Modeling Craig Schroeder May 13, 2004

Background

● Representation via unit cells– Requires user to set up the unit cells– Concise– Easy to compute properties– Easy to design an object with desired properties– Cannot be easily obtained from a sample object

Page 8: Heterogeneous Porosity Modeling Craig Schroeder May 13, 2004

Past Work

● Representation● Boolean operations● Reconstruction

Page 9: Heterogeneous Porosity Modeling Craig Schroeder May 13, 2004

Representation

● Use a stochastic function to measure properties of a porous object.

● A good choice should:– Be easy and efficient to compute– Tend to describe desired properties– Be suitable for reconstruction– Easy to store

Page 10: Heterogeneous Porosity Modeling Craig Schroeder May 13, 2004

Example Stochastic Functions

● Spherical contact distribution– Relatively easy to implement– Relatively efficient– Isotropic (unable to represent

directional features)– Theoretically fairly easy to

deal with– We do a variation on this

Page 11: Heterogeneous Porosity Modeling Craig Schroeder May 13, 2004

Example Stochastic Functions

● Greatest cube– Easy to implement– Relatively efficient to compute– Unable to distinguish axial directions– Theoretically difficult to deal with

● Minimum segment– Very difficult to implement– Very expensive to compute– Unable to distinguish directions

Page 12: Heterogeneous Porosity Modeling Craig Schroeder May 13, 2004

Our Stochastic Function

● Based on spherical contact distribution

● Measure distance to pore● Measure distance to material● Results in two distributions

– Storing both distributions makes Boolean inverses easy to do

– Makes the choice of pore and material virtually irrelevant.

Page 13: Heterogeneous Porosity Modeling Craig Schroeder May 13, 2004

Booleans – the Problem

● Can we do Booleans on this representation without the need to reconstruct?– Given the statistical description of A and B, what

might one expect, say, A union B to look like?– Cannot do exactly; A union B could result in vastly

different results. Eg, if A and B are checkboards

● Can we use this representation for modeling?● How good can we get? Good enough for use?

Page 14: Heterogeneous Porosity Modeling Craig Schroeder May 13, 2004

Inversion

● Because we store distributions for pore and material, inversion is simply a matter of swapping these; it is always exact.

● This is a useful operation to perform– If I have properties of an object, I can invert it so I

can reconstruct a scaffold for it– Could be performed after reconstruction instead of on

the distributions, but it does not matter.

Page 15: Heterogeneous Porosity Modeling Craig Schroeder May 13, 2004

Union, Intersection

● To do a union of A and B, you must do a union on the material distribution and an intersection on the pore distributions

● To do an intersection, unite the pore distribution and intersect the material distribution

Page 16: Heterogeneous Porosity Modeling Craig Schroeder May 13, 2004

Union Formula

= p r +rp ' x dx ƒ p ' r +r

p x dx

=V M • b o , x

V UƒV M ' • b o , x

V U

V M • b o , xV U

V M ' • b o , xV U

=+0

r

p x dx ƒ +0

r

p ' x dx +0

r

p x dx +0

r

p ' x dx

Page 17: Heterogeneous Porosity Modeling Craig Schroeder May 13, 2004

Intersection Formula∫==V M • b o , x

V U

V M ' • b o , xV U

=+0

r

p x dx +0

r

p ' x dx

Page 18: Heterogeneous Porosity Modeling Craig Schroeder May 13, 2004

Practicality

● Is doing Booleans on distributions worthwhile?● Pro

– Booleans are very cheap to compute on distributions– Does not require reconstruction

● Con– Booleans on reconstructed objects is straightforward– More accurate than on distributions– How useful might Booleans on porosity be?

Page 19: Heterogeneous Porosity Modeling Craig Schroeder May 13, 2004

Reconstruction

● How is the distribution computed in the first place?– Convert geometry into voxels– Measure the stochastic function at each voxel– Accumulate into histograms and store

● How can a distribution be updated upon a minor change?– The measure is local; only voxels near the change will

need recomputation (how near is near?)

Page 20: Heterogeneous Porosity Modeling Craig Schroeder May 13, 2004

Initialization

● Create a set of voxels in which to perform the reconstruction; we generally used 32x32x32

● Fill in voxels until the desired density is obtained– How do you choose the voxels to fill?– Structured speeds up reconstruction, but leaves

artifacts– Random seems to be the best choice, but is much

slower

Page 21: Heterogeneous Porosity Modeling Craig Schroeder May 13, 2004

Making Changes

● To make a change to the state, we want to choose two voxels and swap them– How do we choose them?– If both are pore or both are material, why swap?– If chosen randomly, convergence is too slow!– Choose first randomly, choose second by random

walk, requiring it to be beside a voxel of same type as first voxel; this speeds up convergence greatly

– Preserves density

Page 22: Heterogeneous Porosity Modeling Craig Schroeder May 13, 2004

Original Algorithm

● Initialize● Until some stopping condition

– Change state by performing a swap– Update distribution– Determine if the new state is better– If not, swap the cubes back

● The voxels are the output

Page 23: Heterogeneous Porosity Modeling Craig Schroeder May 13, 2004

Improved Algorithm

● Use simulated annealing● System starts warm and is slowly cooled.● If state is improved, keep the change● If the state is worsened, the change is accepted

based on how much worse it is and how warm the system is

● Permits the reconstruction to back up a bit● Helps to prevent getting stuck in local minima

Page 24: Heterogeneous Porosity Modeling Craig Schroeder May 13, 2004

Results

● Slow! Reconstruction on 32x32x32 takes hours● Excellent fit with simulated annealing● Output looks isotropic, which is expected

Page 25: Heterogeneous Porosity Modeling Craig Schroeder May 13, 2004

Full Cycle

Page 26: Heterogeneous Porosity Modeling Craig Schroeder May 13, 2004

Current Problem, Variation One

● Full 3D reconstruction takes hours● Can we do a simpler reconstruction onto the

surface of an object to give the appearance of what might result from the reconstruction

● Should be fast● Should look enough like the result to be useful

Page 27: Heterogeneous Porosity Modeling Craig Schroeder May 13, 2004

Approach

● Label polygons in a polyhedral representation of the surface of a model

● Randomly insert labels from the distribution, starting from the largest distances working in

● Propagate labels to enforce constraint imposed by the definition of the distributions

● Use the labels as offsets

● Offset vertices based on these offsets

Page 28: Heterogeneous Porosity Modeling Craig Schroeder May 13, 2004

Results

● Requires an error handling stage because the distribution tends not to fit quite right– Is the fit good? Probably not– Is it suitable for visualization? Probably not– Can it do anything? Yes!

Page 29: Heterogeneous Porosity Modeling Craig Schroeder May 13, 2004

PRETTY PICTURES!!

● It makes pretty pictures!

Page 30: Heterogeneous Porosity Modeling Craig Schroeder May 13, 2004

Current Variation of Problem

● Improve the surface reconstruction● Create an inverse of this surface reconstruction● Be able to go from surface to distribution and

back● Be able to go from solid to distribution to surface

for visualization● Should be fast● Visualization should look similar to 3D original

Page 31: Heterogeneous Porosity Modeling Craig Schroeder May 13, 2004

Ideas for Proceeding

● Continue with first approach– Not a faithful reconstruction– Will not be easy to create an inverse, if it is even well

defined– Still will not help the visualization problem

● Try something new– Ideas?

● Try doing 2D variation of 3D reconstruction

Page 32: Heterogeneous Porosity Modeling Craig Schroeder May 13, 2004

Reconstruction on 2D

● Do essentially a 3D reconstruction, but using the 2D world of the polygonal mesh

● A variation of this idea resulted in a close fit and rapid convergence.

● Much faster – completes in seconds on tens or hundreds of thousands of faces

● If labels are given, the distribution is measured in the same way the reconstruction measures it

Page 33: Heterogeneous Porosity Modeling Craig Schroeder May 13, 2004

Distance

● What does it mean to compute distance on the surface of a mesh?– Euclidean

● Makes more sense if you want to visualize 3D porosity● Technical complications – objects that are close can be far

apart on mesh

– Geodesic● Makes sense if you want to reconstruct a measured 2D

property● Avoids technical complications – objects that are close

together are close along mesh

Page 34: Heterogeneous Porosity Modeling Craig Schroeder May 13, 2004

Displacement Mapping

● Shift vertices along normals to create texture● How does one reverse a displacement map?● Should one try to visualize the labels by

displacement mapping?– Creates texture– Shading benefits

● Perhaps just color faces instead?– Simpler– Easier to invert

Page 35: Heterogeneous Porosity Modeling Craig Schroeder May 13, 2004

Theoretical Complications

● What does it mean to visualize a 3D distribution by reconstructing it in 2D?

● If I measure the 2D distribution from an actual 3D object, will the distributions match?– Probably not– Can I convert between them?

Page 36: Heterogeneous Porosity Modeling Craig Schroeder May 13, 2004

Future Work

● Try other functions besides the spherical contact distribution

● Try storing real properties (eg, flow)– Could replace others– Probably better to supplement another function– More inefficient to compute– Can this information be efficiently updated?– Would effectively force reconstructed object to have

desired properties

Page 37: Heterogeneous Porosity Modeling Craig Schroeder May 13, 2004

Future Work

● Distributions and modeling?● Better visualization?● Faster 3D reconstruction?

– Perhaps divide and conquer – do small reconstructions and combine into larger ones

– Perform reconstructions at increasing resolution to do rough convergence faster

Page 38: Heterogeneous Porosity Modeling Craig Schroeder May 13, 2004

Comments

● Ideas?● /* Comments? */