poisson surface reconstruction - technioncs236329/lectures/poisson_reconstruction.pdf · poisson...

4
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 shapes http://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 > 0 0 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 > 0 0

Upload: nguyendang

Post on 22-Jul-2018

228 views

Category:

Documents


0 download

TRANSCRIPT

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