an efficient multigrid solver for (evolving) poisson systems on meshes misha kazhdan johns hopkins...

38
An Efficient Multigrid Solver for (Evolving) Poisson Systems on Meshes Misha Kazhdan Johns Hopkins University

Upload: kenneth-adams

Post on 16-Dec-2015

223 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: An Efficient Multigrid Solver for (Evolving) Poisson Systems on Meshes Misha Kazhdan Johns Hopkins University

An Efficient Multigrid Solver for(Evolving) Poisson Systems on Meshes

Misha KazhdanJohns Hopkins University

Page 2: An Efficient Multigrid Solver for (Evolving) Poisson Systems on Meshes Misha Kazhdan Johns Hopkins University

Motivation

Image Stitching–Compute image gradients–Set seam-crossing gradients to zero–Fit image to the new gradient field

Page 3: An Efficient Multigrid Solver for (Evolving) Poisson Systems on Meshes Misha Kazhdan Johns Hopkins University

Motivation

Gradient-Domain Image ProcessingSolving for the scalar field u whose gradients best match the vector field amounts to solving a Poisson system:

gu

This approach is popular in image-processing because multigrid makes solving the system

simple and fast.Can the analog on meshes also be made easy to implement?

Page 4: An Efficient Multigrid Solver for (Evolving) Poisson Systems on Meshes Misha Kazhdan Johns Hopkins University

Outlook

Two related challenges:1. How to define the Laplace-Beltrami operator.2. How to implement a hierarchical solver.

Page 5: An Efficient Multigrid Solver for (Evolving) Poisson Systems on Meshes Misha Kazhdan Johns Hopkins University

Defining the System

Finite Elements (Galerkin)Define a set of test functions {b1,…,bn} and discretize the problem:

if appropriate boundary conditions are met.

fu

ii bfbu ,,

ii bfbu ,,

When n test functions are used, this results in an nxn system:

where L is the Laplacian matrix:

and y is the constraint vector:

jiij bbL ,

yLx

ii bfy ,

Page 6: An Efficient Multigrid Solver for (Evolving) Poisson Systems on Meshes Misha Kazhdan Johns Hopkins University

Solving the System

Multigrid Solvers–Relax the system at the finest resolution–Down-sample the residual–Solve at the coarser resolution–Up-sample the coarse correction–Relax the system at the finest resolution

Relax

Solve

Down-Sample

Up-Sample

Relax

Page 7: An Efficient Multigrid Solver for (Evolving) Poisson Systems on Meshes Misha Kazhdan Johns Hopkins University

Solving the System

Multigrid Solvers–Relax the system at the finest resolution–Down-sample the residual–Solve at the coarser resolution–Up-sample the coarse correction–Relax the system at the finest resolution

Relaxation: Gauss-SeidelSolver: Recurse/direct-solveUp/Down-Sampling: ???

Relax

Solve

Down-Sample

Up-Sample

Relax

Page 8: An Efficient Multigrid Solver for (Evolving) Poisson Systems on Meshes Misha Kazhdan Johns Hopkins University

Defining the System (Meshes)

Associate a function with each vertex and use the span to define a function space.

pi-1

pi

pi+1

bi(p)

pi

pj

pk

bi(p)

otherwise0

kji

kji

kjpppp

ppp

ppp

)( pbi

otherwise0

11

1ii

ii

i ppppp

pp

)( pbi

When the bi(p) are hat functions, we get the cotangent-weight Laplacian:

otherwise0

)(cotcot

)(

jiL

iNj

LiNkikij

Page 9: An Efficient Multigrid Solver for (Evolving) Poisson Systems on Meshes Misha Kazhdan Johns Hopkins University

Up/Down-Sampling (Meshes)

Define a coarser surface/graph and amapping from the coarser topologyinto the finer:

–Geometric Multigrid[Kobbelt et al., 1998] [Ray and Lévy, 2003][Aksolyu et al., 2005] [Ni et al., 2004]

–Algebraic Multigrid[Ruge and Stueben, 1987] [Cleary et al., 2000][Brezina et al., 2000] [Chartier et al. 2003][Shi et al., 2006]

Page 10: An Efficient Multigrid Solver for (Evolving) Poisson Systems on Meshes Misha Kazhdan Johns Hopkins University

Approach

Impose regular structure by restricting functions defined on a regular grid.

Page 11: An Efficient Multigrid Solver for (Evolving) Poisson Systems on Meshes Misha Kazhdan Johns Hopkins University

Defining the System (Regular Grids)

In one dimension, use translates of B-splines:

In higher dimensions, usetranslates of tensor-products:

b(x)bi-1(x) bi(x) bi+1(x) ……

1-1

bi(x)

bj(y)

)()(),( ybxbyxb jiij (i,j)

Page 12: An Efficient Multigrid Solver for (Evolving) Poisson Systems on Meshes Misha Kazhdan Johns Hopkins University

Up/Down-Sampling (Regular Grids)

1/2

1

1/2

4/

121

242

121

Use the fact that the B-splines nest, so that coarser elements can be expressed as linear combinations of finer elements:

Page 13: An Efficient Multigrid Solver for (Evolving) Poisson Systems on Meshes Misha Kazhdan Johns Hopkins University

Grid-Based Finite Elements

Define a function space by considering the restriction of regular B-splines to the surface.

Page 14: An Efficient Multigrid Solver for (Evolving) Poisson Systems on Meshes Misha Kazhdan Johns Hopkins University

Grid-Based Finite Elements

Advantages:1. Supports multigrid

Relax

Solve

Down-Sample

Up-Sample

Relax

Page 15: An Efficient Multigrid Solver for (Evolving) Poisson Systems on Meshes Misha Kazhdan Johns Hopkins University

Grid-Based Finite Elements

Advantages:1. Supports multigrid2. Tessellation independent

Page 16: An Efficient Multigrid Solver for (Evolving) Poisson Systems on Meshes Misha Kazhdan Johns Hopkins University

Grid-Based Finite Elements

Advantages:1. Supports multigrid 2. Tessellation independent3. Controllable dimension

Page 17: An Efficient Multigrid Solver for (Evolving) Poisson Systems on Meshes Misha Kazhdan Johns Hopkins University

Grid-Based Finite Elements

Advantages:1. Supports multigrid 2. Tessellation independent3. Controllable dimension4. Supports streaming/parallelization

Thre

ad 1

Thre

ad 2

Page 18: An Efficient Multigrid Solver for (Evolving) Poisson Systems on Meshes Misha Kazhdan Johns Hopkins University

System Coefficients

Defining the SystemGiven functions {b1,…,bn} defined on a regular grid, we define the coefficients of the Laplace-Beltrami operator as integrals of gradients:

M

jMiMij dppbpbL )(),(

Page 19: An Efficient Multigrid Solver for (Evolving) Poisson Systems on Meshes Misha Kazhdan Johns Hopkins University

System Coefficients

Defining the SystemGiven functions {b1,…,bn} defined on a regular grid, we define the coefficients of the Laplace-Beltrami operator as integrals of gradients:

Split triangles togrid cells and usequadrature rulesto integrate.

k

kjMkiMkij pbpbwL )(),(

Page 20: An Efficient Multigrid Solver for (Evolving) Poisson Systems on Meshes Misha Kazhdan Johns Hopkins University

Outline

• Introduction• Approach• Applications– Texture processing– Geometry processing– Surface Evolution

• Limitations• Future Work

Page 21: An Efficient Multigrid Solver for (Evolving) Poisson Systems on Meshes Misha Kazhdan Johns Hopkins University

GoalGiven a base mesh and a set of scans, generate a seamless texture on the mesh.

Texture Processing (1)

S1

S2S3

S4

S5 M

Page 22: An Efficient Multigrid Solver for (Evolving) Poisson Systems on Meshes Misha Kazhdan Johns Hopkins University

GoalGiven a base mesh and a set of scans, generate a seamless texture on the mesh.

Texture Processing (1)

Back-project surface points onto the scans and use data from the closest, consistent scan.

S1

S2S3

S4

S5 M

Page 23: An Efficient Multigrid Solver for (Evolving) Poisson Systems on Meshes Misha Kazhdan Johns Hopkins University

ChallengePulling colors from the nearest scan results in a discontinuous texture.

Texture Processing (1)

pS pi )(

S1

S2S3

S4

S5 M

Page 24: An Efficient Multigrid Solver for (Evolving) Poisson Systems on Meshes Misha Kazhdan Johns Hopkins University

SolutionPulling gradients and integrating gives seamless textures (which are smooth in undefined areas).

Texture Processing (1)

pSf piMMMf

)(:

minarg R

S1

S2S3

S4

S5 M

Page 25: An Efficient Multigrid Solver for (Evolving) Poisson Systems on Meshes Misha Kazhdan Johns Hopkins University

GoalSharpen the detail in a texture.

Texture Processing (2)

Page 26: An Efficient Multigrid Solver for (Evolving) Poisson Systems on Meshes Misha Kazhdan Johns Hopkins University

SolutionFormulate as gradient amplification and solve the associated Poisson equation:

Texture Processing (2)

1 ,minarg22

:

ffff M

oldM

old

Mf R

Page 27: An Efficient Multigrid Solver for (Evolving) Poisson Systems on Meshes Misha Kazhdan Johns Hopkins University

GoalSharpen the detail in the geometry itself.

Geometry Processing

Page 28: An Efficient Multigrid Solver for (Evolving) Poisson Systems on Meshes Misha Kazhdan Johns Hopkins University

SolutionLike texture sharpening, but use the embedding as the signal:

Geometry Processing

1 ,minarg22

: 3

Mold

Mold

M RDemo

Page 29: An Efficient Multigrid Solver for (Evolving) Poisson Systems on Meshes Misha Kazhdan Johns Hopkins University

GoalEvolve a surface using Laplacian flow:

Surface Evolution

ttt

dt

d

ttt 1

Page 30: An Efficient Multigrid Solver for (Evolving) Poisson Systems on Meshes Misha Kazhdan Johns Hopkins University

ChallengeAs the surface evolves, the Laplacian changes.• Computing the new finite-elements is too

expensive.

Surface Evolution

Page 31: An Efficient Multigrid Solver for (Evolving) Poisson Systems on Meshes Misha Kazhdan Johns Hopkins University

ApproachEvolve the finite-elements with the surface.

Surface Evolution

Page 32: An Efficient Multigrid Solver for (Evolving) Poisson Systems on Meshes Misha Kazhdan Johns Hopkins University

ApproachEvolve the finite-elements with the surface.Update the quadrature information by using the differential of the embedding:

Surface Evolution

k

kjMkiMkij pbpbwL )(),(

)(),()(),(

)(det1

kjT

kikjki

kT

k

pbddpbpbpb

pddw

Demo

Page 33: An Efficient Multigrid Solver for (Evolving) Poisson Systems on Meshes Misha Kazhdan Johns Hopkins University

Outline

• Introduction• Approach• Applications• Limitations• Conclusion

Page 34: An Efficient Multigrid Solver for (Evolving) Poisson Systems on Meshes Misha Kazhdan Johns Hopkins University

Limitations

• Euclidean vs. Geodesic proximity• Poor Conditioning

Page 35: An Efficient Multigrid Solver for (Evolving) Poisson Systems on Meshes Misha Kazhdan Johns Hopkins University

Limitations

• Euclidean vs. Geodesic proximity• Poor Conditioning

Page 36: An Efficient Multigrid Solver for (Evolving) Poisson Systems on Meshes Misha Kazhdan Johns Hopkins University

Conclusion

Defined an FEM system over a regular grid:– Multigrid solver– Tessellation independent– Low-res w/o mesh simplification– Streaming/parallel implementation

Page 37: An Efficient Multigrid Solver for (Evolving) Poisson Systems on Meshes Misha Kazhdan Johns Hopkins University

Conclusion

Defined an FEM system over a regular grid:– Multigrid solver– Tessellation independent– Low-res w/o mesh simplification– Streaming/parallel implementation

Applications:– Signal/Geometry Processing– Surface evolution

Page 38: An Efficient Multigrid Solver for (Evolving) Poisson Systems on Meshes Misha Kazhdan Johns Hopkins University

Thank You!