Home

Awesome

CSGStumpNet

The official implementation of CSG-Stump: A Learning Friendly CSG-Like Representation for Interpretable Shape Parsing

Note that this is still an early stage research, and may not be suitable for precise modeling and reverse engineering.

Paper | Project page

Citation

If you find our work interesting and benifits your research, please consider citing:

@inproceedings{ren2021csg,
  title={CSG-Stump: A Learning Friendly CSG-Like Representation for Interpretable Shape Parsing},
  author={Ren, Daxuan and Zheng, Jianmin and Cai, Jianfei and Li, Jiatong and Jiang, Haiyong and Cai, Zhongang and Zhang, Junzhe and Pan, Liang and Zhang, Mingyuan and Zhao, Haiyu and others},
  booktitle={Proceedings of the IEEE/CVF International Conference on Computer Vision},
  pages={12478--12487},
  year={2021}
}

Setup

Install envoriment:

We recommand using Anaconda to set the envoriment, once Anacodna in installed, run the following command.

conda create --name CSGStumpNet python=3.7
conda activate CSGStumpNet
conda install pytorch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2 cudatoolkit=10.1 -c pytorch
conda install -c open3d-admin open3d=0.9
conda install numpy
conda install pymcubes
conda install tensorboard
conda install scipy
pip install tqdm

Datasets and pre-trained weights

Dataset

You can use the pre-prepared dataset from OccNet(consider citing them), you can download the data by

mkdir data
cd data
wget https://s3.eu-central-1.amazonaws.com/avg-projects/occupancy_networks/data/dataset_small_v1.1.zip
unzip dataset_small_v1.1.zip

If you want to prepare data yourself (maybe you want to generate the watertight mesh etc.), please refer to this link.

Pre-Train Weights

Please download pre-trained weights from this google drive

Evaluate using pre-trian weights

python eval.py --config_path ./configs/plane.json

Train from stratch

python train.py --config_path ./configs/plane.json

Evaluation

python metrics.py --config_path ./configs/plane.json

License

This project is licensed under the terms of the MIT license (see LICENSE for details).