Smoothing

Both Laplacian smoothing and Taubin smoothing1 2 are smoothing operations that adjust the positions of the nodes in a finite element mesh.

Laplacian smoothing, based on the Laplacian operator, computes the average position of a point's neighbors and moves the point toward the average. This reduces high-frequency noise, but can result in a loss of shape and detail, with overall shrinkage.

Taubin smoothing is an extension of Laplacian smoothing that seeks to overcome the shrinkage drawback associated with the Laplacian approach. Taubin is a two-pass approach. The first pass smooths the mesh. The second pass re-expands the mesh.

Laplacian Smoothing

Consider a subject node with position . The subject node connects to neighbor points for $i \in [1, n]$ through edges.

For concereteness, consider a node with four neighbors, shown in the figure below.

node_p_q

Figure: The subject node with edge connections (dotted lines) to neighbor nodes with $i \in [1, n]$ (withouth loss of generality, the specific example of is shown). The average position of all neighbors of is denoted , and the gap (dashed line) originates at and terminates at .

Define as the average position of all neighbors of ,

Define the gap vector as originating at and terminating at (viz., ),

Let be the positive scaling factor for the gap .

Since

subdivision of this relationship into several substeps gives rise to an iterative approach. We typically select $\lambda < 1$ to avoid overshoot of the update, .

At iteration , we update the position of by an amount to as

with

Thus

and finally

The formulation above, based on the average position of the neighbors, is a special case of the more generalized presentation of Laplace smoothing, wherein a normalized weighting factor, , is used:

.

When all weights are equal and normalized by the number of neighbors, , the special case presented in the box above is recovered.

Example

For a 1D configuration, consider a node with initial position with two neighbors (that never move) with positions and (). With , the table below shows updates for for position .

Table: Iteration updates of a 1D example.

00.51.5-1-0.3
10.51.2-0.7-0.21
20.50.99-0.49-0.147
30.50.843-0.343-0.1029
40.50.7401-0.2401-0.07203
50.50.66807-0.16807-0.050421
60.50.617649-0.117649-0.0352947
70.50.5823543-0.0823543-0.02470629
80.50.55764801-0.05764801-0.017294403
90.50.540353607-0.040353607-0.012106082
100.50.528247525-0.028247525-0.008474257

laplace_smoothing.png

Figure: Convergence of position toward as a function of iteration .

Taubin Smoothing

Taubin smoothing is a two-parameter, two-pass iterative variation of Laplace smoothing. Specifically with the definitions used in Laplacian smoothing, a second negative parameter is used, where

$$ \lambda \in \mathbb{R}^+ \subset (0, 1) \hspace{0.5cm} \rm{and} \hspace{0.5cm} \lambda < -\mu. $$

The first parameter, , tends to smooth (and shrink) the domain. The second parameter, , tends to expand the domain.

Taubin smoothing is written as, for , $k < k_{\rm{max}}$, , with an even number,

  • First pass (if is even):

  • Second pass (if is odd):

In any second pass (any pass with odd), the algorithm uses the updated positions from the previous (even) iteration to compute the new positions. So, the average is taken from the updated neighbor positions rather than the original neighbor positions. Some presentation of Taubin smoothing do not carefully state the second pass update, and so we emphasize it here.

Hierarchical Control

Hierarchical control classifies all nodes in a mesh as belonging to a surface , interface , or interior . These categories are mutually exclusive. Any and all nodes must belong to one, and only one, of these three categories. For a given node , let

  • the set of surface neighbors be denoted ,
  • the set of interface neighbors be denoted , and
  • the set of interior neighbors be denoted .

Hierarchical control states that

  • for any surface node , only surface nodes connected via edges to are considered neighbors,
  • for any interface node , only surface nodes and interface nodes connected via edges to are neighbors, and
  • for any interior node , surface nodes , interface nodes , and interior nodes connecting via edges to are neighbors.

The following figure shows this concept:

hierarchy_sets

Figure: Classification of nodes into categories of surface nodes , interface nodes , and interior nodes . Hierarchical relationship: a surface node's neighbors are other other edge-connected surface nodes, an interface node's neighbors are other edge-connected interface nodes or surface nodes, and an interior node's neighbors are edge-connected nodes of any category.

Chen Example

Chen3 used medical image voxel data to create a structured hexahedral mesh. They noded that the approach generated a mesh with "jagged edges on mesh surface and material interfaces," which can cause numerical artifacts.

Chen used hierarchical Taubin mesh smoothing for eight (8) iterations, with and to smooth the outer and inner surfaces of the mesh.

References

1

Taubin G. Curve and surface smoothing without shrinkage. In Proceedings of IEEE international conference on computer vision 1995 Jun 20 (pp. 852-857). IEEE. paper

2

Taubin G. A signal processing approach to fair surface design. In Proceedings of the 22nd annual conference on Computer graphics and interactive techniques 1995 Sep 15 (pp. 351-358). paper

3

Chen Y, Ostoja-Starzewski M. MRI-based finite element modeling of head trauma: spherically focusing shear waves. Acta mechanica. 2010 Aug;213(1):155-67. paper