Upload README.md with huggingface_hub
Browse files
README.md
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
license: apache-2.0
|
| 3 |
+
base_model: TencentARC/FreeSplatter
|
| 4 |
+
pipeline_tag: image-to-3d
|
| 5 |
+
library_name: gguf
|
| 6 |
+
tags:
|
| 7 |
+
- gguf
|
| 8 |
+
- ggml
|
| 9 |
+
- gaussian-splatting
|
| 10 |
+
- 3d-reconstruction
|
| 11 |
+
- free-splatter.cpp
|
| 12 |
+
- pose-free
|
| 13 |
+
---
|
| 14 |
+
|
| 15 |
+
# free-splatter.cpp — GGUF weights
|
| 16 |
+
|
| 17 |
+
GGUF conversions of [TencentARC/FreeSplatter](https://github.com/TencentARC/FreeSplatter)
|
| 18 |
+
for **[free-splatter.cpp](https://github.com/localai-org/free-splatter.cpp)**, a small
|
| 19 |
+
C/C++ ([ggml](https://github.com/ggml-org/ggml)) inference engine that runs the
|
| 20 |
+
FreeSplatter neural-network front-half on CPU or a Vulkan GPU — **no camera poses,
|
| 21 |
+
no Python**.
|
| 22 |
+
|
| 23 |
+
Given N uncalibrated images it returns, **for every input pixel**, a 3D Gaussian
|
| 24 |
+
(position · spherical-harmonic colour · opacity · scale · rotation) that a
|
| 25 |
+
Gaussian-splatting viewer can render. The rasterizer and PnP pose solver are out
|
| 26 |
+
of scope — these weights cover the patch tokenizer → multi-view transformer →
|
| 27 |
+
per-pixel Gaussian head.
|
| 28 |
+
|
| 29 |
+
## Files
|
| 30 |
+
|
| 31 |
+
| file | variant | precision | size | notes |
|
| 32 |
+
|---|---|---|---|---|
|
| 33 |
+
| `freesplatter-scene-f16.gguf` | scene | f16 | ~596 MB | **recommended**; 2 overlapping views of a scene |
|
| 34 |
+
| `freesplatter-scene-f32.gguf` | scene | f32 | ~1.2 GB | full precision (reference / CPU) |
|
| 35 |
+
| `freesplatter-object-f16.gguf` | object | f16 | ~596 MB | 3–4 views around one object |
|
| 36 |
+
|
| 37 |
+
All variants share the same transformer backbone; they differ only in the head
|
| 38 |
+
config (`gaussian_channels`, `sh_residual`, `use_2dgs`) and what they were trained
|
| 39 |
+
on. The GGUF carries those as `free-splatter.*` KV metadata, so the engine
|
| 40 |
+
configures itself from the file.
|
| 41 |
+
|
| 42 |
+
## Usage
|
| 43 |
+
|
| 44 |
+
```sh
|
| 45 |
+
# build the engine (see the repo README), then:
|
| 46 |
+
free_splatter-cli --device vulkan --splat scene.splat \
|
| 47 |
+
freesplatter-scene-f16.gguf view1.jpg view2.jpg
|
| 48 |
+
```
|
| 49 |
+
|
| 50 |
+
Each view is center-cropped and resized to 512×512. The output `.splat` (antimatter15
|
| 51 |
+
format) opens in the bundled WebGL viewer or any Gaussian-splatting viewer; pass
|
| 52 |
+
`--out result.f32` instead for the raw `[N, 512, 512, gaussian_channels]` float32
|
| 53 |
+
Gaussian tensor. There is also a drop-photos-in-the-browser web app and a
|
| 54 |
+
multi-scene demo-video renderer — see the project repo.
|
| 55 |
+
|
| 56 |
+
## How these were made
|
| 57 |
+
|
| 58 |
+
Converted with [`scripts/convert.py`](https://github.com/localai-org/free-splatter.cpp/blob/master/scripts/convert.py)
|
| 59 |
+
directly from the upstream FreeSplatter `.safetensors` checkpoints (needs only
|
| 60 |
+
`torch` + `safetensors` + `gguf`). The converter maps the `transformer.*` weights
|
| 61 |
+
of pieces 1–3 and fails loudly on any unmapped or missing tensor — no weight is
|
| 62 |
+
silently dropped.
|
| 63 |
+
|
| 64 |
+
## License & attribution
|
| 65 |
+
|
| 66 |
+
Apache-2.0. These are derivative weights of
|
| 67 |
+
[TencentARC/FreeSplatter](https://github.com/TencentARC/FreeSplatter) (Apache-2.0);
|
| 68 |
+
all credit for the model goes to the FreeSplatter authors. The GGUF packaging and
|
| 69 |
+
the inference engine are part of free-splatter.cpp.
|