1zb / 3DShape2VecSet

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

3DShape2VecSet: A 3D Shape Representation for Neural Fields and Generative Diffusion Models (SIGGRAPH 2023)

This repository is the official pytorch implementation of 3DShape2VecSet (https://arxiv.org/abs/2301.11445).

Biao Zhang1, Jiapeng Tang2 Matthias Niessner2 Peter Wonka1,
1KAUST, 2Technical University of Munich

πŸš… Training

Download the preprocessed data from here. In case that this link is inaccessable, send me an email for the data. Uncompress occupancies.zip and surfaces.zip to somewhere in your hard disk. They are required in the training phase.

First stage (autoencoder):

torchrun \
    --nproc_per_node=4 main_ae.py \
    --accum_iter=2 \
    --model ae_d512_m512  \
    --output_dir output/ae/ae_d512_m512 \
    --log_dir output/ae/ae_d512_m512 \
    --num_workers 60 \
    --point_cloud_size 2048 \
    --batch_size 64 \
    --epochs 200 \
    --warmup_epochs 5
python eval.py

Second stage (category-conditioned generation):

torchrun \
    --nproc_per_node=4 main_class_cond.py \
    --accum_iter 2 \
    --model kl_d512_m512_l8_d24_edm \
    --ae kl_d512_m512_l8 \
    --ae-pth output/ae/kl_d512_m512_l8/checkpoint-199.pth \
    --output_dir output/dm/kl_d512_m512_l8_d24_edm \
    --log_dir output/dm/kl_d512_m512_l8_d24_edm \
    --num_workers 64 \
    --point_cloud_size 2048 \
    --batch_size 64 \
    --epochs 1000 \
    --data_path ~/data/

🎈 Sampling

This will generate 1000 samples of the cateogry chair.

python sample_class_cond.py \
    --ae kl_d512_m512_l8 \
    --ae-pth output/ae/kl_d512_m512_l8/checkpoint-199.pth \
    --dm kl_d512_m512_l8_d24_edm \
    --dm-pth output/class_cond_dm/kl_d512_m512_l8_d24_edm/checkpoint-499.pth

Pretrained model can be found here.

πŸ“§ Contact

Contact Biao Zhang (@1zb) if you have any further questions. This repository is for academic research use only.

πŸ“˜ Citation

@article{10.1145/3592442,
author = {Zhang, Biao and Tang, Jiapeng and Nie\ss{}ner, Matthias and Wonka, Peter},
title = {3DShape2VecSet: A 3D Shape Representation for Neural Fields and Generative Diffusion Models},
year = {2023},
issue_date = {August 2023},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
volume = {42},
number = {4},
issn = {0730-0301},
url = {https://doi.org/10.1145/3592442},
doi = {10.1145/3592442},
abstract = {We introduce 3DShape2VecSet, a novel shape representation for neural fields designed for generative diffusion models. Our shape representation can encode 3D shapes given as surface models or point clouds, and represents them as neural fields. The concept of neural fields has previously been combined with a global latent vector, a regular grid of latent vectors, or an irregular grid of latent vectors. Our new representation encodes neural fields on top of a set of vectors. We draw from multiple concepts, such as the radial basis function representation, and the cross attention and self-attention function, to design a learnable representation that is especially suitable for processing with transformers. Our results show improved performance in 3D shape encoding and 3D shape generative modeling tasks. We demonstrate a wide variety of generative applications: unconditioned generation, category-conditioned generation, text-conditioned generation, point-cloud completion, and image-conditioned generation. Code: https://1zb.github.io/3DShape2VecSet/.},
journal = {ACM Trans. Graph.},
month = {jul},
articleno = {92},
numpages = {16},
keywords = {3D shape generation, generative models, shape reconstruction, 3D shape representation, diffusion models}
}

About


Languages

Language:Python 100.0%