Reconstruction of Solid Models from Oriented Point Sets Misha Kazhdan Johns Hopkins University.

Slides:



Advertisements
Similar presentations
Multilevel Streaming for Out-of-Core Surface Reconstruction
Advertisements

Level set based Image Segmentation Hang Xiao Jan12, 2013.
Fast Algorithms For Hierarchical Range Histogram Constructions
An Introduction to Light Fields Mel Slater. Outline Introduction Rendering Representing Light Fields Practical Issues Conclusions.
Text Scaffolds for Effective Surface Labeling Gregory Cipriano and Michael Gleicher.
Poisson Surface Reconstruction M Kazhdan, M Bolitho & H Hoppe
Extended Gaussian Images
Unconstrained Isosurface Extraction on Arbitrary Octrees
Screened Poisson Surface Reconstruction
COMPUTER GRAPHICS CS 482 – FALL 2014 OCTOBER 13, 2014 IMPLICIT REPRESENTATIONS IMPLICIT FUNCTIONS IMPLICIT SURFACES MARCHING CUBES.
Xianfeng Gu, Yaling Wang, Tony Chan, Paul Thompson, Shing-Tung Yau
Computer Graphics Group Alexander Hornung Alexander Hornung and Leif Kobbelt RWTH Aachen Robust Reconstruction of Watertight 3D Models from Non-uniformly.
5D COVARIA NCE TRACING FOR EFFICIENT DEFOCUS AND MOTION BLUR Laurent Belcour 1 Cyril Soler 2 Kartic Subr 3 Nicolas Holzschuch 2 Frédo Durand 4 1 Grenoble.
Fourier-based and Poisson surface reconstruction Reporter: Lincong Fang 24th Dec, 2008.
Robust Repair of Polygonal Models Tao Ju Rice University.
Computing 3D Geometry Directly From Range Images Sarah F. Frisken and Ronald N. Perry Mitsubishi Electric Research Laboratories.
BMME 560 & BME 590I Medical Imaging: X-ray, CT, and Nuclear Methods Tomography Part 3.
Project Overview Reconstruction in Diffracted Ultrasound Tomography Tali Meiri & Tali Saul Supervised by: Dr. Michael Zibulevsky Dr. Haim Azhari Alexander.
Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes.
Filling Holes in Complex Surfaces using Volumetric Diffusion James Davis, Stephen Marschner, Matt Garr, Marc Levoy Stanford University First International.
Advanced Computer Graphics (Fall 2010) CS 283, Lecture 4: 3D Objects and Meshes Ravi Ramamoorthi
Radial Basis Functions Pedro Teodoro. 2 What For Radial Basis Functions (RBFs) allows for interpolate/approximate scattered data in nD.
Image Enhancement in the Frequency Domain Part I Image Enhancement in the Frequency Domain Part I Dr. Samir H. Abdul-Jauwad Electrical Engineering Department.
Surface Reconstruction Some figures by Turk, Curless, Amenta, et al.
Some Properties of the 2-D Fourier Transform Translation Distributivity and Scaling Rotation Periodicity and Conjugate Symmetry Separability Convolution.
Spectral Processing of Point-sampled Geometry
ECS 289L A Survey of Mesh-Based Multiresolution Representations Ken Joy Center for Image Processing and Integrated Computing Computer Science Department.
ITUppsala universitet Data representation and fundamental algorithms Filip Malmberg
Application of Digital Signal Processing in Computed tomography (CT)
Introduction --Classification Shape ContourRegion Structural Syntactic Graph Tree Model-driven Data-driven Perimeter Compactness Eccentricity.
Direct Illumination with Lazy Visibility Evaluation David Hart Philip Dutré Donald P. Greenberg Cornell University SIGGRAPH 99.
UNIVERSITI MALAYSIA PERLIS
Orthogonal moments Motivation for using OG moments Stable calculation by recurrent relations Easier and stable image reconstruction - set of orthogonal.
Dual/Primal Mesh Optimization for Polygonized Implicit Surfaces
Dobrina Boltcheva, Mariette Yvinec, Jean-Daniel Boissonnat INRIA – Sophia Antipolis, France 1. Initialization Use the.
A D V A N C E D C O M P U T E R G R A P H I C S CMSC 635 January 15, 2013 Quadric Error Metrics 1/20 Quadric Error Metrics.
KinectFusion : Real-Time Dense Surface Mapping and Tracking IEEE International Symposium on Mixed and Augmented Reality 2011 Science and Technology Proceedings.
Shape Matching for Model Alignment 3D Scan Matching and Registration, Part I ICCV 2005 Short Course Michael Kazhdan Johns Hopkins University.
V. Space Curves Types of curves Explicit Implicit Parametric.
Presented By Greg Gire Advised By Zoë Wood California Polytechnic State University.
Geometric Modeling using Polygonal Meshes Lecture 1: Introduction Hamid Laga Office: South.
University of Coimbra Reconstruction of Voxels from Sensor Data Ricardo Martins Coimbra, 19 th January 2010 Doctoral Programme in Electrical Engineering.
Reporter: Zhonggui Chen
Monte Carlo I Previous lecture Analytical illumination formula This lecture Numerical evaluation of illumination Review random variables and probability.
Shape Analysis and Retrieval Statistical Shape Descriptors Notes courtesy of Funk et al., SIGGRAPH 2004.
Signal Processing and Representation Theory Lecture 4.
Shape Descriptors Thomas Funkhouser and Michael Kazhdan Princeton University Thomas Funkhouser and Michael Kazhdan Princeton University.
CMSC 635 Volume Rendering. Volume data  3D Scalar Field: F(x,y,z) = ?  Implicit functions  Voxel grid  Scalar data  Density  Temperature  Wind.
Volume Rendering CMSC 491/635. Volume data  3D Scalar Field: F(x,y,z) = ?  Implicit functions  Voxel grid  Scalar data  Density  Temperature  Wind.
1 Complex Images k’k’ k”k” k0k0 -k0-k0 branch cut   k 0 pole C1C1 C0C0 from the Sommerfeld identity, the complex exponentials must be a function.
1 Rendering translucent materials using SSS Implemented by João Pedro Jorge & Willem Frishert.
Simplifying Surfaces with Color and Texture using Quadric Error Metrics Michael Garland Paul S. Heckbert Carnegie Mellon University October 1998 Michael.
Wavelets and Multiresolution Processing (Wavelet Transforms)
CSE554ContouringSlide 1 CSE 554 Lecture 4: Contouring Fall 2015.
Hierarchical Error-Driven Approximation of Implicit Surfaces from Polygonal Meshes Takashi Kanai Yutaka Ohtake Kiwamu Kase University of Tokyo RIKEN, VCAD.
INFORMATIK A Multi-scale Approach to 3D Scattered Data Interpolation with Compactly Supported Basis Functions Yutaka Ohtake Yutaka Ohtake Alexander Belyaev.
David Levin Tel-Aviv University Afrigraph 2009 Shape Preserving Deformation David Levin Tel-Aviv University Afrigraph 2009 Based on joint works with Yaron.
A New Voronoi-based Reconstruction Algorithm
Chapter 24 Gauss’s Law. Intro Gauss’s Law is an alternative method for determining electric fields. While it stem’s from Coulomb’s law, Gauss’s law is.
Mesh Resampling Wolfgang Knoll, Reinhard Russ, Cornelia Hasil 1 Institute of Computer Graphics and Algorithms Vienna University of Technology.
Data Visualization Fall The Data as a Quantity Quantities can be classified in two categories: Intrinsically continuous (scientific visualization,
CDS 301 Fall, 2008 Domain-Modeling Techniques Chap. 8 November 04, 2008 Jie Zhang Copyright ©
Solid Modeling Dr. Scott Schaefer.
3D Object Representations 2009, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing.
1 Interactive Volume Isosurface Rendering Using BT Volumes John Kloetzli Marc Olano Penny Rheingans UMBC.
Working Group « Pre-Filtering »
Domain-Modeling Techniques
Shape Analysis and Retrieval
A Volumetric Method for Building Complex Models from Range Images
Monte Carlo I Previous lecture Analytical illumination formula
Presentation transcript:

Reconstruction of Solid Models from Oriented Point Sets Misha Kazhdan Johns Hopkins University

Shape Spectrum There are many ways to represent a shape: Point Set Polygon Soup Polygonal Mesh Solid Model

Equivalence of Representations There are many ways to represent a shape: Point Set Polygon Soup Polygonal Mesh Solid Model In one direction, the transition between representations is straight-forward

Equivalence of Representations There are many ways to represent a shape: Point Set Polygon Soup Polygonal Mesh Solid Model ? The challenge is to transition in the other direction In one direction, the transition between representations is straight-forward

Equivalence of Representations There are many ways to represent a shape: Point Set Polygon Soup Polygonal Mesh Solid Model The goal of this work is to define a method for computing solid models from oriented point sets.

Applications Surface Blending Disjoint Model “Zippered” Model

Applications Surface Blending Hole-Filling Model with HoleWater-Tight Model

Applications Surface Blending Hole-Filling Compression Geometry + Topology Representation Geometry Representation

Applications Surface Blending Hole-Filling Compression Simplification Original Model 871,000 Triangles Simplified Model 95,000 Triangles

Related Work Three general approaches: 1.Computational Geometry Boissonnat, 1984Edelsbrunner, 1984 Amenta et al., 1998Dey et al., Surface Fitting Terzopoulos et al., 1991Chen et al., Implicit Function Fitting Hoppe et al., 1992Curless et al., 1996 Whitaker, 1998Carr et al., 2001 Davis et al., 2002Ohtake et al., 2004 Turk et al., 2004Shen et al., 2004

Related Work 3.Implicit Function Fitting  Use the point samples to define an function whose values at the sample positions are zero. Sample PointsF(x,y)F(x,y) <0 >0 0

Related Work 3.Implicit Function Fitting  Use the point samples to define an function whose values at the sample positions are zero.  Extract the iso-surface with iso-value equal to zero. Sample PointsF(x,y)=0 F(x,y)>0 F(x,y)<0 F(x,y) =0 <0 >0 0

Related Work 3.Implicit Function Fitting  Use the point samples to define an function whose values at the sample positions are zero.  Extract the iso-surface with iso-value equal to zero. Sample PointsF(x,y)=0 F(x,y)<0 F(x,y)>0 F(x,y) =0 >0 <0 0 How should we define the implicit function so that the reconstruction fits the samples?

Outline Introduction Related Work Approach  The Divergence Theorem  Reduction to Volume Integration  Implementation Results Conclusion

Divergence Theorem Given a vector field F and a region V: The volume integral of  F over V and the surface integral of F over  V are equal: V VVVV =

Reduction to Volume Integration (Step 1) Characteristic Function: The characteristic function  V of a solid V is the function: V

Reduction to Volume Integration (Step 2) Fourier Coefficients: The Fourier coefficients of the characteristic function give an expression of  V as a sum of complex exponentials:

Reduction to Volume Integration (Step 3) Volume Integration: The Fourier coefficients of the characteristic function  V can be obtained by integrating:

Reduction to Volume Integration (Step 3) Volume Integration: The Fourier coefficients of the characteristic function  V can be obtained by integrating: since the characteristic function is one inside of V and zero everywhere else.

Applying the Divergence Theorem Surface Integration If F lmn (x,y,z) is any function whose divergence is equal to the (l,m,n)-th complex exponential: applying the Divergence Theorem, the volume integral can be expressed as a surface integral:

Reconstruction Algorithm Given an oriented point sample {(p i,n i )}: Compute a Monte-Carlo approximation of the Fourier coefficients of the characteristic function: Apply the inverse Fourier Transform to obtain the characteristic function. Extract the reconstruction an iso-surface of the characteristic function

Algorithm Implementation Efficiency: We show that the computation of the Fourier coefficients is actually a convolution, reducing the reconstruction complexity: O(R 5 ) → O(R 3 logR). Non-Uniformity: We provide a simple heuristic for assigning weights to samples that may be non-uniformly distributed.

Outline Introduction Related Work Approach Results  Resolution  Sample Count  Non-Uniformity  Related Work Conclusion

Results (Resolution) res=128 3 tris=49,008 time=0:01 res=256 3 tris=199,796 time=0:07 100,000 Points res=64 3 tris=11,672 time<0:01

Results (Sample Count) res=256 3 tris=200,704 time=0:07 res=256 3 tris=206,216 time=0:07 100,000 Points1000 Points res=256 3 tris=199,796 time=0:07 10,000 Points

Results (Non-Uniform Sampling) res=256 3 tris=111,680 time=0:09 res=256 3 tris=220,324 time=0:09 100,000 Points res=256 3 tris=199,712 time=0:09

Results (Non-Uniform Sampling / Related Work) res=256 3 tris=302,000 time=5:23 res=256 3 tris=288,000 time=0:39 res=256 3 tris=286,916 time=0:09 100,000 Points RBF Reconstruction † MPU Reconstruction ‡ Our Reconstruction 100,000 Points † Carr et al. SIGGRAPH ‘01 ‡ Ohtake et al. ACM TOG ‘03

Results (Noise / Related Work) res=256 3 tris=200,000 time=24:10 points=100,000 res=256 3 tris=205,000 time=2:14 points=100,000 res=256 3 tris=174,824 time=0:07 points=100,000 Original Our Reconstruction RBF Reconstruction † MPU Reconstruction ‡ † Carr et al. SIGGRAPH ‘01 ‡ Ohtake et al. ACM TOG ‘03

Outline Introduction Related Work Approach Results Conclusion

Properties: Fast and simple to compute Independent of topology Robust to non-uniform sampling Robust to noise  O(R 3 ) memory footprint for O(R 2 ) reconstruction

Conclusion Theoretical Contribution: Transformed the surface reconstruction problem into a Volume integral Used the Divergence Theorem to express the integral as a surface integral Used Monte-Carlo integration to approximate the surface integral as a summation over an oriented point sample

Conclusion We presented an algorithm for reconstruction that proceeds in three simple steps:

Conclusion We presented an algorithm for reconstruction that proceeds in three simple steps: 1.Splat the oriented points into a voxel grid

Conclusion We presented an algorithm for reconstruction that proceeds in three simple steps: 1.Splat the oriented points into a voxel grid 2.Convolve with a fixed filter

Conclusion We presented an algorithm for reconstruction that proceeds in three simple steps: 1.Splat the oriented points into a voxel grid 2.Convolve with a fixed filter 3.Extract the iso-surface

Thank You Source and Executables:

Choosing the Functions F lmn

There are many solutions to the equation:

Choosing the Functions F l,m,n There are many solutions to the equation: Examples:

Choosing the Functions F l,m,n There are many solutions to the equation: Examples:

Choosing the Functions F l,m,n There are many solutions to the equation: In our implementation, we choose the function: This is the unique definition of F lmn with the property that the reconstruction commutes with translation and rotation.

Choosing the Functions F l,m,n Commutes: Does not Commute: 0o0o 30 o 45 o

Choosing the Functions F l,m,n Commutes: Does not Commute:

Non-Uniform Sampling

Non-Uniform Samples Challenge: In a direct implementation of Monte-Carlo integration, it is assumed that the samples are uniformly distributed:

Non-Uniform Samples Challenge: In a direct implementation of Monte-Carlo integration, it is assumed that the samples are uniformly distributed: However, often the oriented point samples may not be uniformly distributed over the surface:  Parts of scans may overlap  Faces parallel to the view plane may be more densely sampled  Compressed representations may store fewer points in regions of low curvature

Non-Uniform Samples Challenge: If we have a sampling density  i associated to each sample x i, we can modify the summation:

Non-Uniform Samples Challenge: If we have a sampling density  i associated to each sample x i, we can modify the summation: However, when we get an oriented point sample, we usually aren’t given the sampling density at each sample.

Non-Uniform Samples Challenge: If we have a sampling density  i associated to each sample x i, we can modify the summation: However, when we get an oriented point sample, we usually aren’t given the sampling density at each sample. Non-Uniform SamplesUnweighted Reconstruction

Non-Uniform Samples Approach: Compute the sampling density at each sample by counting the number of samples around it:

Non-Uniform Samples Approach: Compute the sampling density at each sample by counting the number of samples around it:  i =1/2

Non-Uniform Samples Approach: Compute the sampling density at each sample by counting the number of samples around it:  i =1/1

Non-Uniform Samples Approach: Compute the sampling density at each sample by counting the number of samples around it:  i =1/3

Non-Uniform Samples Approach: Compute the sampling density at each sample by counting the number of samples around it:  i =1/4

Non-Uniform Samples Approach: Compute the sampling density at each sample by counting the number of samples around it. To do this efficiently, we “splat” the points into a voxel grid and convolve with a low-pass filter.

Non-Uniform Samples Approach: Compute the sampling density at each sample by counting the number of samples around it. To do this efficiently, we “splat” the points into a voxel grid and convolve with a low-pass filter. We set  i equal to the reciprocal of the value of the convolution at point p i.

Non-Uniform Samples Approach: Compute the sampling density at each sample by counting the number of samples around it. To do this efficiently, we “splat” the points into a voxel grid and convolve with a low-pass filter. We set  i equal to the reciprocal of the value convolution at point p i. Non-Uniform SamplesUnweighted ReconstructionWeighted Reconstruction

Completing the Characteristic Function

In the generation of the characteristic function we use the functions F lmn with : And we approximated an integral using the Monte- Carlo approximation:

Completing the Characteristic Function In the generation of the characteristic function we use the functions F lmn with : And we approximated an integral using the Monte- Carlo approximation: The function F lmn is not defined when l=m=n=0. So, we can only reconstruct the characteristic function up to an additive constant additive.

Completing the Characteristic Function In the generation of the characteristic function we use the functions F lmn with : And we approximated an integral using the Monte- Carlo approximation: To approximate the surface integral, we need to know the area of the surface |  V|. Since this is not given, we can only reconstruct the characteristic function up to a multiplicative constant.

Completing the Characteristic Function To address the missing constants, we sample the reconstructed characteristic function at the sample points and compute the average value:

Completing the Characteristic Function To address the missing constants, we sample the reconstructed characteristic function at the sample points and compute the average value: Then we can set the values of the characteristic function to be:

More Results

Results (Positional Noise) disp=radius/128 res=256 3 tris=139,468 time=0:07 points=100,000 disp=0 res=256 3 tris=141,808 time=0:07 points=100,000 disp=radius/32 res=256 3 tris=124,300 time=0:07 points=100,000 disp=radius/64 res=256 3 tris=134,848 time=0:07 points=100,000

Results (Normal Noise) angle=15 o res=256 3 tris=141,776 time=0:07 points=100,000 angle=0 o res=256 3 tris=141,808 time=0:07 points=100,000 angle=30 o res=256 3 tris=141,876 time=0:07 points=100,000 angle=45 o res=256 3 tris=142,048 time=0:07 points=100,000

Results (Holes) Reconstruction Original res=256 3 tris=267,736 time=0:07 points=25,000