gen3diffusion / README.md
yuxuanx's picture
Improve model card with pipeline tag, links, and usage example (#1)
74456f8 verified
---
license: mit
pipeline_tag: image-to-3d
---
# Gen-3Diffusion: Realistic Image-to-3D Generation via 2D & 3D Diffusion Synergy
This repository contains the Gen-3Diffusion model presented in the paper [Gen-3Diffusion: Realistic Image-to-3D Generation via 2D & 3D Diffusion Synergy](https://huggingface.co/papers/2412.06698).
Gen-3Diffusion addresses the challenging problem of creating realistic 3D objects and clothed avatars from a single RGB image. It leverages a pre-trained 2D diffusion model and a 3D diffusion model, synchronizing them at both training and sampling time. This synergy allows the 2D model to provide strong generalization for shapes, while the 3D model enhances multi-view consistency, leading to high-fidelity geometry and texture in generated 3D objects and avatars.
- [Project Page](https://yuxuan-xue.com/gen-3diffusion)
- [Code](https://github.com/YuxuanSnow/Gen3Diffusion)
## Key Insight :raised_hands:
- 2D foundation models are powerful but output lacks 3D consistency!
- 3D generative models can reconstruct 3D representation but is poor in generalization!
- How to combine 2D foundation models with 3D generative models?:
- they are both diffusion-based generative models => **Can be synchronized at each diffusion step**
- 2D foundation model helps 3D generation => **provides strong prior informations about 3D shape**
- 3D representation guides 2D diffusion sampling => **use rendered output from 3D reconstruction for reverse sampling, where 3D consistency is guaranteed**
## Pretrained Weights
Our pretrained weights can be downloaded from Hugging Face.
```bash
mkdir checkpoints_obj && cd checkpoints_obj
wget https://huggingface.co/yuxuanx/gen3diffusion/resolve/main/model.safetensors
wget https://huggingface.co/yuxuanx/gen3diffusion/resolve/main/model_1.safetensors
wget https://huggingface.co/yuxuanx/gen3diffusion/resolve/main/pifuhd.pt
cd ..
```
The avatar reconstruction module is same to Human-3Diffusion. Please skip if you already installed Human-3Diffusion.
```bash
mkdir checkpoints_avatar && cd checkpoints_avatar
wget https://huggingface.co/yuxuanx/human3diffusion/resolve/main/model.safetensors
wget https://huggingface.co/yuxuanx/human3diffusion/resolve/main/model_1.safetensors
wget https://huggingface.co/yuxuanx/human3diffusion/resolve/main/pifuhd.pt
cd ..
```
## Sample Usage (Inference)
The following commands illustrate how to use the model for image-to-3D object and avatar generation. Please refer to the [GitHub repository](https://github.com/YuxuanSnow/Gen3Diffusion) for full installation and setup instructions.
```bash
# given one image of object, generate 3D-GS object
# subject should be centered in a square image, please crop properly
# recenter plays a huge role in object reconstruction. Please adjust the recentering if the reconstruction doesn't work well
python infer.py --test_imgs test_imgs_obj --output output_obj --checkpoints checkpoints_obj
# given generated 3D-GS, perform TSDF mesh extraction
python infer_mesh.py --test_imgs test_imgs_obj --output output_obj --checkpoints checkpoints_obj --mesh_quality high
```
```bash
# given one image of human, generate 3D-GS avatar
# subject should be centered in a square image, please crop properly
python infer.py --test_imgs test_imgs_avatar --output output_avatar --checkpoints checkpoints_avatar
# given generated 3D-GS, perform TSDF mesh extraction
python infer_mesh.py --test_imgs test_imgs_avatar --output output_avatar --checkpoints checkpoints_avatar --mesh_quality high
```
## Citation :writing_hand:
If you find our work helpful or inspiring, please feel free to cite it:
```bibtex
@inproceedings{xue2024gen3diffusion,
title = {{Gen-3Diffusion: Realistic Image-to-3D Generation via 2D & 3D Diffusion Synergy }},
author = {Xue, Yuxuan and Xie, Xianghui and Marin, Riccardo and Pons-Moll, Gerard.},
journal = {Arxiv},
year = {2024},
}
```