D$^2$CSG: Unsupervised Learning of Compact CSG Trees with Dual Complements and Dropouts

We present D$^2$CSG, a neural model composed of two dual and complementary network branches, with dropouts, for unsupervised learning of compact constructive solid geometry (CSG) representations of 3D CAD shapes. Our network is trained to reconstruct a 3D shape by a fixed-order assembly of quadric primitives, with both branches producing a union of primitive intersections or inverses. A key difference between D$^2$CSG and all prior neural CSG models is its dedicated residual branch to assemble the potentially complex shape complement, which is subtracted from an overall shape modeled by the cover branch. With the shape complements, our network is provably general, while the weight dropout further improves compactness of the CSG tree by removing redundant primitives. We demonstrate both quantitatively and qualitatively that D$^2$CSG produces compact CSG reconstructions with superior quality and more natural primitives than all existing alternatives, especially over complex and high-genus CAD shapes.

Paper

References (57)

Scroll for more · 38 remaining

Similar papers

Peer review

Reviewer T4uV7/10 · confidence 5/52023-06-30

Summary

D2CSG presents a neural architecture for inferring CSG programs that reconstruct complex 3D shapes. The architecture is composed of two branches, a cover branch and a residual branch, which are differenced from one another to form the complete shape. The work is largely an extension of, and a strong improvement over, CAPRI-Net, wherein the major differences are: (i) the use primitive complements, (ii) separate primitive sets for the cover and residual branches, (iii) a third training stage, termed dropout, encouraging program sparsity, and (iv) switching from an encoder to an auto-decoder framework. Finding a CSG program to represent a target shape involves "overfitting" the network in a test-time optimization scheme, with an occupancy-based reconstruction loss (with regularizing terms, and various relaxations). Compared to previous neural relaxation approaches for CSG program inference, D2CSG net find programs that result in much better reconstructions (both quantitatively and qualitatively).

Strengths

The paper presents compelling, and well-supported, evidence that D2CSG provides a marked improvement for the task of 3D CSG program inference (and more generally shape abstraction). The insights that contributed to this improvement, while not a dramatic departure from past work, are sound and sensible. Based on the qualitative results, and quantitative metrics, its clear that D2CSG outperforms a reasonable set of baseline methods, offering a new state-of-the-art bar for CSG program inference. The ablation experiments, in both the main paper and supplemental, are very helpful and generally well-structured. The fact that D2CSG is able to capture a provably larger set of possible shapes than CAPRINet, due to the use of complements in the primitive set, is also a nice property.

Weaknesses

Probably the biggest weakness of the paper is that its methodological improvements are largely incremental on top of the CARPINet system. In my opinion, this shouldn't disqualify the paper from being accepted. Despite the similarity to CARPINet, D2CSG offers real, supported improvement, and would be useful, and of interest, to the community. This type of paper requires strong experimental results, in the form of comparisons to related work and well-crafted ablation conditions, both of which are provided. To give a higher rating, beyond "accept", it would be useful to show that the insights found useful in improving CAPRINet to D2CSG could be extended to other architectures / systems (e.g. they would have more general applicability than this one system). While I think this could be possible, its by no means a given. ```Ablation issues``` There were a couple of small questions/concerns I had surrounding the ablation experiments: - Is the top row of table 3 just CAPRINet (from the tables this looks like the case). But CAPRINet also has the encoder/decoder vs auto-encoder difference, so I would expect this to be a different architecture (e.g. the CARPINet without pretraining, provided in the supplemental). Please clarify what this row is supposed to report. - I think it would be important to add rows to Table 3, where just DB, and just DO, are added to row 1. It would be fine to report these results in the supplemental material, but having access to their performance would help disentangle the effects of each change between systems. ```Clarity``` While I wouldn't say that the paper was unclear, I think the overall clarity of the method could be improved. The paper is not very self-contained, much of the technical details are omitted from the main paper, and pushed to either past-work or the supplemental material. Due to space constraints, a full explanation of the training scheme and architecture is likely impossible to have in the main paper, but I think the main paper could still be improved to give a better *motivation* for why the architecture and training scheme is designed in the way that it is. - Most helpful would be to add more details and annotations to Figure 2 (e.g. the D, Q, T, Con, and a matrices). If these can't fit in the figure, then sub-figures showing parts of the pipeline should be introduced (e.g. to the supplemental). - In the text, introductory paragraphs should be used to set the stage for the various matrices, and what information they are suppsoed to hold. For instance, there is no explanation given for what the "Con" matrix (first introduced on line 175) holds, beyond the formulas for how it is constructed. An additional paragraph at the start of 3.2, walking through all of the matrices that will be created (and what information they hold) would be very helpful. - Similarly, while some technical details (though not all) are provided in 3.3 indicating how the loss functions change through the training stages, it would benefit the paper to have a high-level section at the beginning of 3.3 explaining *why* multiple stages are needed (while this reasoning might have been provided in past-work, it needs to be restated here, for self-containment). For instance, something like: in stage 0 no hard decisions are made for either (a) primitive to intersection members or (b) which convexes are added into union, then in stage 1 we make a hard decision for (b), and in stage 2 we make a hard decision for (a). ```Minor``` - It would be useful to know how the reconstruction metrics change when converting from quadrics to basic primitives for user-editing (especially compared with just directly optimizing basic primitives, and not quadrics). - Some discussion of related work on shape program inference can be improved. [36] is not a supervised method, and should likely be grouped with [11], as RL-based methods for unsupervised shape program inference (see [1*]). Relatedly, [2*] should also be added to this section, as an alternative to per-shape optimization for 3D CSG inference. - typos/phrasing: - L:27, genera - L:163, are float [1*] Neurosymbolic Models for Computer Graphics, Eurographics 2023 STAR [2*] PLAD: Learning to Infer Shape Programs with Pseudo-Labels and Approximate Distributions, CVPR 2022

Questions

- If I understood the dropout operation, its based on finding changes to the primitive / intersection contributions that make little difference (e.g. a small delta) to the output binarized shape from the network. I'm surprised that it isn't instead based in deltas to the networks reconstruction loss (e.g. difference versus the target shape). Did you explore any types of dropout operations that considered the target occupancy values? - The conclusion has the following statement: ```We also have ample visual evidence that the CSG trees obtained by our method tend to be more natural than those produced by prior approaches```. Looking through the decompositions in the supplemental, I'm unconvinced that many people would posit the decompositions as `natural' -- I would consider either adding additional evidence to support this claim, or removing it. - The conclusion implies that for datasets like ABC, that lack a consistent global part decomposition, 'overfitting' is more acceptable, with the subtext that its not helpful to learn over more than one shape at a time. I would encourage the addition of a little more nuance to this statement: while ABC-type shape are certainly less globally consistent compared with other domains (like ShapeNet chairs), mechanical parts share clear commonalities with one another, especially at the sub-component/local level, and other methods have found success in learning over distributions of these types of shapes (e.g. [46]). Thus, instead of tying the the merits of `overfitting' to this line of argument, it would be better to let it stand on its own. - (minor) I'm about confused about Eq 7. From the explanation of the method, I would have thought that W is ignored after stage 0 is done. In table 1, it looks like it is not used at all in stage 1, but then re-introduced (and binarized) in stage 2. Line 109 in the supplemental indicates that stage 2 training is the same as stage 1, but how can this be the case if W is re-introduced (is it frozen in stage 1, then unfrozen/modified for stage 2)? I would request additional clarification on this mechanism.

Rating

7: Accept: Technically solid paper, with high impact on at least one sub-area, or moderate-to-high impact on more than one areas, with good-to-excellent evaluation, resources, reproducibility, and no unaddressed ethical considerations.

Confidence

5: You are absolutely certain about your assessment. You are very familiar with the related work and checked the math/other details carefully.

Soundness

4 excellent

Presentation

3 good

Contribution

3 good

Limitations

While the `overfitting' setup certainly seems to improve reconstruction performance (at least for D2CSG, though interestingly not for CAPRINet), there are certain downsides of moving away from a shared latent space: e.g., ill-conditioned inference tasks (e.g. program from partial point cloud, or program from image), and shape to shape interpolation, are no longer possible. It would be good for the paper to discuss the impact of this design decision a bit (beyond the change in reconstruction).

Reviewer AcKp6/10 · confidence 4/52023-07-05

Summary

The paper presents an unsupervised network learning method for reconstructing CSG trees from CAD models. The network is an enhancement of CAPRI-NET, and features the fixed operations (from bottom to top) of intersection -> union -> difference on primitives modeled by quadratic surfaces, where the difference is always applied on two intermediate shapes produced from subtrees. The enhancement to CAPRI-NET is the allowance of difference in the form of inverse primitives before intersection, which the paper shows to cover all possible CSG trees in contrast to the incomplete coverage of CAPRI-NET. In addition, the paper uses dropout pruning to reduce the redundant primitives or intersected intermediate shapes. Through experiments on ABC and ShapeNet datasets and comparisons with previous works on unsupervised CSG reconstruction, this paper shows improved results with good reconstruction accuracy and compactness. Ablation studies further show the usefulness of the dual branch design, inverse primitives, and dropout pruning.

Strengths

The paper shows the limitation of a previous work CAPRI-NET in representing all possible CSG trees and fixes it with a simple addition of inverse primitives. The paper introduces dropout pruning to improve compactness of result CSG trees. Extensive tests have shown the new algorithm can recover more compact and faithful results than previous works.

Weaknesses

It's not very clear how the dropout pruning is applied in the training process. Is it used in the last step and after its application there will be no network finetuning? Or the interleaved application of dropout and finetuning can be more helpful? It's desirable that the authors provide a detailed study on this issue.

Questions

In addition to questions above, there are some detailed questions: 1. Could the primitives before intersection be shown in the expanded CSG trees? That would help readers better understand the complexity and details of the results. 2. Is there any intuitive understanding of the learned weighting vector W in Eq(4)? 3. Why $\Delta S$ of Eq(6) is not normalized by the number of sample points $n$? 4. Line223, should it refer to Eq(3) instead?

Rating

6: Weak Accept: Technically solid, moderate-to-high impact paper, with no major concerns with respect to evaluation, resources, reproducibility, ethical considerations.

Confidence

4: You are confident in your assessment, but not absolutely certain. It is unlikely, but not impossible, that you did not understand some parts of the submission or that you are unfamiliar with some pieces of related work.

Soundness

3 good

Presentation

3 good

Contribution

3 good

Limitations

The authors have discussed limitations in generalization, detail recovery and limited expressiveness of quadratic primitives.

Reviewer DMnr6/10 · confidence 5/52023-07-07

Summary

The paper proposes a reconstruction approach to building constructive solid geometry (CSG) from other 3D modalities like meshes and point clouds. The key contribution of the paper is a dual representation that considers both the shape and its complement that are built with Boolean intersection and union operations with a set of primitive convex quadric surfaces and their inverses. Two branches in a fully differentiable neural network are responsible for generating the shape and the complement that is Boolean subtracted to output the final CSG representation of a target shape. The dual representation is general and enables complex shapes to be captured well as demonstrated by extensive results.

Strengths

The paper is well written and easy to follow. It offers a competitive solution to an important inverse problem in CAD, and the proposed representation is novel, general and backed by strong empirical results in two standard datasets. The design choices are well justified and evaluated. The decision to overfit to a target shape rather than attempting to generalize is sensible, but see also a related point in weaknesses.

Weaknesses

One weakness of choosing an overfitting approach as opposed to learning from datasets is challenges related to robustness to noise and outliers. The method appears to be sensitive to how clean the input geometry is, and with noisy pointclouds or low resolution meshes, it is very likely for unintended sliver geometry to be constructed. This is apparent in Figure 4, although the proposed method does perform better than others. Some discussion on this would be beneficial in the limitations or future work section. Another weakness is the choice of using quadric surfaces as primitives. CAD shapes are typically built with prismatic primitives like planes, cylinders, etc. and while quadric surfaces can represent most of such surfaces, optimizing in this representation is unlikely to reconstruct the exact prismatic primitives as seen in the results throughout the paper.

Questions

In the related work under Deep CAD Models, it appears that BRepNet, UV-Net and SB-GCN are attributed as reverse engineering models while these are all encoders. Some missing citations that might be worth adding: - https://dl.acm.org/doi/abs/10.1145/3528223.3530078 - https://dl.acm.org/doi/abs/10.1145/3550469.3555424 References [46] and [47] are duplicates

Rating

6: Weak Accept: Technically solid, moderate-to-high impact paper, with no major concerns with respect to evaluation, resources, reproducibility, ethical considerations.

Confidence

5: You are absolutely certain about your assessment. You are very familiar with the related work and checked the math/other details carefully.

Soundness

4 excellent

Presentation

3 good

Contribution

3 good

Limitations

Yes

Reviewer dmBa6/10 · confidence 2/52023-07-07

Summary

This paper proposed a method for unsupervised learning of CSG trees from mesh or point cloud. An auto-decoder approach is used, i.e., each training shape is represented by a learned latent code. Compared to previous approach CAPRI-Net, the proposed approach used complementary primitives and dual branch design to represent shapes in more complicated and accurate CSG primitives. Also, the proposed approach used dropout during training to avoid redundancy of the inferred CSG tree. The method is validated on ABC dataset and ShapeNet.

Strengths

- The idea of complementary primitives and dual branch are novel and effective. - The proposed method significantly outperforms previous method both qualitatively and quantitatively. - The experiment section is conducted extensively, which supports the claims well.

Weaknesses

- Some important technical details are not clear (see questions). - It will be easier to follow the paper if there are some visualizations explaining the insights of complementary primitives and dual branch.

Questions

- How is the T matrix predicted from the network? - The residual loss appears in the figure-2 of main paper, it will be helpful to move its definition to the main paper. - Many components of the paper is based on CAPRI-Net, it will be helpful to provide a compact background section for CAPRI-Net in the paper.

Rating

6: Weak Accept: Technically solid, moderate-to-high impact paper, with no major concerns with respect to evaluation, resources, reproducibility, ethical considerations.

Confidence

2: You are willing to defend your assessment, but it is quite likely that you did not understand the central parts of the submission or that you are unfamiliar with some pieces of related work. Math/other details were not carefully checked.

Soundness

4 excellent

Presentation

2 fair

Contribution

3 good

Limitations

N/A

Reviewer rfjZ8/10 · confidence 3/52023-07-10

Summary

The authors propose a novel, unsupervised method to reconstruct the CSG tree given a 3D shape. The authors prove that all CSG trees can be formulated with a boolean difference operation as the last step. Therefore, to generate the final reconstructed shape, the proposed method uses two branches, cover and residual, to produce the shapes used to keep and remove in the boolean difference operation. To further enhance the model's capability of generating all possible shapes, the inverse convex primitives are introduced to incorporate the boolean difference operations other than the last step. The proposed method also improves compactness using dropout. The results demonstrate significant improvement over prior works qualitatively and quantitatively.

Strengths

1. The proposed method significantly improves the reconstruction quality, which can be easily observed from the qualitative results in Fig 3. 2. The paper is well-written and provides most of the required details (both in the main text and supplementary). 3. The authors demonstrate that the model can reconstruct the CSG trees from general and complex 3D shapes in both ABC and ShapNet datasets, and provide shape editing capability for downstream CAD tasks.

Weaknesses

1. The generated CSG trees might not look natural to designers and engineers since they usually have some shared patterns and preferences when modeling 3D shapes. Moreover, the modeling sequences are often related to the design and manufacturing intents. Therefore, it would be great to see user study results comparing the generated CSG trees with real modeling sequences (e.g., Fusion 360 Gallery Reconstruction Dataset). 2. Designers usually do not model 3D shapes simply using primitives. Most solid modeling tools in CAD are profile-based, meaning that users draw 2D profiles and use them to perform 3D operations such as extrude, revolve, sweep, chamfer, fillet, etc. Therefore, mapping the generated CSG trees into those operations will be necessary for practical use. 3. Point cloud representation can be challenging when reconstructing large objects with small details, such as the camping car example in Fig. 3.

Questions

1. Stages 0, 1, and 2 in the main text are not coherent with stages 1, 2, and 3 in Table 1. 2. How does the proposed method perform on multiple objects (or objects with disconnected parts)? 3. How do the point sampling density, quality, or methods affect the results? 4. Have the authors tried generating CSG trees with depths larger than two (e.g., using an iterative approach)? Is there any way to justify whether the current approach is sufficient to generate any shapes? In other words, do shapes generated in each branch have enough complexity?

Rating

8: Strong Accept: Technically strong paper, with novel ideas, excellent impact on at least one area, or high-to-excellent impact on multiple areas, with excellent evaluation, resources, and reproducibility, and no unaddressed ethical considerations.

Confidence

3: You are fairly confident in your assessment. It is possible that you did not understand some parts of the submission or that you are unfamiliar with some pieces of related work. Math/other details were not carefully checked.

Soundness

4 excellent

Presentation

4 excellent

Contribution

4 excellent

Limitations

Yes, the limitations are addressed.

Reviewer T4uV2023-08-14

I thank the authors for their detailed and well-written response. I remain very positive on this paper, and would like to see its inclusion to the conference.

Reviewer AcKp2023-08-15

Thanks for the responses.

Reviewer DMnr2023-08-15

Thanks for the response. I am retaining my score and would be happy to see this paper accepted.

Reviewer rfjZ2023-08-21

Thank the authors for the rebuttal. I would love to see the primitive-based method and extrude-based method converge in the future. I will remain my rating as a strong accept.

Program Chairsdecision2023-09-21

Decision

Accept (poster)

© 2026 NYSGPT2525 LLC