Table of Contents
Fetching ...

A Divide-and-Conquer Approach for Global Orientation of Non-Watertight Scene-Level Point Clouds Using 0-1 Integer Optimization

Zhuodong Li, Fei Hou, Wencheng Wang, Xuequan Lu, Ying He

TL;DR

This work tackles the challenging problem of globally orienting normals in large-scale, non-watertight scene-level point clouds. It introduces DACPO, a divide-and-conquer framework that orients each block with a randomized dipole-like initialization and an adapted iPSR using Neumann boundary conditions, followed by a global 0-1 optimization on a block adjacency graph to enforce cross-block consistency. A key novelty is the Visibile Connected Region (VCR) concept, which provides a visibility-based criterion for measuring orientation consistency between neighboring blocks across multiple viewpoints. The method demonstrates strong robustness to noise, sparsity, and weak connections on ScanNet v2 and SceneNN datasets, and shows favorable performance against propagation-based, graph-based, GWN-based, and learning-based baselines, with a scalable runtime thanks to limiting the number of blocks and efficient optimization. The provided code enables replication and further exploration of global orientation for open-scene point clouds in practical reconstruction pipelines.

Abstract

Orienting point clouds is a fundamental problem in computer graphics and 3D vision, with applications in reconstruction, segmentation, and analysis. While significant progress has been made, existing approaches mainly focus on watertight, object-level 3D models. The orientation of large-scale, non-watertight 3D scenes remains an underexplored challenge. To address this gap, we propose DACPO (Divide-And-Conquer Point Orientation), a novel framework that leverages a divide-and-conquer strategy for scalable and robust point cloud orientation. Rather than attempting to orient an unbounded scene at once, DACPO segments the input point cloud into smaller, manageable blocks, processes each block independently, and integrates the results through a global optimization stage. For each block, we introduce a two-step process: estimating initial normal orientations by a randomized greedy method and refining them by an adapted iterative Poisson surface reconstruction. To achieve consistency across blocks, we model inter-block relationships using an an undirected graph, where nodes represent blocks and edges connect spatially adjacent blocks. To reliably evaluate orientation consistency between adjacent blocks, we introduce the concept of the visible connected region, which defines the region over which visibility-based assessments are performed. The global integration is then formulated as a 0-1 integer-constrained optimization problem, with block flip states as binary variables. Despite the combinatorial nature of the problem, DACPO remains scalable by limiting the number of blocks (typically a few hundred for 3D scenes) involved in the optimization. Experiments on benchmark datasets demonstrate DACPO's strong performance, particularly in challenging large-scale, non-watertight scenarios where existing methods often fail. The source code is available at https://github.com/zd-lee/DACPO.

A Divide-and-Conquer Approach for Global Orientation of Non-Watertight Scene-Level Point Clouds Using 0-1 Integer Optimization

TL;DR

This work tackles the challenging problem of globally orienting normals in large-scale, non-watertight scene-level point clouds. It introduces DACPO, a divide-and-conquer framework that orients each block with a randomized dipole-like initialization and an adapted iPSR using Neumann boundary conditions, followed by a global 0-1 optimization on a block adjacency graph to enforce cross-block consistency. A key novelty is the Visibile Connected Region (VCR) concept, which provides a visibility-based criterion for measuring orientation consistency between neighboring blocks across multiple viewpoints. The method demonstrates strong robustness to noise, sparsity, and weak connections on ScanNet v2 and SceneNN datasets, and shows favorable performance against propagation-based, graph-based, GWN-based, and learning-based baselines, with a scalable runtime thanks to limiting the number of blocks and efficient optimization. The provided code enables replication and further exploration of global orientation for open-scene point clouds in practical reconstruction pipelines.

Abstract

Orienting point clouds is a fundamental problem in computer graphics and 3D vision, with applications in reconstruction, segmentation, and analysis. While significant progress has been made, existing approaches mainly focus on watertight, object-level 3D models. The orientation of large-scale, non-watertight 3D scenes remains an underexplored challenge. To address this gap, we propose DACPO (Divide-And-Conquer Point Orientation), a novel framework that leverages a divide-and-conquer strategy for scalable and robust point cloud orientation. Rather than attempting to orient an unbounded scene at once, DACPO segments the input point cloud into smaller, manageable blocks, processes each block independently, and integrates the results through a global optimization stage. For each block, we introduce a two-step process: estimating initial normal orientations by a randomized greedy method and refining them by an adapted iterative Poisson surface reconstruction. To achieve consistency across blocks, we model inter-block relationships using an an undirected graph, where nodes represent blocks and edges connect spatially adjacent blocks. To reliably evaluate orientation consistency between adjacent blocks, we introduce the concept of the visible connected region, which defines the region over which visibility-based assessments are performed. The global integration is then formulated as a 0-1 integer-constrained optimization problem, with block flip states as binary variables. Despite the combinatorial nature of the problem, DACPO remains scalable by limiting the number of blocks (typically a few hundred for 3D scenes) involved in the optimization. Experiments on benchmark datasets demonstrate DACPO's strong performance, particularly in challenging large-scale, non-watertight scenarios where existing methods often fail. The source code is available at https://github.com/zd-lee/DACPO.

Paper Structure

This paper contains 38 sections, 10 equations, 15 figures, 3 tables.

Figures (15)

  • Figure 1: Recent implicit function-based methods, such as iPSR Hou2022iPSR, GCNO Xu2023GCNO, and WNNC Lin2024WNNC, rely on interior-exterior separation, making them well-suited for watertight models. When applied to open surfaces, they often produce significant orientation errors. Surfaces shown here are reconstructed via sPSR Kazhdan2013 using the predicted point normals.
  • Figure 2: Algorithmic pipeline. First, our method segments the input scene into multiple blocks and orients each block individually. Block normal orientations are initialized using a randomized propagation method and then refined using iPSR with Neumann boundary conditions. Second, for global orientation, the blocks are represented as nodes in an undirected graph, which is optimized via 0-1 integer-constrained optimization. Edge weights $\omega_{ij}$ are calculated based on a visibility measure derived from visible connected regions.
  • Figure 3: Relative orientation between two input points, $\mathbf{p}$ and $\mathbf{p}'$, that are close to each other in terms of Euclidean distance. There are two typical situations: one where the two points are on the same side of a planar face, and the other where the points are on different sides of two parallel faces (often observed in thin structures). In both situations, the normal vectors are parallel, i.e., $\mathbf{n}\parallel \mathbf{n}'$. To determine the relative orientation between $\mathbf{p}$ and $\mathbf{p}'$, we consider the vector $\mathbf{r}=\mathbf{p}'-\mathbf{p}$. (a) If $\mathbf{r}\perp \mathbf{n}$, the orientation of point $\mathbf{p}'$ should match that of point $\mathbf{p}$. (b) If $\mathbf{r}\parallel \mathbf{n}$, the orientation of point $\mathbf{p}'$ should be opposite to that of point $\mathbf{p}$.
  • Figure 4: Visualizations of vector fields $\mathbf{F}_{\mathbf{o},\mathbf{n}}$ for the origin $\mathbf{o}=(0,0)^\intercal$ with an upward-pointing normal (red), shown for different values of $c$. Arrows indicate field directions at various spatial locations, while color encodes the magnitude, which decays with increasing distance from $\mathbf{o}$. The red dashed lines separate regions where the vector directions tend to point upward or downward. Note that with higher values of $c$, the wing-like region (light purple) becomes narrower, while with lower values of $c$, the region becomes wider. Therefore, higher values of $c$ are beneficial for orienting thin structures, and lower values of $c$ are beneficial for noise resistance.
  • Figure 5: Illustration of the effects of different boundary conditions in sPSR Kazhdan2013 on an open block surface with initial normal errors (marked in red). A cross-section of the reconstructed field shown on the right. Using the Dirichlet boundary condition results in a watertight model (top-right), while the Neumann boundary condition preserves the open boundary (bottom-right). The field visualizations indicate that both boundary conditions partition the space into two regions: Dirichlet separates it into "inside" and "outside," whereas Neumann divides it into "left" and "right." Dirichlet consistently introduces space-closing faces to seal the surface, whereas Neumann avoids this by appending extended faces from the surface boundaries to the bounding box.
  • ...and 10 more figures