Presentation is loading. Please wait.

Presentation is loading. Please wait.

Heterogeneous Porosity Modeling Craig Schroeder May 13, 2004.

Similar presentations


Presentation on theme: "Heterogeneous Porosity Modeling Craig Schroeder May 13, 2004."— Presentation transcript:

1 Heterogeneous Porosity Modeling Craig Schroeder May 13, 2004

2 Outline ● Problem ● Background ● Past Work – Representation – Booleans – Reconstruction ● Current Work ● Future Work

3 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

4 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

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

6 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

7 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

8 Past Work ● Representation ● Boolean operations ● Reconstruction

9 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

10 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

11 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

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

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

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

15 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

16 Union Formula

17 Intersection Formula

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

19 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?)

20 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

21 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

22 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

23 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

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

25 Full Cycle

26 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

27 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

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

29 PRETTY PICTURES!! ● It makes pretty pictures!

30 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

31 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

32 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

33 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

34 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

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

36 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

37 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

38 Comments ● Ideas? ● /* Comments? */


Download ppt "Heterogeneous Porosity Modeling Craig Schroeder May 13, 2004."

Similar presentations


Ads by Google