gaussian process implicit surfaces -

40
Implicit surface modelling Spline regularization as a Gaussian process GPIS for 2D curves GPIS for 3D surfaces Summary Gaussian Process Implicit Surfaces Oliver Williams 1 Microsoft Research and Trinity Hall Cambridge, UK Gaussian Processes in Practice Bletchley Park, 13 June 2006 1 Joint work with Andrew Fitzgibbon

Upload: others

Post on 14-Mar-2022

5 views

Category:

Documents


0 download

TRANSCRIPT

Implicit surface modelling Spline regularization as a Gaussian process GPIS for 2D curves GPIS for 3D surfaces Summary

Gaussian Process Implicit Surfaces

Oliver Williams1

Microsoft Research and Trinity HallCambridge, UK

Gaussian Processes in PracticeBletchley Park, 13 June 2006

1Joint work with Andrew Fitzgibbon

Implicit surface modelling Spline regularization as a Gaussian process GPIS for 2D curves GPIS for 3D surfaces Summary

Talk outline

Implicit surface modelling

Spline regularization as a Gaussian processCovariance function1D regression demonstration

GPIS for 2D curvesCovariance in 2DProbabilistic interpretation

GPIS for 3D surfacesCovariance function

Summary

Implicit surface modelling Spline regularization as a Gaussian process GPIS for 2D curves GPIS for 3D surfaces Summary

Implicit surface

Scalar function f (x) defins a surface wherever it passes through agiven value (e.g., 0)

S0 , x ∈ Rd |f (x) = 0.

Example: Function f (x) for x ∈ R2 defines a closed curve

Implicit surface modelling Spline regularization as a Gaussian process GPIS for 2D curves GPIS for 3D surfaces Summary

Implicit surface

Scalar function f (x) defins a surface wherever it passes through agiven value (e.g., 0)

S0 , x ∈ Rd |f (x) = 0.Example: Function f (x) for x ∈ R2 defines a closed curve

Implicit surface modelling Spline regularization as a Gaussian process GPIS for 2D curves GPIS for 3D surfaces Summary

Fitting to data points

Our setting (Turk and O’Brien 1999):I Given a set of constraint points in 2D or 3D xi, fit f (x)I Have constraints at f (xi ) = 0 on the curve and at ±1 off it

e.g.,I Simple interior/exterior caseI Control normals to curve

Implicit surface modelling Spline regularization as a Gaussian process GPIS for 2D curves GPIS for 3D surfaces Summary

Fitting to data points

Our setting (Turk and O’Brien 1999):I Given a set of constraint points in 2D or 3D xi, fit f (x)I Have constraints at f (xi ) = 0 on the curve and at ±1 off it

e.g.,I Simple interior/exterior caseI Control normals to curve

−0.5 0 0.5−1

−0.5

0

0.5

Implicit surface modelling Spline regularization as a Gaussian process GPIS for 2D curves GPIS for 3D surfaces Summary

Fitting to data points

Our setting (Turk and O’Brien 1999):I Given a set of constraint points in 2D or 3D xi, fit f (x)I Have constraints at f (xi ) = 0 on the curve and at ±1 off it

e.g.,I Simple interior/exterior caseI Control normals to curve

−0.5 0 0.5−1

−0.5

0

0.5

Implicit surface modelling Spline regularization as a Gaussian process GPIS for 2D curves GPIS for 3D surfaces Summary

Fitting to data points

Our setting (Turk and O’Brien 1999):I Given a set of constraint points in 2D or 3D xi, fit f (x)I Have constraints at f (xi ) = 0 on the curve and at ±1 off it

e.g.,I Simple interior/exterior caseI Control normals to curve

−0.5 0 0.5−1

−0.5

0

0.5Alternative method: parametric surface:x(t), y(t), [z(t)]

I What t to assign to data points?

I How to handle different topologies?

I Can represent non-closedcurves/surfaces

Implicit surface modelling Spline regularization as a Gaussian process GPIS for 2D curves GPIS for 3D surfaces Summary

Topology change

0 0.5 1

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

1.2

−2 0 2

−3

−2

−1

0

1

2

3

Implicit surface modelling Spline regularization as a Gaussian process GPIS for 2D curves GPIS for 3D surfaces Summary

Regularization

Find function passing through constraint points which minimizesthin-plate spline energy

E (f ) =

∫Ω

(∇T∇f (x)

)2dx

Fit f (x) with Gaussian processUse covariance function equivalent to thin-plate spline

Implicit surface modelling Spline regularization as a Gaussian process GPIS for 2D curves GPIS for 3D surfaces Summary

Regularization

Find function passing through constraint points which minimizesthin-plate spline energy

E (f ) =

∫Ω

(∇T∇f (x)

)2dx

Fit f (x) with Gaussian process

Use covariance function equivalent to thin-plate spline

Implicit surface modelling Spline regularization as a Gaussian process GPIS for 2D curves GPIS for 3D surfaces Summary

Regularization

Find function passing through constraint points which minimizesthin-plate spline energy

E (f ) =

∫Ω

(∇T∇f (x)

)2dx

Fit f (x) with Gaussian processUse covariance function equivalent to thin-plate spline

Implicit surface modelling Spline regularization as a Gaussian process GPIS for 2D curves GPIS for 3D surfaces Summary

Gaussian distribution

I Follow derivation in (MacKay 2003) in 1D

I consider the energy as a probability and define D as the lineardifferential operator

E (f ) = − log P(f ) + const =

∫Ω

(D2f (x)

)2dx .

I Use f (Ω) as vector of function values for all points in Ω:

− log P(f (Ω)) = f (Ω)T[D2]TD2f (Ω),

I This is a Gaussian disribution with mean zero and covariance:

C =([D2]TD2

)−1=

(D4

)−1.

Implicit surface modelling Spline regularization as a Gaussian process GPIS for 2D curves GPIS for 3D surfaces Summary

Gaussian distribution

I Follow derivation in (MacKay 2003) in 1D

I consider the energy as a probability and define D as the lineardifferential operator

E (f ) = − log P(f ) + const =

∫Ω

(D2f (x)

)2dx .

I Use f (Ω) as vector of function values for all points in Ω:

− log P(f (Ω)) = f (Ω)T[D2]TD2f (Ω),

I This is a Gaussian disribution with mean zero and covariance:

C =([D2]TD2

)−1=

(D4

)−1.

Implicit surface modelling Spline regularization as a Gaussian process GPIS for 2D curves GPIS for 3D surfaces Summary

Gaussian distribution

I Follow derivation in (MacKay 2003) in 1D

I consider the energy as a probability and define D as the lineardifferential operator

E (f ) = − log P(f ) + const =

∫Ω

(D2f (x)

)2dx .

I Use f (Ω) as vector of function values for all points in Ω:

− log P(f (Ω)) = f (Ω)T[D2]TD2f (Ω),

I This is a Gaussian disribution with mean zero and covariance:

C =([D2]TD2

)−1=

(D4

)−1.

Implicit surface modelling Spline regularization as a Gaussian process GPIS for 2D curves GPIS for 3D surfaces Summary

Gaussian distribution

I Follow derivation in (MacKay 2003) in 1D

I consider the energy as a probability and define D as the lineardifferential operator

E (f ) = − log P(f ) + const =

∫Ω

(D2f (x)

)2dx .

I Use f (Ω) as vector of function values for all points in Ω:

− log P(f (Ω)) = f (Ω)T[D2]TD2f (Ω),

I This is a Gaussian disribution with mean zero and covariance:

C =([D2]TD2

)−1=

(D4

)−1.

Implicit surface modelling Spline regularization as a Gaussian process GPIS for 2D curves GPIS for 3D surfaces Summary

Covariance function

I Entries of C indexed by u, v ∈ Ω∫Ω

D4(u,w)c(w , v) dw = δ(u − v) ⇒ ∂4

∂r4c(r) = δ(r)

where we impose stationarity with r = u − v .

I Interpret as spectral density and solve

F[c(r)

](ω) = ω−4

⇒ c(r) = 16 |r |

3 + a3r3 + a2r

2 + a1r + a0.

Implicit surface modelling Spline regularization as a Gaussian process GPIS for 2D curves GPIS for 3D surfaces Summary

Covariance function

I Entries of C indexed by u, v ∈ Ω∫Ω

D4(u,w)c(w , v) dw = δ(u − v) ⇒ ∂4

∂r4c(r) = δ(r)

where we impose stationarity with r = u − v .

I Interpret as spectral density and solve

F[c(r)

](ω) = ω−4

⇒ c(r) = 16 |r |

3 + a3r3 + a2r

2 + a1r + a0.

Implicit surface modelling Spline regularization as a Gaussian process GPIS for 2D curves GPIS for 3D surfaces Summary

Covariance function

c(r) = 16 |r |

3 + a3r3 + a2r

2 + a1r + a0

Find constants using constraints on c(·)I Symmetry: a3 = a1 = 0

I Postive definiteness: simulate by making c(r) → 0 at ∂Ω

c(r) = 112

(2|r |3 − 3Rr2 + R3

).

where R is the largest magnitude of r within Ω.

Implicit surface modelling Spline regularization as a Gaussian process GPIS for 2D curves GPIS for 3D surfaces Summary

Covariance function

c(r) = 16 |r |

3 + a3r3 + a2r

2 + a1r + a0

Find constants using constraints on c(·)I Symmetry: a3 = a1 = 0

I Postive definiteness: simulate by making c(r) → 0 at ∂Ω

c(r) = 112

(2|r |3 − 3Rr2 + R3

).

where R is the largest magnitude of r within Ω.

Implicit surface modelling Spline regularization as a Gaussian process GPIS for 2D curves GPIS for 3D surfaces Summary

1D regression demonstration

GP predicts function values for set of points U ⊆ Ω

P(f (U)|X ) = Normal (f (U) | µ, Q)

where

µ = CTux(Cxx + σ2I )−1t and Q = Cuu − CT

ux(Cxx + σ2I )−1Cux .

The matrices are formed by evaluating c(·, ·) between sets ofpoints: i.e., Cxx = [c(xi , xj)], Cux = [c(ui , xj)], andCuu = [c(ui , uj)].

Implicit surface modelling Spline regularization as a Gaussian process GPIS for 2D curves GPIS for 3D surfaces Summary

1D regression demonstration

−2 −1 0 1 2−2

−1

0

1

2

−2 −1 0 1 2−2

−1

0

1

2

(a) (b)

Figure: Thin plate vs. squared exponential covariance. Mean (solid

line) and 3 s.d. error bars (filled region) for GP regression (a) Thin-

plate covariance; (b) Squared exponential covariance function c(ui , uj) =

e−α‖ui−uj‖2

with α = 2, 10 and 100; error bars correspond to α = 10.

Implicit surface modelling Spline regularization as a Gaussian process GPIS for 2D curves GPIS for 3D surfaces Summary

Covariance in 2D

I In 2D the Green’s equation is(∇T∇

)2c(r) = δ(r)

where now c(u, v) = c(r) with r , ‖u − v‖.

I Solution (with similar constraints at the boundary of Ω)

c(r) = 2r2 log |r | −(1 + 2 log(R)

)r2 + R2

Implicit surface modelling Spline regularization as a Gaussian process GPIS for 2D curves GPIS for 3D surfaces Summary

Covariance in 2D

I In 2D the Green’s equation is(∇T∇

)2c(r) = δ(r)

where now c(u, v) = c(r) with r , ‖u − v‖.

I Solution (with similar constraints at the boundary of Ω)

c(r) = 2r2 log |r | −(1 + 2 log(R)

)r2 + R2

Implicit surface modelling Spline regularization as a Gaussian process GPIS for 2D curves GPIS for 3D surfaces Summary

Demonstration

I Set constraint points

I

−0.5 0 0.5−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

X : = 0, N = +1,H = −1

Implicit surface modelling Spline regularization as a Gaussian process GPIS for 2D curves GPIS for 3D surfaces Summary

Demonstration

I Set constraint points

I Fit GP to points

−0.5 0 0.5−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

X : = 0, N = +1,H = −1 Mean function

Implicit surface modelling Spline regularization as a Gaussian process GPIS for 2D curves GPIS for 3D surfaces Summary

Probabilistic interpretation

Gaussian process makes probabilistic prediction:

−0.5 0 0.5−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

Samples from posterior

Implicit surface modelling Spline regularization as a Gaussian process GPIS for 2D curves GPIS for 3D surfaces Summary

Probabilistic interpretation

Gaussian process makes probabilistic prediction:

−0.5 0 0.5−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

−1 −0.5 0 0.5 1−1

−0.5

0

0.5

1

Samples from posterior P(x ∈ S0

)≡ P

(f (x) = 0

).

Implicit surface modelling Spline regularization as a Gaussian process GPIS for 2D curves GPIS for 3D surfaces Summary

With different topology

−0.5 0 0.5 1 1.5−0.5

0

0.5

1

1.5

−2 0 2−3

−2

−1

0

1

2

3

Implicit surface modelling Spline regularization as a Gaussian process GPIS for 2D curves GPIS for 3D surfaces Summary

Result with squared exponential

−1 −0.5 0 0.5 1−1

−0.5

0

0.5

1

Implicit surface modelling Spline regularization as a Gaussian process GPIS for 2D curves GPIS for 3D surfaces Summary

Fitting 3D surfaces

In 3D the covariance is

c(r) = 2|r |3 + 3Rr2 + R3

I Take n points on surface of object

I Define internal and external points

I Fit Gaussian process

I Use marching cubes algorithm to find mean surface

Implicit surface modelling Spline regularization as a Gaussian process GPIS for 2D curves GPIS for 3D surfaces Summary

Fitting 3D surfaces

In 3D the covariance is

c(r) = 2|r |3 + 3Rr2 + R3

I Take n points on surface of object

I Define internal and external points

I Fit Gaussian process

I Use marching cubes algorithm to find mean surface

Implicit surface modelling Spline regularization as a Gaussian process GPIS for 2D curves GPIS for 3D surfaces Summary

Fitting 3D surfaces

In 3D the covariance is

c(r) = 2|r |3 + 3Rr2 + R3

I Take n points on surface of object

I Define internal and external points

I Fit Gaussian process

I Use marching cubes algorithm to find mean surface

Implicit surface modelling Spline regularization as a Gaussian process GPIS for 2D curves GPIS for 3D surfaces Summary

Fitting 3D surfaces

In 3D the covariance is

c(r) = 2|r |3 + 3Rr2 + R3

I Take n points on surface of object

I Define internal and external points

I Fit Gaussian process

I Use marching cubes algorithm to find mean surface

Implicit surface modelling Spline regularization as a Gaussian process GPIS for 2D curves GPIS for 3D surfaces Summary

Fitting 3D surfaces

In 3D the covariance is

c(r) = 2|r |3 + 3Rr2 + R3

I Take n points on surface of object

I Define internal and external points

I Fit Gaussian process

I Use marching cubes algorithm to find mean surface

Implicit surface modelling Spline regularization as a Gaussian process GPIS for 2D curves GPIS for 3D surfaces Summary

(a) (b)

Figure: 3D surfaces. Mean surfaces µ(x) = 0 when x ∈ R3, rendered

as an high resolution polygonal mesh generated by the marching cubes

algorithm. (a) A simple “blob” defined by 15 points on the surface, one

interior +1 point and 8 exterior -1 points arranged as a cube; (b) Two

views of the Stanford bunny defined by 800 surface points, one interior +1

point, and a sphere of 80 exterior -1 points.

Implicit surface modelling Spline regularization as a Gaussian process GPIS for 2D curves GPIS for 3D surfaces Summary

Summary

I Gaussian processes can be used to define curves and surfaces

I Appropriate covariance must be used to obtain high qualityresults

I By using a GPIS, curves and surfaces have a meaningfulprobabilistic interpretation

Shortcomings / ideas for future work:

I Exploit probabilistic nature of GPIS in computer visionproblems

I More elegant methods for constraining surface normals?

I Can this be used to learn a meaningful prior?

I Scale/smoothness control?

Implicit surface modelling Spline regularization as a Gaussian process GPIS for 2D curves GPIS for 3D surfaces Summary

Summary

I Gaussian processes can be used to define curves and surfaces

I Appropriate covariance must be used to obtain high qualityresults

I By using a GPIS, curves and surfaces have a meaningfulprobabilistic interpretation

Shortcomings / ideas for future work:

I Exploit probabilistic nature of GPIS in computer visionproblems

I More elegant methods for constraining surface normals?

I Can this be used to learn a meaningful prior?

I Scale/smoothness control?

Implicit surface modelling Spline regularization as a Gaussian process GPIS for 2D curves GPIS for 3D surfaces Summary

Summary

I Gaussian processes can be used to define curves and surfaces

I Appropriate covariance must be used to obtain high qualityresults

I By using a GPIS, curves and surfaces have a meaningfulprobabilistic interpretation

Shortcomings / ideas for future work:

I Exploit probabilistic nature of GPIS in computer visionproblems

I More elegant methods for constraining surface normals?

I Can this be used to learn a meaningful prior?

I Scale/smoothness control?

Implicit surface modelling Spline regularization as a Gaussian process GPIS for 2D curves GPIS for 3D surfaces Summary

Summary

I Gaussian processes can be used to define curves and surfaces

I Appropriate covariance must be used to obtain high qualityresults

I By using a GPIS, curves and surfaces have a meaningfulprobabilistic interpretation

Shortcomings / ideas for future work:

I Exploit probabilistic nature of GPIS in computer visionproblems

I More elegant methods for constraining surface normals?

I Can this be used to learn a meaningful prior?

I Scale/smoothness control?