Weijie Wang · Donny Y. Chen · Zeyu Zhang · Duochao Shi · Akide Liu · Bohan Zhuang
Paper | Project Page | Code | Models
ZPressor is an architecture-agnostic module that compresses multi-view inputs for scalable feed-forward 3DGS.
- 29/09/25 Update: Check out our VolSplat, a fancy framework for improving multi-view consistency and geometric accuracy for feed-forward 3DGS with voxel-aligned prediction.
- 09/06/25 Update: Check out our PM-Loss, a novel regularization loss for improving feed-forward 3DGS quality based on a learned point map.
Since the pixelSplat
/MVSplat
/DepthSplat
environments are largely consistent, we will provide an environment capable of running all three codebases simultaneously:
conda create -n zpressor python=3.10
conda activate zpressor
pip install torch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 xformers==0.0.28.post3 --index-url https://download.pytorch.org/whl/cu118
pip install -r requirements.txt
Then install ZPressor
as a package:
cd zpressor
pip install -e . # install the zpressor package
cd ..
Our pre-trained models are hosted on Hugging Face. Please download the required models to the ./[Baseline Folder]/pretrained/
directory.
Model | Codebase | Training Dataset | Download |
---|---|---|---|
depthsplat-dl3dv-baseline-n50-256x448 | DepthSplat | RealEstate10K+DL3DV | download |
depthsplat-dl3dv-zpressor-n50-256x448 | DepthSplat+ZPressor | RealEstate10K+DL3DV | download |
mvsplat-re10k-baseline-n200-256x256 | MVSplat | RealEstate10K | download |
mvsplat-re10k-zpressor-n200-256x256 | MVSplat+ZPressor | RealEstate10K | download |
pixelsplat-re10k-baseline-n200-256x256 | pixelSplat | RealEstate10K | download |
pixelsplat-re10k-zpressor-n200-256x256 | pixelSplat+ZPressor | RealEstate10K | download |
First, download the DL3DV-10K
dataset according to the official script, you can use this script to verify data integrity.
Then, we enter the depthsplat
folder to process the dataset. We made modifications to the DepthSplat
’s script for processing DL3DV-10K
.
cd depthsplat
python src/scripts/convert_dl3dv_test.py --input_dir [ori_benchmark_path] --output_dir [benchmark_path]
python src/scripts/convert_dl3dv_train.py \
--input_base_dir [ori_dataset_path] \ # such as datasets/DL3DV-10K-480
--output_base_dir [dataset_path] \ # such as datasets/DL3DV-10K-480P
--start_k 1 \
--end_k 11 \
--img_subdir images_8 # for 480P
python src/scripts/generate_dl3dv_index.py \
--dataset_path [dataset_path] \
--start_k 1 \
--end_k 11
Please refer to here for acquiring preprocessed versions of the datasets following pixelSplat. If the link is broken or inaccessible, feel free to contact [email protected].
Expected folder structure of datasets:
├── datasets
│ ├── re10k
│ ├── ├── train
│ ├── ├── ├── 000000.torch
│ ├── ├── ├── ...
│ ├── ├── ├── index.json
│ ├── ├── test
│ ├── ├── ├── 000000.torch
│ ├── ├── ├── ...
│ ├── ├── ├── index.json
│ ├── dl3dv
│ ├── ├── train
│ ├── ├── ├── 000000.torch
│ ├── ├── ├── ...
│ ├── ├── ├── index.json
│ ├── ├── test
│ ├── ├── ├── 000000.torch
│ ├── ├── ├── ...
│ ├── ├── ├── index.json
You can use a symbolic link to point the datasets folder to the correct location when running specific codebases, for example:
ln -s ./datasets ./depthsplat/
ln -s ./datasets ./mvsplat/
ln -s ./datasets ./pixelsplat/
Each codebase operates differently; detailed instructions are provided in the README files within each code folder (DepthSplat / MVSplat / pixelSplat).
If you find our work useful for your research, please consider citing us:
@article{wang2025zpressor,
title={ZPressor: Bottleneck-Aware Compression for Scalable Feed-Forward 3DGS},
author={Wang, Weijie and Chen, Donny Y. and Zhang, Zeyu and Shi, Duochao and Liu, Akide and Zhuang, Bohan},
journal={arXiv preprint arXiv:2505.23734},
year={2025}
}
If you have any questions, please create an issue on this repository or contact at [email protected].
This project is developed with several fantastic repos: pixelSplat, MVSplat and DepthSplat. We thank the original authors for their excellent work.