README.md
May 30, 2026 ยท View on GitHub


News
- 2026.05: Added minimal DL3DV training and evaluation code.
- 2025.12: Initial release.
Quick Start
git clone --recursive https://github.com/QitaoZhao/E-RayZer.git
cd E-RayZer
bash scripts/setup_train_env.sh
source .venv/bin/activate
If Python 3.10 is available under another name, pass it explicitly:
PYTHON_BIN=/path/to/python3.10 bash scripts/setup_train_env.sh
If you cloned without --recursive, initialize the submodule first:
git submodule update --init --recursive
Checkpoints
The Gradio demo automatically downloads missing weights on first launch. You can
also download them manually from
Hugging Face and
place them under checkpoints/:
checkpoints/erayzer_multi.pt: multi-dataset model, used by default.checkpoints/erayzer_dl3dv.pt: DL3DV-only model.
Pass --ckpt /path/to/checkpoint.pt if you keep weights elsewhere.
Demo
python gradio_app.py \
--config config/erayzer_inference.yaml \
--device cuda:0 \
--share
Upload multi-view RGB images, or use one of the bundled examples. The demo
writes predicted camera poses, target renders, point_cloud.glb,
render_video.mp4, and a zip archive under experiments/inference/erayzer.
Training and Evaluation
We provide a minimal DL3DV training and evaluation release:
The code here is a re-implementation and differs from the original version developed at Adobe.
Repository Map
gradio_app.py: End-to-end Gradio demo UI.app_core/engine.py: Inference wrapper for configs, checkpoints, renders, Gaussian point clouds, and videos.erayzer_core/: E-RayZer model, transformer blocks, losses, camera utilities, and Gaussian renderer.config/erayzer_inference.yaml: Default inference configuration.config/erayzer_train_dl3dv.yaml: Minimal DL3DV training configuration.config/erayzer_eval_dl3dv.yaml: Minimal DL3DV evaluation configuration.training/: Local DL3DV dataset loader and dataset factory.scripts/: Environment setup, DL3DV data conversion, manifest checking, training, and evaluation scripts.examples/: Curated multi-view examples for quick inference checks.third_party/gsplat/: Differentiable Gaussian splatting ops with intrinsics gradient support.
Citation
If you use E-RayZer in academic or industrial research, please cite:
@inproceedings{zhao2026erayzer,
title = {E-RayZer: Self-supervised 3D Reconstruction as Spatial Visual Pre-training},
author = {Qitao Zhao and Hao Tan and Qianqian Wang and Sai Bi and Kai Zhang and Kalyan Sunkavalli and Shubham Tulsiani and Hanwen Jiang},
booktitle = {CVPR},
year = {2026}
}
Related Project
This project is inspired by and builds upon RayZer. We strongly encourage readers to check it out if you have not already.
License
- Code: MIT License, see
LICENSE. - Model weights: Adobe Research License, see
LICENSE-WEIGHTS. The model weights are not covered by the MIT License.
Acknowledgements
This work was partially done at Adobe Research, where Qitao Zhao worked as a Research Scientist Intern. We thank Zhengqi Li for insightful advice. We also thank Frederic Fortier-Chouinard, Jiashun Wang, Yanbo Xu, Zihan Wang, and members of the Physical Perception Lab for helpful discussions.