A Survey of Methods for Converting Unstructured Data to CSG Models

Pierre-Alain Fayolle,Markus Friedrich
DOI: https://doi.org/10.1016/j.cad.2023.103655
2023-05-02
Abstract:The goal of this document is to survey existing methods for recovering CSG representations from unstructured data such as 3D point-clouds or polygon meshes. We review and discuss related topics such as the segmentation and fitting of the input data. We cover techniques from solid modeling and CAD for polyhedron to CSG and B-rep to CSG conversion. We look at approaches coming from program synthesis, evolutionary techniques (such as genetic programming or genetic algorithm), and deep learning methods. Finally, we conclude with a discussion of techniques for the generation of computer programs representing solids (not just CSG models) and higher-level representations (such as, for example, the ones based on sketch and extrusion or feature based operations).
Graphics,Computer Vision and Pattern Recognition
What problem does this paper attempt to address?
The problem that this paper attempts to solve is: methods for recovering Constructive Solid Geometry (CSG) representations from unstructured data (such as 3D point clouds or polygon meshes). Specifically, the author reviews and discusses topics related to the segmentation and fitting of input data, and covers techniques for polyhedron - to - CSG and B - rep - to - CSG conversions from the fields of solid modeling and CAD. In addition, the article also explores the applications of program synthesis, evolutionary techniques (such as genetic programming or genetic algorithms), and deep - learning methods. ### Main problems of the paper The core problem of the paper is how existing methods convert unstructured 3D data (for example, 3D point clouds or triangular meshes) into editable CSG models. These unstructured data are usually obtained by laser scanners, LiDAR, RGBD cameras, or through photogrammetry. Although polygon meshes can be generated from 3D point clouds by surface reconstruction algorithms, the outputs produced by these methods (such as polygon meshes, weighted sums of polynomials / splines, implicitly - defined surfaces by MLP) are not editable models. Ideally, users should be able to control and edit the recovered models for storage or manufacturing with 3D printers. ### Specific objectives The main objective of this paper is to cover existing methods for recovering CSG models from unstructured data sources. Typical input data considered include 3D point clouds and polygon (triangular or quadrilateral) meshes or soups. In addition, the author also discusses existing algorithms for converting from polyhedron and B - rep models (which may contain curved surfaces) to CSG models. Finally, the author explores techniques for generating computer programs representing entities (not just CSG models) and higher - level representations (such as operations based on sketches and extrusions or feature - based operations). ### Method overview To achieve this goal, the author proposes a typical process, as shown in Figure 5, which includes the following steps: 1. **Segmentation and fitting**: First, segment the input 3D point cloud and fit geometric primitives to each subset. 2. **Extract CSG expressions**: Utilize the fitted geometric primitives to extract CSG expressions that describe the objects corresponding to the input 3D point cloud. 3. **Optimize CSG expressions**: Further optimize the extracted CSG expressions to simplify the representation. ### Challenges The main challenge lies in how to effectively extract meaningful geometric primitives from unstructured data and construct reasonable CSG expressions. This involves complex segmentation and fitting algorithms, and how to handle noise and irregular data distributions. In addition, ensuring that the generated CSG model is editable and easy to understand is also an important consideration. Through the above methods, the paper aims to provide a systematic review to help researchers and engineers better understand and apply the techniques for recovering CSG models from unstructured data.