--- 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}, } ```