Compressing Gaussian Splats
blog.playcanvas.com
blog.playcanvas.com
We just found that splats encode some view-dependent shininess anyway (for example the guitar body https://playcanvas.com/model-viewer?load=https://code.playca...) and so considered the extra data and rendering cost of SH not worth it for now.
It would be quite straightforward to add SH to the PLY file and we'll definitely consider it in future!
...But maybe that doesn't make sense in the GS context.
That said, I don't think SH are the best way to represent view dependency. Other approaches using MLP or deep features seem more promising.
https://aras-p.info/blog/2023/09/13/Making-Gaussian-Splats-s...
https://aras-p.info/blog/2023/09/27/Making-Gaussian-Splats-m...
Including quantising spherical harmonics, grouping splats into chunks and compressing their position and rotation in groups, etc.
Making Gaussian Splats more smaller - https://news.ycombinator.com/item?id=37687134 - Sept 2023 (18 comments)
It would be a true hologram, completely supplanting 180/360 stereo video. Imagine Avatar on such a format. Or, lets be real, porn.
At the moment it's all rather basic and bespoke.
E.g. what's the benefit of using splats vs traditional polygons? is it somehow easier for the neural network to create these from the 2D photos? or what's the magic behind this?
Think of this as a LiDAR visualization on steroids... A point cloud of information that can be used to render "The Blob".
Splats however are loose points. It’s harder to get a solid appearance from them. But, you can add/remove/move each point independently.
Splats don’t really use neural techniques. But, they are well set up for neural techniques to work with them. Generating the splats from photos uses some sort of linear algebra optimization/back-propagation. The Gaussian aspect is required to enable that to work because gaussians are differentiable. Hopefully that means GS should fit in well with recent advancements in differentiable rendering.
On the low hanging fruit side of things, tools should really start integrating a Spherical Harmonics skybox into the training steps to better handle large scale distant details.
Anyone know if that game uses the same technique?
Dreams doesn't use gaussian splats as such, but we still learn a lot about how to compress and render a huge number of particles efficiently. (We're not doing half of this on PlayCanvas... yet).
I see people refer to the .ply file as containing millions of "splats". It's just strange to me. You could take these primitives (3D gaussians + other attributes like spherical harmonics coeffs) and render them differently, even if it would be slower. They only become "splats" in the renderer.