Käyttöopas

Luku 2 — Inspector (Expert View)

Expert-tila tyhjänä — vasemmalla Project Navigator, jossa Images/Cameras/Log, otsikkorivi „Images (0)” ja pudotusalue „Drop images here / or tap + to import”, keskellä tyhjä Viewport, oikealla Inspector kuudella suljetulla osiolla (Presets, Cameras & Capture, Training, Progress, Look, Export), kussakin otsikko ja harmaa vaihealarivi; alhaalla tilarivi „Idle” vihreällä käynnistys- ja punaisella pysäytyspainikkeella
Expert-tila tyhjänä — vasemmalla Project Navigator, jossa Images/Cameras/Log, otsikkorivi „Images (0)" ja pudotusalue „Drop images here / or tap + to import", keskellä tyhjä Viewport, oikealla Inspector kuudella suljetulla osiolla (Presets, Cameras & Capture, Training, Progress, Look, Export), kussakin otsikko ja harmaa vaihealarivi; alhaalla tilarivi „Idle" vihreällä käynnistys- ja punaisella pysäytyspainikkeella

Tyhjä Inspector ennen tuontia: Vasen sarake näyttää kohdat Images, Cameras ja Log, niiden alla otsikkorivi „Images (0)" ja pudotusalue „Drop images here / or tap + to import". Keskellä oleva Viewport on tyhjä. Oikealla on Inspector kuudella suljetulla osiolla: Presets, Cameras & Capture, Training, Progress, Look ja Export. Jokaisen otsikon alla harmaa rivi kertoo, mitä osio tekee ja milloin se vaikuttaa — „Ready-made recipes — they replace the training settings" (Presets), „Before training · decides how camera positions are solved · applies to the next run" (Cameras & Capture), „Before training · drives scene build-up and optimization · applies to the next run" (Training), „Display only" (Progress), „After training · applies immediately · reversible any time" (Look) ja „Leveling the floor turns the view at once; the chosen orientation and format apply when saving" (Export). Aivan alhaalla kulkee tilarivi tilassa „Idle" sekä vihreä käynnistys- ja punainen pysäytyspainike; oikealla ylhäällä on Simple/Expert-vaihtokytkin, tässä asennossa Expert.

Inspector, jossa 35 tuotua kuvaa — otsikkorivi „Images (35)”, tiedostonimet IMG_0953.JPG nousevassa järjestyksessä, Viewport vielä tyhjä, tila „Idle”
Inspector, jossa 35 tuotua kuvaa — otsikkorivi „Images (35)", tiedostonimet IMG_0953.JPG nousevassa järjestyksessä, Viewport vielä tyhjä, tila „Idle"

Inspector tuonnin jälkeen: Kuvalistan otsikkorivi näyttää „Images (35)", niiden alla tuodut kuvat nousevilla tiedostonimillä alkaen IMG_0953.JPG. Tämän testisarjan kuvat ovat kooltaan 4032×3024 pikseliä; Auto-Render-Scale-logiikka lukee tämän resoluution ja ehdottaa siihen sopivaa Render Scale -arvoa. Viewport on vielä tyhjä, tilarivi näyttää „Idle". Vihreä käynnistyspainike vasemmalla alhaalla on nyt aktiivinen ja käynnistää koulutuksen aktiivisella Presetillä.

Inspector koulutuksen aikana — otsikkorivi „RadianceKit — Training 23%”, Viewportissa kangasankan live-esikatselu lampaannahalla, edistyminen 4,700/20,000 ja ETA 1m9s, mittaririvi Loss 0.0109 / LR 2.0e-04 / SH 1 / Gaussians 16.0K, Inspectorissa avattu ryhmä CLASSIC ja vihreällä merkitty „Balanced 20K iters”
Inspector koulutuksen aikana — otsikkorivi „RadianceKit — Training 23%", Viewportissa kangasankan live-esikatselu lampaannahalla, edistyminen 4,700/20,000 ja ETA 1m9s, mittaririvi Loss 0.0109 / LR 2.0e-04 / SH 1 / Gaussians 16.0K, Inspectorissa avattu ryhmä CLASSIC ja vihreällä merkitty „Balanced 20K iters"

Inspector koulutuksen aikana: Otsikkorivi näyttää yleisen edistymisen, tässä „RadianceKit — Training 23%". Viewport renderöi käynnissä olevan rekonstruktion reaaliajassa — kangasankka lampaannahalla, jo selvästi tunnistettavissa (live-esikatselun päivitysväli löytyy kohdasta Settings → General → Training → Live Preview). Viewportin alla kulkevat edistyminen („4,700/20,000", „ETA 1m9s") ja mittaririvi arvoilla Loss 0.0109, LR 2.0e-04, SH 1 ja Gaussians 16.0K; vasemmalla alhaalla ovat tauko- ja pysäytyspainikkeet. Inspectorissa ryhmä CLASSIC on avattuna, „Balanced 20K iters" on merkitty vihreällä valintamerkillä. „Modified"-merkki ilmestyy vasta, kun jokin parametri poikkeaa Presetistä — tässä sellaista ei näy. Sivupalkki „Log" kerää SfM- ja koulutusvaiheiden tapahtumia.

Inspector koulutuksen päätyttyä — otsikkorivi „RadianceKit — Training Complete — 8,708 Gaussians”, vasemmalla „Complete” ja 8,708 Gaussians, Images 25 ja Cameras 35, tilarivi „Completed” kohdassa 20,000/20,000, mittaririvi Loss 0.0075 / LR 0.0e+00 / SH 3 / Gaussians 9.7K, Viewportissa valmis ankan rekonstruktio täyttäen koko näkymän
Inspector koulutuksen päätyttyä — otsikkorivi „RadianceKit — Training Complete — 8,708 Gaussians", vasemmalla „Complete" ja 8,708 Gaussians, Images 25 ja Cameras 35, tilarivi „Completed" kohdassa 20,000/20,000, mittaririvi Loss 0.0075 / LR 0.0e+00 / SH 3 / Gaussians 9.7K, Viewportissa valmis ankan rekonstruktio täyttäen koko näkymän

Inspector koulutuksen jälkeen: Otsikkorivi kertoo tuloksen: „Training Complete — 8,708 Gaussians". Vasemmassa sarakkeessa lukee „Complete" samalla luvulla, sekä Images 25 ja Cameras 35 — 25 kuvaa siksi, että Frame-Quality-valintaikkuna karsi kymmenen täräytynyttä kuvaa 35 otoksesta. Tilarivi ilmoittaa „Completed" kohdassa 20,000/20,000, mittaririvi Loss 0.0075, LR 0.0e+00, SH 3 ja Gaussians 9.7K. Viewport näyttää valmiin pistepilven täyttäen koko näkymän — orbitaalinen vetonavigointi aktiivisena (kiertää skenen keskipisteen ympäri).

Se, että tässä näkyy kaksi eri Gaussian-lukua, on tarkoituksellista: mittaririvi ja Training Metrics kertovat tilanteen koulutuksen lopussa (tässä 9,660, pyöristettynä 9.7K), otsikkorivi ja skene tilanteen automaattisten siivousvaiheiden jälkeen (8,708). Näiden välissä tapahtuu Post-Training Compactification sekä neula- ja kiekkomaisten splattien poisto. Pienempi luku on se, joka näkyy Viewportissa ja joka tallennetaan viennin yhteydessä. Ryhmät Training Metrics ja Loss History on nyt täytetty lopullisilla arvoilla, Export-osio on aktiivinen.

Inspector on Expert Mode -tilan (⌘2) oikeanpuoleinen sivupalkki. Se kokoaa kaikki koulutukseen liittyvät parametrit kuuteen suljettavaan osioon, jotka on 18.7.2026 alkaen ryhmitelty toimialueen mukaan. Oletusjärjestys ylhäältä alas on: Presets, Cameras & Capture, Training, Progress, Look ja Export. Jokaisen otsikon alla on toinen rivi, joka kertoo vaiheen — milloin osio vaikuttaa ja kuinka peruutettavissa se on (esim. „Before training · decides how camera positions are solved · applies to the next run" kohdassa Cameras & Capture, „After training · applies immediately · reversible any time" kohdassa Look, „Display only" kohdassa Progress). Kaksi aiempaa osiota on sulautunut: Metriikat ja Häviökäyrä ovat nyt kaksi erikseen avattavaa ryhmää („Training Metrics" ja „Loss History") osion Progress sisällä, ja aiempi Enhancements-osio on kokonaan osion Training sisällä. „Look"-osio (koulutuksen jälkeiset kuvansäädöt) on aiemman „Finishing"-osion todellinen käyttöliittymän uudelleennimeäminen — sen sisäinen nimi pysyy yhteensopivuussyistä „Finishing", kun taas näkyvä otsikko on „Look" (sama kaava Trainingissa, joka sisäisesti on nimeltään „Training Configuration"). Jokaisen osion voi sulkea napauttamalla otsikkoa, ja järjestyksen voi muuttaa vetämällä ja pudottamalla. Ensimmäisellä käynnistyskerralla osiot ovat suljettuina — yllä olevassa kuvassa kaikki kuusi ovat kiinni; sovelluksen tila tallentaa avaus- ja järjestyspreferenssit sen jälkeen sovelluksen käynnistyskertojen yli. Jo tallennettu vanha järjestys migroidaan ensimmäisellä käynnistyskerralla kertaluonteisesti uuteen ryhmittelyyn; Viewport ▸ Reset Inspector Layout palauttaa toimitustilan mukaisen alkuperäistilan.

Useat Inspectorin säätimet esiintyvät lähes samanlaisina myös Asetuksissa (Luku 3) — tyypillisesti SfM-taustajärjestelmä, Sky-Masking ja vastaavat oletusarvot. Erottelu on tarkoituksellinen: Asetukset tarjoavat sovelluksen laajuisen mallipohjan uusille projekteille, Inspector ylikirjoittaa nämä arvot parhaillaan avoinna olevalle projektille. Kun toisen puolen käyttölogiikan tuntee, osaa käyttää toistakin sokkona.

Expert Moden vasen sarake — Project Navigator — ei kuulu Inspectoriin, mutta on sen välitön naapuri. Siellä tuodut kuvat voi valita napauttamalla, tarkastella Quick-Look-toiminnolla välilyöntinäppäimellä ja poistaa miinuspainikkeella tai poistonäppäimellä (Cmd-Z peruuttaa toiminnon). Inspector seuraa sivupalkin kulloistakin valintaa kontekstikohtaisilla yksityiskohtaisilla tiedoilla, mutta seitsemän pääosiota pysyvät aina saatavilla.

Look-osio (L1–L5)

Look-osio (sisäisesti edelleen nimellä „Finishing") on domeeni-uudelleenryhmittelyn jälkeen Inspectorin viides osio — Fortschritt- ja Export-osioiden välissä — ja se kokoaa koulutuksen jälkeiset kuvansäädöt yhteen paikkaan. Kaikki säätimet toimivat ei-tuhoavasti: jokainen liukusäädin laskee Look-muunnoksen aina uudelleen muuttumattomasta Pristine-tilannekuvasta (alkuperäinen DC-väri, -opasiteetti, -skaalaus) — säätö on siis idempotentti, ei kumulatiivinen. Tulos näkyy reaaliaikaisesti Viewportissa (WYSIWYG, täsmälleen sama kuin myöhempi export) ja se leivotaan jokaiseen exportiin mukaan. Osio on käytettävissä vasta koulutusajon päätyttyä (ennen sitä näkyy „Available after a training run completes."); sen arvot nollataan jokaisen uuden koulutuksen yhteydessä. Exportin ollessa käynnissä kaikki säätimet ovat lukittuja — lukitusilmoitus „Locked while exporting — the file uses the current settings." ilmestyy ja GroupBox on disabloitu.

L1Saturation-liukusäädin

MISSÄ

Inspector → Look-osio → GroupBox → Saturation.

TEKNINEN

Liukusäädin 0.5–1.2, kaksinumeroinen näyttö (esim. „1.00"). Skaalaa jokaisen splatin SH-DC-kromaa luminanssiarvon ympäri: 1.0 = muuttumaton, < 1.0 = desaturoitu (väri vedetty harmaasävyä kohti), > 1.0 = voimakkaampi. Matemaattisesti DC-väri lasketaan takaisin Pristine-tilannekuvasta, joten toistuva liu'uttaminen ei summaudu. On validoitu DJI-droonimateriaalilla (Pensfordin viadukti), joka on taipuvainen ylikorostumaan — droonin oletusarvo on 0.82. Vaikuttaa vain väripohjaan (SH-aste 0), korkeammat SH-kertoimet pysyvät koskemattomina.

L2Splat length-liukusäädin

MISSÄ

Inspector → Look-osio → GroupBox → Splat length.

TEKNINEN

Liukusäädin 0.3–1.0, kaksinumeroinen näyttö. Vetää jokaisen Gaussianin kolme skaalausakselia log-avaruudessa niiden keskiarvoa kohti (mitä pienempi arvo, sitä voimakkaammin): 1.0 = muuttumaton, pienemmät arvot pyöristävät pitkulaiset „neula"-splatit, 0 tarkoittaisi puhtaita palloja. Kohdistuu neulamaisiin, yliveny­neisiin splatteihin muuttamatta kokonaiskokoa, ja vähentää siten tyypillisiä „konfetti"-artefakteja. Sovelletaan Pristine-tilannekuvasta (alkuperäinen log-skaalaus) käsin, joten se on idempotentti. Kommutoi Splat size -säätimen (L3) kanssa, koska molemmat toimivat log-avaruudessa.

L3Splat size-liukusäädin

MISSÄ

Inspector → Look-osio → GroupBox → Splat size.

TEKNINEN

Liukusäädin 0.5–2.0, kaksinumeroinen näyttö. Skaalaa jokaista Gaussiania kaikilla kolmella akselilla yhtenäisesti: 1.0 = muuttumaton, < 1.0 = pienempi/tiheämpi/terävämpi, > 1.0 = suurempi/„pörheämpi" (täyttää splattien väliset aukot). Koska skaalaukset ovat log-avaruudessa, kertominen muuttuu siellä additiiviseksi siirtymäksi — tämä kommutoi Splat length -säätimen (L2) kanssa, koska vakio-offset ei koske keskiarvosta poikkeamaa. Sovelletaan Pristine-tilannekuvasta käsin, joten idempotentti. Uusi tässä versiossa.

L4Fade far region (alaliukusäätimineen)

MISSÄ

Inspector → Look-osio → GroupBox → kytkin „Fade far region" sekä alaliukusäätimet „Fade start ×radius" ja „Fade floor".

TEKNINEN

Kytkin, joka aktivoi säteittäisen opasiteetin vähenemisen etäisyyden mukaan kameran painopisteestä — heikosti havaitut taustan „far-konfetti" häivytetään pois. Vain kiertoajoille: kytkin on harmaana, jos kohtaus ei sovellu tähän (lineaariset lennot, liian vähän tai degeneroituneita kameroita); tällöin alaliukusäätimien sijaan näkyy huomautus „Far-fade applies only to orbit captures (not this scene)." Sopivuus määritetään kamerapositioiden atsimuutti­kattavuuden perusteella (kiertoajo kiertää painopisteen ja täyttää monta kompassisektoria, lineaarilento vain ~2). Kaksi alaliukusäädintä ohjaavat geometriaa: Fade start ×radius (1.0–3.0) asettaa sisäsäteen kiertoajon säteen kerrannaisena, jonka sisällä pätee täysi opasiteetti; Fade floor (0.0–1.0) on opasiteettikerroin kaukana fade-säteen ulkopuolella. Tärkeää: fade ohittaa Sky-Dome-alueen (kupolin jäädytetyt Gaussianit), jotta tarkoituksellista tausta­kupolia ei himmennetä mukana.

L5Reset finishing-painike

MISSÄ

Inspector → Look-osio → GroupBox → „Reset finishing" (alhaalla, pieni painike).

TEKNINEN

Palauttaa kaikki Look-asetukset oletusarvoihin (Saturation 1.0, Fade pois, Splat length 1.0, Splat size 1.0) ja käynnistää heti uuden finishing-käsittelyn, jolloin Viewport palautuu muuttumattomaan koulutettuun tilaan. Koska koko Look-pino laskee idempotentisti Pristine-tilannekuvasta käsin, „takaisin oletukseen" on täsmälleen alkuperäinen koulutuksen output — ei laatuhäviötä toistuvasta edestakaisesta säätämisestä. Kuten kaikki osion säätimet, tämä on lukittu käynnissä olevan exportin ajan.

Presetit-osio (I1–I11)

Presetit-osio on nopein tapa ottaa testattu kokoonpano käyttöön. Sisäänrakennetut presetit (Capture Class, Classic, MCMC, Hybrid) tarjoavat koeteltuja, toistettavia lähtökohtia; omia presettejä voi tallentaa, viedä, tuoda ja jakaa. Luettelo on ryhmitelty kategorioittain (Capture Class, Classic, MCMC, Hybrid, Custom) ja useampi kuin yksi kategoria voi olla auki samanaikaisesti. Kontekstivalikon kautta (hiiren oikea painike rivillä) pääsee käsiksi vientiin, kahdentamiseen ja — omien presettien kohdalla — poistamiseen.

I1Save…-painike

MISSÄ

Inspector → Presetit-osio → Save…-painike (toimintopalkki alhaalla).

TEKNINEN

Avaa popover-ikkunan, jossa on tekstikenttä ja Save-/Cancel-painikkeet. Harjoitusasetusten nykyinen tila tallennetaan uutena mukautettuna presettinä (JSON-koodattuna, koko sovelluksen laajuisesti tallennettuna). Tallennustoiminto kopioi kaikki 81 harjoitusparametria sekä nykyisen Densification-strategian. Preset päätyy automaattisesti Custom-kategoriaan riippumatta siitä, mistä sisäänrakennetusta presetistä se on johdettu. Tyhjät nimet ja pelkkää tyhjeä sisältävät syötteet hylätään. Jo olemassa olevia nimiä ei hylätä — jokaisella presetillä on oma sisäinen ID, joten kaksoisnimet ovat teknisesti sallittuja, mutta käytännössä hämmentäviä.

I2Preset Name -tekstikenttä

MISSÄ

Save-popover → tekstikenttä "Preset Name".

TEKNINEN

Yksinkertainen tekstikenttä pyöristetyllä reunuksella, leveä muoto. Arvo otetaan presetin nimeksi Save-painiketta klikattaessa. Ei pituusrajoitusta käyttöliittymässä, mutta tallennetun nimen täytyy olla JSON-koodattavissa ja esitettävissä käyttöliittymän listoissa — emoji ja ääkköset toimivat. Sisältö nollataan automaattisesti tyhjäksi merkkijonoksi popoveria avattaessa. Save-painike pysyy poissa käytöstä niin kauan kuin kenttä on trimmauksen jälkeen tyhjä. Ei ole automaattista ehdotusta eikä esitäyttöä juuri aktiivisen presetin nimellä.

I3Cancel-painike (Save-valintaikkuna)

MISSÄ

Save-popover → Cancel-painike (vasemmalla).

TEKNINEN

Sulkee popoverin tallentamatta. Hylkää tekstikentän sisällön — seuraavalla avauskerralla se nollataan taas tyhjäksi Save…-painikkeen logiikan (I1) mukaisesti. Vakiopainiketyyli, ei vahvistusdialogeja, ei pikanäppäimiä. Nykyinen TrainingConfig pysyy muuttumattomana, koska tallennuspolkua ei ajettu lainkaan.

I4Save-painike (Save-valintaikkuna)

MISSÄ

Save-popover → Save-painike (oikealla, korostetumpi tyyli).

TEKNINEN

Laukaisee varsinaisen tallennuksen. Tarkistaa vielä kerran, ettei nimi ole tyhjä (puolustava tarkistus), ja kirjoittaa sitten nykyisen TrainingConfigin JSON-muodossa sovelluksen tallennustilaan. Sulkee sen jälkeen popoverin. Sininen korostus, harmaana niin kauan kuin tekstikenttä on tyhjä. Jos tallennus epäonnistuu (esim. koska sovelluksen tallennustila on täynnä — hyvin epätodennäköistä), tällä hetkellä ei näy virheilmoitusta; preset ei tässä tapauksessa vain ilmestyisi seuraavalla sovelluksen käynnistyskerralla.

I5Export…-painike

MISSÄ

Inspector → Presetit-osio → Toimintopalkki → Export…-painike.

TEKNINEN

Vie valitun presetin tiedostona .radiancepreset (sisäisesti JSON). Poissa käytöstä, jos yhtään presettiä ei ole valittuna. Klikattaessa sovellus avaa tallennusdialogin, jossa on valmiiksi täytetty tiedostonimi (presetin nimi + .radiancepreset-pääte). Tallennettu muoto sisältää koko TrainingConfigin sekä metatiedot (nimi, kategoria, ID, built-in-lippu). Kaksoisklikkaus Finderissa avaa sovelluksen — mutta ei automaattisesti tuontia; käyttäjän täytyy käyttää Import-painiketta (I6).

I6Import…-painike

MISSÄ

Inspector → Presetit-osio → Toimintopalkki → Import…-painike.

TEKNINEN

Avaa tiedostodialogin, joka hyväksyy vain .radiancepreset-tiedostoja (monivalinta poissa käytöstä). Valittaessa JSON-tiedosto ladataan, validoidaan ja lisätään Custom-kategoriaan — uudella sisäisellä ID:llä, jotta ei synny törmäyksiä sisäänrakennettujen kanssa. Tuonti asettaa automaattisesti kategoriaksi Customin, vaikka viety preset olisi alun perin ollut esim. sisäänrakennettu. Vioittuneet tai vanhemman skeemaversion kanssa yhteensopimattomat tiedostot hylätään hiljaisesti, ilman virheilmoitusta (konsolilokista löytyy kuitenkin selitys).

I7Preset-rivi (aktivointi klikkaamalla)

MISSÄ

Inspector → Presetit-osio → jokainen preset-rivi jokaisessa kategoriassa.

TEKNINEN

Klikkaus preset-riville korvaa kaikki TrainingConfigin kentät presetin arvoilla, muistaa aktiivisen presetin ID:n ja palauttaa muokkaustilan. Rivin edessä oleva aktiivisuusmerkki näkyy vain, jos preset on valittuna JA muokkaamaton. Heti kun jotain TrainingConfigin arvoa muutetaan (liukusäädin, askellin, kytkin muissa Inspector-osioissa), nimen perään ilmestyy oranssi "Modified"-merkki. Sisäänrakennettuja presettejä ei voi ylikirjoittaa — muokattaessa täytyy Save-painikkeella (I1) luoda oma kopio.

I8Kontekstivalikko "Export…"

MISSÄ

Hiiren oikea painike jokaisella preset-rivillä → ensimmäinen kohta "Export…".

TEKNINEN

Sama toiminnallisuus kuin I5 (Export…-painike), mutta mukavammin saavutettavissa — ilman että preset täytyy ensin olla valittuna. Vie suoraan rivillä klikatun presetin. Toimii kaikille preset-kategorioille samalla tavalla (sisäänrakennettu tai Custom), ei rajoitusta. Vienti sisältää sisäänrakennettu-lipun ja alkuperäisen kategorian, mutta uudelleentuonnissa kategoria kuvataan kuten I6:ssa kuvattu Customiksi.

I9Kontekstivalikko "Duplicate"

MISSÄ

Hiiren oikea painike jokaisella preset-rivillä → toinen kohta "Duplicate".

TEKNINEN

Kloonaa presetin Custom-kategoriaan. Luo uuden sisäisen ID:n, liittää nimen perään " Copy" ja tallentaa kopion. Toimii myös sisäänrakennetuille presetteille — klooni on silloin muokattavissa. Alkuperäinen pysyy koskemattomana. TrainingConfig kopioidaan arvo arvolta (JSON-roundtrip), joten alkuperäisen ja kopion välillä ei ole viittaussidoksia.

I10Kontekstivalikko "Delete"

MISSÄ

Hiiren oikea painike omilla preset-riveillä → viimeinen kohta "Delete" (punainen, destructive).

TEKNINEN

Näkyy vain Custom-presetteille. Sisäänrakennettuja ei voi poistaa. Kohta on merkitty destruktiiviseksi, näkyy kontekstivalikossa punaisena ja on sijoitettu erottimen taakse, jotta sitä ei klikattaisi vahingossa. Vahvistusdialogia ei ole — yksi klikkaus poistaa presetin heti. Poistettua presettiä ei voi palauttaa (Cmd-Z ei toimi tässä — Undo on nykyisessä versiossa käytössä vain kuvalistalle, ei preset- toiminnoille). Jos poistettu preset oli juuri aktiivinen, nykyinen TrainingConfig pysyy muuttumattomana, vain aktiivinen presetvalinta nollataan.

I11Kategoria-otsikko (avaa/sulje)

MISSÄ

Inspector → Presetit-osio → jokainen kategoria-otsikko (Capture Class, Classic, MCMC, Hybrid, Custom).

TEKNINEN

Avaustila per kategoria, jolla on erilainen oletusarvo: kuratoitu ryhmä Capture Class käynnistyy avattuna, Classic, MCMC, Hybrid ja Custom käynnistyvät suljettuina. Tilaa ei tallenneta — sovelluksen uudelleenkäynnistyksellä kaikki kategoriat ovat taas oletustilassa. Chevron-nuoli pyörii animoituna. Luku oikealla otsikossa näyttää tämän kategorian presettien määrän. Klikkauksen osumis-alue kattaa koko otsikkoalueen.

Koulutuskonfiguraatio-osio (I12–I22)

Rajaus Training-osiosta — Densification kolmen tilan valitsimena Classic | MCMC | Hybrid, jossa Classic on aktiivinen, sen alla harmaannetut rivit MCMC Quality (pois), Auto-scale by scene (päällä) ja Max Gaussians 150,000 sekä lukko-huomautus; erillään sen alla Depth-Priority Scatter (pois), Full-Resolution Training (pois), Max Iterations 5,000 ja Densify Until 3,500 sinisellä ketju-kuvakkeella, säätimet SSIM Weight arvossa 0.20 ja Render Scale arvossa 50%
Rajaus Training-osiosta — Densification kolmen tilan valitsimena Classic | MCMC | Hybrid, jossa Classic on aktiivinen, sen alla harmaannetut rivit MCMC Quality (pois), Auto-scale by scene (päällä) ja Max Gaussians 150,000 sekä lukko-huomautus; erillään sen alla Depth-Priority Scatter (pois), Full-Resolution Training (pois), Max Iterations 5,000 ja Densify Until 3,500 sinisellä ketju-kuvakkeella, säätimet SSIM Weight arvossa 0.20 ja Render Scale arvossa 50%

Tänne on koottu koulutusajon keskeiset vivut: miten Densification toimii, kuinka monta iteraatiota käytetään ja kuinka suuri SSIM-painotus on — ja alaosassa aiemmin itsenäiset laajennukset (Perceptual Loss, ulkotila-ryhmä, Advanced Densifier, koulutuksen jälkeiset ajot). Aivan ylhäällä on Densification kolmen tilan valitsimena Classic | MCMC | Hybrid. SfM-taustajärjestelmä ei ole enää täällä, vaan omassa osiossaan Kamerat & kuvaus (I12, I13). Kolme MCMC-riviä ("MCMC Quality", "Auto-scale by scene" ja "Max Gaussians") eivät enää katoa Classic-tilassa, vaan pysyvät näkyvissä ja harmaantuvat; niiden alla on lukko-kuvakkeella varustettu rivi, joka kertoo, mitä tulee muuttaa ("Only used by the MCMC and Hybrid densifiers — switch Densification above to change these."). Erillinen lohko sen alla kokoaa yhteen rivit, jotka pätevät jokaisessa densifier-tilassa: Depth-Priority Scatter, Full-Resolution Training, kytketty pari Max Iterations / Densify Until sekä säätimet SSIM Weight ja Render Scale.

I12Camera Alignment -valitsin

MISSÄ

Inspector → Kamerat & kuvaus → Camera Alignment (ponnahdusvalikko Projection-valitsimen alla).

TEKNINEN

Ponnahdusvalikko, ei segmentoitu valitsin — nimikkeet olisivat liian pitkiä kapeaan Inspector-sarakkeeseen. Mitkä vaihtoehdot näkyvät, riippuu buildista: sandboxattu App Store -versio tarjoaa Apple Photogrammetry ja Native -vaihtoehdot, kehitys-/DMG-buildeissa lisäksi COLMAP. Syy: COLMAP on ulkoinen komentorivi-ohjelma, eivätkä sandboxatut sovellukset saa käynnistää vieraita binäärejä (App Review -käytäntö 2.5.2) — siksi taustajärjestelmä-rivi, mapper-valitsin ja binääripolku puuttuvat Store-buildista kokonaan sen sijaan, että ne olisivat pysyvästi harmaana: rivi, joka ei koskaan voi syttyä, ei ole vihje vaan kohinaa. Älä sekoita: COLMAP-työtilan tuonti ja vienti on puhdasta Swift-tiedostojen jäsentämistä, ei vaadi COLMAP-asennusta ja toimii jokaisessa buildissa (luku 1, M5). Lisäys "(Beta)" Native-vaihtoehdon nimessä on poistunut — Native ei ole ollut beta versiosta v1.5.2 lähtien. Valinta määrää seuraavan ajon SfM-taustajärjestelmän ja ohjaa samalla, mitkä rivit sen alla ovat käytettävissä (I13, High-Quality, Native SfM Recipe). Alaviite käyttöliittymässä: Järjestämättömän kuvasarjan tapauksessa putki kohdistaa aina Nativella, riippumatta siitä, mitä valitsin näyttää — tämä resepti on käytössä vain siinä tapauksessa. Valitsinta ei tarkoituksella lukita (arvo ei ole pois käytöstä, se vain ohitetaan); sen sijaan näkyviin tulee haarautumis-kuvakkeella varustettu huomautus.

I13FOV Override -kenttä (Native SfM)

MISSÄ

Inspector → Kamerat & kuvaus → FOV Override (aina näkyvissä, käytettävissä vain kun Camera Alignment = Native).

TEKNINEN

Numeerinen tekstikenttä (alue 0-170°), oletus 0 = automaattinen määritys EXIF-tiedoista tai heuristiikasta. Manuaalinen syöttö on tarpeen, kun lähdekuvat on erotettu videosta, joka ei sisällä polttoväli-metadataa. Tyypillisiä arvoja: iPhone Wide ≈ 73°, DJI Mavic Wide-Crop ≈ 70°, koko kokoisen sensorin drone ≈ 84°. Arvo rajataan väliin [0, 170] — sen ulkopuoliset arvot pakotetaan suoraan takaisin rajoihin. Vaikuttaa vain natiiviin SfM-putkeen (Q4/Q5); Apple Photogrammetry ohittaa tämän arvon kokonaan. 18.7.2026 lähtien: Muissa taustajärjestelmissä kenttää ei enää piiloteta, vaan se harmaannetaan — yhdessä "High-Quality"- ja "Native SfM Recipe" -rivien kanssa sekä lukko-kuvakkeella varustetun rivin kanssa ("These configure the Native aligner — choose Native under Camera Alignment to change them."). Aiempi piilottaminen salasi sen, että näitä säätimiä on ylipäätään olemassa. Portti on kiinni valitusta taustajärjestelmästä, ei tosiasiallisesti käytetystä — järjestämättömien kuvasarjojen ohjaus Nativelle ilmoitetaan sen sijaan I12:n huomautuksessa. "Native SfM Recipe" -rivi vaatii lisäksi järjestämättömän kuvasarjan ja sillä on muuten oma selitysrivinsä.

I15Densification-valitsin

MISSÄ

Inspector → Koulutuskonfiguraatio → Densification (segmentoitu valitsin, aina näkyvissä).

TEKNINEN

Vaihtaa kahden Densification-strategian välillä: Classic (alkuperäinen 3DGS-menetelmä Clone/Split/Prune- ja gradientti-kynnysarvolla) ja MCMC (Stochastic Gradient Langevin Dynamics Relocation-menetelmällä, NeurIPS 2024). Vaihdettaessa Classicista MCMC:hen sovellus asettaa MCMC-kohtaiset kentät automaattisesti testattuihin oletusarvoihin (Reg-Weights = 0, MCMC-Cap-Multiplier 3.0, sample-/noise-aikataulu). Ilman tätä automaattista alustusta vanhoilla presetseillä varustetut istunnot kärsivät 1.4.4-version MCMC-collapse-bugista (460K→5 Gaussiania, watchdog-tappo). Valitsimen valinta määrää lisäksi, mitkä Inspector- elementit ovat näkyvissä — MCMC:llä ilmestyvät I16/I17. Yksityiskohtainen kenttien vaikutus luvussa 6, T11–T16 (Classic) ja T61–T73 (MCMC).

I16MCMC Quality -kytkin

MISSÄ

Inspector → Training → MCMC Quality (aina näkyvissä, käytettävissä kun Densification = MCMC tai Hybrid).

TEKNINEN

Kytkee gradientin akkumuloinnin 2 askeleeseen (päällä) tai 1 askeleeseen (pois). Akkumuloi gradientit kahdesta peräkkäisestä kameranäkymästä ennen optimizer-askeleen suorittamista. Tämä tasoittaa optimoinnin polkua ja parantaa lopputulosta hieman, mutta havaittavasti. Hintana: koulutusaika kaksinkertaistuu. Hyvin pitkissä koulutuksissa (200K iteraatiota) tämä tarkoittaa yli 10 minuuttia lisää odotusaikaa — kannattaa siis vain, jos viimeisiä prosentteja laadusta todella tarvitaan. Vaikuttaa vain koulutukseen, ei vientimuotoon tai Viewport-esitykseen. Pätee myös Hybridiin, joka käyttää samaa MCMC-koneistoa. 18.7.2026 lähtien: Classic- tilassa rivi ei enää katoa, vaan se harmaannetaan yhdessä I17:n ja "Max Gaussians" -rivin kanssa; sen alla lukee "Only used by the MCMC and Hybrid densifiers — switch Densification above to change these."

I17Auto-scale by scene -kytkin

MISSÄ

Inspector → Training → Auto-scale by scene (aina näkyvissä, käytettävissä kun Densification = MCMC tai Hybrid).

TEKNINEN

Kun päällä, skaalaa tehokkaan Max-Gaussians-ylärajan SfM-alustuspisteiden määrän × MCMC-Cap-Multiplier (oletus 3.0) mukaan. Esimerkki: SfM tuottaa 250K alustuspistettä, perus-cap = 150K, Multiplier 3.0 → tehokas yläraja = max(150K, 750K) = 750K. Kun pois päältä, pätee tiukasti vain perusarvo. Perusarvo itsessään on rivillä Max Gaussians suoraan alla (versiosta 1.8 lähtien, oletus 150 000, syöte rajataan välille 10 000–30 000 000). Jos tehokas yläraja ylittää perusarvon, sovellus näyttää sen selkotekstinä ("Effective cap for this scene: …") — sekä RAM-varoituksen, jos se kasvaa liian suureksi. Otettiin käyttöön versiossa v1.4.5, koska suuret ulkotilakuvaukset yli 1000 kuvalla ja vastaavan korkealla SfM-piste- tiheydellä näännyttivät densification-prosessin jäykällä 150K-cap- oletuksella — turhat pisteet jäivät, uusia ei voitu luoda. Oletus OFF omissa presetseissä, ON MCMC-sisäänrakennetuissa presetseissä. Vaikuttaa vain koulutusaikaan, ei vientiin. 18.7.2026 lähtien: Classic-tilassa rivi harmaannetaan piilottamisen sijaan (samalla selitysrivillä kuin I16:ssa); selkotekstiä ja RAM-varoitusta ei siellä tietoisesti näytetä, koska Classic ei sovella ylärajaa lainkaan.

I18Max Iterations -askellin

MISSÄ

Inspector → Koulutuskonfiguraatio → GroupBox → Max Iterations.

TEKNINEN

Askellin alueella 1 000–100 000, askelväli 1 000. Määrää optimizer-iteraatioiden kokonaismäärän. Korreloi lineaarisesti koulutusajan kanssa (puolittaminen = noin 50% ajasta). Käytettyjä arvoja ovat 20K (Classic Balanced), 40K (Classic Quality) ja 200K (MCMC Full). Yli 40K:n Classic tuottaa tuskin enää parannusta — tuotto tasaantuu. Muutettaessa arvoa, jos Link-toiminto (I19) on päällä, Densify Until skaalautuu suhteessa mukana (oletussuhde: 0.5, eli Densify-Until = Max/2).

I19Link/Unlink-painike (Densify ↔ Iterations)

MISSÄ

Inspector → Koulutuskonfiguraatio → GroupBox → pieni Link-painike Max Iterationsin ja Densify Untilin välissä.

TEKNINEN

Kytkinpainike, joka lukitsee Densify Untilin suhteen Max Iterationsiin. Kun päällä (Link-kuvake korostettuna), jokainen Max Iterationsin muutos vetää Densify Untilia suhteessa mukana. Kun irrotettu (Link-Plus-kuvake), arvot pysyvät toisistaan riippumattomina. Oletus on linkitetty, koska se heijastaa tyypillistä korrelaatiota — kun venytät koulutuksen kaksinkertaisiin iteraatioihin, haluat yleensä myös densification-vaiheen kestävän suhteessa pidempään. Suhde lasketaan nykyisestä arvosta linkin asettamishetkellä; tyypillinen suhde on 0.5 (Densify-Until = puolet iteraatioiden määrästä).

I20Densify Until -askellin

MISSÄ

Inspector → Koulutuskonfiguraatio → GroupBox → Densify Until.

TEKNINEN

Askellin alueella 500–50 000, askelväli 500. Määrää iteraatioindeksin, jonka jälkeen uusia Gaussianeja ei enää lisätä Clone/Splitin (Classic) tai Relocationin (MCMC) kautta. Sen saavuttamisen jälkeen vain sijaintia ja väriä hienosäädetään. Korkeammat arvot = enemmän Gaussianeja = suurempi tiedosto, pidempi iteraatiokohtainen aika (+30-60% GPU-aikaa askelta kohti). Tyypillisiä arvoja: 15K (30K Max-Iterille), 20K (40K:lle), 100K (200K MCMC:lle). Skaalautuu automaattisesti mukana, kun Link (I19) on päällä. Vaikuttaa eri tavoin Classicissa ja MCMC:ssä: Classic pysäyttää kasvun kokonaan, MCMC pysäyttää relokaatiologiikan, mutta sample-/noise- adaptaatio jatkuu.

I21SSIM Weight -säädin

MISSÄ

Inspector → Koulutuskonfiguraatio → GroupBox → SSIM Weight.

TEKNINEN

Liukusäädin 0.0–1.0, askelväli 0.05, näyttönä "0.20". Sekoittaa L1-lossin (0.0) ja SSIM-lossin (1.0). L1 kiristää kirkkautta pikselikohtaisesti, SSIM rakenteellista samankaltaisuutta (reunat, paikalliset tilastot). Oletus 0.2 on arvo alkuperäisestä 3DGS-paperista (Kerbl 2023) ja luja kompromissi lähes mihin tahansa kohtaukseen. Korkeammat arvot (0.5+) suosivat yksityiskohtien säilymistä, mutta voivat ohittaa paikallisia kirkkausvirheitä. Matalammat arvot (< 0.1) johtavat yksityiskohtien häviämiseen terävissä reunoissa. SSIM-laskenta suoritetaan shaderissa 11×11-Gaussian- ikkunalla. Suorituskyky: arvolla 0.0 (pelkkä L1) koulutus on noin 8-12% nopeampi, koska SSIM-laskenta ohitetaan shaderissa.

I22Render Scale -säädin

MISSÄ

Inspector → Koulutuskonfiguraatio → GroupBox → Render Scale.

TEKNINEN

Liukusäädin 0.25–1.0, askelväli 0.25, näyttönä "100%". Skaalaa koulutus-renderöinnin resoluution suhteessa lähdekuvan kokoon. Suurin yksittäinen vaikutus suorituskykyyn: 50% vähentää GPU-aikaa noin 75% (koska pikseleitä on 4× vähemmän), 25% noin 94%. Gradientti-kynnysarvo skaalautuu automaattisesti mukana. Säätimen alla näkyy reaaliaikainen resoluutionäyttö MP:nä (esim. "2304×1296 (3.0 MP)"). Jos nykyinen arvo poikkeaa suositellusta, oranssilla tekstillä näytetään "— recommended: 50%". Suositus tähtää noin 3 MP:n tehokkaaseen resoluutioon — alueeseen, jonka Apple Silicon -GPU:t käsittelevät tehokkaimmin. 4K-lähdekuvat saavat esimerkiksi automaattisesti suosituksen 25%, FullHD-kuvat 100%. Muutos laukaisee lisäksi puskurin uudelleenvarauksen.

Enhancements-ryhmät (Training-osiossa, I26–I29, I42–I44)

Rajaus Enhancements-riveistä, jotka ovat nykyään Training-osion lopussa — ylhäällä Perceptual Loss -säädin aivan vasemmassa asennossa „Off”, sen alla Outdoor-ryhmä neljällä pois kytketyllä kytkimellä Sky Masking, Person Masking, Floater Cleanup ja Reconstruct Sky Dome, sitten kokoon taitettu rivi „Advanced Densifier (Expert)” varoituskolmiolla, lopuksi ryhmä „Runs automatically at the end of training” jossa Post-Training Compactification (päällä) ja Remove Needle/Disc Floaters. Jokaisella rivillä on oma selitysrivinsä
Rajaus Enhancements-riveistä, jotka ovat nykyään Training-osion lopussa — ylhäällä Perceptual Loss -säädin aivan vasemmassa asennossa „Off", sen alla Outdoor-ryhmä neljällä pois kytketyllä kytkimellä Sky Masking, Person Masking, Floater Cleanup ja Reconstruct Sky Dome, sitten kokoon taitettu rivi „Advanced Densifier (Expert)" varoituskolmiolla, lopuksi ryhmä „Runs automatically at the end of training" jossa Post-Training Compactification (päällä) ja Remove Needle/Disc Floaters. Jokaisella rivillä on oma selitysrivinsä

Nämä ryhmät kokoavat yhteen ominaisuuksia, jotka parantavat kuvanlaatua muuttamatta itse ydin-training-loopia. Aina 18.7.2026 asti ne muodostivat oman Inspector-osionsa nimeltä Enhancements; domeenien uudelleenryhmittelyn jälkeen ne sijaitsevat osion Training alaosassa. Aiempi Viewport-Scaling-valitsin (Off/MetalFX/Lanczos) on poistettu kokonaan ilman korvaajaa: se ei koskaan vaikuttanut mihinkään — viewportin blit-päätös on puhtaasti geometrinen — ja sen otsikko lupasi lisäksi ylösskaalausta, vaikka todellinen Lanczos-vaihe on ylinäytteistetyn kuvan antialiasoiva alasskaalaus. Viewportin näyttö kutsuukin nyt nimeä „Sampling" eikä „Scaling" (luku 4); missään sovelluksessa ei skaalata ylöspäin MetalFX:llä. Perceptual Loss (I29) on ryhmän sijainnista huolimatta trainingin osa — se aktivoidaan trainingin aikana ylimääräisenä loss-termina; se on ylimpänä, selitysrivillään „Multi-scale blur feature matching for structural similarity". Sen alla on Outdoor-ryhmä neljällä kytkimellä — Sky Masking, Person Masking, Floater Cleanup ja Reconstruct Sky Dome (I42–I44) — trainingasetuksilla taivas-floatereita vastaan, jotka aiemmin sijaitsivat asetusikkunassa ja nyt ovat täällä projektikohtaisesti. Seuraavana on kokoon taitettu rivi „Advanced Densifier (Expert)", jossa on varoituskolmio, koska sen takana on säätimiä, jotka voivat myös hajottaa trainingin. Lopuksi tulee ryhmä „Runs automatically at the end of training", jossa on Post-Training Compactification (I26) ja kytkin „Remove Needle/Disc Floaters".

I26Post-Training Compactification -kytkin

MISSÄ

Inspector → Training → ryhmä „Runs automatically at the end of training" → Post-Training Compactification.

TEKNINEN

Aktivoi siivousajon lopussa: trainingiteraatioiden päätyttyä Gaussianit, joiden opacity on alle 0,01 (1 % näkyvyys), poistetaan. Tämä pienentää tiedostokokoa tyypillisesti noin puoleen ilman havaittavaa laadunmenetystä — koska nämä Gaussianit eivät joka tapauksessa vaikuta visuaalisesti mihinkään. Compactification ajetaan GPU-compact-vaiheena ja kestää Gaussian-määrästä riippuen sekunnin murto-osista muutamaan sekuntiin. Ei vaikuta training-suorituskykyyn. Kun tämä kytkin on pois päältä, myös näkymättömät Gaussianit viedään — oleellista vain, jos haluat käyttää formaattia jatko-training-vaiheeseen (Continue Training), muuten kyse on tallennustilan tuhlauksesta.

I29Perceptual Loss -säädin

MISSÄ

Inspector → Training → Perceptual Loss.

TEKNINEN

Liukusäädin 0,0–0,2 välein 0,01, näyttö arvolla 0,0 tekstinä „Off", muuten esim. „0.05". Aktivoi ylimääräisen loss-termin, joka vertaa renderöinnin moniasteista Gaussian-sumennusta ground-truth-kuvaan (3 sumennustasoa). Havaitsee rakenteellisia eroja, joita L1+SSIM ei yksinään tunnista. Arvot väliltä 0,05–0,1 parantavat hienoja rakenteita havaittavasti ja maksavat samalla vain vähän trainingaikaa — noin 5 % (ylimääräinen forward-pass sumennuskernelien läpi). Yli 0,15 training muuttuu epävakaaksi ja laatu heikkenee taas, koska tämä loss-termi alkaa hallita optimointia. Vaikuttaa trainingin aikana, ei jälkikäsittelyssä — huolimatta sijainnistaan Enhancement-rivien joukossa Training-osion lopussa, kyseessä ei siis ole puhdas jälkikäteinen parannus.

I42Sky Masking

MISSÄ

Inspector → Training (Outdoor-ryhmä) → kytkin „Sky Masking". Tallennetaan projektikohtaisesti; oletus: pois päältä.

TEKNINEN

Aktivoi pre-training-vaiheen Apple Vision -pohjaisen taivas-pikselien segmentoinnin. Ennen trainingin alkua jokaiselle syöttökameralle poimitaan taivas-alue Apple Vision -etualamaskilla (taivas = tausta) ja liitetään kunkin kameran pikselikohtaiseksi maskiksi. Trainingin aikana pikselikohtainen loss-osuus kerrotaan taivasmaskin komplementilla — taivaspikselit tuottavat 0 gradienttiin, joten taivaalle projisoituvat Gaussianit eivät saa optimointisignaaleja eivätkä siten muutu „tiheämmiksi" tai „kirkkaammiksi". Vähentää floatereita (tummia mykeröitä taivaalla) merkittävästi outdoor-/drone-kohtauksissa. Maksaa n. 3 % L1-regression klassisessa 40K-trainingissa. Järkevä vain outdoor-kohtauksissa, joissa taivas näkyy selvästi; sisätilakohtauksissa tai valkoisella taustalla taivassegmentointi tunnistaa vääriä alueita ja estää päteviä loss-signaaleja. Arvo tallennetaan projektikohtaisesti (ei enää sovellustasolla) ja seuraa presetiä tai kohtaustiedostoa.

I43Floater Cleanup

MISSÄ

Inspector → Training (Outdoor-ryhmä) → kytkin „Floater Cleanup" (alaotsikko „Remove Gaussians outside all camera views"). Tallennetaan projektikohtaisesti; oletus: pois päältä.

TEKNINEN

Kytkin ohjaa kahta eri ehdoilla toimivaa efektiä; molemmat johdetaan käynnistyksen yhteydessä ajon paikalliseen konfiguraatioon, ei kirjoiteta tallennettuun konfiguraatioon (muuten ne jäisivät kertakäyttöisenä lukkona päälle). (1) Frustum-union-cull trainingin lopussa — Gaussianit kaikkien kamerafrustumien yhdisteen ulkopuolella poistetaan („ei koskaan havaittu" = „ei koskaan rajoitettu", ja juuri sellaisia useimmat floaterit ovat). Tällä osalla ei ole strategiaehtoa ja se ajetaan Classicilla, MCMC:llä ja Hybridillä yhtäläisesti — sen mukaan kytkin on nimetty. (2) Kaksi ylimääräistä density-control-vaihetta ajon keskellä — vain Classicilla ja vasta 30 000 iteraatiosta alkaen, asetettu 55 %:iin ja 85 %:iin ajon pituudesta (35–40K:lla siis noin 20K ja 30K). Molemmat vaiheet etsivät Gaussianeja, joilla on hyvin matala opacity, pieni screen-space-koko ja ei loss-vaikutusta, ja poistavat ne. Vaikutus: n. 5–15 % vähemmän Gaussianeja lopussa, selvästi vähemmän tummia mykeröitä taivaalla drone-/outdoor-kohtauksissa. Maksaa n. 1–3 % L1-regression lähikuva-sisätilakohtauksissa, siksi ei oletusarvoisesti päällä. Arvo tallennetaan projektikohtaisesti ja seuraa presetiä tai kohtaustiedostoa. Korjaus aiempiin versioihin nähden: kytkin ei enää rajoitu Classic-densifieriin, eikä sitä enää harmaannuteta MCMC:llä/Hybridillä — se oli aiemmin sulkenut juuri MCMC- ja Hybrid-käyttäjät ulos cullista, joka vaikuttaa heilläkin. Lyhyillä ajoilla (esim. P2 Preview 5K) jää pois vain ajon keskellä tapahtuva osa.

I44Reconstruct Sky Dome

MISSÄ

Inspector → Training (Outdoor-ryhmä) → kytkin „Reconstruct Sky Dome". Tallennetaan projektikohtaisesti; oletus: pois päältä.

TEKNINEN

Aktivoi taivaskupu-projektion (sky dome) ennen trainingia. SfM:n jälkeen ja ennen trainingin alkua jokaiselle syöttökameralle poimitaan kuvasta S7:ssä yhteisesti käytetty Apple Vision -taivasmaski, taivaspikselit projisoidaan takaisin kameran intrinsic-parametrien avulla virtuaaliselle pallopinnalle (oletussäde 8× kohtauksen säde). Tälle pallolle alustetaan n. 5000 uutta Gaussiania, joiden väriarvot ovat projisoitujen taivaspikselien keskiarvoja, hyvin suuri skaalaus (1,0 kohtausyksikköinä) ja alkuopacity 0,95. Nämä 5000 Gaussiania eivät ole taivasmaski klassisessa mielessä — niitä trainataan kuten kaikkia muitakin, mutta korkea alkuopacity pitää ne ohuessa kuoressa. Tulos: 360° novel view -kuvissa outdoor-/drone-kohtauksissa näkyy tummien konfetti-mykeröiden sijaan aitoa taivaan väriä ja pilvirakenteita. Arvo muistetaan uudelleenkäynnistysten yli. Järkevä vain outdoor-kohtauksissa, joissa on ainakin 360°-kamerakattavuus; puhtaissa objektikuvauksissa ilman taivasnäkymää sillä ei ole vaikutusta. Tila: kokeellinen, laajempi A/B-validointi useammilla outdoor-aineistoilla on vielä tekemättä.

Metriikat-osio (I30–I37)

Rajaus ryhmästä „Training Metrics” valmistuneen koulutuksen jälkeen — kahdeksan riviä: Iteration 20000 / 20000, Loss 0.007471, Learning Rate 0.00e+00, SH Degree 3, Gaussians 9,660, GPU Memory 5.7 MB, Speed 223.7 it/s, Elapsed 1:29
Rajaus ryhmästä „Training Metrics" valmistuneen koulutuksen jälkeen — kahdeksan riviä: Iteration 20000 / 20000, Loss 0.007471, Learning Rate 0.00e+00, SH Degree 3, Gaussians 9,660, GPU Memory 5.7 MB, Speed 223.7 it/s, Elapsed 1:29

Kun koulutus on käynnissä, metriikkaryhmä („Training Metrics", toinen kahdesta laajennettavasta ryhmästä osiossa Edistyminen) näyttää kahdeksan reaaliaikaista arvoa koulutussilmukasta. Ennen koulutuksen aloittamista se on tyhjä ("Start training to see live metrics"). Kaikki arvot päivittyvät noin 30 iteraation välein (reaaliaikaisten metriikoiden päivitystaajuus). Osio on vain luku -tilassa — mitään elementtiä ei voi klikata tai muuttaa. Syvempää analyysiä varten kannattaa tarkastella JSONL-koulutuslokeja hakemistossa ~/Documents/RadianceKit/Logs/.

I30Iteration

MISSÄ

Inspector → Edistyminen → Training Metrics → Iteration. Vain luku.

TEKNINEN

Näyttö muodossa „4523 / 40000" — nykyinen iteraatio suhteessa suunniteltujen iteraatioiden kokonaismäärään. Laskee synkronoituna koulutussilmukan kanssa, joka päivittää arvot noin 30 iteraation välein. Toinen luku vastaa Max-Iterations-arvoa koulutuksen aloitushetkellä; se ei enää muutu, vaikka käyttäjä säätäisi steppausta myöhemmin — käynnissä oleva ajo käyttää omaa tilannekuvaansa. Jos sovellus lisää iteraatioita Training-valikon kautta (Continue Training +5K/+10K/+20K), nimittäjä kasvaa.

I31Loss

MISSÄ

Inspector → Edistyminen → Training Metrics → Loss. Vain luku.

TEKNINEN

Liukuluku kuudella desimaalilla (esim. „0.024385"). Mittaa yhdistettyä L1+SSIM-lossia (sekoitussuhdetta ohjaa I21 SSIM Weight) sekä valinnaisesti Perceptual Lossia (I29) ja muita regularisoijia. Skaala ei ole absoluuttinen vaan skenekohtainen — useimmat vertailut edellyttävät samaa aineistoa. Tyypilliset lopputulokset hyvillä konfiguraatioilla: - Classic Quality 40K iters: 0.022–0.025 (Horse, Truck, Garden) - MCMC Full 200K iters: 0.024–0.028 - Ulkokuvaus dronella 30K: 0.030–0.060 (huonompi geometrian vuoksi) - Sisätila-asunnot: 0.018–0.025

Yli 0.10 olevat arvot 5K iteraation jälkeen viittaavat SfM-ongelmiin (huonot kameran asennot) — keskeytä ja laske SfM uudelleen.

I32Learning Rate

MISSÄ

Inspector → Edistyminen → Training Metrics → Learning Rate. Vain luku.

TEKNINEN

Tieteellisessä muodossa näytettävä arvo (esim. „1.60e-04"). Nykyinen oppimisnopeus positio-parametreille (3DGS:ssä on kuusi itsenäistä oppimisnopeutta: positio, SH-DC, SH-Rest, Opacity, Scale, Rotation — tässä näytetään positio-LR edustavana arvona). Oletusaloitusarvo on 1.6e-4, joka laskee eksponentiaalisen vaimenemisen kautta noin arvoon 1.6e-6 koulutuksen lopussa. Vaimenemista voi säätää LR-Schedule-kentän kautta koulutuskonfiguraatiossa (T-kenttä luvussa 6). Jos LR pysyy epätavallisen korkeana (esim. 1e-3 tai enemmän 10K iteraation jälkeen), se voi viitata virheellisesti ladattuun konfiguraatioon.

I33SH Degree

MISSÄ

Inspector → Edistyminen → Training Metrics → SH Degree. Vain luku.

TEKNINEN

Kokonaisluku 0-3. Spherical-Harmonics-aste värien esitystä varten. Alkaa arvosta 0 (vain DC-komponentti, eli suunnasta riippumaton väri per Gaussian — siis vain yksi RGB-vakio) ja nousee koulutuksen edetessä asteittain arvoon 3. Oletusaikataulu nostaa astetta yhdellä iteraatioissa 1000/2000/3000. SH-3 vastaa 48:aa väri-kerrointa per Gaussian (3 RGB-kanavaa × 16 SH-kantafunktiota). Korkeampi SH-aste = enemmän suunnasta riippuvaa heijastusta (kiiltävät pinnat näyttävät oikein erilaisilta eri katselukulmista), mutta myös enemmän muistia ja hitaampi koulutus.

I34Gaussians

MISSÄ

Inspector → Edistyminen → Training Metrics → Gaussians. Vain luku.

TEKNINEN

Mallin nykyinen Gaussian-määrä, muotoiltuna paikallisella erottimella (esim. „524.318"). Kasvu: - Classic: alkaa SfM-alustuspisteistä (tyypillisesti 50K-300K), kasvaa Clone/Split-toiminnoilla lähes arvoon Densify Until asti, sitten pysyy vakiona koulutuksen loppuun (karsinnan puitteissa) - MCMC: näytepisteitä lisätään MCMC-kattoon asti, sen jälkeen vain Relocation

Terveet lopputulokset: - Classic Quality: 400K-700K (Horse 524K, Garden 800K) - MCMC Full: täsmälleen katossa (oletus 150K, Auto-Scale-kertoimella × SfM-määrä skenestä riippuen 500K-1.5M)

Jos luku MCMC:ssä laskee alle 60 %:iin katosta → poikkeama (romahdusindikaattori, viittaa liian aggressiivisiin regularisoijiin).

I35GPU Memory

MISSÄ

Inspector → Edistyminen → Training Metrics → GPU Memory. Vain luku.

TEKNINEN

Arvio Gaussian-puskurin muistinkulutuksesta: Gaussian-määrä × 616 tavua (muotoiltu muistityylissä). 616 tavua on täysin varustetun Gaussianin koko (positio, skaalaus, rotaatio, opasiteetti, SH-kertoimet asteeseen 3 asti, gradienttiakkumulaattori). Näyttö ei sisällä renderöijän ylikustannusta (tile-puskuri, järjestelypuskuri, backward-puskuri) — todellinen GPU-muistintarve on tyypillisesti 2-3× tätä arvoa suurempi. 500K Gaussianilla: näytetty ~290 MB, todellinen ~700 MB. 1.5M Gaussianilla: näytetty ~880 MB, todellinen ~2.5 GB. M3 Max:lla 64+ GB yhtenäistä muistia tämä ei ole kriittistä, M3 Pro:lla 18 GB:llä se on jo raja.

I36Speed

MISSÄ

Inspector → Edistyminen → Training Metrics → Speed. Vain luku.

TEKNINEN

Iteraatioita sekunnissa yhdellä desimaalilla ("24.3 it/s"). Kouluttajan laskema liukuva keskiarvo viimeisten n. 100 iteraation ajalta. Tyypilliset arvot: - Quick-esiasetus (1K iters): 80-120 it/s (lyhyt, ei vakaata tilaa) - Classic 20K @ 1.0 Render Scale (Truck-skene, M3 Max): 25-35 it/s - Classic 20K @ 0.5 Render Scale: 80-120 it/s - MCMC 200K @ 0.5 Render Scale: 25-50 it/s (hitaampi Relocationin vuoksi) - Yli 1M Gaussiania ja täysi resoluutio: < 10 it/s

Nopeuden laskeminen koulutuksen edetessä on normaalia — enemmän Gaussianeja = enemmän laskentaa per iteraatio. Äkilliset pudotukset (esim. 30 → 5 it/s) viittaavat GPU:n lämpöthrottlaukseen tai kilpaileviin sovelluksiin.

I37Elapsed

MISSÄ

Inspector → Edistyminen → Training Metrics → Elapsed. Vain luku.

TEKNINEN

Jo kulunut aika muodossa „4:23" (m:ss) tai „1:23:45" (h:mm:ss). Muoto vaihtuu tunnin kohdalla. Mittaa vain puhdasta koulutusaikaa, ei edeltäviä vaiheita (SfM-laskenta, kuvien tuonti). Tauko/jatka-tilanteessa kello käy edelleen — kyseessä on siis kelloaika (wall-clock), ei prosessoriaika.

Loss-kaavio-osio (I39–I41)

Crop der Gruppe „Loss History” nach abgeschlossenem Training — Current: 0.0075, rechts grün Min: 0.0051, blaue Kurve von etwa 0.14 steil herunter und danach ausgefranst absinkend bis 20K, Achse links 0.14 / 0.071 / 0.0051; darunter das orangefarbene Diagramm „Gaussian Count” mit Achse von 16K bis 9K und Endwert 9,660
Rajaus ryhmästä „Loss History" harjoituksen päätyttyä — Current: 0.0075, oikealla vihreällä Min: 0.0051, sininen käyrä laskee noin arvosta 0.14 jyrkästi alas ja sen jälkeen rosoisesti kohti 20K:ta, vasen akseli 0.14 / 0.071 / 0.0051; alla oranssi kaavio „Gaussian Count", akseli 16K:sta 9K:hon, loppuarvo 9 660

Loss-kaavio-ryhmä („Loss History", toinen laajennettava ryhmä osiossa Edistyminen) visualisoi harjoituksen kulkua ajan myötä. Se koostuu kahdesta kaaviosta: loss-käyrä-kaaviosta (suuri, ylhäällä, sininen) ja Gaussian-määrä-kaaviosta (pienempi, alhaalla, oranssi). Molemmat rakentuvat live harjoituksen aikana ja säilyvät seuraavaan harjoituksen aloitukseen asti. Ennen ensimmäistä harjoitusta alue on tyhjä („Loss curve will appear during training"). Kaaviot ovat puhtaita SwiftUI-Path-piirroksia (ei Swift-Charts-kehystä), jotta ne renderöityvät sulavasti myös 100K+ pisteen tapauksessa.

I39Current Loss (näyttö)

MISSÄ

Inspector → Edistyminen → Loss History → vasen otsikkoalue „Current: 0.0075". Vain luku.

TEKNINEN

Viimeisimmän loss-näytepisteen liukulukuarvo, muotoiltu neljällä desimaalilla. Sama kuin I31 (Loss Metrics-osiossa), mutta muotoiltu tässä kompaktimmin. Lähteenä on loss- historia — lista, johon lisätään merkintä n. joka 30. iteraatiolla. Vain äärelliset arvot otetaan listaan — NaN/Infinity (hyvin harvinaista, esim. gradientti-räjähdys-bugin tapauksessa) suodatetaan pois.

I40Min Loss (näyttö)

MISSÄ

Inspector → Edistyminen → Loss History → oikea otsikkoalue „Min: 0.0051" (vihreä). Vain luku.

TEKNINEN

Pienin kaikista tähän mennessä nähdyistä loss-arvoista nykyisessä harjoituksessa. Lasketaan uudelleen live loss-historiasta — ei erillistä tallennusta. Näytetään vihreällä tekstillä, koska „Min" = „paras tähän mennessä". Katkoviivainen vihreä viiva kaavion alareunassa merkitsee tätä Y-sijaintia visuaalisesti. Continue-Training-istunnoissa minimin seuranta alkaa alusta — vanha historia korvataan UI:ssa uudella (ei liitetä perään). Jos nykyinen harjoitus sujuu huonommin kuin edellinen, Min- näyttö voi siis olla suurempi kuin edellinen lopputulos.

I41Gaussian Count -kaavio

MISSÄ

Inspector → Edistyminen → Loss History → toinen kaavio sen alla (oranssi). Vain luku.

TEKNINEN

Viivakaavio Gaussian-määrästä harjoitusiteraatioiden yli. Lähde: Gaussian-määrä-historia (lista (Iter, Count)-pareista, jota trainer täyttää noin 30 iteraation välein). Y-asteikko skaalautuu dynaamisesti historian minimin ja maksimin välillä. Classic-strategialla käyrä näyttää tyypillisesti tältä: tasaisesti nouseva Densify Until -pisteeseen asti, sitten tasainen (pienillä pruning-vaihteluilla). MCMC:llä: jyrkkä nousu Cap-arvoon asti, sitten vaakasuora viiva (relokaatio pitää määrän vakiona). Lasku ihan lopussa on normaalia — yllä olevassa kuvassa käyrä laskee noin 16K:sta 9 660:een, koska siivouspassit viimeisen iteraation jälkeen astuvat voimaan (I26). Hälyttävää on vain notkahdus kesken harjoituksen: silloin densifikaatio karsii liian aggressiivisesti — viite väärille oletusarvoille tai tunnetulle MCMC-collapse-bugille (v1.4.4-hotfix-aihe).

Miten loss-käyrää luetaan?

Loss-kaavio on tärkein diagnostiikkatyökalu Inspectorissa — mikään muu mittari ei näytä yhtä suoraan, etenekö harjoitus hyödyllisesti vai onko se juuttunut. Tyypillinen terve muoto on nopea lasku ensimmäisten 1000-3000 iteraation aikana (noin 0.15:stä noin 0.05:een), jota seuraa hidas, tasainen lasku harjoituksen loppuun asti (arvoon 0.020-0.030). Logaritmisesti tarkasteltuna käyrä näyttää sileältä diagonaalilta.

Mitä loss-tasanne tarkoittaa? Jos käyrä pysyy tasaisena useiden tuhansien iteraatioiden ajan, on kaksi mahdollista tulkintaa: (a) Harjoitus on „konvergoitunut" — loss ei voi enää laskea merkittävästi, koska malli on niin hyvä kuin se annetulla datalla ja asetuksilla voi olla. Tämä on toivottua; se on „valmis". (b) Harjoitus „juuttuu" — loss voisi vielä periaatteessa laskea, mutta optimointi pysähtyy (paikallinen minimi, liian pieni oppimisnopeus, densifikaatio pois päältä). Erottelu: jos loss-arvo on tyypillisellä hyvällä alueella (0.020-0.030 sisätiloissa/kohteissa, 0.040-0.060 ulkotiloissa) ja käyrä on ollut tasainen 5K iteraation ajan, se on konvergoitunut. Jos arvo on selvästi korkeampi kuin vertailukelpoisissa kohtauksissa (esim. 0.08), se juuttuu.

Huomio: Gaussian-tasanne ≠ loss-tasanne. Gaussian-määrän tasanne ei tarkoita sitä, että „harjoitus on valmis". Se tarkoittaa vain, että densifikaatio on lopettanut uusien pisteiden lisäämisen — joko siksi, että raja on saavutettu (Classic) tai siksi, että MCMC-Cap on täynnä. Harjoitus jatkuu tämän jälkeen ja vain hienosäätää olemassa olevia pisteitä. Varsinaisen „valmis"-signaalin luet loss-käyrästä ja iteraationäytöstä (I30), et täältä.

Nyrkkisääntö keskeyttämiselle: Jos loss-käyrä on 5000+ iteraation jälkeen yli 0.08:n ja laskee tuskin enää, todennäköisesti SfM-rekonstruktio on pielessä. Keskeytä harjoitus, tarkista luvusta 9, sopiiko valittu SfM-taustajärjestelmä kohtaukseen, vaihda tarvittaessa COLMAP/Native-vaihtoehtoon ja käynnistä sitten uudelleen. Mieluummin 10 minuuttia parempaan SfM:ään kuin 2 tuntia harjoitusta huonolla kameran kohdistuksella.

Milloin kannattaa käyttää Inspectoria?

Pikaohje: Mitä sektiota + mitä control-tunnisteita kannattaa käyttää mihinkin tyypilliseen käyttötapaukseen?

Common-TaskSektioControl-tunnisteet
Valmiin splatin värien kylläisyyden vähentäminenLookL1 (Saturation)
Neula-/konfettimaisten splattien pyöristäminenLookL2 (Splat length)
Reikäisen pilven täyttäminen / splattien suurentaminenLookL3 (Splat size)
Kaukaisen "far-konfetin" piilottaminen orbiiteissaLookL4 (Fade far region)
Look-muutosten hylkääminenLookL5 (Reset finishing)
Valmiin asetuksen lataaminenPresetsI7 (klikkaa riviä)
Oman asetuksen tallentaminenPresetsI1 → I2 → I4
Asetuksen jakaminen kollegoiden kanssaPresetsI5 (Export) tai I6 (Import)
SfM-taustajärjestelmän vaihtaminen (esim. koska Apple-PG on liian epävakaa)Kamerat ja kuvausI12 (katso luku 9)
Videokehysten käsittely ilman EXIF-polttoväliäKamerat ja kuvausI13 (FOV Override)
COLMAP-suorituskyky: GLOMAP klassisen sijaanKamerat ja kuvausI14 — vain kehittäjäversioissa, App Store -versiosta COLMAP puuttuu taustajärjestelmänä
Vaihtaminen Classicista MCMC:henKoulutuskonfiguraatioI15
Koulutuksen antaminen kestää pidempäänKoulutuskonfiguraatioI18 (Max Iter) + I20 (Densify Until) — kytkettynä I19:n kautta
GPU-ajan puolittaminenKoulutuskonfiguraatioI22 (Render Scale arvoon 50%)
Koulutuksen laatu +6 % (MCMC)KoulutuskonfiguraatioI16 (MCMC Quality)
Ulkotilakohtaus, jossa paljon SfM-pisteitäKoulutuskonfiguraatioI17 (Auto-scale by scene)
COLMAP-polun määrittäminen / vaihtaminenKamerat ja kuvausI23 / I24 / I25 — vain kehittäjäversioissa
Vientitiedostojen pienentäminenTrainingI26 (pidä aina päällä)
Viimeinen detaljin hitunen hienoissa rakenteissaTrainingI29 (Perceptual Loss 0.05-0.1)
Koulutuksen seurantaFortschritt ▸ Training MetricsI30 (Edistyminen), I36 (Tempo) — jäljellä oleva aika näkyy transport-palkissa viewportin alla
Laadun arviointi varhaisessa vaiheessaFortschritt ▸ Training MetricsI31 (Loss < 0.05 5K:n jälkeen = hyvä)
Epäily SfM-ongelmastaFortschritt (molemmat ryhmät)I31 + I39 (Loss > 0.08 5K:n jälkeen → SfM uusiksi)
Convergence vs. Stuck -erotteluFortschritt ▸ Loss HistoryI39 + I40 (Loss-tasanteen lukeminen)
Densification-ongelman tunnistaminenFortschritt ▸ Loss HistoryI41 (Gaussian-käyrä laskee → bugi)