SpelsNet: Surface Primitive Elements Segmentation by B-Rep Graph Structure Supervision

Authors: kseniya  cherenkova
elona  dupont
anis  kacem
gleb  gusev
djamila  aouada
Venue: NeurIPS_cc_2024_Conference
Published: 2024-05-15 16:16:54

Abstract: Within the realm of Computer-Aided Design (CAD), Boundary-Representation (B-Rep) is the standard option for modeling shapes. We present SpelsNet, a neural architecture for the segmentation of 3D point clouds into surface primitive elements under topological supervision of its B-Rep graph structure. We also propose a point-to-BRep adjacency representation that allows for adapting conventional Linear Algebraic Representation of B-Rep graph structure to the point cloud domain. Thanks to this representation, SpelsNet learns from both spatial and topological domains to enable accurate and topologically consistent surface primitive element segmentation. In particular, SpelsNet is composed of two main components; (1) a supervised 3D spatial segmentation head that outputs B-Rep element types and memberships; (2) a graph-based head that leverages the proposed topological supervision. To enable the learning of SpelsNet with the proposed point-to-BRep adjacency supervision, we extend two existing CAD datasets with the required annotations, and conduct a thorough experimental validation on them. The obtained results showcase the efficacy of SpelsNet and its topological supervision compared to a set of baselines and state-of-the-art approaches.

Main paper: 
 introduction: 
 Creating a structured and editable Computer-Aidded Design (CAD) representation Mortenson [2006] , Shah and Mäntylä [1995] from an unstructured 3D scan (e.g. point cloud) is a core challenge, often referred to as reverse engineering. This field has a long history of extensive research due to its numerous commercial applications Abella et al. [1994] , Varady et al. [1997] , Bénière et al. [2013] , Liu et al. [2023] . Modern CAD workflows commonly use Boundary Representation as the primary format to model complex shapes Lambourne et al. [2021] , Guo et al. [2022] . The wide adoption of B-Rep in most CAD software and recent advances in neural point cloud representations challenges the reverse engineering research towards the problem of learnable B-Rep inference from point clouds Liu et al. [2023] , Guo et al. [2022] , Yan et al. [2021] , Huang et al. [2021] .Boundary Representation (B-Rep) is a collection of connected surface elements with their geometric definitions in a form of parametric surfaces, curves and points Shah and Mäntylä [1995] . The topology of these elements is also described by the connection of face, edge and vertex components. Thus, face is a bounded surface, edge is a bounded curve, and vertex is a realisation of a 3D point DiCarlo et al. [2014] . B-Rep is a compact representation and it retains more structural information about an object than a point cloud. Most popular approaches to reverse engineer B-Reps from point clouds follow a segmentation-fitting paradigm, i.e. the point cloud is firstly segmented into surface patches, and then parameterized by fitting a specific surface type Sharma et al. [2020] , Li et al. [2019] , Yan et al. [2021] , Huang et al. [2021] . However, existing segmentation-based approaches mostly deal with either surface patches or boundary curves, ignoring the full B-Rep structure. This often leads to inaccurate and disjoint reconstruction of its elements Sharma et al. [2020] . Aware of this limitation, ComplexGen Guo et al. [2022] modeled the B-Rep as a chain complex Hatcher [2002] and formulated the prediction of validness and primitive types as classification tasks to recover corners, curves, and patches together with their mutual topological features. Assembled in a probabilistic graph constraints, this topological information is further used in a time consuming post-processing topological and geometrical optimization to recover plausible geometry.In this work, we propose to exploit the topological information from B-Rep as a direct neural supervision within a Graph Neural Network (GNN) paradigm. To incorporate this supervision together with geometric data into a single learnable pipeline, we consider the Linear Algebraic Representation (LAR) of B-Rep chain complex DiCarlo et al. [2014] . LAR is defined on B-Reps and fully encodes their chain complex in sparse and compact matrices offering desirable learning properties. To allow for direct supervision on point clouds using LAR, we adapt it to the point cloud domain and propose a novel point-to-BRep adjacency representation. Furthermore, we design a novel end-to-end trainable network architecture, named SpelsNet, for the inference of B-Rep elements from point clouds. SpelsNet is composed of a spatial and a topological component leveraging both the classical segmentation and the proposed point-to-BRep adjacency supervision signals, respectively. The contributions of this work can be summarized to:• A novel LAR-based representation of B-Rep chain complex adapted to point clouds, called point-to-BRep adjacency, that allows for direct neural supervision of B-Rep topological information on point clouds. To the best of our knowledge, we are the first to propose a direct B-Rep chain complex supervision on point clouds; • SpelsNet, an end-to-end trainable architecture for B-Rep element segmentation from point clouds. SpelsNet unifies 3D spatial and graph neural networks in a single design and exploits the proposed LAR-based point-to-BRep adjacency supervision in addition to the classical B-Rep element segmentation supervision; • Extended versions of two existing CAD datasets ABCParts Li et al. [2019] and CC3D Cherenkova et al. [2020] . The new versions, called ABC-VEF and CC3D-VEF, include the proposed LAR-based point-to-BRep adjacency representation on the point clouds and will be made publicly available to enable further research; • A thorough experimental validation showcasing the superiority of the proposed method over multiple baselines and state-of-the-art approaches.The rest of the paper is organized as follows: Section 2 discusses the related works. In Section 3, we provide background on B-Rep chain complex and present the proposed point-to-BRep adjacency representation. Section 4 offers a detailed description of the proposed SpelsNet network. The experiments are reported and discussed in Section 5. Finally, Section 6 concludes the paper and provides perspectives for future works. 
related works: 
 Existing research on Scan-to-Brep often focuses on specific aspects of the problem, such as enhancing segmentation, improving surface fitting, or refining topology. We categorize these approaches accordingly in the following discussion.Starting with Efficient Ransac Schnabel et al. [2007] , which progressively estimates primitive parameters within point cloud in a sample consensus paradigm, continuing with data-driven learning methods Li et al. [2019] , Sharma et al. [2020] , that train point-based neural networks to assign patch primitive types and parameters to each input point, it became common to solve Scan-to-Brep problem in two-phase manner, namely, decomposition (segmentation) and fitting. PrimitiveNet Huang et al. [2021] proposes to treat primitive types as semantic classes and use adversarial learning to guide feature enrichment for better surface property representation. HPNet Yan et al. [2021] runs a mean-shift clustering over the hybrid representations that are combined by learnt weights.ParSeNet Sharma et al. [2020] in comparison to SPFN Li et al. [2019] constructs an additional SplineNet component to extend the set of supported surface primitives with bspline surfaces. BP- A major challenge in previous work has been the discontinuity of predicted surface elements, often requiring extra post-processing. While ParSeNet Sharma et al. [2020] offers an optional refinement module, Li et al. [2023] tackle this issue directly by simultaneously detecting surfaces and edges using a two-branch network. AutoGPart Liu et al. [2022] presents a generalizable approach for 3D part segmentation with geometric priors, potentially improving continuity.We propose to leverage B-Rep inherent graph structure, with nodes representing elements like vertices, edges, and faces, directly within a Graph Neural Network by developing a unified representation for both spatial and graph domains. This approach uniquely utilizes the B-Rep topological relationships, incorporating node features like element type, and potentially even additional classifications like sharp vs. smooth edges.Various graph-based learning techniques, particularly Graph Convolutional Networks (GCNs) and Message Passing Neural Networks (MPNNs), have been applied to diverse data types such as part assemblies, social networks, etc Zhou et al. [2020] . Notably, GCNs have been successfully employed in tasks like automatic mating prediction in CAD assemblies Jones et al. [2021] while MPNNs have been adapted for specific B-rep tasks, such as face segmentation in BrepNet Lambourne et al. [2021] .While Spectral Convolutional Networks offer potential e.g., Smirnov and Solomon [2021] , their computational cost can be prohibitive for large graphs. ComplexGen Guo et al. [2022] predicts validity and primitive types while recovering topological features, but relies on time-consuming post-processing.Our approach leverages a unified segmentation framework with trainable LAR characteristic matrices to directly learn the B-Rep structure.Question: Does the paper discuss the limitations of the work performed by the authors? Answer: [Yes] Justification: The dedicated section 5.5 provides this discussion. In addition, we mention future research directions there. Guidelines:• The answer NA means that the paper has no limitation while the answer No means that the paper has limitations, but those are not discussed in the paper. • The authors are encouraged to create a separate "Limitations" section in their paper.• The paper should point out any strong assumptions and how robust the results are to violations of these assumptions (e.g., independence assumptions, noiseless settings, model well-specification, asymptotic approximations only holding locally). The authors should reflect on how these assumptions might be violated in practice and what the implications would be. • The authors should reflect on the scope of the claims made, e.g., if the approach was only tested on a few datasets or with a few runs. In general, empirical results often depend on implicit assumptions, which should be articulated. • The authors should reflect on the factors that influence the performance of the approach.For example, a facial recognition algorithm may perform poorly when image resolution is low or images are taken in low lighting. Or a speech-to-text system might not be used reliably to provide closed captions for online lectures because it fails to handle technical jargon. • The authors should discuss the computational efficiency of the proposed algorithms and how they scale with dataset size. • If applicable, the authors should discuss possible limitations of their approach to address problems of privacy and fairness. • While the authors might fear that complete honesty about limitations might be used by reviewers as grounds for rejection, a worse outcome might be that reviewers discover limitations that aren't acknowledged in the paper. The authors should use their best judgment and recognize that individual actions in favor of transparency play an important role in developing norms that preserve the integrity of the community. Reviewers will be specifically instructed to not penalize honesty concerning limitations. 
point-to-brep adjacency formulation: 
 Given an input 3D point cloud, our method aims to identify and extract individual elements of the corresponding CAD model's Boundary-Representation (B-Rep), i.e. vertices, edges, and faces. In addition, the method determines the primitive type of these elements and their topological connectivity information. We present the essential background on B-Reps and their topological structure, then detail our approach for adapting them to point cloud data. A B-Rep B is composed of three elements, namely faces, edges and vertices. V = {v i } is as the set of all vertices where N v is the number of vertices. Similarly, E = {e i } is the set of N e edges, and F = {f i } the set of N f faces. Each edge e i is defined by a curve of a specific type (e.g. line, arc, etc). Each face f i is also defined by a surface (e.g. planar, spherical, etc) and its corresponding parametric description. Crucially, a B-Rep B not only stores information about these individual elements but also encapsulates the connectivity information between vertices, edges, and faces. This connectivity information is essential for defining the overall topology of the model. As shown in an example in the left panel of Figure 1 , a pyramid's B-Rep data structure stores information about its vertices, edges, and faces. The topological relationships between these elements are represented in a Vertex-Edge-Face graph, defining the pyramid's overall topology.Formally, the B-Rep can be described as a chain complex C = (V, E, F, δ, Π) of order d = 3, where boundary operator δ connects the elements of different orders, and Π is a set of possible attributes (refer to Hatcher [2002] for more details). For instance, δ 2 f i ∈ E gives the edges which define the boundary of a face f i and δ 1 e i ∈ V the end vertices of the edge e i . In other words, each element set V, E, F induces a corresponding vector space V, E, F and its boundary transitionF δ2 -→ E δ1 -→ V.Further, we describe the use of the Linear Algebraic Representation (LAR) described DiCarlo et al.[2014], a convenient and efficient representation that supports topological constructions that typically arise in a cellular decomposition of B-Rep space. Formally, LAR encodes a chain complex C of order d by a set of binary characteristic matrices M u , with 1 ≤ u < d, encoding the incidence of B-Rep elements. These matrices provide a convenient and sparse-compact form for describing topological relations of B-Rep elements. For a B-Rep chain complex (i.e. of order 3) there exist two characteristic matrices,M 1 = ∆(E, V ) ∈ {0, 1} Ne×Nv and M 2 = ∆(F, V ) ∈ {0, 1} N f ×Nv . Here, ∆(E, V ) assigns 1 to M 1 [i, j] ifan edge e i ∈ E is bounded by vertex v j ∈ V and 0, otherwise. Similarly, ∆(F, V ) operates on faces and vertices to construct M 2 . An example of a characteristic matrix M 1 can be found in the left panel of Figure 1 . As mentioned in DiCarlo et al.[2014], M 1 and M 2 can fully characterize the B-Rep chain complex and can be used to obtain the following incidence and adjacency matrices,EQUATIONHere, A f f represents the adjacency of faces in a B-Rep, that is the faces that are bounded by a common edge. Similarly, A ee provides the edges that are bounded by a common vertex and A vv provides the vertices that bound a common edge. Note that as explained in DiCarlo et al. [2014] , the characteristic matrices are typically sparse for actual B-Rep chain complexes, so they can be stored and operated in memory-efficient Compressed Sparse Row (CSR) format. The product and transposition of such CSR matrices, needed to compute the boundary, adjacency and incidence operators between such linear spaces, are intrinsically efficient, since the sparse matrix-vector (SpMV) multiplication is linear in the size of the output.The LAR representation is the core concept for our proposed topological supervision. As LAR are defined on B-Rep, we formulate a mechanism to transfer LAR elements from B-Rep to point cloud domain such that the learning of the B-Rep characteristics from a point cloud can be facilitated. We use the terminology LAR brep and LAR pcd to distinguish between the LAR of B-Rep and its point cloud reformulation.The right panel of Figure 1 depicts an example of the topological transfer to a point cloud. Let P = {p i ∈ R dp |i = 1..N p } be a point cloud composed of N p points, where d p denotes the dimension of point features. We define the characteristic matrix M p 1 = ∆ p (E, P) ∈ {0, 1} Ne×Np in LAR pcd as a binary matrix with rows representing the edges of the B-Rep and columns the points of P. Here, ∆ p (E, P) assigns the value of M p 1 [i, k] to 1 if a given point p i ∈ P belongs to an edge e k ∈ E. This function also sets the value M p 1 [i, l] to 1 if the edge e l ∈ E is adjacent to e k . Otherwise, the value is set 0. Similarly, the characteristic matrix M p 2 = ∆ p (F, P) ∈ {0, 1} N f ×Np in LAR pcd is also a binary matrix. The rows correspond to the faces of the B-Rep and the columns to the points of the point cloud. Here also, ∆ p (F, P) operates in the same way as ∆ p (E, P) but on faces instead of edges. Note that the characteristic matrices in LAR pcd encode the per-point B-Rep edge and face memberships along with their connectivity that are essential elements of the B-Rep structure. As in LAR brep , the adjacency of edges can be computed asA ee = M p 1 M p 1T and the adjacency of faces asA f f = M p 2 M p 2 T .Given a point cloud P, the goal of SpelsNet is to predict the corresponding B-Rep structure including the connectivity and adjacency between the primitives (i.e. edges and faces) and their types. In addition to per-point face and edge memberships, SpelsNet leverages the proposed formulation of LAR pcd to guide the adjacency learning via topological supervision. The proposed SpelsNet is described in the next Section.Question: For each theoretical result, does the paper provide the full set of assumptions and a complete (and correct) proof? 
proposed network: 
 We design SpelsNet, a network architecture to segment an input point cloud P into B-Rep elements. The overall structure of SpelsNet is depicted in Figure 2 . SpelsNet operates on point clouds with a SparseCNN encoder Choy et al. [2019] and it is composed of two main components: (1) SpelsNet sp operates in the spatial domain and consists of a type classification head and a membership head;(2) SpelsNet vef leverages the point-to-BRep adjacency supervision to learn the B-Rep topology.In the following, the individual components of SpelsNet are described.The point cloud encoder Φ p is composed of sparse 3D convolutions Choy et al. [2019] in geometric space. In practice, we use a SparseCNN encoder module with a ResUnet backbone, implemented as in Choy et al. [2019] . The input point cloud P is discretized on a voxel grid with a chosen resolution ρ, the input features of dimension d p are the 3D coordinates of each point and optionally its point normal. As a result, the point cloud is encoded into per-point features F e of dimension d e = 92.Type Classification: The first component of the SpelsNet sp classifies each point as belonging to an edge or a face as well as the type of the primitive T p . This is achieved by decoding the point embedding F e with an MLP Φ c and using the soft logits to classify each point into one of n T = 11 types. The n T types are composed of 4 curve types, 6 surface types and a class for all possible unknown types. As a result, it is possible to deduce whether a point is an edge or a face point from the predicted type Tp . Point-wise primitive element types are learnt with multi-class cross-entropy loss,EQUATIONwhere T p , Tp stands for ground-truth and predicted primitive types.Membership Segmentation: In order to segment points as belonging to the same curve or surface patch a metric learning approach is followed. As depicted in Figure 2 , the point-wise embeddings F e are encoded using an MLP Φ s into features F s ∈ R Np×ds with d s = 128. The learning of F s is conducted using a triplet loss L seg . For a triplet of point-embeddings f + s , f - s , f a s ∈ F s of positive, negative and anchor input, respectively, the triplet loss is given byEQUATIONThe default margin value m is set to 0.05 and for each sample the number of points is restricted to 8000 for efficiency reasons. At inference time, the clustering step is done using HDBScan McInnes et al.[2017] to segment the points into edge membership We and face membership Wf that approximate the ground truth memberships W e and W f , respectively.The topological supervision includes two main modules, a Graph Structure Learning (GSL) layer and a Graph Convolutional Network (GCN). The GSL aims to learn the point-to-BRep adjacency LAR pcd , whereas the GCN leverages the B-Rep element types.Graph Structure Learning (GSL): Inspired by the idea of dynamically learning to construct a graph from a point cloud Wang et al. [2019] , we develop a method to connect the spatial 3D shape features, F e , with the learning of a graph structure that reflects the B-Rep topology. In particular, the goal of the GSL layer is to learn the characteristic matrices of LAR pcd , i.e. M p 1 and M p 2 . In order to facilitate the learning, the matrices M p 1 and M p 2 are concatenated in a row-wise manner to form a single matrix M p ∈ {0, 1}(Ne+N f )×Np . Given the matrix of per-point point cloud embeddings F e = N p × d e where N p is the number of points in the point cloud and d e is the dimension of each point embedding, the GSL layer Φ GSL predicts the following weighted characteristic matrix,EQUATIONIn the initial experiments, the ReLU activation, was utilized to directly enforce sparsity on the output. Due to stability issues discovered during training, this was changed in further experiments to LeakyReLU, for which outputs are further clamped to 0 as minimum value. The use of Tanh is advocated by the finding that empirically LAR pcd with both positive and negative weights gives better results than other options. We employ direct supervision induced by LAR pcd with an l1-loss defined by,EQUATIONGraph Convolutional Network (GCN): Once the characteristic matrix Mp has been obtained from the GSL layer, it is possible to leverage these topological features to build an adjacency graph in order to predict the B-Rep elements such as the edge types (e.g. lines, spline) and face types (e.g. plane, cylinder). As mentioned in Section 3.2, the edge and face adjacency matrices, A ee and A f f , can be obtained from M p 1 and M p 2 , respectively. These adjacency matrices are combined into one matrix given by Ã= Mp MT p of dimension dim( Ã) = (N e + N f ) × (N e + N f ).A two-layer GCN Φ GCN is introduced to exploit the graph structure inferred by GSL and defined by ( Mp , Ã). The main idea is to further supervise this graph with an additional head via B-Rep element types. The initial node features of the graph are obtained by a row-wise mean pooling Pool(.) of Mp . The graph embedding Z are learnt according toEQUATIONwhere Θ 0 and Θ 1 are learnable parameters. The embedded Z is finally passed to a Softmax layer with a number of nodes equal to that of primitive types n T . Finally, a primitive type classification cross entropy loss L gcls is introduced on the output of Softmax similarly to L pcls in Eq. ( 2).Total Loss: The overall network SpelsNet is trained in an end-to-end manner and the loss is given by,EQUATIONwith α 1 , α 4 set to 1 and α 2 =α 3 = 2.Question: Does the paper fully disclose all the information needed to reproduce the main experimental results of the paper to the extent that it affects the main claims and/or conclusions of the paper (regardless of whether the code and data are provided or not)? Answer: [Yes] Justification: The paper provides a detailed description of the experimental setup, including hardware, software, datasets used and optimization parameters and configurations in 5. The metrics used to evaluate the results clearly defined in their mathematical form and explained in 5. The reproducibility of the results is supported by numerous experiments reported in 5 and the ablation study 5. Guidelines:• The answer NA means that the paper does not include experiments.• If the paper includes experiments, a No answer to this question will not be perceived well by the reviewers: Making the paper reproducible is important, regardless of whether the code and data are provided or not. • If the contribution is a dataset and/or model, the authors should describe the steps taken to make their results reproducible or verifiable. • Depending on the contribution, reproducibility can be accomplished in various ways.For example, if the contribution is a novel architecture, describing the architecture fully might suffice, or if the contribution is a specific model and empirical evaluation, it may be necessary to either make it possible for others to replicate the model with the same dataset, or provide access to the model. In general. releasing code and data is often one good way to accomplish this, but reproducibility can also be provided via detailed instructions for how to replicate the results, access to a hosted model (e.g., in the case of a large language model), releasing of a model checkpoint, or other means that are appropriate to the research performed. • While NeurIPS does not require releasing code, the conference does require all submissions to provide some reasonable avenue for reproducibility, which may depend on the nature of the contribution. (d) We recognize that reproducibility may be tricky in some cases, in which case authors are welcome to describe the particular way they provide for reproducibility.In the case of closed-source models, it may be that access to the model is limited in some way (e.g., to registered users), but it should be possible for other researchers to have some path to reproducing or verifying the results. 
experimental setup: 
 ABCParts-VEF Dataset: SpelsNet is trained and evaluated on the ABCParts dataset Li et al. [2019] using the same train (22k), test (3.5k) and validation (3.5k) splits. We prepare the updated version of this dataset, the ABCParts-VEF dataset, by extending it with B-Rep structural information in the form of characteristic matrices M p 1 and M p 2 . Refer to the supplementary materials for further details. CC3D-VEF Real Scan Dataset: To evaluate the ability of SpelsNet to generalize to real-world data, a cross-dataset experiment on the proposed CC3D-VEF dataset is conducted. The CC3D Cherenkova et al. [2020] dataset contains 3D scans along with corresponding B-Rep. As for ABCParts-VEF dataset, we extend the CC3D dataset with the B-Rep topological information. This proposed version of the dataset is referred to as CC3D-VEF. Testing the model using 3D scans offers an opportunity not only to evaluate how the model generalizes to out-of-distribution data, but also how the presence of realistic artifacts such as missing parts, smooth edges, and noise affects the performance. More details on the proposed CC3D-VEF dataset are provided in supplementary materials.Training and Inference: The input point cloud is normalized to unit sphere, randomly rotated and discretized on a voxel grid with a chosen resolution ρ = 0.01. SpelsNet is trained with AdamW solver with a cosine annealing learning rate schedule starting at 10 -3 and weight decay 10 -2 for 250 epochs to convergence. The training takes approximately 10 days on a node with 4 Nvidia A100(40Gb) GPUs. In order to facilitate the learning, we set the number of edges to N e = 128 and faces to N f = 128. The average inference time per model is 0.5 s per model.In this section, we evaluate the results of SpelsNet on the per-point classification and segmentation tasks against state-of-the-art methods. In this context, only the face type output T p and face segment output W f from the SpelsNet sp module are considered. Baselines: The results are compared to state-of-the-art methods, namely, ParSeNet Sharma et al.[2020], HPNet Yan et al. [2021] on patches and PrimitiveNet Huang et al. [2021] on surface patches and boundary. For the first two methods we use the checkpoints and datasets, provided by the authors. PrimitiveNet does not provide full training and testing data, thus it was retrained on ABCParts-VEF, The results are obtained on the same test set containing input point clouds with normal vectors. Test-time Augmentation: When evaluating Scan-to-Brep in the context of reverse engineering, it is crucial to consider that 3D scans or 3D reconstructions from methods like Multi-View Stereo Seitz et al. [2006] or Nerfs Mildenhall et al. [2021] often lack the alignment to standard axes found in CAD designs. Therefore, in addition to the usual assessment using aligned point clouds (w/o aug), evaluating performance under random input rotations (w/ aug) is a key indicator of how well the method generalizes to real-world, unaligned data. Typical artifacts in 3D scans (e.g. noise, missing parts and details smoothing) are well represented in CC3D dataset Cherenkova et al. [2020] . Metrics: We evaluate the per-point classification and segmentation using the same metrics as in Huang et al. [2021] , Yan et al. [2021] , Sharma et al. [2020] . These include mean type IoU denoted as tIoU and mean segmentation IoU denoted as sIoU . More details are in the supplementary.Results: Table 1 summarizes the quantitative evaluation results on the ABCParts-VEF and CC3D-VEF test sets. Clearly, the results demonstrate that all methods have learnt the dataset bias to a different extent. Such, in the presence of unconventional alignment of input point cloud the performance of ParSeNet Sharma et al. [2020] and HPNet Yan et al. [2021] drops significantly. Contrary, PrimitiveNet Huang et al. [2021] and SpelsNet demonstrate more stable results under augmentation by rotation. Our method performs superior in terms of segmentation metrics, and more evidently, in primitive types prediction. Visual results in Figure 3 depict the curves, patches segments along with their type for GT data, and the predictions of our SpelsNet and PrimitiveNet. More qualitative results on the CC3D-VEF dataset can be found in the supplementary materials.In this section, we evaluate the topology predictions of SpelsNetand provide a comparison with ComplexGen Guo et al. [2022] method. Both SpelsNet and ComplexGen leverage topology for Baselines: To the best of our knowledge, SpelsNet is the first end-to-end trainable network that predicts the topological connectivity of a B-Rep given an input point-cloud. Nevertheless, Complex-Gen Guo et al. [2022] is another model that offers similar outputs and can be used as a baseline for the curve and patch type and B-Rep topology predictions. Metrics: The evaluation of the topological predictions is done using similar metrics to the ones described in Guo et al. [2022] . As in Guo et al. [2022] , we compute the type accuracy for both edges and faces using the predictions Te and Tf of the GCN. To evaluate the prediction of the topology, we consider the face-edge connectivity in LAR brep using the characteristic matrix matrix can be easily computed from the predictions of SpelsNet as M ′ = M p 2 M p 1 T . Note that unlike ComplexGen, we do not need to compute the matching pairs within each group of primitive elements as it is inherently defined by our representation. We define the error t f e of the predicted topological structure M′ with respect to the ground truth matrix M ′ asM ′ ∈ {0, 1} N f ×Ne . The value of M ′ [i, k] is 1 if the face f i isEQUATIONIt is important to acknowledge the implementation differences between ComplexGen and SpelsNet, which prevent a direct comparison using the same sIoU and tIoU metrics. For a fair assessment, we obtained per-point segmentation and type labels from ComplexGen predictions, transferring them to the original point cloud using a nearest neighbor approach. This allows us to compute the same metrics on the same data, with results presented in Table 1 . These metrics were not presented in the original ComplexGen work due to the aforementioned implementation differences. Metrics presented in Table 2 are aligned with our SpelsNet approach.Results: The results are reported in Table 2 . SpelsNet achieves superior performance in its topology reconstruction as well as type prediction. The examples with segmentation results on faces in Figure 4 were obtained from unaugmented results publicly shared by the authors of ComplexGen. The discontinuity artifacts in the B-Rep reflect the higher topological error compared to our method.In order to demonstrate the advantage of the joint learning of the SpelsNet sp and SpelsNet vef module, we conduct the following experiment. Three different SpelsNet models are trained: 1) SpelsNet sp p : SpelsNet without the SpelsNet vef module and only point coordinates as input features (d p = 3), 2) SpelsNet sp pn : SpelsNet sp p with added point normals to the input features (d p = 6) and 3) SpelsNet sp+vef pn : all the components of SpelsNet with point coordinates and normals as input features. Moreover, the test data is augmented with random rotation (w/aug). The results are shown in Table 3 . Adding the point normal slightly increases the segmentation results for both edges and types. These segmentation results are further increased by the joint supervision of the two modules of the network. Voxel resolution sensitivity: The input point cloud, P, is discretized into a voxel grid with a quantization size ρ. A default value of ρ = 0.01 was chosen, balancing model training time and geometric detail resolution on the ABCParts dataset. To investigate resolution sensitivity, the model was evaluated on test data quantized at levels 2ρ and 1 2 ρ, with all other settings held unchanged. The results, summarized in Table 4 and Figure 5 , indicate the model's sensitivity to the input resolution. Furthermore, we show that the robustness could be enhanced by using a dynamic resolution with respect to adequate selection of voxel density, ψ (the average number of points per occupied voxel), during testing. For our backbone, an optimal voxel resolution corresponds to a voxel density ψ of 4 -6 points per voxel. This improves testing metrics compared to a fixed resolution, without retraining the model. Future work could explore dynamic resolution selection strategies to further enhance the model's adaptability to varying input data during training. Table 4 : SpelsNet sp+vef ablation studies results on the ABCParts dataset with respect to voxel quantization size ρ and voxel density ψ.The degradation of performance under rotation can be evaluated as a negative outcome. We argue, that uncanonical alignment, specific to real scanned data, offers a way to effectively enlarge the training data and to generalize to unseen data. Question: Does the paper provide open access to the data and code, with sufficient instructions to faithfully reproduce the main experimental results, as described in supplemental material?Answer: [No] Justification: The paper uses the data which is publicly available. The scripts to preprocess the data to obtain additional information used in our work will be made publicly available.The code with the network architecture and training can not be currently released under an open-source license that allows others to use, modify, and distribute it due to specifics of the industrial collaboration in the scope of which the work has been done. The authors described all the details required to reproduce the results within the paper itself and in accompanying supplementary material.Guidelines:• The answer NA means that paper does not include experiments requiring code. • Providing as much information as possible in supplemental material (appended to the paper) is recommended, but including URLs to data and code is permitted. 
conclusions: 
 We present a novel learning approach to surface primitive elements segmentation along with their types prediction from a point cloud data. Our design allows to incorporate the features of traditional spatial learning in 3D into direct topology supervision by its underlying graph structure via Graph Neural Network. We extend the point cloud data with its corresponding B-Rep structure by an efficient reformulation employing Linear Algebraic Representations. This design allows to compose spatial convolutional and graph convolutional networks in one end-to-end trainable neural architecture.Through extensive experiments on large datasets, we uncover the effectiveness of such neural composition in terms of superior segmentation performance and primitive type prediction.Question: Does the paper specify all the training and test details (e.g., data splits, hyperparameters, how they were chosen, type of optimizer, etc.) necessary to understand the results?Answer: [Yes] Justification: The paper provides sufficient details about the training and testing procedures, metrics, hyperparameters of the network, optimizer choice for another researcher to potentially reproduce the results.Guidelines:• The answer NA means that the paper does not include experiments.• The experimental setting should be presented in the core of the paper to a level of detail that is necessary to appreciate the results and make sense of them. • The full details can be provided either with the code, in appendix, or as supplemental material. 
experiment statistical significance: 
 Question: Does the paper report error bars suitably and correctly defined or other appropriate information about the statistical significance of the experiments?Answer: [Yes] Justification: The only error bar in form of standard deviation of the mean is reported in Table 1 of supplementary to reflect the elements statistics in two datasets.Guidelines:• The answer NA means that the paper does not include experiments.• The authors should answer "Yes" if the results are accompanied by error bars, confidence intervals, or statistical significance tests, at least for the experiments that support the main claims of the paper. • The factors of variability that the error bars are capturing should be clearly stated (for example, train/test split, initialization, random drawing of some parameter, or overall run with given experimental conditions). • The method for calculating the error bars should be explained (closed form formula, call to a library function, bootstrap, etc.) • The assumptions made should be given (e.g., Normally distributed errors).• It should be clear whether the error bar is the standard deviation or the standard error of the mean. • The authors should make sure to preserve anonymity (e.g., if there is a special consideration due to laws or regulations in their jurisdiction). 10. Broader Impacts Question: Does the paper discuss both potential positive societal impacts and negative societal impacts of the work performed?Answer: [Yes] Justification: The paper tries to adequately addresses the potential positive societal impact in the introduction to the problem and its motivation. The authors do not foresee any negative implications of their work. Guidelines:• The answer NA means that there is no societal impact of the work performed.• If the authors answer NA or No, they should explain why their work has no societal impact or why the paper does not address societal impact. • Examples of negative societal impacts include potential malicious or unintended uses (e.g., disinformation, generating fake profiles, surveillance), fairness considerations (e.g., deployment of technologies that could make decisions that unfairly impact specific groups), privacy considerations, and security considerations. • The conference expects that many papers will be foundational research and not tied to particular applications, let alone deployments. However, if there is a direct path to any negative applications, the authors should point it out. For example, it is legitimate to point out that an improvement in the quality of generative models could be used to generate deepfakes for disinformation. On the other hand, it is not needed to point out that a generic algorithm for optimizing neural networks could enable people to train models that generate Deepfakes faster. • The authors should consider possible harms that could arise when the technology is being used as intended and functioning correctly, harms that could arise when the technology is being used as intended but gives incorrect results, and harms following from (intentional or unintentional) misuse of the technology. • If there are negative societal impacts, the authors could also discuss possible mitigation strategies (e.g., gated release of models, providing defenses in addition to attacks, mechanisms for monitoring misuse, mechanisms to monitor how a system learns from feedback over time, improving the efficiency and accessibility of ML). 
safeguards: 
 Question: Does the paper describe safeguards that have been put in place for responsible release of data or models that have a high risk for misuse (e.g., pretrained language models, image generators, or scraped datasets)? Answer: [NA] Justification: The authors do not foresee any potential risks associated with the release of their method, data or model. Guidelines:• The answer NA means that the paper poses no such risks.• Released models that have a high risk for misuse or dual-use should be released with necessary safeguards to allow for controlled use of the model, for example by requiring that users adhere to usage guidelines or restrictions to access the model or implementing safety filters. • Datasets that have been scraped from the Internet could pose safety risks. The authors should describe how they avoided releasing unsafe images. • We recognize that providing effective safeguards is challenging, and many papers do not require this, but we encourage authors to take this into account and make a best faith effort. 12. Licenses for existing assets Question: Are the creators or original owners of assets (e.g., code, data, models), used in the paper, properly credited and are the license and terms of use explicitly mentioned and properly respected? Answer: [Yes] Justification: All assets including data and codes used in the work are clearly cited in the paper.Guidelines:• The answer NA means that the paper does not use existing assets.• The authors should cite the original paper that produced the code package or dataset.• The authors should state which version of the asset is used and, if possible, include a URL. • The name of the license (e.g., CC-BY 4.0) should be included for each asset.• For scraped data from a particular source (e.g., website), the copyright and terms of service of that source should be provided. • If assets are released, the license, copyright information, and terms of use in the package should be provided. For popular datasets, paperswithcode.com/datasets has curated licenses for some datasets. Their licensing guide can help determine the license of a dataset. • For existing datasets that are re-packaged, both the original license and the license of the derived asset (if it has changed) should be provided. • If this information is not available online, the authors are encouraged to reach out to the asset's creators. 
new assets: 
 Question: Are new assets introduced in the paper well documented and is the documentation provided alongside the assets?Answer: [Yes] Justification: The extended versions of two public datasets are clearly described in the paper.The scripts to generate these updated versions from publicly available assets will be released with sufficient documentation.Guidelines:• The answer NA means that the paper does not release new assets.• Researchers should communicate the details of the dataset/code/model as part of their submissions via structured templates. This includes details about training, license, limitations, etc. • The paper should discuss whether and how consent was obtained from people whose asset is used. • At submission time, remember to anonymize your assets (if applicable). You can either create an anonymized URL or include an anonymized zip file. 
crowdsourcing and research with human subjects: 
 Question: For crowdsourcing experiments and research with human subjects, does the paper include the full text of instructions given to participants and screenshots, if applicable, as well as details about compensation (if any)?Answer: [NA] Justification: No human subjects and crouwdsourcing were involved in the work.Guidelines:• The answer NA means that the paper does not involve crowdsourcing nor research with human subjects. • Including this information in the supplemental material is fine, but if the main contribution of the paper involves human subjects, then as much detail as possible should be included in the main paper. • According to the NeurIPS Code of Ethics, workers involved in data collection, curation, or other labor should be paid at least the minimum wage in the country of the data collector. 
institutional review board (irb) approvals or equivalent for research with human subjects: 
 Question: Does the paper describe potential risks incurred by study participants, whether such risks were disclosed to the subjects, and whether Institutional Review Board (IRB) approvals (or an equivalent approval/review based on the requirements of your country or institution) were obtained? 
 
 Appendix: 1. Claims Question: Do the main claims made in the abstract and introduction accurately reflect the paper's contributions and scope? Answer: [Yes] Justification: The main claims in the abstract and introduction accurately reflect the paper's contributions and scope. This is an important aspect of evaluating the quality and reliability of any research paper. Guidelines:• The answer NA means that the abstract and introduction do not include the claims made in the paper. • The abstract and/or introduction should clearly state the claims made, including the contributions made in the paper and important assumptions and limitations. A No or NA answer to this question will not be perceived well by the reviewers. • The claims made should match theoretical and experimental results, and reflect how much the results can be expected to generalize to other settings. • It is fine to include aspirational goals as motivation as long as it is clear that these goals are not attained by the paper.Justification: There are no theoretical claims made in the paper. Guidelines:• The answer NA means that the paper does not include theoretical results.• All the theorems, formulas, and proofs in the paper should be numbered and crossreferenced. • All assumptions should be clearly stated or referenced in the statement of any theorems.• The proofs can either appear in the main paper or the supplemental material, but if they appear in the supplemental material, the authors are encouraged to provide a short proof sketch to provide intuition. • Inversely, any informal proof provided in the core of the paper should be complemented by formal proofs provided in appendix or supplemental material. • Theorems and Lemmas that the proof relies upon should be properly referenced. 


Decision: The paper received positive reviews, with one *borderline accept* and three *weak accept* ratings. The reviewers maintained their positive perspectives after the rebuttal and did not raise any further concerns. Additionally, no ethical issues were identified by the reviewers.

Therefore, the area chair recommends accepting this paper. The authors are encouraged to incorporate the clarifications provided in the rebuttal into the final version to address points such as comparisons with ComplexGen, generalization, voxel resolution sensitivity, and training time.

Reviews: review: paper_summary: paper_summary: This paper presents a novel model called SpelsNet for surface elements segmentation task based on boundary representation, which uses two heads for predicting B-Rep element types and extracting topological information, respectively. Experiments are evaluated on two extended datasets and the results illustrate the efficacy of the proposed method.
strength_weakness: strength_weakness: 1.	The concrete voxel grid resolution for the input seems unclear. How does the performance vary with respect to different resolution settings? A related sensitivity analysis is desired. 
2.	The resolution of Figure 2 is a bit low. It’s difficult to see the subscript of notations clearly even already zoomed in.
3.	The topological information supervision based on B-Rep chain complex sounds not a unique way. Methods related to topological optimization should also provide a workaround for this task. Further comparisons and analysis with this approach should be appended.
questions: questions: Can the proposed method be applied on pure point cloud (without edge connectivity) as input?
limitations: limitations: Detailed discussion about the ablation study is insufficient. The insights behind the proposed modules of SpelsNet should also be discussed here.
paper_summary: paper_summary: This paper focused on reverse engineering where cad brep is reconstructed from point cloud. Authors extended the definition of face-edge-vertex incidence matrix to point-face, point-edge adjacency. A new SpelsNet module is added on top of existing pipeline to also predict point assignment w.r.t the primitives. They showed that the predicted topology can be passed to another gcn to better predict the brep components.
strength_weakness: strength_weakness: The idea of using predicted topology to help with brep reconstruction has already been proposed by previous method ComplexGen. SpelsNet seems similar in terms of predicting the adjacency matrix. It also has similar results on edges but much better for faces. This is very interesting as the much larger surfaces are usually easier to reconstruct than curves.  The results reported here seem to contradict this. I wonder what would happen is ComplexGen is trained with the same data? Would the difference be much smaller?
questions: questions: Can authors explain the major difference between SpelsNet and ComplexGen? Both network predicts the topology and show that this is better for the final reconstruction. 

How are the comparisons between SplesNet and ComplexGen conducted? Is ComplexGen evaluated using the pretrained public model without any finetuning?
limitations: limitations: Yes, the authors adequately addressed the limitations.
paper_summary: paper_summary: This paper proposes a method to segment and classify surface primitive elements (B-rep) from point cloud data. Previous approaches independently deal with the surface patches or boundary curves and ignores the full B-rep structure. This leads to inaccurate and disjoint primitive approximation of the surface. Unlike these approaches, this paper proposes a method to consider topological information of the 3D model through direct supervision during the B-rep learning process. For this, the paper adapts the Linear Algebraic representation of B-rep chain complex into a point-to-B-rep adjacency representation. A thorough experimental validation on ABCparts and CC3D datasets is shown showcasing the improvements over the current methods. Additionally, this method yields compelling results in scenarios where 3D models are not aligned with standard axes, a common occurrence in CAD models, thus proving its efficacy for real-world scans.
strength_weakness: strength_weakness: 1. **Lack of clarity on ground truth:** The information on how exactly the ground truth is obtained to train the model is not clearly explained. For e.g. it would be good if the paper had some explanation on how the point-to-Brep ground truth is obtained for supervision in Eq. 5 for $L_{lar}$ loss.
2. **Quantitative Evaluation:** Although quantitative results for face type and segmentation are provided for the previous methods. Quantitative comparison with ComplexGen (the most recent one) is missing in Table 1. 
3. **Intuition behind the generalization and robustness:** The model shows strong generalization ability as results are shown when the model is trained on ABC dataset and tested on CC3D and real scans (Table 1 in main paper and Fig 3 in supplementary). In addition to this the model shows robustness especially in cases where the 3D model is not aligned with the axes. However, it is not very clear from the paper how this generalization and robustness is achieved. A brief information on this will be very helpful.
4. **Qualitative Evaluation:** Qualitative results in Fig. 3 is shown only PrimitiveNet and SpelsNet. Additional results of other methods will be helpful.
questions: questions: 1. **Training time:** Although not a big problem, was curious about the training time of the model. Despite training on only 22k models, it takes 10 days on 4 Nvidia A100 40 Gb gpus. What is the reason behind this long training time? 


Please follow the weakness for more points.
limitations: limitations: The paper discusses the limitations adequately.
paper_summary: paper_summary: This paper proposes SpelsNet, a novel point-to-BRep adjacency representation learning method that integrates conventional Linear Algebraic Representation of B-Rep graph structures into the point cloud domain. SpelsNet consists of two main components: a supervised 3D spatial segmentation head that classifies B-Rep element types and memberships, and a graph-based head that utilizes the proposed topological supervision. To facilitate SpelsNet's learning, the paper extends two existing CAD datasets with necessary annotations and conducts extensive experiments. The results demonstrate SpelsNet's effectiveness and superiority in achieving accurate and topologically consistent segmentation results compared with existing baselines and state-of-the-art methods.
strength_weakness: strength_weakness: 1. The paper only cosiders CAD models, which have nearly no noises, occlusions and distortions. Although very good performance has been achieved, but there is a lack of validation on more realitsitc data.  

2. Some parts are confusing and need to be clarified:

2.1. In Eq.(4), the input is point feature, but the prediction of the connectivity matrix should consider multiple points, there is not connectivity on one point. 

2.2. In Eq.(4), the paper uses leaky relu for sparsity, but leaky relu cannot output sparse results. They should use relu here.

2.3. The segmentation loss for predicting primitive types has been used more than once in this framework, like in pcls loss and gcls loss, and seg loss also has similar effects. So it’s not clear which predictions should be taken in inference.

2.4 In Section 5.2, all results come from the SpelsNet sp part, why not use vef part? 

3. In line 260, the paper mentions that it costs 10 days on 4 A100 GPUs for training. Since the SparseCNN is not a big model, why does it cost so significant time and computation?
questions: questions: The paper aims to predict primitives including surfaces and edges. It’s not clear why the edges need to be predicted? In practical applications, the engineers may only need to design and combine surfaces. And a second reason is once surfaces are determined, the edges are also fixed.
limitations: limitations: More realistic scenarios like occlusion, noisy and shape variations should also be considerd.

Comments: comment: Thanks for the rebuttal. After reading the rebuttal and other comments by the reviewers, I will stick to my original score!
I want to thank authors for the detailed rebuttal. Most of my concerns are resolved. The difference between complexgen and splesnet appear to be per-pritimive VS per-point , with the later approach showing much better results. Overall the method does seem to be a lot simplier than the very "complex" complexgen. I think this is a good improvement and adjusted my score accordingly.
Thanks for the rebuttal. I would keep my positive rating.