surface reconstruction from point sets · problem statement • computer graphics, • medical...

80
Surface Reconstruction From Point Sets Slides from Misha Kazhdan, Fisher Yu, Szymon Rusinkiewicz, Ioannis Stamos, Hugues Hoppe, and Piyush Rai COS 526, Fall 2016

Upload: others

Post on 28-Jun-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Surface Reconstruction

From Point Sets

Slides from Misha Kazhdan, Fisher Yu, Szymon Rusinkiewicz,

Ioannis Stamos, Hugues Hoppe, and Piyush Rai

COS 526, Fall 2016

Page 2: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Point Sets

Greg Duncan

Absolute Geometries

OpTech

Page 3: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Surface

Reconstruction

Algorithm

• Given a set of sample points in three dimensions produce a surface that captures the “most reasonable shape” the points were sampled from.

Problem Statement

Page 4: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

• Computer graphics,

• Medical imaging

• Cartography

• Compression

• Reverse engineering

• Urban modeling

• etc.

Applications

Page 5: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

• Interpolate input points

• Handle arbitrary genus

• Generally smooth

• Retain sharp features

• Watertight surface

Desirable Properties

Page 6: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Challenges

Page 7: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Surface

Reconstruction

Algorithm

Possible Approaches?

Page 8: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Possible Approaches

• Explicit Meshing

– Ball pivoting algorithm

– Crust

– etc.

• Implicit Reconstruction

– Hoppe’s algorithm

– Moving Least Squares (MLS)

– Poisson surface reconstruction

– etc.

• Surface fitting

– Deformable templates

– etc.

Page 9: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Possible Approaches

• Explicit Meshing

– Ball pivoting algorithm

– Crust

– etc.

• Implicit Reconstruction

– Hoppe’s algorithm

– Moving Least Squares (MLS)

– Poisson surface reconstruction

– etc.

• Surface fitting

– Deformable templates

– etc.

Page 10: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

The Ball Pivoting Algorithm

• Pick a ball radius, roll ball around surface,

connect what it hits

Page 11: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Active edge

Point on front

Initial seed triangle

The Ball Pivoting Algorithm

Page 12: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

The Ball Pivoting Algorithm

Point on front

Active edgeBall pivoting around active edge

Page 13: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

The Ball Pivoting Algorithm

Ball pivoting around active edge

Point on front

Active edge

Page 14: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

The Ball Pivoting Algorithm

Point on front

Active edgeBall pivoting around active edge

Page 15: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

The Ball Pivoting Algorithm

Point on front

Active edgeBall pivoting around active edge

Page 16: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

The Ball Pivoting Algorithm

Point on front

Internal point

Active edgeBall pivoting around active edge

Page 17: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

The Ball Pivoting Algorithm

Boundary edge

Point on front

Internal point

Active edgeBall pivoting around active edge

No pivot found

Page 18: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

The Ball Pivoting Algorithm

Point on front

Internal point

Active edge

Boundary edge

Ball pivoting around active edge

Page 19: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

The Ball Pivoting Algorithm

Boundary edge

Point on front

Internal point

Active edgeBall pivoting around active edge

No pivot found

Page 20: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

The Ball Pivoting Algorithm

Boundary edge

Point on front

Internal point

Active edgeBall pivoting around active edge

Page 21: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

The Ball Pivoting Algorithm

Possible problems?

Page 22: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

The Ball Pivoting Algorithm

Possible problems?

Undersampling Small Concavities

Page 23: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

The Ball Pivoting Algorithm

Possible problems?

Self-intersection? Watertight?

Page 24: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Possible Approaches

• Explicit Meshing

– Ball pivoting algorithm

– Crust

– etc.

• Implicit Reconstruction

– Hoppe’s algorithm

– Moving Least Squares (MLS)

– Poisson surface reconstruction

– etc.

• Surface fitting

– Deformable templates

– etc.

Page 25: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Crust

Aims to find adjacent surface without a parameter specifying

feature sizes

Page 26: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Definitions

Delaunay Triangulation, Voronoi Diagram

Page 27: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Definitions

Medial Axis: of surface F is the closure of points that have more

than one closest point in F.

Page 28: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

The Intuition behind Crust

The Voronoi Cells of a dense sampling are thin and long.

The Medial Axis is the extension of Voronoi Diagram for

continuous surfaces in the sense that the Voronoi Diagram

of S Can be defined as the set of points with more than one

closest point in S. (S = Sample Point Set)

Page 29: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Crust in 2D

Input : P = Set of sample points in the plane

Output: E = Set of edges connecting points in P

The Algorithm

Compute the Voronoi vertices of P = V

Calculate the Delaunay of (P U V)

Pick the edges (p,q) where both p,q are in P

Page 30: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Sample Output

Page 31: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Crust in 3D

• Some Voronoi vertices lie neither near the surface

nor near the medial axis

• Keep the “poles”

Page 32: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Crust in 3D

• Compute the 3D Voronoi diagram of the sample points.

• For each sample point s, pick the farthest vertex vof its Voronoi cell, and the farthest vertex v' such that angle vsv' exceeds 90 degrees.

• Compute the Voronoi diagram of the sample points and the "poles", the Voronoi vertices chosen in the second step.

• Add a triangle on each triple of sample points with neighboring cells in the second Voronoi diagram.

Page 33: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Sample Output

Page 34: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Possible Approaches

• Explicit Meshing

– Ball pivoting algorithm

– Crust

– etc.

• Implicit Reconstruction

– Hoppe’s algorithm

– Moving Least Squares (MLS)

– Poisson surface reconstruction

– etc.

• Surface fitting

– Deformable templates

– etc.

Page 35: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Implicit Reconstruction

• Main idea:

– Compute an implicit function f(p)

(negative outside, positive inside)

– Extract surface where f(p)=0

Page 36: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Hoppe et al’s Algorithm

1. Tangent Plane Estimation

2. Consistent tangent plane orientation

3. Signed distance function computation

4. Surface extraction

+ve-ve

Page 37: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Tangent Plane Estimation

• Principal Component Analysis (PCA)

– Extract points {qi} in

neighborhood

– Compute covariance

matrix M

– Analyze eigenvalues

and eigenvectors of M

(via SVD)

Covariance Matrix

n

i z

i

z

i

y

i

z

i

x

i

z

i

z

i

y

i

y

i

y

i

x

i

y

i

z

i

x

i

y

i

x

i

x

i

x

i

qqqqqq

qqqqqq

qqqqqq

n 1

1M

tUSUM

zyx

zyx

zyx

CCC

BBB

AAA

U

Eigenvalues & Eigenvectors

c

b

a

00

00

00

S

Page 38: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Tangent Plane Estimation

Page 39: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Tangent Plane Estimation

Page 40: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Tangent Plane Estimation

• Eigenvectors are

“Principal Axes of Inertia”

• Eigenvalues are variances

of the point distribution in

those directions

Page 41: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Tangent Plane Estimation

• Surface normal is estimated by eigenvector

(principal axis) associated with smallest

eigenvalue

Page 42: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Consistent Tangent Plane Orientation

• Traverse nearest neighbor graph flipping

normals for consistency

– Greedy propagation algorithm

(minimum spanning tree of normal similarity)

Page 43: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Signed Distance Function

• f(p) is signed distance to tangent plane

of closest point sample

Page 44: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Signed Distance Function

• f(p) is signed distance to tangent plane

of closest point sample

Ravikrishna Bvs Kolluri

Page 45: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Surface Extraction

• Extract triangulated surface where f(p)=0

– e.g., Marching Cubes

Page 46: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Surface Extraction

• Extract triangulated surface where f(p)=0

– e.g., Marching Cubes

Page 47: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Sample Results

Page 48: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Sample Results

Page 49: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Sample Results

Page 50: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Sample Results

Page 51: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Moving Least Squares

• Similar, but different implicit function

– Weighted contribution of nearby points

Page 52: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Moving Least Squares

MLS

Page 53: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Possible Approaches

• Explicit Meshing

– Ball pivoting algorithm

– Crust

– etc.

• Implicit Reconstruction

– Hoppe’s algorithm

– Moving Least Squares (MLS)

– Poisson surface reconstruction

– etc.

• Surface fitting

– Deformable templates

– etc.

Page 54: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

The Indicator Function

• We reconstruct the surface of the model by

solving for the indicator function of the shape.

Mp

MppM

if0

if1

M

Indicator function

01

0

00

0

1

1

Page 55: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Challenge

• How to construct the indicator function?

Oriented points

M

Indicator function

Page 56: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Gradient Relationship

There is a relationship between the normal field

and gradient of indicator function

M

Indicator gradient

0 0

0

0

0

0

Oriented points

Page 57: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Integration

• Represent the points by a vector field

• Find the function whose gradient best

approximates :

V

V

min

V

Page 58: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Integration as a Poisson Problem

• Represent the points by a vector field

• Find the function whose gradient best

approximates :

• Applying the divergence operator, we can

transform this into a Poisson problem:

V

V

min

VV

V

Page 59: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Implementation

Given the Points:• Set octree

• Compute vector field

• Compute indicator function

• Extract iso-surface

Page 60: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Implementation: Adapted Octree

Given the Points:• Set octree

• Compute vector field

• Compute indicator function

• Extract iso-surface

Page 61: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Implementation: Vector Field

Given the Points:• Set octree

• Compute vector field

– Define a function space

– Splat the samples

• Compute indicator function

• Extract iso-surface

Page 62: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Implementation: Vector Field

Given the Points:• Set octree

• Compute vector field

– Define a function space

– Splat the samples

• Compute indicator function

• Extract iso-surface

Page 63: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Implementation: Vector Field

Given the Points:• Set octree

• Compute vector field

– Define a function space

– Splat the samples

• Compute indicator function

• Extract iso-surface

Page 64: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Implementation: Vector Field

Given the Points:• Set octree

• Compute vector field

– Define a function space

– Splat the samples

• Compute indicator function

• Extract iso-surface

Page 65: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Implementation: Vector Field

Given the Points:• Set octree

• Compute vector field

– Define a function basis

– Splat the samples

• Compute indicator function

• Extract iso-surface

Page 66: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Implementation: Vector Field

Given the Points:• Set octree

• Compute vector field

– Define a function basis

– Splat the samples

• Compute indicator function

• Extract iso-surface

Page 67: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Implementation: Vector Field

Given the Points:• Set octree

• Compute vector field

– Define a function basis

– Splat the samples

• Compute indicator function

• Extract iso-surface

Page 68: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Implementation: Vector Field

Given the Points:• Set octree

• Compute vector field

– Define a function space

– Splat the samples

• Compute indicator function

• Extract iso-surface

Page 69: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Implementation: Indicator Function

Given the Points:• Set octree

• Compute vector field

• Compute indicator function

– Compute divergence

– Solve Poisson equation

• Extract iso-surface

Page 70: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Implementation: Indicator Function

Given the Points:• Set octree

• Compute vector field

• Compute indicator function

– Compute divergence

– Solve Poisson equation

• Extract iso-surface

Page 71: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Implementation: Indicator Function

Given the Points:• Set octree

• Compute vector field

• Compute indicator function

– Compute divergence

– Solve Poisson equation

• Extract iso-surface

Page 72: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Implementation: Surface Extraction

Given the Points:• Set octree

• Compute vector field

• Compute indicator function

• Extract iso-surface

Page 73: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Michelangelo’s David

• 215 million data points from 1000 scans

• 22 million triangle reconstruction

• Maximum tree depth of 11

• Compute Time: 2.1 hours

• Peak Memory: 6600MB

Page 74: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

David – Chisel marks

Page 75: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

David – Drill Marks

Page 76: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

David – Eye

Page 77: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Stanford Bunny

Power Crust FastRBF MPU

VRIP FFT Reconstruction Our Method

Page 78: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Kinect Fusion

Page 80: Surface Reconstruction From Point Sets · Problem Statement • Computer graphics, • Medical imaging • Cartography • Compression • Reverse engineering • Urban modeling •

Questions?