File size: 3,231 Bytes
0252a95 5ecb934 ad526ce 5ecb934 ad526ce 0252a95 5ecb934 ad526ce 5ecb934 ad526ce 5ecb934 ad526ce 5ecb934 ad526ce 5ecb934 ad526ce 5ecb934 ad526ce 5ecb934 ad526ce 5ecb934 ad526ce 5ecb934 ad526ce 5ecb934 ad526ce 5ecb934 ad526ce 5ecb934 ad526ce | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | ---
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](https://github.com/junyoung6215/EvenSplat) · [Method](https://github.com/junyoung6215/EvenSplat/blob/main/docs/METHOD.md) · [Reproduce](https://github.com/junyoung6215/EvenSplat/blob/main/docs/REPRODUCE.md)

**EvenSplat** renders novel views from **two unposed images** using **25 to 75% of the per-pixel Gaussians**
that [NoPoSplat](https://github.com/cvg/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`](https://huggingface.co/kyoosuk/EvenSplat/blob/main/retention_r25_re10k.ckpt) | 25% | 33K | 24.62 | 0.817 | 0.184 |
| [`retention_r50_re10k.ckpt`](https://huggingface.co/kyoosuk/EvenSplat/blob/main/retention_r50_re10k.ckpt) | 50% | 66K | 25.01 | 0.829 | 0.169 |
| [`retention_r75_re10k.ckpt`](https://huggingface.co/kyoosuk/EvenSplat/blob/main/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.
<img src="https://raw.githubusercontent.com/junyoung6215/EvenSplat/main/docs/figures/psnr_vs_gaussians.png" alt="PSNR against the number of Gaussians for EvenSplat and comparison methods" width="60%">
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`](https://huggingface.co/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](https://github.com/junyoung6215/EvenSplat#requirements), then:
```bash
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](https://github.com/cvg/NoPoSplat), and in turn on
[pixelSplat](https://github.com/dcharatan/pixelsplat), [DUSt3R](https://github.com/naver/dust3r) and
[CroCo](https://github.com/naver/croco). Released under the MIT License.
|