Table of Contents
Fetching ...

Fast and Globally Consistent Normal Orientation based on the Winding Number Normal Consistency

Siyou Lin, Zuoqiang Shi, Yebin Liu

TL;DR

This work tackles the challenge of obtaining globally consistent normal orientations for raw point clouds. It introduces the winding number normal consistency (WNNC) property derived from the winding number formula and couples it with a Parametric Gauss Reconstruction (PGR) objective in an iterative scheme that alternates WNNC updates with gradient steps, achieving fast convergence to a globally consistent normal field. A GPU-accelerated, treecode-based implementation in CUDA integrated with PyTorch enables scalable, memory-efficient computation, significantly outperforming state-of-the-art methods in both speed and accuracy. Extensive experiments on synthetic and real-world datasets demonstrate superior normal quality, robust performance on thin/sharp features and high-genus surfaces, and favorable scalability to large point clouds. The work provides practical, open-source code and a framework that can spur further research on winding-number based normal orientation.

Abstract

Estimating consistently oriented normals for point clouds enables a number of important applications in computer graphics. While local normal estimation is possible with simple techniques like PCA, orienting them to be globally consistent has been a notoriously difficult problem. Some recent methods exploit various properties of the winding number formula to achieve global consistency. Despite their exciting progress, these algorithms either have high space/time complexity, or do not produce accurate and consistently oriented normals for imperfect data. In this paper, we propose a novel property from the winding number formula, termed Winding Number Normal Consistency (WNNC), to tackle this problem. The derived property is based on the simple observation that the normals (negative gradients) sampled from the winding number field should be codirectional to the normals used to compute the winding number field. Since the WNNC property itself does not resolve the inside/outside orientation ambiguity, we further incorporate an objective function from Parametric Gauss Reconstruction (PGR). We propose to iteratively update normals by alternating between WNNC-based normal updates and PGR-based gradient descents, which leads to an embarrassingly simple yet effective iterative algorithm that allows fast and high-quality convergence to globally consistent normals. Furthermore, our proposed algorithm only involves repeatedly evaluating the winding number formula and its derivatives, which can be accelerated and parallelized using a treecode-based approximation algorithm. Our GPU (and even CPU) implementation can be significantly faster than the recent state-of-the-art methods for normal orientation from raw points. Our code is integrated with the popular PyTorch framework to facilitate further research into winding numbers, and is publicly available at https://jsnln.github.io/wnnc/index.html.

Fast and Globally Consistent Normal Orientation based on the Winding Number Normal Consistency

TL;DR

This work tackles the challenge of obtaining globally consistent normal orientations for raw point clouds. It introduces the winding number normal consistency (WNNC) property derived from the winding number formula and couples it with a Parametric Gauss Reconstruction (PGR) objective in an iterative scheme that alternates WNNC updates with gradient steps, achieving fast convergence to a globally consistent normal field. A GPU-accelerated, treecode-based implementation in CUDA integrated with PyTorch enables scalable, memory-efficient computation, significantly outperforming state-of-the-art methods in both speed and accuracy. Extensive experiments on synthetic and real-world datasets demonstrate superior normal quality, robust performance on thin/sharp features and high-genus surfaces, and favorable scalability to large point clouds. The work provides practical, open-source code and a framework that can spur further research on winding-number based normal orientation.

Abstract

Estimating consistently oriented normals for point clouds enables a number of important applications in computer graphics. While local normal estimation is possible with simple techniques like PCA, orienting them to be globally consistent has been a notoriously difficult problem. Some recent methods exploit various properties of the winding number formula to achieve global consistency. Despite their exciting progress, these algorithms either have high space/time complexity, or do not produce accurate and consistently oriented normals for imperfect data. In this paper, we propose a novel property from the winding number formula, termed Winding Number Normal Consistency (WNNC), to tackle this problem. The derived property is based on the simple observation that the normals (negative gradients) sampled from the winding number field should be codirectional to the normals used to compute the winding number field. Since the WNNC property itself does not resolve the inside/outside orientation ambiguity, we further incorporate an objective function from Parametric Gauss Reconstruction (PGR). We propose to iteratively update normals by alternating between WNNC-based normal updates and PGR-based gradient descents, which leads to an embarrassingly simple yet effective iterative algorithm that allows fast and high-quality convergence to globally consistent normals. Furthermore, our proposed algorithm only involves repeatedly evaluating the winding number formula and its derivatives, which can be accelerated and parallelized using a treecode-based approximation algorithm. Our GPU (and even CPU) implementation can be significantly faster than the recent state-of-the-art methods for normal orientation from raw points. Our code is integrated with the popular PyTorch framework to facilitate further research into winding numbers, and is publicly available at https://jsnln.github.io/wnnc/index.html.
Paper Structure (44 sections, 1 theorem, 17 equations, 21 figures, 5 tables, 4 algorithms)

This paper contains 44 sections, 1 theorem, 17 equations, 21 figures, 5 tables, 4 algorithms.

Key Result

theorem 1

Let $\Omega\subset\mathbb{R}^3$ be an open and bounded region. Suppose its boundary $\partial\Omega$ is smooth and $n(y)$ is the outward unit normal at $y\in\partial\Omega$. Then for any $y=(y_1,y_2,y_3)\in\mathbb{R}^3$, is the indicator function of $\Omega$. Here, $\Phi(y)$ is the fundamental solution to the $3$-dimensional Laplace equation:

Figures (21)

  • Figure 1: Illustration of the winding number normal consistency (WNNC) property. From left to right, we start with an input point cloud with normals, evaluate the winding number formula, and finally compute the negative field gradients at the input point positions. If the normals at the start are correctly oriented as shown in the first row, then the intermediate field is exactly the winding number field of the underlying shape. Consequently, the negative gradients at these point positions would be aligned with the input normals. We refer to this property as the winding number normal consistency (WNNC) property. Note that random normals do not satisfy the WNNC property (second row).
  • Figure 2: The overall pipeline of our iterative algorithm. Each iteration consists of three steps: a gradient step w.r.t. a quadratic energy function proposed in lin2023pgr, a normal update step based on the WNNC property, and a rescaling step to ensure numerical stability. Our algorithm can generally produce an overall correct orientation at the first iteration, and gradually converges to details in a few dozens of iterations.
  • Figure 3: Illustration of the treecode-based approximation algorithm barnes1986treecode. (a) We wish to sum up interactions between multiple source points and the target point. (b) The space is partitioned by an octree hosting the source points, and a representative point is computed in each node (not shown here). (c) Based on the proximity between the target point and the octree nodes, representative points are chosen. Attributes of the source points are aggregated to their corresponding representative points. (d) For far-field interactions, representative points are used instead of the original source points.
  • Figure 4: Normal orientation results of different methods. We show the point clouds colored by their normals and by per-point angular error values (Eq. \ref{['eq:angular-error-pcd']} without averaging across points). We also show the histograms of angular errors ($y$-axis in log-scale). $^\dag$Downsampled to 50,000 points. $^\ddag$Downsampled to 5,000 points.
  • Figure 5: Normal orientation and surface reconstruction results of different methods. We show reconstructed meshes in plain colors and point clouds colored by their normals. $^\dag$Downsampled to 50,000 points. $^\ddag$Downsampled to 5,000 points.
  • ...and 16 more figures

Theorems & Definitions (1)

  • theorem 1: Winding Number