Uživatelská příručka

Kapitola 4 — Pomocná okna

Vedle hlavního okna (3D viewport plus Inspector) spravuje RadianceKit šest dalších oken, která se všechna otevírají přes menu Help. Menu má osm položek, seřazených shora dolů: User Guide (⌘?), Keyboard Shortcuts (⌘/), Open Training Logs… (⇧⌘L), Open Exports Folder…, Manage Storage…, Pareto Dashboard… (⇧⌘D), Holdout Analysis… (⇧⌘H), BayesOpt Console… (⇧⌘B). Obě položky „Open …" neotevírají žádné okno aplikace, ale Finder; proto se jimi tato kapitola dál nezabývá. Tři z oken — Dashboard, Holdout, BayesOpt — jsou samostatné analytické nástroje: pracují nezávisle na hlavním okně a čtou nebo zapisují JSON soubory na disku. Každé z těchto tří oken otevřeš přes menu Help a poté si v něm sám vybereš soubor nebo složku, kterou chceš vyhodnotit — pomocí „Open Reports Folder…", „Open transforms.json…", případně tlačítka „Start". Tato tři okna jsou jako jediná nepřeložená: jejich tlačítka, posuvníky a názvy sloupců jsou v každé jazykové verzi anglicky. Popisky uvedené zde na obrazovce tedy najdeš přesně v této podobě.

Tři jednoduchá okna (User Guide, Keyboard Shortcuts, Manage Storage) a obě položky menu pro složky (Open Training Logs / Open Exports Folder) mají pro každý ovládací prvek krátký záznam. Tři analytická okna jsou zdokumentována podrobněji — vždy s úvodem, který vysvětlí, co v okně vidíš, kdy je vhodné ho otevřít a jak interpretovat zobrazený obrázek.

Na konci kapitoly najdeš odkazový oddíl k Inspectoru hlavního okna: co si smysluplně můžeš přečíst z grafu Live Loss a z ukazatele počtu Gaussianů během probíhajícího trénování.

Uživatelská příručka (W1–W4)

Okno uživatelské příručky s postranním panelem vlevo a vykresleným Markdown obsahem vpravo
Okno uživatelské příručky s postranním panelem vlevo a vykresleným Markdown obsahem vpravo

Co to je: Vestavěné okno nápovědy, které vykresluje soubor guide_<sprache>.md dodávaný s aplikací. Jazyk se odvozuje z nastavení (záložka General → Language), nebo pokud je tam nastaveno „System", z jazykových preferencí macOS. Rozvržení je klasické: vlevo postranní panel se všemi nadpisy, vpravo souvislý text.

Když potřebuješ rychlou připomínku k jednomu konkrétnímu bodu — tedy jako náhradu za heslovité přehledy. Podrobnou referencí je tento manuál; vestavěné okno nápovědy je stručná verze pro rychlé nahlédnutí. Aktualizuje se s každým vydáním aplikace, ale obsahově zůstává povrchnější.

W1NavigationSplitView (postranní panel + detail)

KDE

Help → User Guide (⌘?).

TECHNICKY

Dvoususloupcové rozvržení s úzkým postranním panelem (minimálně 180 pt široký) pro strom obsahu a scrollovatelnou detailní oblastí pro samotný Markdown obsah. Okno má minimální velikost 700 × 500 pt. Při prvním otevření okno načte odpovídající guide_<lang>.md z balíčku aplikace (fallback guide_en.md), rozparsuje ji na blokové záznamy (nadpisy H1–H4, odstavce, seznamy, tabulky, oddělovací čáry) a odděleně extrahuje strukturu nadpisů pro postranní panel. Vnitřní formátování (tučné, kurzíva, kódový úsek) se vykresluje pomocí vestavěného Markdown enginu. Jazyk se čte z nastavení aplikace, se speciálním případem čínštiny (zh-Hans) a brazilské portugalštiny (pt-BR), které se ponechávají jako plné locale tagy, protože se tyto varianty liší od zh, resp. pt.

W2List (postranní panel s nadpisy)

KDE

Levý sloupec v okně uživatelské příručky.

TECHNICKY

Seznam všech nadpisů H2 a H3 v aktuálním Markdown dokumentu. Položky H2 se zobrazují bez odsazení se středním řezem písma, položky H3 s odsazením 16 pt vlevo a redukovaným stylem popředí. Všechny ostatní úrovně — H1 stejně jako H4 a hlubší — se v postranním panelu nezobrazují, protože by ho jinak činily nepřehledným. ID kotev se generují z textu nadpisu sluggifikací (malá písmena + mezery na pomlčky + filtrování na písmena/čísla/pomlčky — stejný algoritmus, jaký používá GitHub pro své Markdown kotvy, takže by i externí URL adresy na dokumentaci potenciálně mohly mířit na stejnou kotvu). Seznam používá nativní styl macOS.

W3Button (přeskok nadpis → kotva)

KDE

Jedno tlačítko na řádek v postranním panelu.

TECHNICKY

Každá položka postranního panelu je tlačítko, které nastaví aktuální kotvu, ale vizuálně vypadá jako položka seznamu. Pozorovací proměnná pak spustí posun scrollu na příslušnou kotvu s plynulou animací trvající 0,3 s. Po přeskoku se hodnota kotvy resetuje, aby další klik na stejnou kotvu opět zafungoval (jinak by se pozorovač znovu nespustil, protože se hodnota nezměnila).

W4ScrollView (obsah detailu)

KDE

Pravý sloupec.

TECHNICKY

Scrollovatelná, vertikálně skládaná oblast obsahu s líným (lazy) vykreslováním, protože delší příručky snadno mají přes 200 Markdown bloků — varianta bez lazy vykreslování by musela instanciovat všechny najednou. Každý blok dostane vlastní ID, buď kotvu nadpisu (tu dostane každý nadpis, bez ohledu na úroveň) nebo indexový zástupný symbol. Maximální šířka je 720 pt, odsazení 32 horizontálně / 24 vertikálně, takže dlouhé řádky mají dobře čitelné rozvržení. Tabulky se vykreslují po buňkách pomocí horizontálních stacků a oddělovacích čar; vnitřní kód pomocí vestavěného Markdown enginu. Skutečné bloky kódu se aktuálně zpracovávají jako odstavec — známé omezení okna nápovědy.

Klávesové zkratky (W5–W6)

Keyboard Shortcuts Fenster — fünf Gruppen Navigation/Views/Capture/Editor/Training mit Hotkey-Spalte links und Beschreibung rechts
Okno klávesových zkratek — pět skupin Navigation/Views/Capture/Editor/Training se sloupcem klávesových zkratek vlevo a popisem vpravo

Statický referenční seznam v pěti sekcích. Navigation: Mouse Drag (Orbit/Fly), Shift+Drag/Right-Drag (Pan), Scroll (Zoom), WASD (pohyb ve Fly-Through režimu), Q/E (nahoru/dolů), F (přepnutí Orbit/Fly), Double-click (nové vycentrování), Cmd+Scroll (úprava FoV). Views: R (reset kamery), T (automatická rotace), P (přehrávání kamery), B (přepínání pozadí), 0–9 (skok na tréninkovou kameru 1=10 %/5=50 %/0=poslední), šipka vlevo/vpravo (předchozí/další kamera). Capture: S (screenshot na plochu), V (turntable video), C (kopírovat informace o kameře). Editor: Tab (editační režim), Click/Drag (výběr malováním), Option+Click (zrušit výběr), X / Delete (smazat výběr), Cmd-Z (vrátit poslední smazání), [ / ] (menší/větší velikost štětce), Esc (zrušit výběr). Training: Option+Space (pozastavit/ pokračovat v tréninku), Cmd+E (exportovat scénu). Víc tu není — start, zrušení a prodloužení najdeš v menu Training (kapitola 1).

Co to je: Jednoduchý statický přehled všech klávesových zkratek — Navigation, Views, Capture, Editor, Training. Obsah je pevně zabudovaný a nenačítá se ze souboru.

Když hledáš nejrychlejší cestu, jak něco udělat ve Viewportu. WASD-Fly-Through, R pro reset kamery, B pro přepínání pozadí — vše je tady.

W5ScrollView (oblast obsahu)

KDE

Help → Keyboard Shortcuts (⌘/).

TECHNICKY

Jednoduchá scrollovací oblast s vertikálním seznamem uvnitř. Padding 20 kolem dokola, žádný postranní navigační strom (seznam je dost krátký). Obsah je seskupen do pěti sekcí (Navigation, Views, Capture, Editor, Training). Pro každou klávesovou kombinaci jeden řádek s přeložitelným textem v obou sloupcích. Levý sloupec (kód klávesy) má pevnou šířku 180 pt, takže popisy vpravo zůstávají vertikálně zarovnané. Žádná interakce kromě scrollování — kliknutí na řádek nic nespustí, klávesové zkratky jsou skutečné klávesové modifikátory v menu a ve Viewportu.

W6VStack (sekce zkratek)

KDE

Uvnitř ScrollView.

TECHNICKY

Sekce zarovnané doleva, naskládané na sebe s odstupem 16 pt. Uvnitř každé z pěti sekcí je nadpis a posloupnost řádků. Nadpisy používají sekundární styl Subheadline — záměrně žádný formát Title, protože sekce nemusí být navigovatelné. Obsah je záměrně plochý (žádné rozbalování, žádné vyhledávání, žádný filtr), aby komponenta fungovala beze změn na jakékoli verzi macOS a soubor zůstal čitelný.

Správa úložiště (W7–W12)

Manage Storage Fenster — Header zeigt „1,356 items · 55.1 GB total”, Tabelle mit Export-PLY-Dateien sortiert nach Datum, jeweils Icon + Dateiname + Größe + Datum
Okno Manage Storage — v hlavičce je zobrazeno „1,356 items · 55.1 GB total", tabulka exportovaných PLY souborů seřazená podle data, u každého ikona + název souboru + velikost + datum

Tabulkový přehled všech souborů spravovaných aplikací RadianceKit. Hlavička zobrazuje 1 356 položek, celkovou velikost 55,1 GB. Panel nástrojů nahoře: „Show in Finder" + „Refresh". Každý řádek: ikona exportu, název souboru (např. training_20260718T194416Z.ply), datum exportu, velikost (v tomto záznamu se pohybuje od 7,8 MB do 2,24 GB), ikona lupy (Reveal) a ikona koše (Move to Trash). Řazeno je nejprve podle kategorie a v rámci kategorie podle data, nejnovější nahoře. Na tomto snímku dominují PLY exporty, protože v tomto úložišti byly ukládány především výsledky trénování.

Co to je: Přehled využití disku pro vše, co RadianceKit ukládá do ~/Documents/RadianceKit/ — logy, exporty, scény, capture-balíčky (z iOS doprovodné aplikace), importy (dočasné kopie vstupních obrázků). U každé položky velikost v bajtech a dvě tlačítka: „zobrazit ve Finderu" a „přesunout do koše". NENÍ to automatické čištění — aplikace sama nic nemaže, rozhoduješ se u každé položky sám. Toto okno je přeloženo: v češtině by se jmenovalo „Správa úložiště", obě tlačítka v hlavičce se jmenují „Zobrazit ve Finderu" a „Aktualizovat", tlačítka u řádků „Zobrazit ve Finderu" a „Přesunout do koše". Anglické názvy v položkách níže odpovídají označením z anglické verze.

Když se disk začne plnit. Nejvíc přibývá logů (jeden JSONL na pokus o trénování, plus _qualityMetrics.json); exporty samozřejmě také (PLY je 100% surová data, jeden na export). Užitečné i po pádu aplikace, kdy ve staging adresáři importů mohou ještě ležet staré kopie vstupních obrázků.

W7Tlačítko „Show in Finder"

KDE

Hlavička vpravo nahoře v okně storage prohlížeče.

TECHNICKY

Otevře datový adresář RadianceKit ve Finderu — přesně ten adresář, jehož obsah toto okno zobrazuje. Uvidíš tak přímo strukturu složek (Logs, Exports, Scenes, Captures, Imports) a soubory můžeš i sám přesouvat nebo kopírovat přímo ve Finderu. Akce otevře nové okno Finderu; seznam v tomto okně se tím nemění — k tomu slouží „Refresh" (W8).

W8Tlačítko „Refresh"

KDE

Hlavička, vedle tlačítka Finder.

TECHNICKY

Spustí sken na pozadí, který běží na uživatelem iniciovaném asynchronním úkolu, aby skenování velkých adresářových stromů neblokovalo UI. Vlastní procházení projde všechny známé podadresáře (Logs, Exports, Scenes, Captures, Imports) a pro každou přímou položku vytvoří záznam v úložišti. U každého záznamu se zjišťuje rekurzivní velikost — přednostně skutečná spotřeba místa na disku (včetně sdílení díky APFS hardlinkům) s fallbackem na logickou velikost souboru.

W9List (položky úložiště)

KDE

Hlavní obsah pod hlavičkou.

TECHNICKY

Seznam, u kterého má každý řádek toto rozvržení: kategorii odpovídající ikona SF Symbol (dokument pro logy, šipka nahoru pro exporty, kostka pro scény, iPhone pro capture-balíčky, přihrádka pro importy), název + podtitulek (popisek typu + formátované datum poslední změny), počítadlo bajtů vpravo (zarovnáno vpravo, neproporcionálním písmem), tlačítko Reveal (ikona lupy), tlačítko Trash (koš). Řazení: primárně podle typu (nejprve scény, pak exporty, logy, capture-balíčky, importy, ostatní), sekundárně podle data poslední změny sestupně (nejnovější nahoře). Pokud sken ještě běží, zobrazí se místo toho průběh „Scanning…". Pokud nic nebylo nalezeno, zobrazí se prázdný stav s ikonou přihrádky.

W10Tlačítko řádku „Reveal in Finder"

KDE

U každého řádku, ikona lupy vpravo.

TECHNICKY

Otevře Finder a vybere konkrétní položku (soubor nebo složku). Rozdíl oproti W7: W7 otevře kořenový adresář; W10 označí přesně jednu tuto položku. Praktický postup: najdi velkou položku, klikni na lupu, pak ji zkopíruj třeba na externí disk.

W11Tlačítko řádku „Move to Trash"

KDE

U každého řádku, ikona koše vpravo vedle lupy.

TECHNICKY

Vyvolá potvrzovací dialog (W12). Teprve po potvrzení proběhne standardní operace macOS „přesunout do koše" (tedy vratná, žádné přímé mazání). Po úspěšném přesunutí do koše se položka odstraní ze seznamu a aktualizuje se celkový počítadlo bajtů. Při chybě se zobrazí modální dialog s chybovou zprávou.

W12ConfirmationDialog (potvrzení smazání)

KDE

Vyvolá jej W11, zobrazí se jako sheet macOS.

TECHNICKY

Standardní potvrzovací dialog s dynamickým nadpisem „Delete <name>?" a řádkem se zprávou, která výslovně upozorňuje, že položka skončí v koši a lze ji odtud obnovit (dokud se koš nevyprázdní). Dvě tlačítka: „Move to Trash" jako destruktivní akce (zobrazena červeně) a „Cancel" s automatickou vazbou na klávesu Esc. Dialog je nemodální v tom smyslu, že blokuje jen toto okno, ne celou aplikaci — to je standardní chování macOS pro vratná mazání.

Pareto Dashboard (W13–W22)

Pareto Dashboard — prázdný stav před importem reportů
Pareto Dashboard — prázdný stav před importem reportů

Prázdný stav (po prvním otevření) — Empty-State s výzvou k akci „Open Reports Folder…". Datové body se objeví, jakmile jsou načteny tréninkové reporty, viz další snímek.

Pareto Dashboard s 384 načtenými benchmark reporty — Gaussians vs PSNR s Pareto frontou, Scene/Strategy/Mip-Filter
Pareto Dashboard s 384 načtenými benchmark reporty — Gaussians vs PSNR s Pareto frontou, Scene/Strategy/Mip-Filter

Horní panel nástrojů ukazuje vpravo „384 reports of 384" (všechny reporty ve zvolené složce byly úspěšně zpracovány); vlevo vedle tlačítka „Open Reports Folder…" stojí název načtené složky, zde „Benchmarks". Osy: X-Axis-Picker na Gaussians, Y-Axis-Picker na PSNR (dB), vedle toho aktivní zaškrtávátko „Show Pareto Front". Legenda vlevo nahoře: modrá = mcmc, zelená = classic, oranžová = hybrid, k tomu tvar symbolu pro Mip-Splatting On/Off. Přerušovaná linie Pareto fronty probíhá podél nejlépe dosažených hodnot PSNR a stagnuje kolem PSNR≈30 dB od cca 300K Gaussians; oblak bodů sahá až přes 1,5 mil. Gaussians. Filtrovací čipy vpravo: přes 30 scén (mimo jiné bicycle, bonsai, family, flowers, garden, kitchen, stump, truck a dále očíslované testovací řady 360, drone a photo), 3 strategie (classic, hybrid, mcmc), 3 možnosti Mip-Splatting (All, On, Off), přičemž „All" je aktivní. Aktuálně není nastaven žádný filtr scény ani strategie, proto ten hustý shluk bodů.

Co to je: Nástroj pro srovnání více běhů. V minulosti jsi trénoval více scén nebo stejnou scénu s různými přednastaveními — z vyhodnocení benchmarku vznikne pro každý trénovací běh JSON soubor s reportem, který mimo jiné obsahuje finální PSNR, SSIM, LPIPS, počet Gaussians a čas běhu (wallclock time). Přepínač pro toto vyhodnocení v rozhraní neexistuje; dashboard vyhodnocuje to, co už leží jako report ve zvolené složce. Načte celou složku takových reportů najednou a vykreslí je jako 2D bodový graf (scatter) s volitelnými osami. Navíc se Pareto fronta (množina nedominovaných bodů) vykresluje jako přerušovaná linie.

Poté, co jsi vytvořil alespoň tři nebo čtyři tréninkové reporty. S menším počtem bodů není linie fronty vypovídající. Typický případ použití: snažil ses zrekonstruovat venkovní scénu a postupně jsi vyzkoušel P3 Balanced (Classic), P4 Quality (Classic), P8 Quality (MCMC) a P9 Drone / Aerial — teď chceš vědět, která konfigurace dává nejlepší PSNR na sekundu tréninkového času nebo která potřebuje nejméně Gaussians pro danou hodnotu PSNR.

Obě osy lze volně vybrat (osa X: Gaussians, tréninkový čas, PSNR, SSIM, LPIPS, …; osa Y stejně tak). Výpočet Pareto fronty ví pro každou metriku, zda platí „menší = lepší" (LPIPS, Gaussians, Training Time, BRISQUE), nebo „větší = lepší" (PSNR, SSIM, FSIM, MS-SSIM) — linie tedy podle volby os probíhá buď zleva zdola doprava nahoru, nebo zleva shora doprava dolů, vždy podél nejlepší dosažené kombinace. Bod je Pareto-optimální, pokud ŽÁDNÝ jiný bod není v OBOU dimenzích alespoň stejně dobrý (tedy žádný jiný jej nedominuje). Pareto-optimální body leží na linii, ostatní body vpravo/nad ní (podle orientace os). Body NA linii jsou skuteční kandidáti na „nejlepší přednastavení"; body DALEKO od linie jsou promarněný tréninkový čas.

Výběr můžeš omezit na konkrétní scénu (např. pokud chceš porovnávat pouze venkovní běhy), na konkrétní strategii (classic, hybrid nebo mcmc), nebo na Mip-Splatting zapnuto/vypnuto (Mip-Splatting je volitelné nastavení pro pokročilé, proto se přímé srovnání vyplatí).

Máš tři reporty pro scénu „truck" v jedné složce reportů: Běh A (P4 Quality (Classic), 524K Gs, 105 s, PSNR 23.4), Běh B (P8 Quality (MCMC), 150K Gs, 693 s, PSNR 24.6), Běh C (P5 Ultra Detail, 1.25M Gs, 312 s, PSNR 25.8). Nastav osu X na Training Time, osu Y na PSNR. Běh B leží vpravo nahoře, Běh C ještě víc vpravo nahoře, Běh A vlevo dole. Pareto fronta spojuje A a C — oba jsou nedominované. Běh B je „ztracený" (C je lepší v čase I v PSNR). Poznatek: pro „truck" se cesta přes MCMC nevyplatí; buď rychle a dobře (A), nebo dlouho a velmi dobře (C). Konfiguraci C ulož jako vlastní přednastavení (Inspector → I1 Save Preset).

Další krok: Uložit nejlepší konfiguraci jako přednastavení. Konkrétně: podívej se na Pareto body (najetí myší zobrazí PSNR/SSIM/LPIPS/Gs/Time v tooltipu), rozhodni se, který ti nejlépe vyhovuje z hlediska poměru času a kvality, otevři příslušný report (název souboru obsahuje časové razítko běhu), zkopíruj jeho tréninkovou konfiguraci do nového běhu, nebo ji po příští tréninkové relaci ulož jako přednastavení přes Inspector.

W13Tlačítko „Open Reports Folder…"

KDE

Panel nástrojů vlevo nahoře.

TECHNICKY

Otevře dialog pro výběr složky s výzvou „Select a folder containing benchmark .json reports". Po potvrzení běží úloha na pozadí, která postupně zpracovává všechny soubory .json ve složce. Vadné reporty (poškozený JSON, nesprávné schéma) se shromáždí a zobrazí dole v postranním panelu jako „N file failed to parse" — bez pádu aplikace. Pokud dojde k druhému kliknutí, zatímco první načítání ještě běží, předchozí úloha se přeruší, aby nezapisovaly dva výsledky do stavu současně.

Zvolená složka se trvale nepamatuje: po otevření okna přes Nápověda → Pareto Dashboard… (⇧⌘D) ji zde vybereš znovu. Název načtené složky se poté zobrazí vpravo vedle tlačítka.

W14Picker „X-Axis"

KDE

Nad grafem, vlevo.

TECHNICKY

Menu-picker se všemi dostupnými osami metrik modulu Dashboard (PSNR, SSIM, LPIPS, počet Gaussians, tréninkový čas a tak dále). Výchozí hodnota je počet Gaussians. Při přepnutí se zvýrazněný bod zresetuje, protože dosud zvýrazněná pozice ve starém souřadnicovém systému os po změně os nedává smysl. Picker je omezen na šířku obsahu, aby se neroztahoval přes celou šířku.

W15Picker „Y-Axis"

KDE

Nad grafem, vedle X-Axis.

TECHNICKY

Shodné s W14, jen s výchozí hodnotou PSNR. Volba os se ukládá nezávisle, takže uživatel může zvolit i nesmyslné kombinace (X=PSNR, Y=PSNR — to by hodilo všechny body na jednu diagonálu). Takové kombinace se ale nezachytávají; jde o vědomé rozhodnutí, protože srovnání „SSIM vs PSNR" může být zajímavé, aby bylo vidět, jak konzistentně se metriky chovají.

W16Přepínač „Show Pareto Front"

KDE

Vpravo vedle pickerů os.

TECHNICKY

Zaškrtávací políčko, ve výchozím stavu zaškrtnuté. Pareto fronta se navíc k oblaku bodů vykresluje jako linie přes graf — přerušovaná (vzor čárkování 4–4), šedá poloprůhledná, tloušťka linie 1,5 pt. Pozor: Ve vydané verzi zaškrtávátko nemá vliv na graf — linie fronty se vykresluje vždy, ať je zaškrtnuté, nebo ne. Fronta se při každé změně os a po každé změně filtru přepočítá.

W17Čipy filtru „Scene"

KDE

Pravý postranní panel v okně dashboardu.

TECHNICKY

Filtrovací čipy pro každou scénu vyskytující se v načtených reportech. Vlastní flow-layout, který čipy automaticky přeskupuje do více řádků, jakmile je vyčerpaná šířka. Aktivní čipy dostávají zvýrazněné pozadí, neaktivní neutrální standardní materiálové pozadí. Vícenásobný výběr je možný (set-sémantika); pokud není vybraný žádný čip, platí všechny scény jako „propuštěné" — tj. logika množiny je „prázdný výběr = vše", nikoli „prázdný výběr = nic".

W18Čipy filtru „Strategy"

KDE

Pod filtrem Scene v postranním panelu.

TECHNICKY

Stejné jako W17, ale pro tréninkové strategie — typicky tři hodnoty „classic", „hybrid" a „mcmc", odvozené z pole strategy v JSON souborech benchmark reportů. Užitečné, pokud máš namíchané reporty z více strategií a chceš vidět jen jeden druh (např. „zobrazit jen MCMC běhy, protože Classic jsem už vyloučil").

W19Čipy filtru „Mip-Splatting"

KDE

Pod filtrem Strategy v postranním panelu.

TECHNICKY

Trojhodnotový filtr (na rozdíl od množiny jako u W17/W18): „All" / „On" / „Off". Pozadí: Mip-Splatting je multi-škálové rozšíření, které podle scény pomáhá, nebo ne — proto zůstává vědomě přepínatelným nastavením a ne standardem. Když srovnáváš Mip zapnuto/vypnuto, často chceš velmi ostré rozlišení. Proto vyhrazený ternární filtr se stavy „propustit vše", „jen Mip zapnuto", „jen Mip vypnuto". Sekce postranního panelu se objeví, jakmile načtená množina vůbec obsahuje reporty — tedy prakticky vždy; zmizí jen tehdy, když není načteno vůbec nic.

W20ChipButton (přepínač filtru, all/on/off)

KDE

Pomocná komponenta, používá se ve W17/W18/W19.

TECHNICKY

Minimalistický obal tlačítka. Obsah: textový popisek s velikostí písma jako u titulku a odsazením 10 vodorovně / 5 svisle. Pozadí podmíněné: pokud aktivní → akcentová barva aplikace s bílým textem; jinak neutrální standardní materiálové pozadí s běžnou barvou textu (přizpůsobuje se světlému i tmavému vzhledu). Tvar je kapsle (pilulkovitý). Styl plain-buttonu, aby materiál kapsle nebyl překrytý systémovým okrajem.

W21Graf (Pareto-Scatter)

KDE

Střední plocha dashboardu.

TECHNICKY

Diagram Swift Charts se dvěma vrstvami: 1. bod pro každý report — pozice podle zvolených metrik X a Y, barva podle strategie, symbol podle stavu Mip. Velikost symbolu normálně 80, zvýrazněná 200 (pokud ID odpovídá aktuálně zvýrazněnému reportu). 2. linie pro Pareto frontu (viz W16 — vykresluje se vždy). Navíc bod, nad kterým je aktuálně kurzor, zobrazuje název scény jako malou kapsli nad sebou.

Overlay grafu: transparentní obdélník zaznamenává pohyb myši; pro každý snímek se zjistí eukleidovsky nejbližší pozice bodu v rámci grafu a zvýrazněný report se aktualizuje, pokud je vzdálenost pod 24 px (jinak se resetuje). Tak dostaneš tooltip bez klikání — stačí najet myší.

W22Tooltip (detail při najetí myší)

KDE

Pod grafem, zobrazí se při najetí myší.

TECHNICKY

Vodorovný stack: název scény (nadpis), tag strategie (popisek), oddělovací čára, poté metriky PSNR/SSIM/LPIPS/Gs/Time, každá v malé svislé skupině (popisek + hodnota v monospace). Pokud byl Mip aktivní, navíc kapslový tag „Mip" v akcentové barvě. Pozadí poloprůhledný rozostřený efekt, zaoblený obdélník s poloměrem 8 pt. Zobrazí se jen tehdy, když je myš skutečně nad bodem. Při opuštění automaticky zmizí.

Analýza Holdout (W23–W29)

Holdout Analysis — prázdný stav před načtením transforms.json
Holdout Analysis — prázdný stav před načtením transforms.json

Prázdný stav s empty-state a výzvou k akci „Open transforms.json…". Akceptuje formát NeRF-Studio a Instant-NGP. Kamerové značky se zobrazí, jakmile je načtený transforms.json — viz další obrázek.

Holdout-Globe s 86 kamerami, 5 foldy, aktivní Angular-Strategy
Holdout-Globe s 86 kamerami, 5 foldy, aktivní Angular-Strategy

Hlavička zobrazuje načtený soubor (transforms.json) a počet kamer („86 cameras"). Levý postranní panel: Strategy-Picker se dvěma možnostmi — Angular (longitudinal) aktivní (seřadí kamery podle jejich zeměpisného úhlu kolem orbitu a poté je rozdělí postupně mezi foldy) vs Linear (round-robin) (stejné postupné rozdělení, ale podle pořadí snímků, ne podle úhlu pohledu). Slider k-Folds je nastaven na 5, Test-Fold-Picker na Fold 1. Tlačítko Export vytvoří fold-assignment.json pro další použití v externích vyhodnocovacích nástrojích. Prostřední panel: 3D projekce globu se všemi 86 kamerami, rozmístěnými po celé kouli — zelené body = trénink, červené body = aktuální test-fold (Fold 1 s 18 kamerami). Pravý postranní panel (Angular Correlation): pro každý fold počet kamer + Mean Nearest Angle (Fold 1: 18 Cams / 8.5°, Fold 2: 17 / 6.1°, Fold 3: 17 / 6.2°, Fold 4: 17 / 6.7°, Fold 5: 17 / 6.4°) — menší hodnota znamená, že každá testovací kamera má nedaleko trénovací kameru, test je tedy snazší.

Co to je: 3D vizualizér tvého uspořádání kamer s logikou cross-validace. Načteš transforms.json (standardní formát Nerfstudio / Instant-NGP pro pozice kamer), aplikace přečte všechny kamery, promítne jejich směry pohledu na jednotkovou kouli a zobrazí je jako malé kulaté značky na virtuálním globu. Poté rozdělí kamery do k foldů (podle zvolené strategie: angular nebo linear), zeleně označí trénovací podíl a červeně testovací podíl (holdout), a pro každý fold vypočítá skóre Angular Correlation, které ti řekne, jak daleko je testovací fold v prostoru úhlů pohledu od trénovacího foldu.

Když chceš provádět vyhodnocení holdoutu — tedy: jak dobře tvůj model generalizuje na neviděné úhly pohledu? Standardem při tréninku je „every-8th view jako holdout" (konvence Mip-NeRF360), ale to je velmi lineární rozdělení. Pokud jsou tvé snímky například časově seskupené (nejdřív jedna strana objektu, pak druhá), pak „every-8th" není reprezentativní — náhodná pozice v sekvenci skončí v testu, ale všichni její sousedé jsou v tréninku, to je příliš jednoduché. S „angular" naopak stratifikuješ podle prostoru úhlů pohledu: každý fold obsahuje kamery ze všech oblastí orbitu, takže test skutečně prověřuje mezery v generalizaci.

Angular vs Linear: - Angular (výchozí): seřadí všechny kamery podle jejich longitudinálního úhlu (φ-souřadnice kolem osy Y) a pak je postupně rozdělí do k foldů — první kamera z kruhu jde do Fold 1, druhá do Fold 2, a po k kamerách oběh začíná znovu od začátku. Výhoda: každý fold obsahuje kamery ze všech směrů orbitu, rovnoměrně rozmístěné po kruhu. Dobré pro klasické orbitální snímky, protože rozdělení pak už nezávisí na pořadí pořízení snímků. - Linear (round-robin): stejné postupné rozdělení, ale podle pozice snímku místo úhlu (index foldu = image_index modulo k). To je jednoduché rozdělení typu „every-k-th". Funguje, pokud pořadí snímků NEMÁ žádný prostorový bias (např. náhodně seřazené drony snímky). Funguje špatně, pokud se snímky časově shlukují — pak sousední snímky spadnou do různých foldů a test se stane příliš snadným.

Ve 3D globu okamžitě vidíš: zelené body (trénink) a červené body (test). Pokud se červené body všechny shlukují v jednom rohu, je holdout špatný (žádný dobrý test generalizace). Pokud jsou rovnoměrně rozmístěné mezi zelenými, je dobrý. Skóre Angular Correlation pro každý fold (pravý postranní panel, ve stupních) navíc říká: menší hodnota = test je blízko tréninku (každá testovací kamera má nedaleko trénovací kameru, snadnější test); větší hodnota = test je daleko od tréninku (náročnější generalizace).

Nasnímal jsi svou scénu Truck s 251 snímky, exportuješ přes položku menu M33 (Export SfM transforms.json) soubor ve formátu nerfstudio. Otevři okno Holdout (⇧⌘H), načti JSON přes „Open transforms.json…", podívej se na globus. k=5 (výchozí) ti dá 5 foldů. Klikni na „Fold 3" — podívej se, jestli jsou červené značky zhruba rovnoměrně rozmístěné. Pokud ano: „Export fold-assignment.json". Exportovaný soubor je určen pro externí vyhodnocovací nástroje (Nerfstudio, Instant-NGP); RadianceKit sám ho zpět nenačítá a nadále trénuje proti vlastnímu standardu holdoutu „every-8th". Okno zde tedy slouží k posouzení, zda tvá sada kamer vůbec umožňuje férový test.

W23Tlačítko „Open transforms.json…"

KDE

Panel nástrojů vlevo nahoře.

TECHNICKY

Otevře dialog pro výběr souboru, omezený na JSON soubory. Po potvrzení modul Holdout soubor načte. Loader parsuje jak formát nerfstudio (intrinsiky kamery plus seznam snímků s cestou k obrázku a transformační maticí), tak formát instant-ngp (stejná struktura). Pro každý snímek se extrahuje směr pohledu z transformační matice (osa z lokální báze kamery) a uloží se. Pokud parsování selže, objeví se hláška v levém postranním panelu — ovšem jen pokud tam už byla načtená scéna; při úplně prvním pokusu zůstane okno v prázdném stavu bez viditelné hlášky.

Načtený soubor se trvale nepamatuje: po otevření okna přes Nápověda → Holdout Analysis… (⇧⌘H) ho zde vybereš znovu. Jeho název se poté zobrazí vpravo vedle tlačítka.

W24Picker „Strategy" (angular/linear)

KDE

Levý postranní panel, nahoře.

TECHNICKY

Radio-picker se dvěma možnostmi: Angular a Linear. Přepnutí strategie automaticky spustí přepočet foldů. Směry pohledu jsou seznam 3D jednotkových vektorů na sféře; strategie Angular je seřadí podle jejich longitudinálního úhlu φ a poté je postupně přiřadí foldům, strategie Linear provede stejné postupné přiřazení podle indexu snímku a geometrii zcela ignoruje. Obě strategie proto vytvářejí stejně velké foldy; liší se jen tím, podle čeho se předem třídí.

W25Slider „k Folds"

KDE

Levý postranní panel, uprostřed.

TECHNICKY

Slider od 3 do 10, krok 1. Při změně se automaticky znovu spustí výpočet foldů, takže se seznam foldů, indexy trénink/test a skóre pro každý fold okamžitě přepočítají. Zvolená hodnota se zobrazuje jako text s neproporcionálními číslicemi vpravo vedle popisku.

Základní pravidlo: k=5 je výchozí (dá ti 20% testu na fold, to je běžné pro cross-validaci). k=10 pokud máš hodně dat a potřebuješ více foldů pro statistickou vypovídací hodnotu. k=3 pokud máš málo dat.

W26Picker „Test Fold"

KDE

Levý postranní panel, pod sliderem k.

TECHNICKY

Menu-picker. Zobrazuje přesně tolik položek, kolik je nastavených foldů, s popiskem „Fold 1" až „Fold N". Pokud je dříve zvolený index ≥ k (např. protože jsi snížil k z 10 na 5), automaticky se vrátí na 0. Zvolený test-fold se v globu zobrazuje červeně, všechny ostatní zeleně.

W27Tlačítko „Export fold-assignment.json"

KDE

Levý postranní panel, dole.

TECHNICKY

Otevře dialog pro uložení s výchozím názvem souboru fold-assignment.json. Po potvrzení modul Holdout zakóduje aktuální rozdělení do JSON schématu (přiřazení foldu pro každý snímek plus meta-blok se strategií). Soubor je určen pro externí vyhodnocovací nástroje — RadianceKit ho zpět nenačítá. Tlačítko je zašedlé, dokud není načtený žádný soubor s kamerami. Úspěch se hlásí jako „Saved to (filename)", chyba zápisu jako „Export failed: …" — obě hlášky se objevují na stejném místě pod tlačítkem a obě zeleným písmem, barva tedy případy nerozlišuje.

W28SCNView (3D Camera Globe)

KDE

Prostřední panel v okně Holdout.

TECHNICKY

SceneKit view s globem. Scéna se skládá z: drátěné koule (poloměr 1.0, 36 segmentů, tmavě šedá), tří barevných úseků os (červená/zelená/modrá pro X/Y/Z, každá délky 1.2), a pro každou kameru malé kulaté značky (poloměr 0.03) na příslušné pozici směru pohledu na jednotkové kouli (mírně vně, aby nezmizela UVNITŘ drátěné koule). Značky se při každé změně foldu NEPŘESTAVUJÍ znovu — přestavba je nutná jen tehdy, když se změní seznam snímků (tedy když se načte nová JSON). Místo toho probíhá při každé aktualizaci aktualizace materiálových barev na místě: červená pro testovací indexy, zelená pro trénink, světle šedá pokud ani jedno. Tak zůstávají posuny sliderem výkonné i při N > 1000 kamerách.

Ovládání kamery je aktivní — myší můžeš globus otáčet, přibližovat, posouvat. Osvětlení zajišťuje, že značky nevypadají ploše. Pozadí je tmavě šedé.

W29FoldCard (Tap to Select Fold)

KDE

Pravý postranní panel, sekce „Angular Correlation".

TECHNICKY

Pro každý fold jedna karta — zaoblený obdélník s poloměrem 6 pt, odsazením 10, vertikální rozvržení se dvěma řádky (nahoře „Fold N" + počet kamer, dole „Mean nearest angle:" + hodnota ve stupních). Barva pozadí podmíněná: aktivní fold = akcentová barva poloprůhledná, neaktivní = neutrální výchozí materiál. Klepnutí vybere fold a globus se živě přebarví.

Skóre „Mean nearest angle" je průměrný nejmenší úhel pro každou testovací kameru k nejbližší trénovací kameře (interně počítáno v radiánech, v UI zobrazeno ve stupních).

BayesOpt konzole (W30–W39)

BayesOpt konzole — prázdný stav před spuštěním pokusu
BayesOpt konzole — prázdný stav před spuštěním pokusu

Prázdný stav s výběrem prostoru hledání (RadianceKit defaults (6-dim)), posuvníkem rozpočtu pokusů (výchozí 40), Random-Seed (42) a třemi prázdnými panely pro graf konvergence, protokol pokusů a seznam parametrů prostoru hledání. Graf konvergence a tabulka pokusů se naplní, jakmile je spuštěn běh — viz další obrázek.

BayesOpt konzole po 40 pokusech — graf konvergence prudce stoupá až do pokusu 13, nejlepší hodnota 0.9943, protokol pokusů se štítky init/bo/restart
BayesOpt konzole po 40 pokusech — graf konvergence prudce stoupá až do pokusu 13, nejlepší hodnota 0.9943, protokol pokusů se štítky init/bo/restart

Stav vpravo nahoře „Finished — best 0.9943 after 40 trials", vedle něj tlačítko „Save Best Config"; vlevo nahoře tlačítko „Start". Levý postranní panel: výběr prostoru hledání nastaven na RadianceKit defaults (6-dim), rozpočet pokusů 40, Random Seed 42. Seznam parametrů zobrazuje šest ladicích hyperparametrů s jejich rozsahy hodnot: mipSmoothing3DScale [0.05, 0.5], mipFilter2DVariance [0.1, 0.6], densifyGradThreshold [5e-07, 5e-06], ssimWeight [0.05, 0.5], mcmcNoiseScale [1e-05, 0.0001], mcmcRelocationInterval [50, 200]. Uprostřed: graf konvergence „Convergence (best value so far)" (X = index pokusu 0–40, Y = hodnota objektivní funkce 0–1) — modré body = počáteční vzorky, zelené body = BayesOpt akvizice, oranžové body = restart-pokusy (#22 s 0.5303 a #31 s 0.4885). Modrá čára nejlepší hodnoty prudce stoupá až do pokusu ~5, poté už jen s marginálním zlepšením do pokusu ~13, odtud plochá plošina blízko 1.0. Pravý postranní panel: protokol pokusů, zde scrollovaný na pokusy #8–#36, s hodnotou a štítkem (init/bo/restart). Tlačítko Save Best Config vpravo nahoře zapíše bayesopt-best.json.

Co to je: Konzole bayesovské optimalizace pro hledání hyperparametrů. Bayes-opt je automatický postup, který se snaží s co nejmenším počtem experimentů najít optimální bod neznámé funkce — typicky: „která kombinace horní hranice počtu Gaussianů, váhy SSIM a prahu densifikace přinese nejlepší PSNR pro moji třídu scén?" Namísto gridu 6^4 = 1296 pokusů vyzkouší BayesOpt přibližně 40–100 informovaných pokusů a přiblíží se tak k optimu.

Důležité: Aktuální verze dodávaná v aplikaci nespouští optimalizaci proti skutečným trénovacím běhům (to by trvalo dny), ale proti syntetické demo-objektivní funkci — multimodální krajině s charakterem hill-climbingu plus mírným šumem. To je záměrné: okno má ukázat chování optimalizátoru (průběh konvergence, body vzorků, best-so-far) a nechat tě pochopit definice prostoru hledání. Pro skutečné, trénováním řízené BayesOpt běhy (jaké byly použity při vývoji dodávaných presetů) se používá samostatná vyhodnocovací cesta mimo aplikaci; toto okno je živá varianta pro sledování.

Tři případy použití: 1. Chceš pochopit, jak BayesOpt pracuje — pak spusť demo-běh a sleduj graf konvergence. 2. Plánuješ novou třídu scén (např. „akvária" nebo „starožitný nábytek"), pro kterou patnáct vestavěných presetů nesedí dokonale. Mentálně si definuj prostor hledání, ověř ho zde pomocí „Bowl demo (1-dim)" nebo „densify-until + ssim-weight + grad-thresh", poté exportuj nejlepší konfiguraci jako JSON a použij ji jako výchozí bod pro skutečný trénovací běh. 3. Chceš prozkoumat dodávané standardní prostory hledání (Mip-podmnožina, RadianceKit Defaults) — ty jsou uvedeny v panelu parametrů v levém postranním panelu.

- Graf konvergence (prostřední sloupec): Y = nejlepší dosud dosažená hodnota objektivní funkce. X = index pokusu. Zpočátku strmě stoupá (BayesOpt zkouší počáteční vzorky náhodně, některé z nich jsou úspěšné), poté je stále plošší, protože oblast blízko optima je vyčerpaná. Pokud čára zůstane plochá po 20+ pokusů, můžeš běh zastavit — další pokusy už nic nepřinesou. Jednotlivé body v grafu jsou individuální hodnoty pokusů (tedy ne „best so far"), zabarvené podle fáze: modrá = počáteční vzorek, zelená = bayesopt akvizice, oranžová = restart. - Tabulka pokusů (pravý sloupec): #1, #2, #3, … s hodnotou a štítkem fáze u každého. Dosud nejlepší pokus je označen žlutou hvězdičkou. Z tabulky můžeš identifikovat nejlepší pokus a později se podívat na jeho hodnoty parametrů při exportu. - Inspektor prostoru hledání (levý postranní panel): zobrazuje pro zvolený preset všechny názvy parametrů a jejich rozsahy hledání [lo, hi]. Pokud jsi u presetu „RadianceKit defaults (6-dim)", vidíš např. „densifyGradThreshold [5e-7, 5e-6]" — tedy log-uniformně mezi těmito dvěma hodnotami.

Zvol preset „RadianceKit defaults (6-dim)", rozpočet pokusů 40, seed 42. Klikni „Start". Sleduj: prvních 8 pokusů je modrých (počáteční vzorky, Latin-Hypercube), následující jsou zelené (BayesOpt akvizice). Graf konvergence strmě stoupá až do pokusu ~13, poté se zplošťuje. Kolem pokusu ~30–40 se nejlepší hodnota stabilizuje. Klikni „Save Best Config" — uloží se bayesopt-best.json s názvem presetu, indexem pokusu, hodnotou a dekódovanými hodnotami parametrů. Tento JSON pak můžeš ručně převzít do definice svého presetu.

W30Tlačítko „Start"

KDE

Panel nástrojů vlevo, ve stavu Idle/Finished.

TECHNICKY

Resetuje seznam pokusů, přepne do stavu Running, vygeneruje nové ID běhu (pro detekci zastaralých dat při opakovaných kliknutích na Start) a vytvoří čerstvou pauzovací bránu. Poté spustí úlohu na pozadí, která provede optimalizátor jako asynchronní stream. Počet počátečních vzorků roste s rozpočtem, ale maximálně do 8 — tedy typicky 8 Latin-Hypercube vzorků při rozpočtu od 28, méně při menším rozpočtu. Aktualizace pokusů se přijímají inkrementálně a připojují se do seznamu. Ochrana proti zastaralému běhu: pokud mezitím druhé kliknutí na Start nastaví nové ID běhu, aktualizace ze starého běhu se zahodí.

Styl primární akce pro výrazný vzhled tlačítka.

W31Tlačítko „Pause"

KDE

Panel nástrojů vlevo, ve stavu Running.

TECHNICKY

Aktivuje pauzovací bránu a přepne do stavu Paused. Skutečný efekt: runner čeká ve smyčce s pollingem po 50 ms předtím, než vyhodnotí další objektivní funkci. To znamená, že právě probíhající pokus se dokončí (je přece jen syntetický a trvá jen mikrosekundy), ale žádný další pokus se nespustí. Jakmile se spustí Resume, pokračuje se tam, kde se přestalo.

W32Tlačítko „Stop"

KDE

Panel nástrojů vlevo, ve stavech Running a Paused.

TECHNICKY

Zruší úlohu runneru, vynuluje referenci, uvolní pauzovací bránu (pokud byla ještě pozastavená) a přepne do stavu Finished (pokud existují pokusy) nebo Idle (pokud žádné neexistují). Již vypočítané pokusy zůstávají v seznamu viditelné — Stop je nemaže. Destruktivní role tlačítka jej zobrazuje červeně, protože přerušuje běh.

W33Tlačítko „Resume"

KDE

Panel nástrojů vlevo, ve stavu Paused.

TECHNICKY

Uvolní pauzovací bránu a přepne zpět do stavu Running. Úloha runneru už běží (čeká přece ve smyčce s pollingem); jakmile smyčka zjistí, že pauza byla zrušena, pokračuje a spustí další pokus.

W34Tlačítko „Save Best Config"

KDE

Panel nástrojů vpravo, vždy viditelné (ale zašedlé, dokud neexistuje žádný nejlepší běh).

TECHNICKY

Otevře dialog pro uložení s výchozím názvem souboru bayesopt-best.json, omezený na JSON. Po potvrzení se sestaví slovník s daty: název presetu, index pokusu, hodnota (skóre objektivní funkce), parametry (slovník dekódovaných názvů parametrů → hodnoty). Dekódování promítá normalizované souřadnice prostoru hledání v [0,1]^d zpět do původního rozsahu hodnot (s odpovídajícími log-uniformními/lineárními/celočíselnými škálami). Výstup JSON je pretty-printed a se seřazenými klíči. Při chybě zápisu se (v aktuální demo verzi) tiše ignoruje — žádné chybové UI, protože jde o demo cestu.

Tlačítko zůstává šedé, dokud neproběhl žádný pokus.

W35Výběr presetu „Search Space"

KDE

Levý postranní panel, nahoře.

TECHNICKY

Menu-výběr se čtyřmi možnostmi presetů: - „RadianceKit defaults (6-dim)" — kompletní standardní prostor hledání se všemi šesti standardními hyperparametry. - „Mip subset (2-dim)" — pouze mipSmoothing3DScale [0.05, 0.5] log-uniformně a mipFilter2DVariance [0.1, 0.6] lineárně. Užitečné, pokud chceš ladit Mip-Splatting pro třídu scén. - „densify-until + ssim-weight + grad-thresh" — tři parametry relevantní pro densifikaci (densifyGradThreshold log-uniformně, ssimWeight lineárně, densifyUntilIter celočíselně). - „Bowl demo (1-dim)" — didaktický prostor hledání s jedním parametrem pro demo „takhle funguje BayesOpt".

Zatímco běh probíhá, prostor hledání nelze přepnout (mátlo by to optimalizátor).

W36Posuvník „Trial Budget"

KDE

Levý postranní panel, pod výběrem prostoru hledání.

TECHNICKY

Posuvník od 10 do 200, krok 5. Výchozí hodnota 40. To znamená: BayesOpt smí provést maximálně N pokusů. Z toho je prvních pár počátečních vzorků (Latin-Hypercube), zbytek jsou skutečné BayesOpt pokusy. Praktická pravidla: prostor hledání s d dimenzemi potřebuje přibližně desetinásobek až dvacetinásobek d pokusů pro dobré optimum. U 6-dim výchozích tedy 60–120, u 2-dim Mip-podmnožiny 20–40, u 1-dim Bowl-dema 10–20.

Během běhu je posuvník deaktivovaný.

W37Posuvník „Random Seed"

KDE

Levý postranní panel, pod posuvníkem rozpočtu.

TECHNICKY

Posuvník od 1 do 100, krok 1. Výchozí hodnota 42. Seed se předává jak počátečním Latin-Hypercube vzorkům, tak i šumové složce demo-objektivní funkce. Reprodukovatelnost: stejný seed + stejný prostor hledání + stejný rozpočet dá přesně identickou sekvenci pokusů. Užitečné pro otázku „dostanou všichni tvoji kolegové stejný běh, když si demo znovu spustí?". Během běhu deaktivovaný.

W38Graf (Convergence)

KDE

Prostřední sloupec okna.

TECHNICKY

Diagram Swift Charts se dvěma vrstvami: 1. čára pro „best-value-so-far" na pokus — monotónně stoupající nebo stejná křivka v akcentní barvě. 2. bod na pokus s individuální hodnotou objektivní funkce, zabarvený podle fáze. Velikost symbolu 40. Tři štítky fází: „init" (modrá), „bo" (zelená), „restart" (oranžová).

Malá legenda zobrazuje barvy fází vlevo nahoře. Pokud je seznam pokusů prázdný (před prvním spuštěním), zobrazí se místo grafu prázdný stav s ikonou grafu a nápisem „Press Start to begin a BayesOpt run."

W39Tabulka (Trial Log)

KDE

Pravý sloupec okna.

TECHNICKY

Oblast pro rolování s líně skládanými řádky pokusů. Na řádek horizontální stack: číslo pokusu (3místné, monospaced, vlevo), hodnota (monospaced, zarovnaná vpravo, šířka 70 pt), štítek fáze (kapsle, vyplněná při 25% krytí — šedá pro „init", modrá pro „bo", oranžová pro „restart"; jde záměrně o jiné barvy než barvy bodů v sousedním grafu), volitelně žlutá hvězdička, pokud je tento pokus aktuálně nejlepší. Mechanismus automatického rolování skočí automaticky na konec, jakmile přibude nový pokus — takže si můžeš živý průběh číst na spodním okraji obrazovky, aniž bys musel(a) sám/sama rolovat.

Hlavní okno: průběh loss funkce a počet Gaussianů (I39–I41, křížový odkaz)

Tři z zobrazení Inspectoru v hlavním okně si zaslouží vlastní vysvětlení, protože jsou během probíhajícího trénování neustále vidět a existují k nim důležitá pravidla, kdy průběh vypadá zdravě. Zobrazení se nacházejí v Inspectoru v sekci Průběh, v rozbalovací skupině Průběh loss funkce (viz kapitola 2 — Inspector), a doplňují analýzu holdout dat z okna Aux výše.

Kdy je křivka loss zdravá? Zdravá křivka loss ukazuje tři fáze: (1) Warmup — prvních 200–500 iterací klesá loss strmě z vysoké hodnoty (typicky 0.15–0.25 pro kombinaci L1+SSIM podle scény) zhruba na polovinu. Pokud loss v této fázi NEklesá, bývá obvykle chybný vstup (poškozené snímky, špatné SfM pózy, příliš malý počet Initial-Gaussians). (2) Densification — mezi ~500 a densifyUntilIteration (klasicky 15K, MCMC až 20K nebo 25K) loss dál klesá, často s malými skoky dolů, když operace densify vloží nové Gaussiany a optimizer je využije. Počet Gaussianů v této fázi roste. (3) Refinement — poté loss přechází do stále plošší koncové fáze (tail). Typické koncové hodnoty pro orientaci: dobře nasvícená scéna objektu (například Tanks-&-Temples Truck s P4 Quality) skončí na L1 ≈ 0.023, rozlehlé venkovní scény jako z Mip-NeRF 360 přirozeně zůstávají nad tím (0.04–0.07).

Co znamená plateau? Plateau (křivka loss probíhá vodorovně po několik tisíc iterací) má dvě interpretace: (a) model zkonvergoval, další trénování už nic nepřinese — to je dobrý případ. (b) model je zaseknutý (lokální minimum, špatná gradientní informace, dosažený strop bufferu) — to je špatný případ. Oba případy vypadají v grafu identicky. Rozlišení: podívej se na počet Gaussianů. Pokud je také plochý A blízko MCMC stropu (např. 150K ze 150K u presetu P8 Quality (MCMC)), jsi na limitu — buď strop zvýšíš, nebo plateau přijmeš. Pokud počet Gaussianů stále roste, ale loss neklesá, jde o zaseknutí.

Kdy přerušit a kdy trénovat dál? Základní pravidlo: pokud se minimální loss 10K iterací nezlepší → přeruš, další iterace jsou promarněné. Předtím: přes menu Training → Continue Training → „+5,000 iterations" můžeš ještě prodloužit trénování, pokud vidíš hraniční zlepšení (klávesová zkratka pro to neexistuje). Pozor: u MCMC je plateau často skutečné — strop je přirozená hranice.

Plateau počtu Gaussianů NENÍ signál „hotovo". Znamená pouze, že MCMC dosáhl stropu nebo že klasická densifikace je vyčerpaná. Skutečnou otázku „hotovo" zodpoví teprve PSNR/SSIM/LPIPS na nezávislé testovací sadě — příslušná čísla najdeš v reportech benchmarků, které vyhodnocuješ v Pareto Dashboardu (W13–W22). Okno Holdout (W23–W29) tyto metriky neposkytuje; posuzuje pouze, zda tvá sada kamer vůbec umožňuje férové rozdělení na trénovací a testovací úhly pohledu.

PSNR/Holdout je pravda, loss je jen proxy. Loss je relativní metrika: klesá, zatímco se tvůj model přizpůsobuje trénovacím pohledům. Nízký loss ale automaticky neznamená dobrý model — pokud se model naučil trénovací snímky nazpaměť (overfitting), byl by loss malý, ale PSNR na neviděných pohledech (holdout) by byla špatná. Proto: pro finální hodnocení kvality se vždy dívej na metriky holdout, ne jen na koncový loss.

Pravidlo palce

- User Guide a Keyboard Shortcuts jsou statická nápověda — rychlé pro dotazy na konkrétní pojmy, pro hloubku použij tento manuál. - Otevři Manage Storage, jakmile disk klesne pod 10 % volného místa. Logy a Imports-Staging jsou obvyklí viníci. - Pareto Dashboard dává smysl až po nejméně třech nebo čtyřech tréninkových reportech. Osa X = náklady (Time / Gs), osa Y = kvalita (PSNR / SSIM). Pareto-fronta ukazuje efektivní kombinace. - Použij Holdout Analysis, než zveřejníš PSNR-benchmarky s ostatními — zajistí ti, že tvá testovací sada je opravdu reprezentativní. Exportované rozdělení na foldy je určeno pro externí nástroje; RadianceKit dál trénuje proti „every-8th". - BayesOpt Console je primárně učební a inspekční nástroj pro definice prohledávacího prostoru — počítá proti demo-funkci, ne proti skutečným tréninkovým běhům. - Loss-plateau a plateau počtu Gaussianů je třeba interpretovat odděleně. Cap-limit není signál „hotovo". Skutečnou kvalitu měří pouze Holdout-PSNR. - 10K iterací bez zlepšení min-loss → trénink zastavit.