Radial Basis Functions for Computer Graphics. Contents 1.Introduction to Radial Basis Functions...

40
Radial Basis Functions for Computer Graphics

Transcript of Radial Basis Functions for Computer Graphics. Contents 1.Introduction to Radial Basis Functions...

Page 1: Radial Basis Functions for Computer Graphics. Contents 1.Introduction to Radial Basis Functions 2.Math 3.How to fit a 3D surface 4.Applications.

Radial Basis Functions for Computer Graphics

Page 2: Radial Basis Functions for Computer Graphics. Contents 1.Introduction to Radial Basis Functions 2.Math 3.How to fit a 3D surface 4.Applications.

Contents

1. Introduction to Radial Basis Functions

2. Math

3. How to fit a 3D surface

4. Applications

Page 3: Radial Basis Functions for Computer Graphics. Contents 1.Introduction to Radial Basis Functions 2.Math 3.How to fit a 3D surface 4.Applications.

What can Radial Basis Functions do for me?

(A short introduction)

Page 4: Radial Basis Functions for Computer Graphics. Contents 1.Introduction to Radial Basis Functions 2.Math 3.How to fit a 3D surface 4.Applications.

An RBF takes these points:

Page 5: Radial Basis Functions for Computer Graphics. Contents 1.Introduction to Radial Basis Functions 2.Math 3.How to fit a 3D surface 4.Applications.

And gives you this surface:

Page 6: Radial Basis Functions for Computer Graphics. Contents 1.Introduction to Radial Basis Functions 2.Math 3.How to fit a 3D surface 4.Applications.

Scattered Data Interpolation

• RBF’s are a solution to the Scattered Data Interpolation Problem– N point samples, want to interpolate/extrapolate

• This problem occurs in many areas:– Mesh repair– Surface reconstruction

• Range scanning, geographic surveys, medical data

– Field Visualization (2D and 3D)– Image warping, morphing, registration– AI

Page 7: Radial Basis Functions for Computer Graphics. Contents 1.Introduction to Radial Basis Functions 2.Math 3.How to fit a 3D surface 4.Applications.

History Lesson

• Discovered by Duchon in 77• Applications to Graphics:

– Savchenko, Pasko, Okunev, Kunii – 1995• Basic RBF, complicated topology bits

– Turk & O’Brien – 1999• ‘variational implicit surfaces’ • Interactive modeling, shape transformation

– Carr et al• 1997 – Medical Imaging• 2001 – Fast Reconstruction

Page 8: Radial Basis Functions for Computer Graphics. Contents 1.Introduction to Radial Basis Functions 2.Math 3.How to fit a 3D surface 4.Applications.

2D RBF

• Implicit Curve

• Parametric Height Field

Page 9: Radial Basis Functions for Computer Graphics. Contents 1.Introduction to Radial Basis Functions 2.Math 3.How to fit a 3D surface 4.Applications.

3D RBF

• Implicit Surface

• Scalar Field

Page 10: Radial Basis Functions for Computer Graphics. Contents 1.Introduction to Radial Basis Functions 2.Math 3.How to fit a 3D surface 4.Applications.

Extrapolation (Hole-Filling)

• Mesh repair– Fit surface to vertices of mesh

– RBF will fill holes if it minimizes curvature !!

Page 11: Radial Basis Functions for Computer Graphics. Contents 1.Introduction to Radial Basis Functions 2.Math 3.How to fit a 3D surface 4.Applications.

Smoothing

• Smooth out noisy range scan data

• Repair my rough segmentation

Page 12: Radial Basis Functions for Computer Graphics. Contents 1.Introduction to Radial Basis Functions 2.Math 3.How to fit a 3D surface 4.Applications.

Now a bit of math…

(don’t panic)

Page 13: Radial Basis Functions for Computer Graphics. Contents 1.Introduction to Radial Basis Functions 2.Math 3.How to fit a 3D surface 4.Applications.

The Scattered Data Interpolation Problem

• We wish to reconstruct a function S(x), given N samples (xi, fi), such that S(xi)=fi

– xi are the centres– Reconstructed function

is denoted s(x)

• infinite solutions

• We have specific constraints:– s(x) should be continuous over the entire domain– We want a ‘smooth’ surface

Page 14: Radial Basis Functions for Computer Graphics. Contents 1.Introduction to Radial Basis Functions 2.Math 3.How to fit a 3D surface 4.Applications.

The RBF Solution

)()(1

xxxx PsN

iii

normEuclidean theis

polynomial degree-low a is )(

theis (r)

centre of theis

x

x

x

P

function basic

weight ii

Page 15: Radial Basis Functions for Computer Graphics. Contents 1.Introduction to Radial Basis Functions 2.Math 3.How to fit a 3D surface 4.Applications.

Terminology: Support

• Support is the ‘footprint’ of the function

• Two types of support matter to us:

– Compact or Finite support: function value is zero outside of a certain interval

– Non-Compact or Infinite support: not compact (no interval, goes to )

3xy

2xey

Page 16: Radial Basis Functions for Computer Graphics. Contents 1.Introduction to Radial Basis Functions 2.Math 3.How to fit a 3D surface 4.Applications.

Basic Functions ( )

• Can be any function– Difficult to define properties of the RBF for an

arbitrary basic function

• Support of function has major implications– A non-compactly supported basic function implies a

global solution, dependent on all centres!• allows extrapolation (hole-filling)

Page 17: Radial Basis Functions for Computer Graphics. Contents 1.Introduction to Radial Basis Functions 2.Math 3.How to fit a 3D surface 4.Applications.

Standard Basic Functions

• Polyharmonics (Cn continuity)– 2D:– 3D:

• Multiquadric:

• Gaussian:– compact support, used in AI

)log()( 2 rrr n12)( nrr

22)( crr

2

)( crer

Page 18: Radial Basis Functions for Computer Graphics. Contents 1.Introduction to Radial Basis Functions 2.Math 3.How to fit a 3D surface 4.Applications.

Polyharmonics

• 2D Biharmonic:– Thin-Plate Spline

• 3D Biharmonic: – C1 continuity, Polynomial is degree 1– Node Restriction: nodes not colinear

• 3D Triharmonic:– C2 continuity, Polynomial is degree 2

• Important Bit: Can provide Cn continuity

)log()( 2 rrr

3)( rr

rr )(

Page 19: Radial Basis Functions for Computer Graphics. Contents 1.Introduction to Radial Basis Functions 2.Math 3.How to fit a 3D surface 4.Applications.

Guaranteeing Smoothness

• RBF’s are members of , the Beppo-Levi space of distributions on R3 with square integrable second derivatives

• has a rotation-invariant semi-norm:

• Semi-norm is a measure of energy of s(x)– Functions with smaller semi-norm are ‘smoother’– Smoothest function is the RBF (Duchon proved this)

xdsssssss yzxzxyzzyyxx222222 222

)(BL 3)2( R

)(BL 3)2( R

Page 20: Radial Basis Functions for Computer Graphics. Contents 1.Introduction to Radial Basis Functions 2.Math 3.How to fit a 3D surface 4.Applications.

What about P(x) ?

• P(x) ensures minimization of the curvature

• 3D Biharmonic: P(x) = a + bx + cy + dz• Must solve for coefficients a,b,c,d

– Adds 4 equations and 4 variables to the linear system

• Additional solution constraints:

0111 1

i

N

iii

N

ii

N

ii

N

iii zyx

Page 21: Radial Basis Functions for Computer Graphics. Contents 1.Introduction to Radial Basis Functions 2.Math 3.How to fit a 3D surface 4.Applications.

Finding an RBF Solution

• The weights and polynomial coefficients are unknowns

• We know N values of s(x):

• We also have 4 side conditions

)()(0

j

N

iijij Ps xxxx

jjjNjNjj dzcybxaf xxxx 11

0111 1

i

N

iii

N

ii

N

ii

N

iii zyx

Page 22: Radial Basis Functions for Computer Graphics. Contents 1.Introduction to Radial Basis Functions 2.Math 3.How to fit a 3D surface 4.Applications.

The Linear System Ax = b

0

0

0

0

0000

0000

0000

000011

1

1 11

1

1

1

1

111111

NN

N

N

N

NNNNNN

N

f

f

d

c

b

a

zz

yy

xx

zyx

zyx

ij

jii

fxP

)(

0 i

0 ii x

0 ii y

0 ii z

ijji xx where

Page 23: Radial Basis Functions for Computer Graphics. Contents 1.Introduction to Radial Basis Functions 2.Math 3.How to fit a 3D surface 4.Applications.

Properties of the Matrix

• Depends heavily on the basic function

• Polyharmonics:– Diagonal elements are zero – not diagonally dominant– Matrix is symmetric and positive semi-definite– Ill-conditioned if there are near-coincident centres

• Compactly-supported basic functions have a sparse matrix– Introduce surface artifacts– Can be numerically unstable

Page 24: Radial Basis Functions for Computer Graphics. Contents 1.Introduction to Radial Basis Functions 2.Math 3.How to fit a 3D surface 4.Applications.

Analytic Gradients

• Easy to calculate• Continuous depending on basic function

• Partial derivatives for biharmonic gradient can be calculated in parallel:

b

xxc

x

s N

i

ii

1 ixx

c

yyc

y

s N

i

ii

1 ixx

d

zzc

z

s N

i

ii

1 ixx

Page 25: Radial Basis Functions for Computer Graphics. Contents 1.Introduction to Radial Basis Functions 2.Math 3.How to fit a 3D surface 4.Applications.

Fitting 3D RBF Surfaces

(it’s tricky)

Page 26: Radial Basis Functions for Computer Graphics. Contents 1.Introduction to Radial Basis Functions 2.Math 3.How to fit a 3D surface 4.Applications.

Basic Procedure

1. Acquire N surface points

2. Assign them all the value 0(This will be the iso-value for the surface)

3. Solve the system, polygonize, and render:

Page 27: Radial Basis Functions for Computer Graphics. Contents 1.Introduction to Radial Basis Functions 2.Math 3.How to fit a 3D surface 4.Applications.

Off-Surface Points

• Why did we get a blank screen? – Matrix was Ax = 0– Trivial solution is s(x) = 0– We need to constrain the system

• Solution: Off-Surface Points– Points inside and outside of surface

• Project new centres along point normals• Assign values: <0 inside; >0 outside• Projection distance has a large effect on smoothness

Page 28: Radial Basis Functions for Computer Graphics. Contents 1.Introduction to Radial Basis Functions 2.Math 3.How to fit a 3D surface 4.Applications.

Invalid Off-Surface Points

• Have to make sure that off-surface points stay inside/outside surface!– Nearest-Neighbor test

Page 29: Radial Basis Functions for Computer Graphics. Contents 1.Introduction to Radial Basis Functions 2.Math 3.How to fit a 3D surface 4.Applications.

… Point Normals?

• Easy to get from polygonal meshes

• Difficult to get from anything else

• Can guess normal by fitting a plane to local neighborhood of points– Need outward-pointing vector to determine orientation

• Range scanner position, black pixels

– For ambiguous cases, don’t generate off-surface point

Page 30: Radial Basis Functions for Computer Graphics. Contents 1.Introduction to Radial Basis Functions 2.Math 3.How to fit a 3D surface 4.Applications.

Computational Complexity

• How long will it take to fit 1,000,000 centres?– Forever (more or less)

• 3.6 TB of memory to hold matrix• O(N3) to solve the matrix• O(N) to evaluate a point

– Infeasible for more than a few thousand centres

• Fast Multipole Methods make it feasible– O(N) storage, O(NlogN) fitting and O(1) evaluation– Mathematically complex

Page 31: Radial Basis Functions for Computer Graphics. Contents 1.Introduction to Radial Basis Functions 2.Math 3.How to fit a 3D surface 4.Applications.

Centre Reduction

• Remove redundant centres

• Greedy algorithm

• Buddha Statue:– 543,652 surface points

– 80,518 centres

– 5 x 10-4 accuracy

Page 32: Radial Basis Functions for Computer Graphics. Contents 1.Introduction to Radial Basis Functions 2.Math 3.How to fit a 3D surface 4.Applications.

FastRBF

• FarFieldTechnology (.com)

• Commercial implementation – 3D biharmonic fitter with Fast Multipole Methods– Adaptive Polygonizer that generates optimized triangles– Grid and Point-Set evaluation

• Expensive– They have a free demo limited to 30k centres

• Use iterative reduction to fit surfaces with more points

Page 33: Radial Basis Functions for Computer Graphics. Contents 1.Introduction to Radial Basis Functions 2.Math 3.How to fit a 3D surface 4.Applications.

Applications

(and eye candy)

Page 34: Radial Basis Functions for Computer Graphics. Contents 1.Introduction to Radial Basis Functions 2.Math 3.How to fit a 3D surface 4.Applications.

Cranioplasty (Carr 97)

Page 35: Radial Basis Functions for Computer Graphics. Contents 1.Introduction to Radial Basis Functions 2.Math 3.How to fit a 3D surface 4.Applications.

Molded Cranial Implant

Page 36: Radial Basis Functions for Computer Graphics. Contents 1.Introduction to Radial Basis Functions 2.Math 3.How to fit a 3D surface 4.Applications.

Morphing

• Turk99 (SIGGRAPH)

• 4D Interpolation between two surfaces

Page 37: Radial Basis Functions for Computer Graphics. Contents 1.Introduction to Radial Basis Functions 2.Math 3.How to fit a 3D surface 4.Applications.

Morphing With Influence Shapes

Page 38: Radial Basis Functions for Computer Graphics. Contents 1.Introduction to Radial Basis Functions 2.Math 3.How to fit a 3D surface 4.Applications.

Statue of Liberty• 3,360,300 data points

• 402,118 centres

• 0.1m accuracy

Page 39: Radial Basis Functions for Computer Graphics. Contents 1.Introduction to Radial Basis Functions 2.Math 3.How to fit a 3D surface 4.Applications.

Credits

• Pictures shamelessly copied from:– Papers by J.C. Carr and Greg Turk– FastRBF.com

• References:

Page 40: Radial Basis Functions for Computer Graphics. Contents 1.Introduction to Radial Basis Functions 2.Math 3.How to fit a 3D surface 4.Applications.

FinAny Questions?