https://github.com/postech-cvlab/combinatorial-3d-shape-generation
An official repository of paper "Combinatorial 3D Shape Generation via Sequential Assembly", presented at NeurIPS 2020 Workshop on Machine Learning for Engineering Modeling, Simulation, and Design
https://github.com/postech-cvlab/combinatorial-3d-shape-generation
3d-shape combinatorial-design dataset
Last synced: 3 months ago
JSON representation
An official repository of paper "Combinatorial 3D Shape Generation via Sequential Assembly", presented at NeurIPS 2020 Workshop on Machine Learning for Engineering Modeling, Simulation, and Design
- Host: GitHub
- URL: https://github.com/postech-cvlab/combinatorial-3d-shape-generation
- Owner: POSTECH-CVLab
- License: mit
- Created: 2020-10-16T01:04:32.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2023-06-07T01:54:53.000Z (over 2 years ago)
- Last Synced: 2025-04-12T04:37:31.106Z (7 months ago)
- Topics: 3d-shape, combinatorial-design, dataset
- Language: Python
- Homepage:
- Size: 680 MB
- Stars: 68
- Watchers: 7
- Forks: 8
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Combinatorial-3D-Shape-Generation
This is an official repository of paper "Combinatorial 3D Shape Generation via Sequential Assembly".
* arXiv Preprint: [(abs)](https://arxiv.org/abs/2004.07414), [(pdf)](https://arxiv.org/pdf/2004.07414.pdf)
* [High-Resolution Version](http://jungtaek.github.io/papers/ml4eng_2020_high_resolution.pdf) (About 50MB)
## Installing Required Python Packages (Python 3.7)
You are able to install required Python packages by commanding `pip install -r requirements.txt`.
## Running
* Creating a dataset
Run the following script.
```shell
# Move to src_dataset/
$ ./dataset_all.sh
```
It will create a dataset, which has already been included in the repository.
* Generating a 3D shape
```shell
# Move to src_generation/
$ python assemble_with_bo.py --ind_class 21 --ind_target 1 --use_stability --use_rollback
```
`ind_class` and `ind_target` indicate the indices of class and target object, respectively (Please check the code for dataset creation).
`use_stability` and `use_rollback` are flags for considering stability and using a rollback step.
* Creating an XML file and its corresponding PLY files
Run the following script.
```shell
# Move to src_rendering/
$ ./meshes_all.sh
```
It requires a rendering process with [Mitsuba renderer](http://mitsuba-renderer.org/index_old.html).
After changing the camera position and its perspective, render the XML file you want.
## Connection Types Between Two 2-by-4 Bricks

## Examples in Combinatorial 3D Shape Dataset
* Bar
* Line
* Plate
* Wall
* Cuboid
* Square Pyramid
* Chair
* Sofa
* Cup
* Hollow
* Table
* Car
## Citation
```
@article{KimJ2020arxiv,
author={Kim, Jungtaek and Chung, Hyunsoo and Lee, Jinhwi and Cho, Minsu and Park, Jaesik},
title={Combinatorial {3D} Shape Generation via Sequential Assembly},
journal={{arXiv} preprint {arXiv}:2004.07414},
year={2020}
}
```
or
```
@inproceedings{KimJ2020neuripsw,
author={Kim, Jungtaek and Chung, Hyunsoo and Lee, Jinhwi and Cho, Minsu and Park, Jaesik},
title={Combinatorial {3D} Shape Generation via Sequential Assembly},
booktitle={NeurIPS Workshop on Machine Learning for Engineering Modeling, Simulation, and Design (ML4Eng)},
year={2020}
}
```
## Contributor
* Jungtaek Kim: [jtkim@postech.ac.kr](mailto:jtkim@postech.ac.kr)
* Hyunsoo Chung: [hschung2@postech.ac.kr](mailto:hschung2@postech.ac.kr)
## License
[MIT License](LICENSE)