Skip to content

Diffusion-Based Signed Distance Fields for 3D Shape Generation (CVPR 2023)

Notifications You must be signed in to change notification settings

Kitsunetic/SDF-Diffusion

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SDF-Diffusion

Diffusion-Based Signed Distance Fields for 3D Shape Generation (CVPR 2023)

Paper | Project Page

Requirements

  • pytorch
  • pytorch3d
  • h5py
  • einops
  • scipy
  • scikit-image
  • tqdm
  • point-cloud-utils

Dataset

The preprocessed dataset can be downloaded in Huggingface

The dataset (~13GB for resolution 32, ~50GB for 64) should be unzipped and located like this:

SDF-Diffusion
├── config
    ├── gen32
        ├── airplane.yaml
        ├── ...
        ├── shapenet.yaml
    ├── sr32_64
        ├── airplane.yaml
        ├── ...
        ├── shapenet.yaml
├── src
    ├── datasets  # dataset-related codes
    ├── models  # network architectures
    ├── utils
    ├── ...
    ├── trainer.py  # custom trainer
├── results  # pretrained checkpoints
    ├── gen32
        ├── airplane.pth
        ├── ...
        ├── shapenet.pth
    ├── sr32_64
        ├── airplane.pth
        ├── ...
        ├── shapenet.pth        
├── main.py

data
├── sdf.res32.level0.0500.PC15000.pad0.20.hdf5
├── sdf.res64.level0.0313.PC15000.pad0.20.hdf5

Before downloading the dataset, please create ShapeNet webpage and consider citing ShapeNet:

@article{chang2015shapenet,
  title={Shapenet: An information-rich 3d model repository},
  author={Chang, Angel X and Funkhouser, Thomas and Guibas, Leonidas and Hanrahan, Pat and Huang, Qixing and Li, Zimo and Savarese, Silvio and Savva, Manolis and Song, Shuran and Su, Hao and others},
  journal={arXiv preprint arXiv:1512.03012},
  year={2015}
}

The dataset can be used only for non-commercial research and educational purpose.

Demo

You can download pretrained checkpoints for unconditional and category-conditional. Please unzip the .zip files in ./results folder.

You can find demo scripts in unconditional and category-conditional.

Training

Single Category Unconditional Generation

# generation (resolution 32)
python main.py config/gen32/{airplane|car|chair}.yaml

# super resolution (resolution 32 -> 64)
python main.py config/sr32_64/{airplane|car|chair}.yaml

Category Conditional Generation

# generation (resolution 32)
python main.py config/gen32/shapenet.yaml

# super resolution (resolution 32 -> 64)
python main.py config/sr32_64/shapenet.yaml

Citation

@inproceedings{shim2023diffusion,
  title={Diffusion-Based Signed Distance Fields for 3D Shape Generation},
  author={Shim, Jaehyeok and Kang, Changwoo and Joo, Kyungdon},
  booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
  pages={20887--20897},
  year={2023}
}

About

Diffusion-Based Signed Distance Fields for 3D Shape Generation (CVPR 2023)

Resources

Stars

Watchers

Forks

Packages

No packages published