Geometric Modeling and Processing Tutorial of 3DIM&PVT 2011 (Hangzhou, China) May 16, 2011
4. Geometric Registration
4.1 Rigid Registration
Range Scanning: Reconstruction Set of raw scans Reconstructed model
Scanned Pieces
Registration (Alignment) Problem
Formulation Find the optimal rigid transformation (rotation and translation):
ICP (Iterated Closest Point) Step 1: Build a set of corresponding points Step 2: Align corresponding points Step 3: Iterate
ICP (Iterated Closest Point) Dense correspondence sets Converges if starting positions are close enough
Basic ICP
ICP Variants Weighting the correspondences Rejecting certain (outlier) point pairs Adaptive sampling
Performance of ICP Solving the correspondence problem Minimizing point-to-surface squared distance
About ICP ICP is like (Gauss-) Newton method on an approximation of the distance function ICP variants affect shape of global error function or local approximation
Questions?
4.2 Non-Rigid Registration
Two Scanned Frames of Dynamic Objects Frame n Frame n+1
Initial Alignment
Deformation and Occlusion
No Explicit Prior Knowledge No knowledge about Full 3D model Correspondences Regions of overlap
Goal: Automatic Local Registration
Deformable Shape Matching What is the problem? Settings: We have two or more shapes The same object, but deformed Question: What point correspond?
Chicken&Egg Dilemma Correspondence Region of Overlap Deformation But, solve with a single optimization problem!
Embedded Deformation
See more: Eurographics 2010 tutorial: Geometric Registration for Deformable Shapes Eurographics 2011 tutorial: Computing Correspondences in Geometric Datasets Hot topics!
Questions?
5. Mesh Smoothing (Denoising)
Noise on Meshes Meshes obtained from real world objects are often noisy. From range image of Stanford Bunny Angel model from shadow scanning
Mesh Smoothing is Required Mesh Smoothing
In the Literature Fast Mesh Smoothing Taubin 1995 Feature Preserving Clarenz et al. 2000; Desbrun et al. 2000; Meyer et al. 2002; Zhang and Fiume 2002; Bajaj and Xu 2003 Diffusion on Normal Field Taubin 2001; Belyaev and Ohtake 2001; Ohtake et al. 2002; Tasdizen et al. 2002 Wiener Filtering of Meshes Peng et al. 2001; Alexa 2002; Pauly and Gross 2001 (points) Bilateral filtering Choudhury and Tumblin 2003, Jones et al. 2003, Fleishman et al. 2005 Global Smoothing Desbrun et al. 1999, Ji et al. 2005
But What is noise on a surface? Small bumps on the surface High-frequent tiny parts on the surface NO accurate math definition! How to detect the noise? High curvature parts High fairing energy parts
How to denoise? Eliminate high frequency Preserve global features + = filter
Other Terminologies Mesh denoising Mesh filtering Surface fairing Mesh improvement Quality metrics
Mesh Smoothing Moving mesh vertices Without changing connectivity Reduce curvature variation Used to Reduce noise Improve mesh triangle shape
Smoothing Can apply not only to positions but also to any property assigned to vertices Curvature, normals, physical properties (color, texture),... Small number of iterations Shrinkage problem
General Smoothing Procedure Shape evolution P t F (P) P new P old t F ( Pold) t
Explicit and Implicit Mesh Evolutions (P) t P F Shape evolution scheme implicit ) ( scheme explicit ) ( 1 1 1 n n n n n n M M M M M M L L M n M n I 1 ( L)
5.1 Laplace Smoothing
Laplacian Smoothing Flow P new P old L ( Pold) Average of the vectors to neighboring vertices L Pold Move each vertex Pold Pnew L Q k1 Q k Median direction Q k1
Umbrella Operator Umbrella operator L P 1 n PQ Weighted umbrella operator L w P 1 w Squared umbrella operator i n n 1 n n i i1 i1 w PQ 1 w Q i i i1 i i1 n 2 w i i i i 1 n i 1 L P w L( Q ) L( P) w P w Q i i P
Laplacian Smoothing P new P old L P old Equivalent to box filter in signal processing Apply to all vertices on mesh Typically repeat several times Can describe as energy minimization Energy = sum of squared edge lengths in mesh Parameter controls convergence "speed" 0
Laplacian Smoothing Example
Problem of Over-smoothing How to find appropriate and number of iterations Noisy Best Over-smoothing Iterations
Properties of Laplacian Flow Increases mesh regularity Develops unnatural deformations High density sampling Low density sampling
Improved by Mean Curvature Flow Increases mesh irregularity. Doesn t develop unnatural deformations High density sampling Low density sampling
5.2 Normal based Smoothing An Image Processing Approach
An Image Processing Approach Smooth mesh normals Reconstruct smoothed mesh from new normals Smoothing normals Reconstruction from mesh normals
An Image Processing Approach Reconstruction from smoothed normals E ( M ) area( T) n( T) m( T) fit all trianglest 2 E fit ( M ) min
5.3 Global Laplacian Smoothing
Smoothing Problem Mathematically Find a smoothed surface with minimum fairing energy S Fairing energy: S '
Approach Smooth Global S Global Laplacian operator Global shape preservation Non-iterative Feature preserving S '
Smoothing Problem A global optimization problem Minimize smoothness energy within some tolerance min ES ( ) A mathematical model E( S) ( S) dudv ( S S) dudv S Smoothness term membrane, thin-plate Fidelity term
Local Lapacian Fairness Local discrete Laplacian smoothing operator v i v i L( v ) v v 0 i i ij j jn () i d cotangent : w ij = cot ij + cot ij
Laplacian of Mesh Discrete Laplacians L x = 0 L( v ) v v 0 i i ij j jn () i 1, i j, Lij ij, ( i, j) E, 0, other. Laplacian of the mesh
Laplacian of Mesh Surface reconstruction L x 0 L x = 0 y 0 L z 0 L( v ) v v 0 i i ij j jn () i
Properties of Laplacian 1 2 3 v v v 0 0 0 L Rank(L) = n-k k is the number of connected components of the mesh Need to add some constraints
Vertex Constraints Add position constraint for one vertex L x L y = 0 L z fix 1 1 1 c 1
Vertex Constraints Add position constraints for more vertices L x L y = 0 L z fix fix 1 1 1 c 1 1 1 1 c 2
Adding Vertex Constraints 2 2 min{ LX v i vi } X ic 2 Ax b
Least Square Solution An over-determined system: A x = b Normal equation: A T A x = x = A T b (A T A) -1 A T b
Results 8 -like mesh model 3070 vertices, 6144 triangles
Results Venus head model 134359 vertices, 268714 triangles
LoD Smoothing Applying our algorithm to the bunny model with different parameters.
Conclusion A new smoothing framework Global Laplacian operator Non-iterative Feature preserving Vertex constraints Face constraints Other linear constraints
Many Problems Remain Mesh smoothing remains to be an active research area Scanned mesh Photo Smoothed mesh
Questions?