Publications / 2020 / HLO: Half-kernel Laplacian Operator for surface smoothing

HLO: Half-kernel Laplacian Operator for surface smoothing

Wei Pan, Xuequan Lu, Yuanhao Gong, Wenming Tang, Jun Liu, Ying He, Guoping Qiu
Computer-Aided Design, 121:102807

In one sentenceHLO smooths noisy meshes with a Laplacian taken over half of each vertex’s neighbourhood, keeping sharp features and reducing shrinkage. It has one parameter and ran fastest in the paper’s timing tests.

The problem

Meshes captured by scanners or other sensors always carry noise, and they have to be smoothed before shape analysis, animation or rendering. The challenge is to remove the noise while preserving features and resisting shrinkage. The uniform Laplacian, which compares each vertex with the centroid of its neighbours, smooths effectively, but being isotropic it wipes out features and shrinks the surface. The paper also analyses feature points: on a sharp edge the surface is not differentiable, so the second-order derivative that the Laplacian approximates does not exist, and applying the uniform Laplacian to such a vertex with all its neighbours does not make sense. Most feature-preserving methods instead rely on face or vertex normals, and many of them consist of multiple steps and numerous parameters that are difficult to tune, especially on complex models.

Two rows of five vase renderings: a noisy input and results after 1, 3, 5 and 15 iterations. In the top row the vase grows thinner and loses its upper and lower features; in the bottom row it keeps its outline.
A noisy vase smoothed by the uniform Laplacian (top row) and by HLO (bottom row), shown after 1, 3, 5 and 15 iterations. The uniform Laplacian clearly shrinks the vase, while HLO preserves its upper and lower features. Fig. 2 of the paper.

How it works

HLO keeps the simplicity of the uniform Laplacian but applies it to half windows, subsets of a vertex’s neighbours, instead of the whole neighbourhood. For every vertex it generates all of these half windows, computes a Laplacian on each, and keeps the one with the least energy. The surface is then updated iteratively with these half-kernel Laplacians.

  1. The full window fails at features. The uniform Laplacian compares a vertex v₀ with the centroid v′₀ of all its neighbours. At a vertex on a sharp edge the surface is not differentiable, so this operator is not applicable there; in practice, smoothing with it wipes out features and shrinks the mesh (Fig. 2).
  2. Split the neighbourhood into half windows. Each neighbour in turn, say A, is paired with the neighbour D that is closest to the plane through v₀, A and v′₀. The line A–D divides the neighbours into a left and a right half window.
  3. Half-window Laplacians. The uniform Laplacian is computed on each half window separately, giving vectors such as d₁ and d₂.
  4. Project onto the full-window direction. A half-window Laplacian also shifts the vertex sideways, which can flip or degenerate triangles. It is therefore projected onto the direction n of the full-window Laplacian, δ = (d·n)n. According to the paper, this ensures small Laplacian magnitudes at feature vertices and large ones elsewhere, so non-features are smoothed and features preserved.
  5. Pick the least energy and iterate. A vertex with |NV| neighbours has 2|NV| candidate half windows. HLO keeps the one with the smallest energy, the length of its Laplacian plus the vertex’s distance from its original position, and uses it to update the vertex. The only parameter is the number of iterations.
Three line drawings of a vertex v0 with neighbours vA to vG. Left: a line through vA and vD splits the neighbourhood. Middle and right: one half window highlighted in orange, with its Laplacian d and the projected vector delta drawn at v0.
The half-kernel Laplacian on a vertex v₀. Left: neighbour A is paired with D, the neighbour closest to the plane through v₀, A and the centroid v′₀; the line A–D splits the neighbourhood into two half windows. Middle and right: the Laplacians d₁ and d₂ of the two half windows and their projections δ₁ and δ₂ onto the full-window Laplacian. Fig. 4 of the paper.

Results

HLO is compared with the uniform and cotangent Laplacians and with seven denoising methods: the bilateral mesh filter, the unilateral, bilateral and guided normal filters (UNF, BNF, GNF), L0 minimisation, cascaded normal regression (CNR) and non-local low-rank normal filtering (NLLR). Synthetic tests add zero-mean Gaussian noise whose standard deviation σn is proportional to the mean edge length lₑ; real tests use models scanned with Microsoft Kinect and the scanned Angel and Rabbit. Against the uniform Laplacian, HLO significantly alleviates shrinkage and gives much lower average vertex errors on the Julius model; the cotangent Laplacian is more geometry-aware but tends to create sharp “thorns”. Because HLO builds on the uniform Laplacian, which unfolds flipped triangles (shown in red in the figure below) during smoothing, HLO is less sensitive to high noise than most of the compared methods. For the normal error MSAE, L0 minimisation and HLO are usually the best two. The vertex error Ev (a positional error against the ground-truth mesh) does not always agree with the visual comparison, because unfolding flipped triangles can move vertices far from their ground-truth positions. HLO was the fastest method in the runtime comparison, although its code had not been optimised or parallelised.

The authors note limitations. HLO has difficulty recovering smooth sharp edges on CAD-like models with few vertices, because it is not an edge-based operator; on real scanned CAD-like models with many vertices its results are comparable to the other methods. Like previous works it keeps the open boundaries of the input fixed, which can sometimes give undesired results.

A noisy lion-head vase covered in red flipped triangles, followed by seven denoised versions, each with a close-up of the rim above it; several results still show red triangles.
The Vaselion model with heavy noise (σn = 0.8 lₑ): the noisy input and the results of UNF, BNF, L0, GNF, CNR, NLLR and HLO (Ours), with close-ups of the boxed region above. Flipped triangles are rendered in red. Fig. 9 of the paper.
Three renderings of a male head: the noisy input in green, a result covered in red and blue error patches, and a result that is mostly green.
Per-vertex errors on the Julius model (σn = 0.2 lₑ) after 10 iterations of the uniform Laplacian (ULO, middle) and of HLO (right); warm and cold colours mark positive and negative displacements. Fig. 5 of the paper.

Cite

@article{pan2020hlo,
  title={HLO: Half-kernel Laplacian operator for surface smoothing},
  author={Pan, Wei and Lu, Xuequan and Gong, Yuanhao and Tang, Wenming and Liu, Jun and He, Ying and Qiu, Guoping},
  journal={Computer-Aided Design},
  volume={121},
  pages={102807},
  year={2020},
  publisher={Elsevier},
  doi={10.1016/j.cad.2019.102807}
}
Type
Article Journal
Topic
Geometry Processing
Venue
Computer-Aided Design, 121:102807
Year
2020
DOI