Project Page | Arxiv | Models | Demo
This is the official implementation of PartPacker: Efficient Part-level 3D Object Generation via Dual Volume Packing.
Our model performs part-level 3D object generation from single-view images.
We rely on torch
with CUDA installed correctly.
pip install -r requirements.txt
Download the pretrained models from huggingface, and put them in the pretrained
folder.
mkdir pretrained
cd pretrained
wget https://huggingface.co/nvidia/PartPacker/resolve/main/vae.pt
wget https://huggingface.co/nvidia/PartPacker/resolve/main/flow.pt
# vae reconstruction of meshes
PYTHONPATH=. python vae/scripts/infer.py --ckpt_path pretrained/vae.pt --input assets/meshes/ --output_dir output/
# flow 3D generation from images
PYTHONPATH=. python flow/scripts/infer.py --ckpt_path pretrained/flow.pt --input assets/images/ --output_dir output/
# open local gradio app
python app.py
We provide a Dual Volume Packing implementation to process raw glb meshes into two separate meshes as proposed in the paper.
cd data
python bipartite_contraction.py ./example_mesh.glb
# the two separate meshes will be saved in ./output
This work is built on many amazing research works and open-source projects, thanks a lot to all the authors for sharing!
@article{tang2024partpacker,
title={Efficient Part-level 3D Object Generation via Dual Volume Packing},
author={Tang, Jiaxiang and Lu, Ruijie and Li, Zhaoshuo and Hao, Zekun and Li, Xuan and Wei, Fangyin and Song, Shuran and Zeng, Gang and Liu, Ming-Yu and Lin, Tsung-Yi},
journal={arXiv preprint arXiv:2506.09980},
year={2025}
}