ligaoqi2/Difix3d-3dgs-demo

Use Difix3d+ generate more Realistic 3dgs demo.(使用 Difix3d+ 生成更加逼真的 3dgs demo)

10

stars

10

commits

Python

primary language

Jul 14, 2025

updated

README

Difix3D 3dgs Demo

Original Paper Information

Difix3D+: Improving 3D Reconstructions with Single-Step Diffusion Models
Jay Zhangjie Wu*, Yuxuan Zhang*, Haithem Turki, Xuanchi Ren, Jun Gao,
Mike Zheng Shou, Sanja Fidler, Zan Gojcic†, Huan Ling† (*/† equal contribution/advising)
CVPR 2025 (Oral)
Project Page | Paper | Model | Demo

Setup using uv

make sure you install uv first

git clone git@github.com:ligaoqi2/Difix3d-3dgs-demo.git
cd Difix-splat-demo
uv sync

Quickstart (diffusers)

python src/diffusers_demo.py

Quickstart (Difix3D: Progressive 3D update)

Data Format

The data should be organized in the following structure:

( You can use my 3dgs repo to get the necessary data easily )

DATA_DIR/
├── {YOUR_SCENE_NAME}
│   ├── colmap
│   │   ├── sparse
│   │   │   └── 0
│   │   │       ├── cameras.bin
│   │   │       ├── database.db
│   │   │       └── ...
│   ├── images
│   │   ├── 0001.png
│   │   ├── 0002.png
│   │   ├── ...
│   │   ├── 0200.png
│   │   ├── 0201.png
│   │   └── ...
│   ├── images_2
│   ├── images_4
│   └── images_8

Run Difix3D finetuning with 3dgs.

DATA=${YOUR_DATA_DIR_NAME}
DATA_FACTOR=4
OUTPUT_DIR=output/${YOUR_OUTPUT_DIR_NAME}

CUDA_VISIBLE_DEVICES=0 python examples/gsplat/simple_trainer_difix3d.py default \
    --data_dir ${DATA} --data_factor ${DATA_FACTOR} \
    --result_dir ${OUTPUT_DIR} --no-normalize-world-space --test_every 1
  • You can refer to my pycharm configuration like following:

Then you can open http://localhost:8080 to see the generating process like following.

BTW

  • Due to the GPU memory limitation, I have to set max_steps 10_000 at simple_trainer_difix3d.py line 91, you could set it larger if you have enough GPU memory to get a better result.

  • Other operations like training, testing, and inference can be found in the origin Difix3D+

Acknowledgements

License/Terms of Use:

The use of the model and code is governed by the NVIDIA License. See LICENSE.txt for details. Additional Information: LICENSE.md · stabilityai/sd-turbo at main

Contact

ligaoqi02@gmail.com

Contributors

ligaoqi2

8 commits

zhangjiewu

2 commits

ligaoqi2/Difix3d-3dgs-demo

Use Difix3d+ generate more Realistic 3dgs demo.(使用 Difix3d+ 生成更加逼真的 3dgs demo)

10

stars

10

commits

Python

primary language

Jul 14, 2025

updated

README

Difix3D 3dgs Demo

Original Paper Information

Difix3D+: Improving 3D Reconstructions with Single-Step Diffusion Models
Jay Zhangjie Wu*, Yuxuan Zhang*, Haithem Turki, Xuanchi Ren, Jun Gao,
Mike Zheng Shou, Sanja Fidler, Zan Gojcic†, Huan Ling† (*/† equal contribution/advising)
CVPR 2025 (Oral)
Project Page | Paper | Model | Demo

Setup using uv

make sure you install uv first

git clone git@github.com:ligaoqi2/Difix3d-3dgs-demo.git
cd Difix-splat-demo
uv sync

Quickstart (diffusers)

python src/diffusers_demo.py

Quickstart (Difix3D: Progressive 3D update)

Data Format

The data should be organized in the following structure:

( You can use my 3dgs repo to get the necessary data easily )

DATA_DIR/
├── {YOUR_SCENE_NAME}
│   ├── colmap
│   │   ├── sparse
│   │   │   └── 0
│   │   │       ├── cameras.bin
│   │   │       ├── database.db
│   │   │       └── ...
│   ├── images
│   │   ├── 0001.png
│   │   ├── 0002.png
│   │   ├── ...
│   │   ├── 0200.png
│   │   ├── 0201.png
│   │   └── ...
│   ├── images_2
│   ├── images_4
│   └── images_8

Run Difix3D finetuning with 3dgs.

DATA=${YOUR_DATA_DIR_NAME}
DATA_FACTOR=4
OUTPUT_DIR=output/${YOUR_OUTPUT_DIR_NAME}

CUDA_VISIBLE_DEVICES=0 python examples/gsplat/simple_trainer_difix3d.py default \
    --data_dir ${DATA} --data_factor ${DATA_FACTOR} \
    --result_dir ${OUTPUT_DIR} --no-normalize-world-space --test_every 1
  • You can refer to my pycharm configuration like following:

Then you can open http://localhost:8080 to see the generating process like following.

BTW

  • Due to the GPU memory limitation, I have to set max_steps 10_000 at simple_trainer_difix3d.py line 91, you could set it larger if you have enough GPU memory to get a better result.

  • Other operations like training, testing, and inference can be found in the origin Difix3D+

Acknowledgements

License/Terms of Use:

The use of the model and code is governed by the NVIDIA License. See LICENSE.txt for details. Additional Information: LICENSE.md · stabilityai/sd-turbo at main

Contact

ligaoqi02@gmail.com

Contributors

ligaoqi2

8 commits

zhangjiewu

2 commits

Languages

Python

100.0%