Improve model card with metadata, links and usage
#1
by nielsr HF Staff - opened
README.md
CHANGED
|
@@ -1,3 +1,48 @@
|
|
| 1 |
---
|
| 2 |
license: cc-by-nc-4.0
|
|
|
|
| 3 |
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
---
|
| 2 |
license: cc-by-nc-4.0
|
| 3 |
+
pipeline_tag: image-to-3d
|
| 4 |
---
|
| 5 |
+
|
| 6 |
+
# ZipSplat: Fewer Gaussians, Better Splats
|
| 7 |
+
|
| 8 |
+
ZipSplat is a feed-forward model for 3D Gaussian Splatting. It reconstructs a scene from a few unposed images in a single forward pass, without requiring camera poses, intrinsics, or per-scene optimization. Instead of predicting one Gaussian per pixel, it uses a token-based approach to decouple Gaussian placement from the pixel grid, achieving high-quality reconstructions with significantly fewer Gaussians.
|
| 9 |
+
|
| 10 |
+
- [**Paper**](https://huggingface.co/papers/2606.05102)
|
| 11 |
+
- [**Project Page**](https://veichta.com/zipsplat)
|
| 12 |
+
- [**Github Repository**](https://github.com/cvg/ZipSplat)
|
| 13 |
+
|
| 14 |
+
## Inference
|
| 15 |
+
|
| 16 |
+
ZipSplat provides a standalone inference package to generate 3D Gaussians from images or video clips.
|
| 17 |
+
|
| 18 |
+
```python
|
| 19 |
+
import math, torch
|
| 20 |
+
from zipsplat import ZipSplat, Camera, Pose, load_image, viz
|
| 21 |
+
|
| 22 |
+
# Load the model
|
| 23 |
+
model = ZipSplat(weights="zipsplat").cuda().eval()
|
| 24 |
+
|
| 25 |
+
# Load raw images (any size, auto-resized internally)
|
| 26 |
+
images = [load_image(p) for p in paths]
|
| 27 |
+
gaussians = model(images)[0] # feed-forward 3D Gaussians
|
| 28 |
+
|
| 29 |
+
# Render a novel view
|
| 30 |
+
camera = Camera.from_fov(math.radians(60), w=512, h=512)
|
| 31 |
+
pose = Pose.from_Rt(torch.eye(3), torch.zeros(3)) # identity pose
|
| 32 |
+
rgb, info = gaussians.render(camera, pose)
|
| 33 |
+
|
| 34 |
+
# Export
|
| 35 |
+
gaussians.save_ply("scene.ply") # open in any 3DGS viewer
|
| 36 |
+
viz.turntable(gaussians, "turntable.mp4", sweep_deg=None) # wiggle orbit video
|
| 37 |
+
```
|
| 38 |
+
|
| 39 |
+
## BibTeX
|
| 40 |
+
|
| 41 |
+
```bibtex
|
| 42 |
+
@article{veicht2026zipsplat,
|
| 43 |
+
title = {ZipSplat: Fewer Gaussians, Better Splats},
|
| 44 |
+
author = {Veicht, Alexander and Hong, Sunghwan and Bar{\'a}th, D{\'a}niel and Pollefeys, Marc},
|
| 45 |
+
journal = {arXiv preprint arXiv:2606.05102},
|
| 46 |
+
year = {2026}
|
| 47 |
+
}
|
| 48 |
+
```
|