Reconstructs a real photograph with anisotropic 2D Gaussians (with densification) — the 2D analogue of 3D Gaussian Splatting.
Trained from scratch in Ropedia Academy — an interactive, bilingual course on embodied & spatial AI. Educational model: small and quick to train; the value is the method and a reproducible pipeline, not a leaderboard score. Try it live in the Ropedia demos Space.
At a glance
Base model
Trained from scratch (random initialization) — no pretrained base model.
Task
differentiable image fitting
Training objective
Photometric L2 between the splatted render and the target image, with gradient-based densification.
Size / stats: 1 RGB photo resized to 64×64; ~500 Gaussians (densified to ~650)
Split: single image (overfit)
Source: scikit-image data.astronaut() (NASA, public domain)
Training config
Adam (lr 0.02), 800 steps; 500 Gaussians, gradient-based densification (→ ~650); 64×64 target.
Evaluation results
metric
value
meaning
psnr (final)
32.45
figure
Inference example
python
1import torch
2g = torch.load("gaussians.pt", map_location="cpu")# dict: pos, logs, rot, col, op3# Re-create render() from the notebook (see "Reproduce") and call it on these tensors4# to reconstruct the fitted image.
Limitations
Educational scale. Trained quickly on CPU on small or synthetic data, so absolute numbers are not competitive with production systems — the value is the method and a reproducible pipeline. No large-scale data, no hyperparameter sweep, and no multi-seed variance is reported. Not for production use.
Overfits a single image — it does not generalize to other images; quality is capped by the Gaussian count.
Failure cases
Without densification, large flat regions stay blurry; over-large σ washes the image out.
Reproduce / train your own
One click: open the notebook in Colab → Runtime → GPU → Run all, then run its Publish to the Hugging Face Hub cell.