Mesh Smoothing 1
Mesh Processing Pipeline... Scan Reconstruct Clean Remesh 2
Mesh Quality Visual inspection of sensitive attributes Specular shading Flat Shading Gouraud Shading Phong Shading 3
Mesh Quality Visual inspection of sensitive attributes Specular shading 4
Mesh Quality Visual inspection of sensitive attributes Specular shading Reflection lines 5
Mesh Quality Visual inspection of sensitive attributes Specular shading Reflection lines differentiability one order lower than surface can be efficiently computed using graphics hardware 6
Mesh Quality Visual inspection of sensitive attributes Specular shading Reflection lines Curvature Mean curvature 7
Mesh Quality Visual inspection of sensitive attributes Specular shading Reflection lines Curvature Mean curvature Gaussian curvature 8
Motivation Filter out high frequency noise 9
Mesh Smoothing (aka Denoising, Filtering, Fairing) Input: Noisy mesh (scanned or other) Output: Smooth mesh How: Filter out high frequency noise 10
Laplacian Smoothing An easier problem: How to smooth a curve? p i = (x i, y i ) p i-1 p i+1 (p i-1 + p i+1 )/2- p i 15
Laplacian Smoothing An easier problem: How to smooth a curve? p i = (x i, y i ) p i-1 p i+1 Finite difference discretization of second derivative = Laplace operator in one dimension 16
Laplacian Smoothing Algorithm: Repeat for m iterations (for non boundary points): For which? 0 < < 1 Closed curve converges to? Single point 17
Laplacian Smoothing on Meshes Same as for curves: N i = {k,l,m,n} p i = (x i, y i, z i ) What is p i? p m p l p n p k 22
Laplacian Smoothing on Meshes 0 Iterations 5 Iterations 20 Iterations 23
Problem - Shrinkage Repeated iterations of Laplacian smoothing shrinks the mesh original 3 steps 6 steps 18 steps original 24
Taubin Smoothing Iterate: with > 0 and < 0 Shrink Inflate original 10 steps 50 steps 200 steps From Taubin, Siggraph 1995 25
Laplacian Smoothing p i = mean curvature normal mean curvature flow 27
Laplace Operator Discretization The Problem Sanity check what should happen if the mesh lies in the plane: p i = (x i, y i, 0)? 0 Iterations 5 Iterations 28
Laplace Operator Discretization The Problem Not good A flat mesh is smooth, should stay the same after smoothing 0 Iterations 5 Iterations 29
Laplace Operator Discretization The Problem Not good The result should not depend on triangle sizes From Desbrun et al., Siggraph 1999 30
Laplace Operator Discretization What Went Wrong? Back to curves: p i-1 p i p i+1 Same weight for both neighbors, although one is closer 31
Laplace Operator Discretization The Solution Use a weighted average to define Which weights? p j l ij p i l ik p k Straight curves will be invariant to smoothing 32
Laplace Operator Discretiztion Cotangent Weights Use a weighted average to define N i = {k,l,m,n} Which weights?? p i p i l p i ij p j l ij p j p m p l h 2 p n h 1 p k 33
Laplace Operator Discretiztion Cotangent Weights Use a weighted average to define Which weights? N i = {k,l,m,n} p i p i p j p m p l α ij β ij p n w h + h 1 2 ij ij 1 ij = = cot ij + cot ij lij 2 ( a b ) p k Planar meshes will be invariant to smoothing 34
Smoothing with the Cotangent Laplacian normal and tangential movement normal movement original Uniform weights Cotangent weights From Desbrun et al., Siggraph 1999 35
Geometry Filtering Demo: http://alice.loria.fr/index.php/software/9-demo/39-manifold-harmonics-demo.html From Vallet et al., Eurographics 2008 40
Surface Fairing Find surfaces which are as smooth as possible Applications Smooth blends Hole filling 41
Fairness Idea: Penalize unaesthetic behavior Measure fairness Principle of the simplest shape Physical interpretation Minimize some fairness functional Surface area, curvature Membrane energy, thin plate energy 42
Energy Functionals Membrane Surface Thin Plate Surface Minimum Variation Surface 43
Non-Linear Energies Membrane energy (surface area) Thin-plate energy (curvature) Too complex... simplify energies 44
Membrane Surfaces Linearized Energy Surface parameterization Membrane energy (surface area) Variational calculus 45
Thin-Plate Surfaces Linearized Energy Surface parameterization Thin-plate energy (curvature) Variational calculus 46
Fair Surfaces Membrane Thin Plate Demo Minimal Curvature Variation 47