This repository contains the official implementation of GSGEN: Text-to-3D using Gaussian Splattng.
A_DSLR_photo_of_Car_made_out_of_sushi.mp4
A_beautiful_dress_made_out_of_feathers._on_a_mannequin.mp4
A_zoomed_out_DSLR_photo_of_a_beautiful_suit_made_out_of_moss._on_a_mannequin._Studio_lighting._high_quality._high_resolution.mp4
A_DSLR_photo_of_a_car_made_out_of_cheese.mp4
- Install the requirements:
pip install -r requirements.txt
- Build the extension for Gaussian Splatting:
cd gs
./build.sh
- Start training!
python main.py --config-name=base prompt.prompt="<prompt>"
You can specify a different prompt for Point-E:
python main.py --config-name=base prompt.prompt="<prompt>" init.prompt="<point-e prompt>"
We support splat viewer now ! Click the captions of text-to-3D results in our project page to watch the assets in a WebGL based viwer. Example: a pineapple. This great viewer achieves > 40 FPS on my MacBook with M1 pro chip.
Start the Viewer by:
python vis.py <path-to-ckpt> --port <port>
If you are training on servers, tunneling the port using SSH
ssh -L <your_local_port>:<your_server_ip>:<your_server_port> <your_username>@<your_server>
then open the viewer in your host computer on port <your_local_port>
.
First set the PYTHONPATH
env var:
export PYTHONPATH="."
python utils/export.py <your_ckpt> --type ply
python utils/export.py <your_ckpt> --type splat
python utils/export.py <your_ckpt> --type mesh --batch_size 65536 --reso 256 --K 200 --thresh 0.1
where the <your_ckpt> can be the path to the .pt checkpoint file or, more conveniently, can be the id for the run (the display name of the run in wandb, e.g. 0|213630|2023-10-11|a_high_quality_photo_of_a_corgi
). The exported files are reside in the exports/<export-type>
.
python -m utils.export <your_ckpt> --type <export_type>
- [2023-10-08] Now support exports to
.ply
and.splat
files. Mesh exporting are coming soon. - [2023-10-13] Now support Shap-E initialize, try it with
init.type="shap_e"
- Support full mesh export. (Coming soon)
- Support VSD loss. (The VSD code is already done, further tuning is on the way)
- Support more guidance, e.g. zero123, make-it-3d, ControlNet Openpose, etc.
This code base is built upon the following awesome open-source projects:
Thank the authors for their remarkable job !