Bachelor's Thesis

3D Neural Cellular Automata

Final Thesis 13.49 MB

Author of thesis: Michal Repčík

Acad. year: 2025/2026

Supervisor: Ing. Karel Fritz

Reviewer: Ing. Jakub Husa, Ph.D.

Abstract:

This thesis presents a modular 3D neural cellular automata implementation in Python and PyTorch. The project includes the simulation core, a training runner, a network server for remote control, and a Blender add-on for live visualization. The work focuses on reproducibility, voxel I/O, and practical use during training and observation of volumetric growth.

Keywords:

neural cellular automata, 3D voxel modelling, voxelisation, volumetric generation, morphogenesis, metamorphogenesis, conditional generation, interactive visualisation, Blender add-on, PyTorch, TCP server

Date of defence

19.06.2026

Result of the defence

Defended (thesis was successfully defended)

znamkaAznamka

Grading

A

Process of defence

Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm A.

Language of thesis

English

Faculty

Department

Study programme

Information Technology (BIT)

Composition of Committee

prof. RNDr. Alexandr Meduna, CSc. (předseda)
prof. Ing. Martin Čadík, Ph.D. (místopředseda)
Ing. Jaroslav Rozman, Ph.D. (člen)
Ing. Zbyněk Křivka, Ph.D. (člen)
Ing. Lukáš Kekely, Ph.D. (člen)

Supervisor’s report
Ing. Karel Fritz

Student během řešení bakalářské práce prokázal velmi dobrou schopnost samostatné odborné i technické práce, orientaci v moderních AI metodách a schopnost navrhnout a implementovat rozsáhlejší experimentální systém.


Oceňuji zejména komplexnost řešení, vysokou míru samostatnosti, kvalitní implementační zpracování a schopnost propojit výzkumné experimenty s praktickou softwarovou infrastrukturou. Práce je po odborné i technické stránce na velmi dobré úrovni a svým charakterem výrazně přesahuje běžný rámec bakalářských prací.

Evaluation criteria Verbal classification
Informace k zadání

Bakalářská práce se zabývá problematikou 3D Neural Cellular Automata a návrhem modulárního frameworku pro experimentování s volumetrickými samoorganizujícími se systémy. Zadání práce bylo nadstandardně náročné, jelikož kombinovalo problematiku neuronových sítí, celulárních automatů, distribuovaných systémů, 3D voxelové reprezentace a návrhu softwarové infrastruktury pro experimentální výzkum.

Student během řešení nastudoval principy klasických i neurálních celulárních automatů a navrhl vlastní framework umožňující trénování, vzdálené spouštění experimentů a interaktivní vizualizaci 3D růstu pomocí Blenderu. Oceňuji zejména komplexnost řešení a schopnost propojit experimentální AI část s praktickou softwarovou infrastrukturou.

Součástí práce je implementace samotného 3D NCA modelu, trénovací pipeline, TCP serveru pro vzdálenou komunikaci a Blender add-onu pro voxelizaci a vizualizaci výsledků. Pozitivně hodnotím také experimentální část práce zaměřenou na morfogenezi a metamorfogenezi, včetně experimentů s více cílovými strukturami a task-conditioned přechody mezi nimi.

Práce splnila zadání ve všech bodech a výsledné řešení svým rozsahem i technickou kvalitou přesahuje běžný rámec bakalářských prací.

Práce s literaturou

Student pracoval aktivně s odbornou literaturou a samostatně vyhledával relevantní zdroje z oblasti Neural Cellular Automata, 3D CA systémů, generativních modelů a samoorganizujících se systémů. V práci jsou vhodně propojeny teoretické základy s praktickými implementačními aspekty.

Oceňuji zejména schopnost kriticky analyzovat existující implementace a identifikovat jejich omezení, která následně motivovala návrh vlastního frameworku.

Aktivita během řešení, konzultace, komunikace

Student byl během řešení velmi aktivní a značnou část práce řešil samostatně. Pravidelně konzultoval dosažené výsledky, přicházel s vlastními návrhy řešení a průběžně rozšiřoval funkcionalitu systému nad rámec základních požadavků zadání.

Na konzultace byl připraven a komunikace probíhala bez problémů. Oceňuji zejména vysokou míru samostatnosti při návrhu architektury frameworku, implementaci experimentální infrastruktury i řešení technicky náročnějších problémů souvisejících s 3D reprezentací a distribuovaným během experimentů.

Aktivita při dokončování

Práce byla řešena průběžně a jednotlivé části byly pravidelně konzultovány. Student věnoval dostatečnou pozornost implementační i textové části práce a finální verze byla připravena v dostatečném předstihu.

Pozitivně hodnotím také rozsah experimentální části a snahu o systematické vyhodnocení výsledků.

Publikační činnost, ocenění

Výsledky práce představují kvalitní základ pro další navazující výzkum v oblasti 3D Neural Cellular Automata a distribuovaných samoorganizujících se systémů. Student práci prezentoval také v rámci studentské konference Excel@FIT, kde získal ocenění odborné poroty.

Points proposed by supervisor: 97

Grade proposed by supervisor: A

Reviewer’s report
Ing. Jakub Husa, Ph.D.

Množství i kvalita implementační části práce značně přesahuje požadavky zadání. I přes formální nedostatky v technické zprávě ji tak doporučuji hodnotit jako výbornou – 90 A.

Evaluation criteria Verbal classification Points
Náročnost zadání

Evaluation level: obtížnější zadání

Cílem práce bylo nastudovat problematiku neuronových sítí a celulárních automatů. A pomocí jejich kombinace vytvořit třírozměrný neurální celulární automat. Vzhledem k množství pokročilých problémů a technik které bylo nutné k řešení tohoto problému nastudovat, zadání považuji za nadprůměrně obtížné.

Prezentační úroveň technické zprávy

Prezentační úroveň technické zprávy je na dobré úrovni. Práce je logicky strukturována, a jednotlivé kapitoly na sebe smysluplně navazují.

Práce odborně popisuje základní celulární automaty i včechny jejich potřebné pokročilé varianty a rozšíření. Velmi chválím kapitolu 4 která detailně popisuje vybrané studie ze kterých tato práce vychází, a vysvětluje jejich význam pro tuto práci.

Text práce je vhodně doplněn několika diagramy které usnadňují pochopení struktury navrženého systému. Za nevhodné však považuji rozsáhlé ukázky kódu v kapitole 6, které by měly být uvedeny jako příloha, a ne být součástí hlavního textu práce.

85
Formální úprava technické zprávy

Po jazykové stránce je práce na dobré úrovni, bez vážnějších nedostatků.

Za problematickou považuji existenci kapitoly 2 Abstrakt, která je uvedena až za úvodem, a vzhledem k existenci normálního i rozšířeného abstraktu by v této práci vůbec neměla existovat.

80
Realizační výstup

Výsledkem práce je sada tří samostatných, komunikujících nástrojů. Balíček nástrojů v jazyce Python pro tvorbu neurálního celulárního automatu. Přídavek do programu Blender, umožňující vizualizaci běhu vzniklého automatu. A TCP server který umožňuje výpočetně náročné trénování sítě delegovat na grafickou kartu vzdáleného zařízení.

Odevzdané zdrojové kódy jsou plně funkční, ale těžké na porozumění a měly by být lépe komentovány.

Funkcionalita vytvořeného systému byla ověřena sadou několika nezávislých testů, která zkoumala schopnosti celulárního automatu požadovaný obrazec nejen vytvořit, ale také udržet, a přetvořit do jiné podoby. Jejich výsledky dostatečně analyzovány a ilustrovány pomocí srozumitelných grafů.

95
Využitelnost výsledků

Kvalita vytvořených nástrojů je na vysoké úrovni a považuji je za použitelné pro další výzkum.

Rozsah splnění požadavků zadání

Evaluation level: zadání splněno

Student splnil všechny body zadání.

Rozsah technické zprávy

Evaluation level: je v obvyklém rozmezí

Rozsah bakalářské práce je v obvyklém rozmezí. 

Práce s literaturou

Práce cituje 22 odborných zdrojů a 3 webové stránky. Použité zdroje jsou vhodně zvoleny, dobře pokrývají zvolenou problematiku, a v textu práce jsou řádně citovány.

90
Points proposed by reviewer: 90

Grade proposed by reviewer: A

Responsibility: Mgr. et Mgr. Hana Odstrčilová