EvenSplat / README.md
kyoosuk's picture
Model card: rename to EvenSplat, link the GitHub repository
ad526ce verified
|
Raw History Blame Contribute Delete
3.23 kB
metadata
license: mit
tags:
  - 3d-gaussian-splatting
  - novel-view-synthesis
  - pose-free
  - feed-forward
datasets:
  - re10k
pipeline_tag: image-to-3d

EvenSplat: Compact Pose-Free Feed-Forward 3D Gaussian Splatting

Kyoosuk Hwang · Junyoung Kwon · Seoul National University of Science and Technology · Capstone Design 2026

Code · Method · Reproduce

Ground truth, the unpruned base and EvenSplat with 75, 50 and 25% of the Gaussians

EvenSplat renders novel views from two unposed images using 25 to 75% of the per-pixel Gaussians that NoPoSplat predicts. It keeps the same fraction of Gaussians in every 2 × 2 pixel cell, drops low-reliability Gaussians first, and is fine-tuned with that pruning in the loop.

Checkpoints

File Gaussians kept #Gaussians PSNR ↑ SSIM ↑ LPIPS ↓
retention_r25_re10k.ckpt 25% 33K 24.62 0.817 0.184
retention_r50_re10k.ckpt 50% 66K 25.01 0.829 0.169
retention_r75_re10k.ckpt 75% 98K 25.26 0.837 0.161
NoPoSplat (reported) 100% 131K 25.03 0.838 0.160

RealEstate10K full test set (5,590 evaluable scenes), 256 × 256, two context views, pose alignment on. At 50%, peak render memory drops from 167 MB to 87 MB.

PSNR against the number of Gaussians for EvenSplat and comparison methods

Each file holds model weights only (no optimizer state), about 2.45 GB. They are for evaluation; to fine-tune again, start from the base checkpoint kyoosuk/noposplat-olp-rel-re10k (epoch_1-step_75000.ckpt). Every model was fine-tuned from it for 10K steps at its own ratio: 2 × 2 cells, r threshold 0.35, batch 1 × 4 accumulation, lr 2e-5.

Usage

Set up the environment and data as in the repository README, then:

hf download kyoosuk/EvenSplat retention_r50_re10k.ckpt --local-dir checkpoints

python scripts/run_retention.py --config my_settings.yaml eval-grid --split full \
  --checkpoint checkpoints/retention_r50_re10k.ckpt \
  --baselines none --scores r_filter --ratios 0.5 --run-id ours_r50 --execute

Use the --ratios value that matches the file (0.25, 0.5 or 0.75).

Acknowledgements

Built on NoPoSplat, and in turn on pixelSplat, DUSt3R and CroCo. Released under the MIT License.