heterogeneous porosity modeling craig schroeder may 13, 2004
TRANSCRIPT
![Page 1: Heterogeneous Porosity Modeling Craig Schroeder May 13, 2004](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f145503460f94c29835/html5/thumbnails/1.jpg)
Heterogeneous Porosity Modeling
Craig Schroeder
May 13, 2004
![Page 2: Heterogeneous Porosity Modeling Craig Schroeder May 13, 2004](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f145503460f94c29835/html5/thumbnails/2.jpg)
Outline
● Problem● Background● Past Work
– Representation– Booleans– Reconstruction
● Current Work● Future Work
![Page 3: Heterogeneous Porosity Modeling Craig Schroeder May 13, 2004](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f145503460f94c29835/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f145503460f94c29835/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f145503460f94c29835/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f145503460f94c29835/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f145503460f94c29835/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f145503460f94c29835/html5/thumbnails/8.jpg)
Past Work
● Representation● Boolean operations● Reconstruction
![Page 9: Heterogeneous Porosity Modeling Craig Schroeder May 13, 2004](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f145503460f94c29835/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f145503460f94c29835/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f145503460f94c29835/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f145503460f94c29835/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f145503460f94c29835/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f145503460f94c29835/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f145503460f94c29835/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f145503460f94c29835/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f145503460f94c29835/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f145503460f94c29835/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f145503460f94c29835/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f145503460f94c29835/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f145503460f94c29835/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f145503460f94c29835/html5/thumbnails/22.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f145503460f94c29835/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f145503460f94c29835/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f145503460f94c29835/html5/thumbnails/25.jpg)
Full Cycle
![Page 26: Heterogeneous Porosity Modeling Craig Schroeder May 13, 2004](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f145503460f94c29835/html5/thumbnails/26.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f145503460f94c29835/html5/thumbnails/27.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f145503460f94c29835/html5/thumbnails/28.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f145503460f94c29835/html5/thumbnails/29.jpg)
PRETTY PICTURES!!
● It makes pretty pictures!
![Page 30: Heterogeneous Porosity Modeling Craig Schroeder May 13, 2004](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f145503460f94c29835/html5/thumbnails/30.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f145503460f94c29835/html5/thumbnails/31.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f145503460f94c29835/html5/thumbnails/32.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f145503460f94c29835/html5/thumbnails/33.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f145503460f94c29835/html5/thumbnails/34.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f145503460f94c29835/html5/thumbnails/35.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f145503460f94c29835/html5/thumbnails/36.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f145503460f94c29835/html5/thumbnails/37.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062803/56649f145503460f94c29835/html5/thumbnails/38.jpg)
Comments
● Ideas?● /* Comments? */