Download presentation
Presentation is loading. Please wait.
Published byChristina Nicholson Modified over 9 years ago
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? */
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.