an efficient multigrid solver for (evolving) poisson systems on meshes
DESCRIPTION
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. Motivation. Gradient-Domain Image Processing - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: An Efficient Multigrid Solver for (Evolving) Poisson Systems on Meshes](https://reader036.vdocuments.site/reader036/viewer/2022081420/568132e6550346895d99a1d6/html5/thumbnails/1.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081420/568132e6550346895d99a1d6/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081420/568132e6550346895d99a1d6/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081420/568132e6550346895d99a1d6/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081420/568132e6550346895d99a1d6/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081420/568132e6550346895d99a1d6/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081420/568132e6550346895d99a1d6/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081420/568132e6550346895d99a1d6/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081420/568132e6550346895d99a1d6/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081420/568132e6550346895d99a1d6/html5/thumbnails/10.jpg)
Approach
Impose regular structure by restricting functions defined on a regular grid.
![Page 11: An Efficient Multigrid Solver for (Evolving) Poisson Systems on Meshes](https://reader036.vdocuments.site/reader036/viewer/2022081420/568132e6550346895d99a1d6/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081420/568132e6550346895d99a1d6/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081420/568132e6550346895d99a1d6/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081420/568132e6550346895d99a1d6/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081420/568132e6550346895d99a1d6/html5/thumbnails/15.jpg)
Grid-Based Finite Elements
Advantages:1. Supports multigrid2. Tessellation independent
![Page 16: An Efficient Multigrid Solver for (Evolving) Poisson Systems on Meshes](https://reader036.vdocuments.site/reader036/viewer/2022081420/568132e6550346895d99a1d6/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081420/568132e6550346895d99a1d6/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081420/568132e6550346895d99a1d6/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081420/568132e6550346895d99a1d6/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081420/568132e6550346895d99a1d6/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081420/568132e6550346895d99a1d6/html5/thumbnails/21.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081420/568132e6550346895d99a1d6/html5/thumbnails/22.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081420/568132e6550346895d99a1d6/html5/thumbnails/23.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081420/568132e6550346895d99a1d6/html5/thumbnails/24.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081420/568132e6550346895d99a1d6/html5/thumbnails/25.jpg)
GoalSharpen the detail in a texture.
Texture Processing (2)
![Page 26: An Efficient Multigrid Solver for (Evolving) Poisson Systems on Meshes](https://reader036.vdocuments.site/reader036/viewer/2022081420/568132e6550346895d99a1d6/html5/thumbnails/26.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081420/568132e6550346895d99a1d6/html5/thumbnails/27.jpg)
GoalSharpen the detail in the geometry itself.
Geometry Processing
![Page 28: An Efficient Multigrid Solver for (Evolving) Poisson Systems on Meshes](https://reader036.vdocuments.site/reader036/viewer/2022081420/568132e6550346895d99a1d6/html5/thumbnails/28.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081420/568132e6550346895d99a1d6/html5/thumbnails/29.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081420/568132e6550346895d99a1d6/html5/thumbnails/30.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081420/568132e6550346895d99a1d6/html5/thumbnails/31.jpg)
ApproachEvolve the finite-elements with the surface.
Surface Evolution
![Page 32: An Efficient Multigrid Solver for (Evolving) Poisson Systems on Meshes](https://reader036.vdocuments.site/reader036/viewer/2022081420/568132e6550346895d99a1d6/html5/thumbnails/32.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081420/568132e6550346895d99a1d6/html5/thumbnails/33.jpg)
Outline
• Introduction• Approach• Applications• Limitations• Conclusion
![Page 34: An Efficient Multigrid Solver for (Evolving) Poisson Systems on Meshes](https://reader036.vdocuments.site/reader036/viewer/2022081420/568132e6550346895d99a1d6/html5/thumbnails/34.jpg)
Limitations
• Euclidean vs. Geodesic proximity• Poor Conditioning
![Page 35: An Efficient Multigrid Solver for (Evolving) Poisson Systems on Meshes](https://reader036.vdocuments.site/reader036/viewer/2022081420/568132e6550346895d99a1d6/html5/thumbnails/35.jpg)
Limitations
• Euclidean vs. Geodesic proximity• Poor Conditioning
![Page 36: An Efficient Multigrid Solver for (Evolving) Poisson Systems on Meshes](https://reader036.vdocuments.site/reader036/viewer/2022081420/568132e6550346895d99a1d6/html5/thumbnails/36.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081420/568132e6550346895d99a1d6/html5/thumbnails/37.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022081420/568132e6550346895d99a1d6/html5/thumbnails/38.jpg)
Thank You!