cy0307/b-gaussian-splatting-2d

Model

1

stars

5

commits

1

linked in READMEs

Jun 28, 2026

updated

educational
embodied-ai
from-scratch
gaussian-splatting
pytorch
reproducible
ropedia-academy

README

2D Gaussian Splatting

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 modelTrained from scratch (random initialization) — no pretrained base model.
Taskdifferentiable image fitting
Training objectivePhotometric L2 between the splatted render and the target image, with gradient-based densification.
TrackB · 3D & rendering
NotebookOpen In Colab

Dataset

  • Name: Real photograph (astronaut)
  • Type: real — public-domain image
  • 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

metricvaluemeaning
psnr (final)32.45

figure

Inference example

import torch
g = torch.load("gaussians.pt", map_location="cpu")   # dict: pos, logs, rot, col, op
# Re-create render() from the notebook (see "Reproduce") and call it on these tensors
# 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.

Open In Colab

From a shell:

git clone https://github.com/ChaoYue0307/ropedia-academy.git && cd ropedia-academy
pip install torch numpy matplotlib scikit-learn scikit-image gymnasium
jupyter nbconvert --to notebook --execute notebooks/training/B_gaussian_splatting_2d.ipynb --output run.ipynb
# optional: override training length, e.g.  STEPS=2000  (or EPISODES=600)  before running

Files

  • figure.png
  • gaussians.pt
  • metrics.json

License

Code & weights: MIT (this repository) — educational use encouraged.
Image: astronaut test image (NASA) — public domain, shipped with scikit-image.

Citation

If you use this model or the course materials, please cite:

@misc{ropedia_academy,
  title  = {Ropedia Academy: an interactive course on embodied & spatial AI},
  author = {Ropedia Academy},
  year   = {2026},
  howpublished = {\url{https://chaoyue0307.github.io/ropedia-academy/}}
}

Method / original work: Kerbl et al., 3D Gaussian Splatting for Real-Time Radiance Field Rendering, SIGGRAPH 2023.


Part of the Ropedia Academy trained-model collection. Contributions & issues welcome on GitHub.

Contributors

cy0307

5 commits

cy0307/b-gaussian-splatting-2d

Model

1

stars

5

commits

1

linked in READMEs

Jun 28, 2026

updated

educational
embodied-ai
from-scratch
gaussian-splatting
pytorch
reproducible
ropedia-academy

README

2D Gaussian Splatting

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 modelTrained from scratch (random initialization) — no pretrained base model.
Taskdifferentiable image fitting
Training objectivePhotometric L2 between the splatted render and the target image, with gradient-based densification.
TrackB · 3D & rendering
NotebookOpen In Colab

Dataset

  • Name: Real photograph (astronaut)
  • Type: real — public-domain image
  • 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

metricvaluemeaning
psnr (final)32.45

figure

Inference example

import torch
g = torch.load("gaussians.pt", map_location="cpu")   # dict: pos, logs, rot, col, op
# Re-create render() from the notebook (see "Reproduce") and call it on these tensors
# 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.

Open In Colab

From a shell:

git clone https://github.com/ChaoYue0307/ropedia-academy.git && cd ropedia-academy
pip install torch numpy matplotlib scikit-learn scikit-image gymnasium
jupyter nbconvert --to notebook --execute notebooks/training/B_gaussian_splatting_2d.ipynb --output run.ipynb
# optional: override training length, e.g.  STEPS=2000  (or EPISODES=600)  before running

Files

  • figure.png
  • gaussians.pt
  • metrics.json

License

Code & weights: MIT (this repository) — educational use encouraged.
Image: astronaut test image (NASA) — public domain, shipped with scikit-image.

Citation

If you use this model or the course materials, please cite:

@misc{ropedia_academy,
  title  = {Ropedia Academy: an interactive course on embodied & spatial AI},
  author = {Ropedia Academy},
  year   = {2026},
  howpublished = {\url{https://chaoyue0307.github.io/ropedia-academy/}}
}

Method / original work: Kerbl et al., 3D Gaussian Splatting for Real-Time Radiance Field Rendering, SIGGRAPH 2023.


Part of the Ropedia Academy trained-model collection. Contributions & issues welcome on GitHub.

Contributors

cy0307

5 commits