Split-and-Fit: Learning B-Reps via Structure-Aware Voronoi Partitioning

Yilin Liu, Jiale Chen, Shanshan Pan, Daniel Cohen-Or, Hao Zhang +1 more
6/7/2024
cs.CVcs.GR

Official code: yilinliu77/NVDNet (69 stars, GPL-3.0, last commit 2024-08-10).

Abstract

We introduce a novel method for acquiring boundary representations (B-Reps) of 3D CAD models which involves a two-step process: it first applies a spatial partitioning, referred to as the ``split``, followed by a ``fit`` operation to derive a single primitive within each partition. Specifically, our partitioning aims to produce the classical Voronoi diagram of the set of ground-truth (GT) B-Rep primitives. In contrast to prior B-Rep constructions which were bottom-up, either via direct primitive fitting or point clustering, our Split-and-Fit approach is top-down and structure-aware, since a Voronoi partition explicitly reveals both the number of and the connections between the primitives. We design a neural network to predict the Voronoi diagram from an input point cloud or distance field via a binary classification. We show that our network, coined NVD-Net for neural Voronoi diagrams, can effectively learn Voronoi partitions for CAD models from training data and exhibits superior generalization capabilities. Extensive experiments and evaluation demonstrate that the resulting B-Reps, consisting of parametric surfaces, curves, and vertices, are more plausible than those obtained by existing alternatives, with significant improvements in reconstruction quality. Code will be released on https://github.com/yilinliu77/NVDNet.

View on arXivView PDF

Code Implementations(1)

yilinliu77/NVDNetOfficial100%
GPL-3.0
699C, C++Apr 4, 20242 years agoGPL-3.0

Similar Papers

Cite this paper

@article{liu2024splitandfit,
  title  = {Split-and-Fit: Learning B-Reps via Structure-Aware Voronoi Partitioning},
  author = {Yilin Liu and Jiale Chen and Shanshan Pan and Daniel Cohen-Or and Hao Zhang and Hui Huang},
  year   = {2024},
  eprint = {2406.05261},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2406.05261v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2406.05261.svg)](https://codeofpaper.com/paper/2406.05261)

Discussion