Smoothing 3D Meshes using Markov Random Fields Vedrana Andersen
Overview Aim: To investigate the use of Markov Random Fields (MRF) for formulating priors on 3D surfaces represented as triangle meshes Focus on: Mesh smoothing, feature-preserving mesh smoothing (preserving surface ridges) Vertex process and edge process
MRF THEORY Markov Random Fields Random fields, sites, labels, labeling Markov Random Fields, Markovianity, neighborhood system and cliques Markov-Gibbs equivalence Gibbs Random Fields (Gibbs distribution)
MESH SMOOTHING Smoothness Prior Mesh smoothing: sites – vertices, labels – spatial positions of vertices Absolute mean curvature: dihedral angle and edge length Potential of the smoothness prior
MESH SMOOTHING Smoothness Prior Potential assigned to all 4-cliques of vertices
MRF THEORY MAP-MRF Labeling Maximum a-posteriori solution Bayes rule In terms of energy
MESH SMOOTHING Likelihood Function Input mesh – underlying surface corrupted by noise Noise: isotropic Gaussian Likelihood energy
MESH SMOOTHING Optimization Metropolis sampler with simulated annealing Sampling – new candidate positions Metropolis criterion Cooling scheme
MESH SMOOTHING Optimization Optimization parameters: Sampling step size Initial temperature and annealing constant Modeling parameter: Weight of the data term
MESH SMOOTHING Results 10x10x10 cube corrupted with Gaussian noise (σ=0.3 average edge length) Very slow cooling, 500 iterations, (Fig. 7.3)
MESH SMOOTHING Results Monitoring the potentials and the number of updates over time
MESH SMOOTHING Results Smoothing with a zero temperature, 100 iterations, (Fig. 7.5)
MESH SMOOTHING Discussion Convergence, monitoring Sensitive to the size of the sampling step Optimization? Annealing? What is a smooth mesh?
MESH SMOOTHING Alternative Formulations Original formulation – dihedral angles and edge lengths Quadratic and square-root potentials
MESH SMOOTHING Alternative Formulations Angle based potential – indifferent Quadratic – over-smoothing Square root – feature preserving
MESH SMOOTHING Alternative Formulations Results of using curvature-based, quadratic and square-root potential, 300 iterations (Fig. 7.15)
MESH SMOOTHING Alternative Formulations Feature preserving – thresholded smoothness potential, implicit edge labeling Conclusion: Control achieved by the choice of the smoothness potential
FEATURE DETECTION Edge Labeling Detecting feature edges – ridges of the underlying surface Idea: To use edge labels as weights for smoothing process Based on: edge sharpness, neighborhood support.
FEATURE DETECTION Edge Labeling continuous or discrete, deterministic or stochastic.
FEATURE DETECTION Ridge Sharpness Sharpness threshold Ф0 Deterministic case: thresholding, cut-off function.
FEATURE DETECTION Ridge Sharpness Stochastic case (MRF framework, assigning sharpness potential to 1-edge cliques of edges): linear potential alternative: difference from cut-off function
FEATURE DETECTION Neighborhood Support Support threshold θ0 Idea: Presence of sharp edges in the neighborhood influences labeling
FEATURE DETECTION Neighborhood Support Stochastic case discrete linear formulation alternative: penalizing label differences along a line
FEATURE DETECTION Edge Labeling Results Labeling edges of the fandisk model, (Fig. 9.2)
FEATURE DETECTION Two Questions Neighborhood support – does it help? If not, edge sharpness – is it needed? Relevant for coupled models
FEATURE-PRESERVING MESH SMOOTHING Coupled Model Using edge labels as weights Potentials contributing to the total posterior energy: smoothness, likelihood, edge labeling (sharpness and neighborhood support)
FEATURE-PRESERVING MESH SMOOTHING Coupled Model Minimizing total posterior energy, or… Alternating between vertex process and edge process Independent cooling schemes Ordering of vertex and edge process
FEATURE-PRESERVING MESH SMOOTHING Results Smoothing the noisy cube, noise 0.2 average edge length, (Fig. 11.5)
FEATURE-PRESERVING MESH SMOOTHING Results Reconstructing the fandisk model, noise 0.2 average edge length, (Fig. 11.7)
FEATURE-PRESERVING MESH SMOOTHING Discusion Two questions revisited: Neighborhood support? Edge labeling? Control vs. automation
FEATURE-PRESERVING MESH SMOOTHING Possible Improvements Sampling (shape, adaptive step) Optimization (deterministic?) Larger neighborhood for edge labeling Surface to surface smoothing Mesh optimization Future work: Piecewise-quadratic surfaces
Thank you!