Segmentation-Driven Feature-Preserving Mesh Denoising

In one sentenceBefore denoising a triangle mesh, this method splits it into regions bounded by its sharp edges and filters each region on its own, so existing denoisers preserve edges and corners better.
The problem
Mesh denoising recovers a clean triangle mesh from one contaminated by noise, for use in tasks such as 3D modelling, computer animation and industrial design. The difficulty is to remove the noise while keeping the features that define the shape: edges, boundaries and corners.
Many denoising methods based on face normals handle features by giving small weights to anisotropic surfaces, where neighbouring faces point in clearly different directions, and large weights to isotropic surfaces, where they point the same way. Even with small weights, though, the faces on anisotropic surfaces still affect the denoising outcome. Other anisotropic methods struggle when the features are buried in severe noise, and methods built on low-rank matrices are slow. Earlier attempts to guide denoising with a segmentation either hardly preserve sharp features between regions, need the number of clusters tuned by hand, cluster an already filtered mesh, or remain unsatisfactory at high noise levels.
How it works
The method partitions the noisy mesh into regions bounded by its features and then denoises each region separately, so that a face is never filtered together with faces from another region. For meshes with high noise (σn ≥ 0.3 le, in units of the mean edge length), face orientations are so distorted, or even flipped, that direct segmentation becomes unreliable; the mesh is then first pre-filtered by a convex optimisation, segmented, and the regions are mapped back onto the original noisy mesh.

- Why weights are not enough. In a normal-based filter, faces across a sharp edge get small weights but still take part in the update, and they still affect the denoised result near the edge.
- Test every edge. For each edge shared by two faces, the cosine between their normals is compared with a global threshold Nthr (the mean cosine over all edges of the mesh), and the L2-norm of an area-based edge operator D(e), built from the four vertices of the two triangles, is compared with a user-set threshold Dthr. ‖D(e)‖2 is 0 for a flat pair of triangles and grows as the dihedral angle sharpens.
- Grow regions from seeds. A seed face passes its label to an edge-connected face if the normal cosine exceeds Nthr or ‖D(e)‖2 is below Dthr; newly labelled faces become seeds in turn. When growth stops, a new seed is picked at random among the unlabelled faces, until every face belongs to a region.
- Refine small clusters. Noise can leave small clusters behind. Clusters with fewer than 50 faces are dissolved: each of their faces takes the neighbouring label with the largest sum of normal cosines over its 2-ring neighbourhood.
- Denoise region by region. An existing filter, here BNF, UNF, GNF or L1, updates normals and vertices using only faces of the same region, with its own parameters unchanged. The only extra parameter is Dthr.


Results
The quantitative tests add zero-mean Gaussian noise, scaled to the mean edge length, to six models with known ground truth (Cube, Casting, Double torus, Dodecahedron, Icosahedron and Cad). They measure the mean angular error of the face normals (MAE, in degrees) and the vertex-based mesh-to-mesh error Ev. The comparison covers seven existing denoising methods (L0, BNF, UNF, GNF, L1, HLO and TGV; BNF, UNF and GNF are the bilateral, unilateral and guided normal filters, and L1 is the L1-median filter), and the four open-source methods BNF, UNF, GNF and L1 are also run inside the segmentation backbone with the same parameters as their original versions. Embedding the backbone lowers MAE in 23 of these 24 model–filter pairs and Ev in 22 of them. For MAE the results are competitive rather than always best: TGV has the lowest MAE on Casting and L0 on Double torus. The gains in feature preservation show most clearly on the CAD-like Cube, Dodecahedron and Icosahedron, where L0, BNF and TGV leave larger errors along the edges.
Visually, the backbone preserves features on both synthetic and scanned meshes. On synthetic models it recovers the sharp tip of the Octaflower while keeping its curved regions, and the features of Fandisk under severe noise (σn = 0.4 le). On raw scans, whose noise is not Gaussian, it keeps the feathers of the Angel and the hair and lips of Wilhelm. Among segmentation methods used to guide the same denoiser (K-means, VSA, SDF and the proposed one), the proposed segmentation gives the lowest overall Ev (Fig. 8). The backbone also makes UNF and GNF less sensitive to their parameters (Figs. 25–28), and the refinement step reduces pits and rough edges (Fig. 29). The authors note one limitation: on a mesh with extremely sparse and irregular triangulation, such as a gear model, the segmentation is reasonable but the denoised shape does not fully recover the original shape, especially at the edges (Fig. 30).



Cite
@article{wang2024segmentation,
title={Segmentation-driven feature-preserving mesh denoising},
author={Wang, Weijia and Pan, Wei and Dai, Chaofan and Dazeley, Richard and Wei, Lei and Rolfe, Bernard and Lu, Xuequan},
journal={The Visual Computer},
volume={40},
number={9},
pages={6201--6217},
year={2024},
publisher={Springer Berlin Heidelberg Berlin/Heidelberg},
doi={10.1007/s00371-023-03161-w}
}