SkexGen: Autoregressive Generation of CAD Construction Sequences with Disentangled Codebooks
Authors: Xiang Xu, Karl D.D. Willis, Joseph G Lambourne, Chin-Yi Cheng, Pradeep Kumar Jayaraman, Yasutaka Furukawa
ICML 2022 | Conference PDF | Archive PDF | Plain Text | LLM Run Details
| Reproducibility Variable | Result | LLM Response |
|---|---|---|
| Research Type | Experimental | Extensive experiments demonstrate that our disentangled codebook representation generates diverse and high-quality CAD models, enhances user control, and enables efficient exploration of the design space. The code is available at https: //samxuxiang.github.io/skexgen. We evaluate Skex Gen on a large-scale sketch-and-extrude dataset (Wu et al., 2021). Qualitative and quantitative evaluations against multiple baselines and state-of-the-art methods demonstrate that our method generates more realistic and diverse CAD models, while allowing effective control and efficient exploration of the design space not possible with prior approaches. |
| Researcher Affiliation | Collaboration | 1Simon Fraser University, Canada 2Autodesk Research. |
| Pseudocode | No | The paper describes the architecture and processes textually and with diagrams but does not include structured pseudocode or algorithm blocks. |
| Open Source Code | Yes | The code is available at https: //samxuxiang.github.io/skexgen. |
| Open Datasets | Yes | Dataset: We use the Deep CAD dataset (Wu et al., 2021) which contains 178,238 sequences and a data split of 90% train, 5% validation, and 5% test. |
| Dataset Splits | Yes | Dataset: We use the Deep CAD dataset (Wu et al., 2021) which contains 178,238 sequences and a data split of 90% train, 5% validation, and 5% test. |
| Hardware Specification | Yes | Skex Gen is implemented in Py Torch (Paszke et al., 2019) and trained on a RTX A5000. |
| Software Dependencies | No | The paper mentions "Py Torch" but does not specify a version number or other software dependencies with their versions. |
| Experiment Setup | Yes | For fair comparison, we follow Deep CAD (Wu et al., 2021) and use a Transformer with four-layer blocks where each block contains eight attention heads, pre-layer normalization, and feed-forward dimension of 512. The input embedding dimension is 256. Dropout rate is 0.1. During training, we use the Adam optimizer (Kingma & Ba, 2015) with a learning rate of 0.001. Linear warm-up and gradient clipping are used as in Deep CAD. We skip code quantization in the initial 25 epochs and find this stabilizes the codebook training. For data augmentation, we add small random noise to the coordinates of the geometry tokens. Skex Gen is trained for a total of 500 epochs with a batch size of 128. Maximum length is 200 for sketch subsequences and 100 for extrude subsequences. At test time, we use nucleus sampling (Holtzman et al., 2020) with top-p of 0.95 and temperature of 1.0 to autoregressively sample from the decoders. |