Heterogeneous Porosity Modeling Craig Schroeder May 13, 2004.

Slides:



Advertisements
Similar presentations
Filling Algorithms Pixelwise MRFsChaos Mosaics Patch segments are pasted, overlapping, across the image. Then either: Ambiguities are removed by smoothing.
Advertisements

 Over-all: Very good idea to use more than one source. Good motivation (use of graphics). Good use of simplified, loosely defined -- but intuitive --
Collision Detection CSCE /60 What is Collision Detection?  Given two geometric objects, determine if they overlap.  Typically, at least one of.
A Topological Approach to Voxelization Samuli Laine NVIDIA.
Human-Computer Interaction Human-Computer Interaction Segmentation Hanyang University Jong-Il Park.
3D Skeletons Using Graphics Hardware Jonathan Bilodeau Chris Niski.
Unit Cell Characterization, Representation, and Assembly of 3D Porous Scaffolds Connie Gomez, M. Fatih Demirci, Craig Schroeder Drexel University 4/19/05.
Katsuyo Thornton*, R. Edwin García✝, Larry Aagesen*
Proximity Computations between Noisy Point Clouds using Robust Classification 1 Jia Pan, 2 Sachin Chitta, 1 Dinesh Manocha 1 UNC Chapel Hill 2 Willow Garage.
December 5, 2013Computer Vision Lecture 20: Hidden Markov Models/Depth 1 Stereo Vision Due to the limited resolution of images, increasing the baseline.
More Accurate Pressure Solves. Solid Boundaries  Voxelized version works great if solids aligned with grid  If not: though the error in geometry is.
Shape from Contours and Multiple Stereo A Hierarchical, Mesh-Based Approach Hendrik Kück, Wolfgang Heidrich, Christian Vogelgsang.
Optimization via Search CPSC 315 – Programming Studio Spring 2009 Project 2, Lecture 4 Adapted from slides of Yoonsuck Choe.
High speed TCP’s. Why high-speed TCP? Suppose that the bottleneck bandwidth is 10Gbps and RTT = 200ms. Bandwidth delay product is packets (1500.
Final Gathering on GPU Toshiya Hachisuka University of Tokyo Introduction Producing global illumination image without any noise.
Kumar, Roger Sepiashvili, David Xie, Dan Professor Chen April 19, 1999 Progressive 3D Mesh Coding.
1 Numerical geometry of non-rigid shapes Non-Euclidean Embedding Non-Euclidean Embedding Lecture 6 © Alexander & Michael Bronstein tosca.cs.technion.ac.il/book.
Visualization and graphics research group CIPIC January 21, 2003Multiresolution (ECS 289L) - Winter Surface Simplification Using Quadric Error Metrics.
Ryan Kinworthy 2/26/20031 Chapter 7- Local Search part 2 Ryan Kinworthy CSCE Advanced Constraint Processing.
Geometric Probing with Light Beacons on Multiple Mobile Robots Sarah Bergbreiter CS287 Project Presentation May 1, 2002.
The Story So Far The algorithms presented so far exploit: –Sparse sets of images (some data may not be available) –User help with correspondences (time.
Multi-Scale Surface Descriptors Gregory Cipriano, George N. Phillips Jr., and Michael Gleicher.
Radial Basis Function Networks
Modeling and representation 1 – comparative review and polygon mesh models 2.1 Introduction 2.2 Polygonal representation of three-dimensional objects 2.3.
Virtual Light Field Group University College London GR/R13685/01 Research funded by: Propagating the VLF – Problems and Solutions.
Navigating and Browsing 3D Models in 3DLIB Hesham Anan, Kurt Maly, Mohammad Zubair Computer Science Dept. Old Dominion University, Norfolk, VA, (anan,
A Navigation Mesh for Dynamic Environments Wouter G. van Toll, Atlas F. Cook IV, Roland Geraerts CASA 2012.
In the name of God Computer Graphics Modeling1. Today Introduction Modeling Polygon.
COMPUTER GRAPHICS CS 482 – FALL 2014 AUGUST 27, 2014 FIXED-FUNCTION 3D GRAPHICS MESH SPECIFICATION LIGHTING SPECIFICATION REFLECTION SHADING HIERARCHICAL.
Polygon Lists & 3-D File Formats Glenn G. Chappell U. of Alaska Fairbanks CS 481/681 Lecture Notes Monday, February 18, 2002.
 1  Outline  stages and topics in simulation  generation of random variates.
October 14, 2014Computer Vision Lecture 11: Image Segmentation I 1Contours How should we represent contours? A good contour representation should meet.
02/25/05© 2005 University of Wisconsin Last Time Meshing Volume Scattering Radiometry (Adsorption and Emission)
CS1Q Computer Systems Lecture 8
09/11/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Graphics Pipeline Texturing Overview Cubic Environment Mapping.
Module 1: Statistical Issues in Micro simulation Paul Sousa.
December 4, 2014Computer Vision Lecture 22: Depth 1 Stereo Vision Comparing the similar triangles PMC l and p l LC l, we get: Similarly, for PNC r and.
10/18: Lecture topics Memory Hierarchy –Why it works: Locality –Levels in the hierarchy Cache access –Mapping strategies Cache performance Replacement.
240-Current Research Easily Extensible Systems, Octave, Input Formats, SOA.
Photo-realistic Rendering and Global Illumination in Computer Graphics Spring 2012 Stochastic Radiosity K. H. Ko School of Mechatronics Gwangju Institute.
Visual Computing Geometric Modelling 1 INFO410 & INFO350 S2 2015
Synthesizing Natural Textures Michael Ashikhmin University of Utah.
Emerging Technologies for Games Deferred Rendering CO3303 Week 22.
Austin Howard & Chris Wohlgamuth April 28, 2009 This presentation is available at
CSC321 Introduction to Neural Networks and Machine Learning Lecture 3: Learning in multi-layer networks Geoffrey Hinton.
Wouter G. van Toll Atlas F. Cook IV Roland Geraerts Realistic Crowd Simulation with Density-Based Path Planning ICT.OPEN / ASCI October 22nd, 2012.
Sampling and estimation Petter Mostad
CS 147 Virtual Memory Prof. Sin Min Lee Anthony Palladino.
In the name of God Computer Graphics. Introduction Modeling techniques modeling techniques managements Some renderings.
Painterly Rendering for Animation Introduction speaks of focus and detail –Small brush strokes focus and provide detail –Large strokes are abstract and.
Outline ● Introduction – What is the problem ● Generate stochastic textures ● Improve realism ● High level approach - Don't just jump into details – Why.
MultiModality Registration Using Hilbert-Schmidt Estimators By: Srinivas Peddi Computer Integrated Surgery II April 6 th, 2001.
Reconstructing Porous Structures from a Statistical Representation Craig Schroeder CSGSC October 6, 2004.
Copyright © Cengage Learning. All rights reserved. 5 Joint Probability Distributions and Random Samples.
Outline ● Introduction – What is the problem ● Generate stochastic textures ● Improve realism ● High level approach - Don't just jump into details – Why.
The inference and accuracy We learned how to estimate the probability that the percentage of some subjects in the sample would be in a given interval by.
11/25/03 3D Model Acquisition by Tracking 2D Wireframes Presenter: Jing Han Shiau M. Brown, T. Drummond and R. Cipolla Department of Engineering University.
Lists and Sorting Algorithms
Catalogs contain hundreds of millions of objects
School of Computer Science & Engineering
Chapter 3 Raster & Vector Data.
Ravish Mehra Subodh Kumar IIT Delhi IIT Delhi
3D Object Representations
CS475 3D Game Development Level Of Detail Nodes (LOD)
CSc4730/6730 Scientific Visualization
Craig Schroeder October 26, 2004
Stochastic Microgeometry for Displacement Mapping
Where did we stop? The Bayes decision rule guarantees an optimal classification… … But it requires the knowledge of P(ci|x) (or p(x|ci) and P(ci)) We.
Lecture 4 - Monte Carlo improvements via variance reduction techniques: antithetic sampling Antithetic variates: for any one path obtained by a gaussian.
Efficiently Estimating Travel Time
Presentation transcript:

Heterogeneous Porosity Modeling Craig Schroeder May 13, 2004

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

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

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

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

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

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

Past Work ● Representation ● Boolean operations ● Reconstruction

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

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

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

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.

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?

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.

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

Union Formula

Intersection Formula

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?

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

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

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

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

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

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

Full Cycle

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

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

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!

PRETTY PICTURES!! ● It makes pretty pictures!

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

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

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

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

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

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?

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

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

Comments ● Ideas? ● /* Comments? */