Publications / 2025 / Surface Smoothing based on Discrete Orthogonal Polynomial

Surface Smoothing based on Discrete Orthogonal Polynomial

Lu Lei, Li Ning, Wei Pan, Tang Wenming
Computer-Aided Design and Applications, 22(6):1027-1039
A raw scanned Angel mesh after smoothing with the proposed method.

In one sentenceA denoising method for noisy 3D-scanned meshes: it gathers similar surface patches around each face, smooths their normals by orthogonal polynomial fitting, then moves the vertices, removing noise while keeping sharp edges.

The problem

Triangle meshes are a versatile way to represent 3D objects in reverse design, rapid prototyping, 3D printing and virtual simulation. Meshes obtained by 3D measurement, however, carry noise introduced during scanning and digitisation, and it has to be removed in pre-processing. The difficulty is to remove the noise while preserving geometric features such as sharp edges as much as possible.

Early smoothing methods are isotropic and cannot preserve such features: a simple, fast Laplacian smoothing, for example, also contracts the surface. Anisotropic methods do better. Many of them smooth the face normals first and then update the vertices; methods that classify features during denoising often look only at local neighbourhoods and are susceptible to noise, and sparse formulations such as L0-minimisation preserve features but lead to a non-convex, slow minimisation.

How it works

The method also smooths normals first and then moves the vertices, with two changes. A face’s normal is estimated not from a single face or its immediate neighbours but from non-local similar structures: groups of faces in a wider neighbourhood that share its orientation. These normals are then filtered by fitting them with orthogonal polynomials, whose different orders do not interfere with one another.

  1. Normal tensor of a local structure. A single noisy face normal may not be accurate enough. For each face, the faces within r rings of neighbours around it (its r-ring) vote into a normal tensor, weighted by their distance and by the angle between the normals; the eigenvector of the largest eigenvalue is the representative direction of that local structure.
  2. Co-aligned local structure. Faces whose normal deviates from this direction by more than a threshold angle θth are removed, which eliminates faces with large errors from the structure. The threshold is set larger for noisier models.
  3. Non-local similar structures. The search is widened to an R-ring (R > r). Every co-aligned structure in it whose angle to the current one is within θth (40° for high noise, 20° for low noise) is added to the face’s set of non-local similar structures.
  4. Orthogonal polynomial filtering. The face normals of these structures are stacked as rows of a matrix, which is reshaped to be close to square (an n × 3 matrix has rank at most 3, so the reshape makes the low-rank fit meaningful). Discrete Legendre polynomial bases are built in the X and Y directions on [−1, 1], and the matrix is fitted with them. Where structures overlap, each face’s estimates are accumulated and divided by how often the face was used, giving its updated normal.
  5. Vertex update. Each vertex is moved according to the updated normals of the faces around it, and the mesh is updated over several iterations.
Flow chart Input noisy mesh, Similar structures, DOP normal filtering, Update point, above nine renderings of a mechanical part at different stages, from the noisy input to the denoised result: some with a red highlighted patch, some showing normal fields, some colour-coded.
Algorithm overview: input noisy mesh → similar structures → discrete orthogonal polynomial (DOP) normal filtering → vertex update, with renderings of a mechanical part at the intermediate stages; the colour-coded panels use the Ev error scale at the bottom right. Fig. 1 of the paper.

Results

The method is compared with seven others: L0-minimisation, the Bilateral, Unilateral and Guided Normal Filters (BNF, UNF, GNF), the L1-median filter, the Half-kernel Laplacian Operator (HLO) and Segmentation-Driven Feature-Preserving filtering (SNF). Synthetic test meshes are made by adding zero-mean Gaussian noise whose standard deviation σn is proportional to the mean edge length lₑ. Two errors are measured against the ground truth: Ev, a vertex-based positional error, and MSAE, the mean square angular error of the face normals. The new method has the lowest value on both measures for Cube and on one of the two for Fandisk and Cad; L0-minimisation has the lowest MSAE on Fandisk and SNF the lowest Ev on Cad. On Octaflower, SNF has the lowest Ev and MSAE (L1 ties it on Ev), and the paper’s close-up views show the method preserving local features.

On a raw scan of the Angel model, the method lags slightly behind SNF but denoises and preserves features better than the other methods. On the same scanned Bunny with noise at three levels, it performs well at 0.1 and 0.3 but has certain limitations at 0.5. The authors note that, like other methods, it has limited robustness against excessive noise and irregular triangulation; as future work they suggest partitioning the mesh and fitting the orthogonal polynomials separately on feature parts (corners and edges) and non-feature parts.

Ten renderings of a cube in two rows: original, noisy and eight denoised results; the lower row colours each cube by error from blue to green and red.
Cube with noise σn = 0.2 lₑ: the ground truth, the noisy input and the results of the seven compared methods and this one, coloured below by vertex error Ev. Fig. 3 of the paper.
Nine renderings of a scanned angel sculpture, the noisy input and eight denoised results, each with an enlarged close-up of the same detail above it.
A raw scanned Angel mesh: the noisy input and the results of the seven compared methods and this one, with a close-up of the boxed region above each. Fig. 7 of the paper.
Seven renderings of a bunny model: the original, three noisy versions with increasing noise, and three denoised results.
The same Bunny model with noise σn = 0.1, 0.3 and 0.5, and the method’s result for each. Fig. 9 of the paper.

Cite

@article{lei2025surface,
  title={Surface Smoothing based on Discrete Orthogonal Polynomial},
  author={Lei, Lu and Ning, Li and Wei, Pan and Wenming, Tang},
  journal={Computer-Aided Design and Applications},
  volume={22},
  number={6},
  pages={1027--1039},
  year={2025},
  doi={10.14733/cadaps.2025.1027-1039}
}
Type
Article Journal
Topic
Geometry Processing
Venue
Computer-Aided Design and Applications, 22(6):1027-1039
Year
2025
DOI