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
uvmake sure you install uv first
git clone git@github.com:ligaoqi2/Difix3d-3dgs-demo.git
cd Difix-splat-demo
uv sync
python src/diffusers_demo.py
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
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

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

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+
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
ligaoqi02@gmail.com
8 commits
2 commits
Python
100.0%
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
uvmake sure you install uv first
git clone git@github.com:ligaoqi2/Difix3d-3dgs-demo.git
cd Difix-splat-demo
uv sync
python src/diffusers_demo.py
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
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

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

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+
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
ligaoqi02@gmail.com
8 commits
2 commits
Python
100.0%