Multilevel Streaming for Out-of-Core Surface Reconstruction

Slides:



Advertisements
Similar presentations
IIIT Hyderabad Hybrid Ray Tracing and Path Tracing of Bezier Surfaces using a mixed hierarchy Rohit Nigam, P. J. Narayanan CVIT, IIIT Hyderabad, Hyderabad,
Advertisements

Poisson Surface Reconstruction M Kazhdan, M Bolitho & H Hoppe
Closest Point Transform: The Characteristics/Scan Conversion Algorithm Sean Mauch Caltech April, 2003.
1 Numerical Solvers for BVPs By Dong Xu State Key Lab of CAD&CG, ZJU.
CS 290H 7 November Introduction to multigrid methods
An Efficient Multigrid Solver for (Evolving) Poisson Systems on Meshes Misha Kazhdan Johns Hopkins University.
Unconstrained Isosurface Extraction on Arbitrary Octrees
Screened Poisson Surface Reconstruction
Implementation of ICP Variants Pavan Ram Piratla Janani Venkateswaran.
Rapid Visualization of Large Point-Based Surfaces Tamy Boubekeur Florent Duguet Christophe Schlick Presented by Xavier Granier.
Computer Graphics Group Alexander Hornung Alexander Hornung and Leif Kobbelt RWTH Aachen Robust Reconstruction of Watertight 3D Models from Non-uniformly.
Fourier-based and Poisson surface reconstruction Reporter: Lincong Fang 24th Dec, 2008.
Aspects of Conditional Simulation and estimation of hydraulic conductivity in coastal aquifers" Luit Jan Slooten.
Robust Repair of Polygonal Models Tao Ju Rice University.
Efficient Sparse Voxel Octrees
Computing 3D Geometry Directly From Range Images Sarah F. Frisken and Ronald N. Perry Mitsubishi Electric Research Laboratories.
Nice, 17/18 December 2001 Adaptive Grids For Bathymetry Mapping And Navigation Michel Chedid and Maria-João Rendas I3S - MAUVE.
Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes.
Streaming Computation of Delaunay Triangulations Jack Snoeyink UNC Chapel Hill Jonathan Shewchuk UC Berkeley Yuanxin Liu UNC Chapel Hill Martin Isenburg.
Octree-Based Decimation of Marching Cubes Surface (1996) Raj Shekhar Elias Fayyad Roni Yagel J. Fredrick Cornhill.
Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.
Advanced Computer Graphics (Fall 2010) CS 283, Lecture 4: 3D Objects and Meshes Ravi Ramamoorthi
Steady Aeroelastic Computations to Predict the Flying Shape of Sails Sriram Antony Jameson Dept. of Aeronautics and Astronautics Stanford University First.
Andrei Sharf Dan A. Alcantara Thomas Lewiner Chen Greif Alla Sheffer Nina Amenta Daniel Cohen-Or Space-time Surface Reconstruction using Incompressible.
Motion Detail Preserving Optical Flow Estimation Li Xu 1, Jiaya Jia 1, Yasuyuki Matsushita 2 1 The Chinese University of Hong Kong 2 Microsoft Research.
Feature Sensitive Surface Extraction from Volume Data Leif P. Kobbelt Mario Botsch Ulrich Schwanecke Hans-Peter Seidel Computer Graphics Group, RWTH-Aachen.
Adaptively Sampled Distance Fields (ADFs) A General Representation of Shape for Computer Graphics S. Frisken, R. Perry, A. Rockwood, T. Jones Richard Keiser.
An Iterative Optimization Approach for Unified Image Segmentation and Matting Hello everyone, my name is Jue Wang, I’m glad to be here to present our paper.
Spectral Processing of Point-sampled Geometry
Martin Isenburg UC Berkeley Streaming Meshes Peter Lindstrom LLNL.
ECS 289L A Survey of Mesh-Based Multiresolution Representations Ken Joy Center for Image Processing and Integrated Computing Computer Science Department.
Out-of-Core Compression for Gigantic Polygon Meshes Martin IsenburgStefan Gumhold University of North CarolinaWSI/GRIS at Chapel Hill Universität Tübingen.
Computer graphics & visualization Point-Based Computer Graphics.
Compressing Multiresolution Triangle Meshes Emanuele Danovaro, Leila De Floriani, Paola Magillo, Enrico Puppo Department of Computer and Information Sciences.
Dobrina Boltcheva, Mariette Yvinec, Jean-Daniel Boissonnat INRIA – Sophia Antipolis, France 1. Initialization Use the.
On-line Space Sculpturing for 3D Shape Manipulation
Estimating the Laplace-Beltrami Operator by Restricting 3D Functions Ming Chuang 1, Linjie Luo 2, Benedict Brown 3, Szymon Rusinkiewicz 2, and Misha Kazhdan.
SURFACE RECONSTRUCTION FROM POINT CLOUD Bo Gao Master’s Thesis December, 2007 Thesis Committee: Professor Harriet Fell Professor Robert Futrelle College.
Point Set Processing and Surface Reconstruction (
2D/3D Shape Manipulation, 3D Printing Shape Representations Slides from Olga Sorkine February 20, 2013 CS 6501.
Selective Block Minimization for Faster Convergence of Limited Memory Large-scale Linear Models Kai-Wei Chang and Dan Roth Experiment Settings Block Minimization.
Distributed Multigrid for Processing Huge Spherical Images Michael Kazhdan Johns Hopkins University.
Random-Accessible Compressed Triangle Meshes Sung-eui Yoon Korea Advanced Institute of Sci. and Tech. (KAIST) Peter Lindstrom Lawrence Livermore National.
1 Real-time visualization of large detailed volumes on GPU Cyril Crassin, Fabrice Neyret, Sylvain Lefebvre INRIA Rhône-Alpes / Grenoble Universities Interactive.
Raster data models Rasters can be different types of tesselations SquaresTrianglesHexagons Regular tesselations.
Efficient Streaming of 3D Scenes with Complex Geometry and Complex Lighting Romain Pacanowski and M. Raynaud X. Granier P. Reuter C. Schlick P. Poulin.
Reconstruction of Solid Models from Oriented Point Sets Misha Kazhdan Johns Hopkins University.
Parallel Solution of the Poisson Problem Using MPI
CHAPTER 5 CONTOURING. 5.3 CONTOURING Fig 5.7. Relationship between color banding and contouring Contour line (isoline): the same scalar value, or isovalue.
Compact, Fast and Robust Grids for Ray Tracing Ares Lagae & Philip Dutré 19 th Eurographics Symposium on Rendering EGSR 2008Wednesday, June 25th.
Compact, Fast and Robust Grids for Ray Tracing
Riccardo Fellegara University of Genova Genova, Italy
Geometry Synthesis Ares Lagae Olivier Dumont Philip Dutré Department of Computer Science Katholieke Universiteit Leuven 10 August, 2004.
Unconditionally Stable Shock Filters for Image and Geometry Processing
Mesh Resampling Wolfgang Knoll, Reinhard Russ, Cornelia Hasil 1 Institute of Computer Graphics and Algorithms Vienna University of Technology.
Advisor : Ku-Yaw Chang Speaker : Ren-Li Shen /6/12.
Controlling Memory Consumption of Hierarchical Radiosity with Clustering iMAGIS -GRAVIR/IMAG-INRIA iMAGIS is a joint project of CNRS/INRIA/UJF/INPG Xavier.
Efficient Ray Tracing of Compressed Point Clouds Erik Hubo Tom Mertens Tom Haber Philippe Bekaert Expertise Centre for Digital Media Hasselt University.
Efficient Simulation of Large Bodies of Water by Coupling Two and Three Dimensional Techniques SIGGRAPH 2006 Geoffrey Irving Eran Guendelman Frank Losasso.
3D Object Representations 2009, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing.
A Multiphase Approach to Efficient Surface Simplification Michael Garland Eric Shaffer University of Illinois at Urbana–Champaign Michael Garland Eric.
A Globally Optimal Algorithm for Robust TV-L 1 Range Image Integration Christopher Zach VRVis Research Center Thomas Pock, Horst Bischof.
Wavelets for Surface Reconstruction
Xing Cai University of Oslo
Hybrid Ray Tracing and Path Tracing of Bezier Surfaces using a mixed hierarchy Rohit Nigam, P. J. Narayanan CVIT, IIIT Hyderabad, Hyderabad, India.
Towards Globally Optimal Normal Orientations for Large Point Clouds
3D Object Representations
Efficient Document Analytics on Compressed Data: Method, Challenges, Algorithms, Insights Feng Zhang †⋄, Jidong Zhai ⋄, Xipeng Shen #, Onur Mutlu ⋆, Wenguang.
Mesh Parameterization: Theory and Practice
Gradient Domain Salience-preserving Color-to-gray Conversion
Presentation transcript:

Multilevel Streaming for Out-of-Core Surface Reconstruction Matthew Bolitho, Michael Kazhdan, Randal Burns, Hugues Hoppe

Motivation With improvements in acquisition technology, huge datasets are now available for processing. USGS Earth: 2.2x1010 Points UVA Monticello: 2.0x107 Points XYZRGB Thai Statue: 3.4x107 Points Stanford St. Mathew: 1.8x108 Points

Motivation With improvements in acquisition technology, huge datasets are now available for processing. USGS Earth: 2.2x1010 Points Some of these models have becomes so large that it is hard to maintain the dataset (let alone data-structure) in working memory. UVA Monticello: 2.0x107 Points XYZRGB Thai Statue: 3.4x107 Points Stanford St. Mathew: 1.8x108 Points

Streaming Approaches If a traversal order is defined and the data is sorted, stream through the data: Processing data at the current position using only the data in the working set When advancing the stream, reading into the head of the working set and writing out the tail.

Streaming Approaches If a traversal order is defined and the data is sorted, stream through the data: Processing data at the current position using only the data in the working set When advancing the stream, reading into the head of the working set and writing out the tail. Locality of processing implies that the size of the working set remains small.

Streaming Approaches If the processing is local, the algorithm may be implemented in a streaming framework: Define a traversal ordering on the data Stream through the data Process data at the current stream position using only the data in the current working set When advancing the stream, update the head of the working set and release the tail. Locality of processing implies that the size of the working set remains small. Pajarola, 2005

Streaming Approaches A number of mesh processing applications are local and are well-suited for streaming implementations: Simplification [Wu and Kobbelt, 2003] Compression [Isenberg and Gumhold, 2003] Smoothing [Pajarola, 2005] Re-Meshing [Anh et al. 2006]

Surface Reconstruction In general, scanners return samples (or local patches) from a 3D surface and one of the first steps to be performed is reconstruction. Scanned Data Point Samples Reconstructed Model Triangle Mesh

Outline Introduction Streaming Surface Reconstruction Results Octree-Based Poisson Reconstruction Streaming the Octree Streaming the Reconstruction Results Conclusion

In-Core Reconstruction Reconstruction can be reduced to solving a Poisson equation [Kazhdan et al. 06]: Reconstruct by solving for the indicator function. 1 1 1 Indicator function M

In-Core Reconstruction Reconstruction can be reduced to solving a Poisson equation [Kazhdan et al. 06]: Reconstruct by solving for the indicator function. Oriented points sample the gradient of the function. M Indicator gradient Oriented points

In-Core Reconstruction Reconstruction can be reduced to solving a Poisson equation [Kazhdan et al. 06]: Reconstruct by solving for the indicator function. Oriented points sample the gradient of the function. Solve for the function  whose gradient best approximates the surface samples V:

In-Core Reconstruction Reconstruction can be reduced to solving a Poisson equation [Kazhdan et al. 06]: Reconstruct by solving for the indicator function. Oriented points sample the gradient of the function. Solve for the function  whose gradient best approximates the surface samples V:

In-Core Reconstruction Reconstruction can be reduced to solving a Poisson equation [Kazhdan et al. 06]: Extend oriented samples to vector field Compute divergence Solve Poisson equation Extract isosurface (1) (2) (3) (4)

In-Core Reconstruction Advantages Reconstruction as a global problem: The solution is resilient to noise Poisson system over an octree: Storage adapted to surface complexity (1) (2) (3) (4)

In-Core Reconstruction To extend Poisson reconstruction to a streaming context: Representation: We need a data-structure allowing for streaming through an octree Implementation: We need to implement Poisson reconstruction as a local system

Streaming the Octree Motivation (Regular Grid): We can store the grid on disk as a set of successive pixel columns.

Streaming the Octree Motivation (Regular Grid): We can stream across the x-axis, reading/writing successive blocks. x=0

Streaming the Octree Motivation (Regular Grid): We can stream across the x-axis, reading/writing successive blocks. x=1

Streaming the Octree Motivation (Regular Grid): We can stream across the x-axis, reading/writing successive blocks. x=2

Streaming the Octree Challenge: In the case of an octree, nodes at different depths persist for different time-spans. x=x0 x=x0+1

Streaming the Octree Solution: To manage depth-related-persistence, we define a separate stream for each depth. d=0 d=1 d=2 d=3 d=4 d=5 Data Streams Octree

Streaming the Octree Solution: To manage depth-related-persistence, we define a separate stream for each depth. d=0 d=1 d=2 d=3 d=4 d=5 Data Streams Octree

Streaming the Octree Solution: To manage depth-related-persistence, we define a separate stream for each depth. d=0 d=1 d=2 d=3 d=4 d=5 Data Streams Octree

Streaming the Octree Solution: To manage depth-related-persistence, we define a separate stream for each depth. d=0 d=1 d=2 d=3 d=4 d=5 Data Streams Octree

Streaming the Octree Solution: To manage depth-related-persistence, we define a separate stream for each depth. d=0 d=1 d=2 d=3 d=4 d=5 Data Streams Octree

Streaming the Octree Solution: We can manage node persistence by advancing through the streams at different speeds.

Streaming the Octree Solution: We can manage node persistence by advancing through the streams at different speeds. For an octree of height h: Resolution: R=2h Octree Size: O(R2) Octree in Working Memory: O(R)

Streaming the Reconstruction We must implement the reconstruction in a streaming fashion. Extend oriented samples to vector field Compute divergence Solve Poisson equation Extract isosurface (1) (2) (3) (4)

Streaming the Reconstruction We must implement the reconstruction in a streaming fashion. Extend oriented samples to vector field Compute divergence Solve Poisson equation Extract isosurface (1) (2) (3) (4)

Streaming the Reconstruction We must implement the reconstruction in a streaming fashion. Extend oriented samples to vector field Compute divergence Solve Poisson equation Extract isosurface Solving a Poisson system is not a local process! (1) (2) (3) (4)

Streaming the Reconstruction Reconstruction Locality: Using iterative update methods, the Poisson system can be solved in a local manner.

Streaming the Reconstruction Reconstruction Locality: Using iterative update methods, the Poisson system can be solved in a local manner. >2500 Jacobi Iterations

Streaming the Reconstruction Reconstruction Efficiency: Using cascadic multigrid, the system can be solved efficiently in a local manner: The solution is obtained by solving at coarser depths and updating/initializing the equation at finer depths. Within each depth, we use a Jacobi solver to update the solution coefficients in the working set.

Streaming the Reconstruction Reconstruction Efficiency: Using cascadic multigrid, the system can be solved efficiently in a local manner: The solution is obtained by solving at coarser depths and updating/initializing the equation at finer depths. Within each depth, we use a Jacobi solver to update the solution coefficients in the working set. One pass suffices for an accurate solution!

Streaming the Reconstruction Implementation: High-res solutions trail the low-res solutions. A single pass suffices for accurate reconstruction.

Outline Introduction Streaming Surface Reconstruction Results Conclusion

Out-of-Core Reconstruction David (Complexity) Res. Octree Memory Peak Memory Running Time 256 48 521 0.53 512 168 278 0.68 1024 702 213 1.20 2048 3,070 212 3.33 4096 13,367 427 12.6 8192 39,452 780 32.3 Out-of-Core Reconstruction 216x106 points (4.8 GB)

Out-of-Core Reconstruction In-Core Reconstruction David (Complexity) Res. Octree Memory Peak Memory Running Time 256 48 49 521 309 0.53 0.50 512 168 188 278 442 0.68 0.65 1024 702 818 213 1,285 1.20 1.05 2048 3,070 3,695 212 4,442 3.33 2.65 4096 13,367 N/A 427 N/A 12.6 N/A 8192 39,452 N/A 780 N/A 32.3 N/A Out-of-Core Reconstruction In-Core Reconstruction 216x106 points (4.8 GB)

In-Core Reconstruction Out-of-Core Reconstruction Peak Mem: 0.8 GB David (Comparison) In-Core Reconstruction Peak Mem: 4.4 GB Out-of-Core Reconstruction Peak Mem: 0.8 GB

Outline Introduction Streaming Surface Reconstruction Results Conclusion

Conclusion Methodology: We have presented a multilevel streaming framework for out-of-core processing of octrees d=0 d=1 d=2 d=3 d=4 d=5 Data Streams Octree

Conclusion Application: We have implemented streaming surface reconstruction in three passes through the data.

Conclusion We can reconstruct watertight surface using a memory footprint smaller than: The total memory used The size of the input point set The size of the output surface Points (391x106) Triangles (431x106) Total Memory 9.8 GB 7.8 GB 106 GB Working Memory 2 GB

Conclusion We can reconstruct watertight surface using a memory footprint smaller than: The total memory used The size of the input point set The size of the output surface Points (391x106) Triangles (431x106) Total Memory 9.8 GB 7.8 GB 106 GB Working Memory 2 GB

Conclusion We can reconstruct watertight surface using a memory footprint smaller than: The total memory used The size of the input point set The size of the output surface Points (391x106) Triangles (431x106) Total Memory 9.8 GB 7.8 GB 106 GB Working Memory 2 GB

Conclusion We can reconstruct watertight surface using a memory footprint smaller than: The total memory used The size of the input point set The size of the output surface Points (391x106) Triangles (431x106) Total Memory 9.8 GB 7.8 GB 106 GB Working Memory 2 GB

Conclusion We can reconstruct watertight surface using a memory footprint smaller than: The total memory used The size of the input point set The size of the output surface … Points (391x106) Triangles (431x106) Total Memory 9.8 GB 7.8 GB 106 GB Working Memory 2 GB

Thank You! http://www.cs.jhu.edu/~misha/Code/OOCReconstruction http://www.cs.jhu.edu/~bolitho/Research/StreamingSurfaceReconstruction