Date post: | 22-Jul-2018 |
Category: |
Documents |
Upload: | nguyendang |
View: | 226 times |
Download: | 0 times |
Copyright 2008 C. Gotsman & M. Kazhdan
Technion, Johns Hopkins Univ.
Poisson Mesh Reconstruction
Page 1
Digital Geometry Processing
Poisson Surface
Reconstruction
Motivation
In many domains, scanners are used to
obtain virtual representations of 3D shapeshttp://www.jhu.edu/digitalhammurabi/ http://graphics.stanford.edu/projects/mich/
Motivation
Scanning often gives only local connectivity
Surface Reconstruction
Generate a mesh from a set of surface samples
Implicit Function Approach
< 0 > 00
Define a function with
value less than zero
outside the model and
greater than zero inside
Implicit Function Approach
Define a function with
value less than zero
outside the model and
greater than zero inside
Extract the zero-set
< 0 > 00
Copyright 2008 C. Gotsman & M. Kazhdan
Technion, Johns Hopkins Univ.
Poisson Mesh Reconstruction
Page 2
Digital Geometry Processing
Solve for the indicator function of the shape M
Mp
MppM
if0
if1
M
Indicator function
10
0
00
0
1
1
The Indicator Function Approach
Shape boundary is contour M = 0.5
The Poisson Equation
Given n gradient data pairs , where , find
such that .
If the system is overdetermined, solve the normal equations:
or
possibly subject to some boundary conditions.
( , )i ix g , d
i ix g R : df R R
( )i i
f x g
( ( ))i i
f x g
2 ( )i i
f x g
2Solution to 1f
1
( ,.., )d
x x
2 22
2 21
( .. )d
x x
1
( .. )d
x x
The Key Observation
InputOriented 3D points M
Indicator gradient
0 0
0
0
0
0
0
Solve Poisson
equation for : 2ˆM
n
The normal field n is gradient
of “smoothed” M :
ˆMn
ˆM
Solving the Poisson Equation
Represent f as
and solve a linear system for the coefficients j
Need to compute second derivatives of Bj
1
( ) (|| ||)k
j j jj
f x B x c
Implementation: Adapted Octree
Given the Points: Set octree
Compute vector field
Compute indicator function
Extract iso-surface
Implementation: Vector Field
Given the Points: Set octree
Compute vector field
Define a function space
Splat the samples
Compute indicator function
Extract iso-surface
Copyright 2008 C. Gotsman & M. Kazhdan
Technion, Johns Hopkins Univ.
Poisson Mesh Reconstruction
Page 3
Digital Geometry Processing
Implementation: Indicator Function
Given the Points: Set octree
Compute vector field
Compute indicator function
Compute divergence
Solve Poisson equation
Extract iso-surface
Implementation: Indicator Function
Given the Points: Set octree
Compute vector field
Compute indicator function
Compute divergence
Solve Poisson equation
Extract iso-surface
Implementation: Surface Extraction
Given the Points: Set octree
Compute vector field
Compute indicator function
Extract iso-surface
Michelangelo’s David
215 million data points from
1000 scans
22 million triangle
reconstruction
Compute Time: 2.1 hours
Peak Memory: 6600MB
David – Chisel marks David – Drill Marks
Copyright 2008 C. Gotsman & M. Kazhdan
Technion, Johns Hopkins Univ.
Poisson Mesh Reconstruction
Page 4
Digital Geometry Processing
David – Eye Scalability – Buddha Model
0
100
200
300
400
500
600
700
800
900
0 100,000 200,000 300,000 400,000 500,000 600,000 700,000 800,000
Triangles
Tim
e (
s) /
Pe
ak M
em
ory
(M
B)
Time Taken
Peak Memory Usage
Stanford Bunny
Power Crust FastRBF MPU
VRIP FFT Reconstruction Poisson