738 MB to 3.2 MB, without touching the training loop

Image: Morgenstern et al., Fraunhofer HHI · Research
The best 3D Gaussian splat compression systems have generally been the ones that reach into training and change how the scene is built, which makes them effective and almost impossible to take apart. A group at Fraunhofer HHI and Humboldt-Universität zu Berlin has published the opposite proposition: leave training alone entirely, take a finished vanilla 3DGS scene, and compress it afterwards in two independent stages.
Why it matters: Splat files are enormous, and the field's answer has been to fold size reduction into reconstruction — learned entropy models, anchor structures, quantisation-aware training. Those systems work, but they combine several strategies at once, which makes it hard to see where the gains actually come from and harder still to reuse a component in someone else's pipeline.
KISS-GS separates the two things the literature tends to conflate. Compaction reduces the number of primitives; encoding reduces the bits spent on each one. Run them in sequence on an already-trained scene and each stage's contribution is legible on its own — which is the paper's real argument, more than any particular ratio.
The practical consequence is deployment. The encoded format decodes with ordinary web image formats, so getting a scene into a browser does not require shipping a bespoke decoder alongside it.
By the numbers:
- On Mip-NeRF 360 at the INRIA quality reference, the chain runs 738 MB → 47.1 MB after pruning (15.7×) → 7.13 MB after encoding (6.6×) → 3.23 MB with optional encoding-aware fine-tuning (a further 2.2×). That is 228× end to end.
- On Tanks and Temples the same pipeline reaches 319×, taking a 414 MB scene to 1.3 MB at matched PSNR.
- Across benchmarks the reported range is 85× to 319×, against uncompressed vanilla 3DGS.
- At the top of the quality range the method surpasses the uncompressed INRIA baseline in LPIPS while occupying 25.0 MB against 1,334.9 MB.
- The encoding contribution, SOG-XT, extends Self-Organizing Gaussians with self-organising 2D codebooks and a smoothing step that exploits the symmetry in quaternion and scale parameterisations to make the attribute grids easier for an image codec to compress.
Yes, but: The claim to beat tightly integrated methods does not hold everywhere, and the paper is direct about where it fails. On the Deep Blending scenes, none of KISS-GS's operating points reaches the quality of the uncompressed INRIA baseline, while the integrated competitor HAC++ stays above it for part of the range. Compressed HAC++ beats uncompressed 3DGS outright on Playroom and Dr. Johnson.
Their diagnosis is worth reading rather than dismissing: the gap is present before SOG-XT encoding is applied at all, so the limiting factor is the standard-splat reconstruction they take as input, not the encoder. Per-view inspection traces it to a small number of views where high-capacity standard splats form isolated floaters. That is a coherent explanation, and it is also a real constraint on a pipeline whose entire premise is not touching reconstruction — if the input representation is the problem, a post-process cannot reach it.
The low-rate operating points also lose real detail rather than merely looking softer. At 128k primitives and 1.9 MB the foreground survives but background structure goes: the grass behind the pedals, a grey label on the bicycle frame, the ground behind the wheels. Most of it returns by 1024k primitives, which is where the file is still slightly smaller than the integrated competitor at comparable rate.
The big picture: The modularity is the contribution most likely to outlive the ratios. Every stage here can be swapped as reconstruction and pruning improve, which is not true of a system that learns its entropy model during training, and it means the numbers should get better without anyone rewriting the encoder.
It also puts a specific figure on what integration is worth. On two benchmark families, nothing — a decoupled pipeline matches or beats it. On the third, integration wins, and the reason turns out to be a property of the underlying splats rather than of compression at all.




