richiejp commited on
Commit
9dcf42c
·
verified ·
1 Parent(s): 8d249cd

Upload README.md with huggingface_hub

Browse files
Files changed (1) hide show
  1. README.md +69 -0
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.