2. Házi feladat
2. Házi feladat: Differenciálható volumetrikus renderelés
Leírás
Ebben a házi feladatban egy egyszerű NeRF-szerű rendszert fogsz építeni
PyTorch-ban, amely többnézetes képekből rekonstruál egy 3D térben élő
sugárzási mezőt (radiance field). A munka teljes egészében saját implementáció
— csak a torch és numpy alapokat használjuk, semmilyen renderelő-könyvtár
nem szükséges.
A feladat részei:
- Volumetrikus renderelés egyetlen sugárra — a vol-rendering integrál diszkretizálása, transzparencia, alpha-kompozíció.
- Procedurális hangulatjel illesztése voxel-ráccsal — explicit 3D rács illesztése előállított képekre, differenciálható renderelés gyakorlatban.
- Tiny-NeRF — a voxel-rácsot egy kis MLP + pozicionális kódolás váltja fel; novel-view szintézis.
- (Opcionális) Explicit reprezentáció: Gauss point cloud — ugyanaz a jelenet izotróp 3D Gauss-csúcsok halmazával (mini 3DGS), ugyanazzal a renderelővel.
Notebook
A feladat egy Jupyter Notebook formájában van kiadva, amely tartalmazza az elméleti hátteret, a kiinduló kódot és a megoldandó feladatokat.
Letöltés: HF2.ipynb
A notebook futtatható:
- Google Colab-ban (ajánlott, GPU-val a 3. rész is pár perc alatt befut)
- Lokálisan Conda vagy uv környezetben (CPU-n a 3. rész lassabb)
Követelmények
- A notebook
# TODOkommentekkel jelölt részeinek implementálása (összesen 6 db, mind néhány soros) - A renderelt és az analitikus képek konvergenciája Part 2 és Part 3 végére
- Generált képek vizualizálása és értékelése
- A 4. (Gauss-splat) rész opcionális
Határidő
2026.05.27.
Beadás
- Kitöltött, lefuttatott notebook (
.ipynb) feltöltése (Moodle).