Splashery
Gaussian Splatting, a still.
Playground

Gaussian Splatting

AI and Computing, built from a recipe. Row 7, column 27 of the code.

Gaussian splatting draws a scene with many soft, colored blobs called splats.

Shelf
AI and Computing
Kind
Built from a recipe
Your own
Your own photo
Sound
Yes
Licenses
CC0

How to play

Tap it: random splats learn the photo. Pick another View in the Splash tab.

Its controls

ControlKindRangeStart
Train, or play the viewTap
PlayButton
ViewList4 choicesTraining

About it

Gaussian splatting draws a scene with many soft, colored blobs called splats. Each one has a place, a size in three directions, a turn, a color and an opacity. A scan's splats are trained the way a network learns: start from a rough cloud of points (worked out from the photos, or random), compare the picture it makes with the photos, and nudge every splat a little, again and again, until they match.

Tap it: a cloud of random splats slides, stretches and recolors into the strawberry photo, a real fit of 2,400 splats, while its error falls on the chart. Other views show one splat with its three axes, which a tap trains: it starts from a wrong guess and gradient steps move its place, turn, sizes, color and opacity toward the target outline, big steps first and then smaller ones, as in a real fit; a duck whose splats shrink to dots, and the back-to-front order splats are drawn in.

Is it right?

The photo view uses a real optimizer on 2,400 flat Gaussians, with checked compositing and loss derivatives. It is a single-image 2D fit, not a multi-view 3D reconstruction. The one-splat motion is prepared, and the sorting view has a reproducible distance-versus-depth error.

  1. Correct

    A photo is fit using 2,400 optimized Gaussians.12

    The production fit count is 2,400. Independent pixel compositing agrees with the loss; finite differences agree with all 18 tested derivatives, and a small fit reduces its loss.

  2. Simplified

    The training picture is a single-image 2D version of Gaussian fitting.12

    It optimizes position, two sizes, angle, color, and opacity in a flat photo plane, using Adam and cached frames; it does not optimize full 3D covariance from multiple views.

  3. Simplified

    The one-splat view illustrates optimization with a prescribed path.31

    A shared factor (1−rate) to the step count reduces every target-parameter error for 24 steps, then forces zero. There is no rendered-image loss calculation in this view.

  4. Being fixed

    The sorting view shows the renderer’s back-to-front order.4

    The bead order is sorted by Euclidean distance to a fixed camera rather than view-axis depth. The test finds pairs whose order disagrees with depth.

  1. 13D Gaussian Splatting for Real-Time Radiance Field Rendering, Kerbl, Kopanas, Leimkühler, and Drettakis, Inria
  2. 2Adam: A Method for Stochastic Optimization, Kingma and Ba
  3. 3Gradient descent, Dive into Deep Learning authors
  4. 4Gaussian rasterizer depth, Kerbl and coauthors, official implementation
Simplified
The photo fit uses a reduced-resolution image and 2D parameters, caches its optimization, and replays keyframes. It does not infer a 3D scene from several cameras or adapt the splat count. The one-splat path follows prescribed parameter-error decay and snaps to the target at the end.

Sources and credits

Share it

The back of the picture is this page's QR code: flip it, and point a phone at it. This link opens it in the Playground. To put it on your own page, add the element and one script tag. Every option.

https://splashery.app/play/?toy=gaussian-splatting
<script type="module" src="https://splashery.app/play/src/element.js"></script>
<splashery-toy toy="gaussian-splatting"></splashery-toy>

Nearby in the collection