Käyttöopas

Luku 9 — SfM-taustaohjelmat

Asiantuntijatila ja Camera Alignment -valitsin Tarkastajassa (Apple Photogrammetry / Native (Beta))
Asiantuntijatila ja Camera Alignment -valitsin Tarkastajassa (Apple Photogrammetry / Native (Beta))
Tarkastaja Native (Beta) aktiivisena — Camera Alignment -valitsimen toinen vaihtoehto valittuna, kaikki muut koulutuskonfiguraation parametrit ennallaan
Tarkastaja Native (Beta) aktiivisena — Camera Alignment -valitsimen toinen vaihtoehto valittuna, kaikki muut koulutuskonfiguraation parametrit ennallaan

Tarkastajan Camera Alignment -valitsin on segmenttiohjain, jossa on kaksi vaihtoehtoa — Apple Photogrammetry (oletus App Store -versioissa, täysin sandbox-yhteensopiva) ja Native (Beta) (RadianceKitin oma FAST+BRIEF+GLOMAP-putki-taustaohjelma, kehitetty vaiheessa 3.8/3.9, tilanne 2026-05). Native (Beta) on orbit-only-validoitu ja nopeampi ≥1 000 ruudulla kuin Apple Photogrammetry, mutta ei vielä läpäise vaiheen 3 §5 laatuporttia (finalLoss ≤ 0.0115) — siitä Beta-merkintä. Ulkoiset SfM-tulokset Metashapesta, COLMAPista tai muusta valokuvamittausohjelmasta voidaan lisäksi tuoda File-valikon kautta (Q3 COLMAP-tekstimuoto, Q6 Workspace-tuonti) — valitsin ei vaihdu, mutta tuodut sijainnit korvaavat SfM-tuloksen.

SfM tarkoittaa Structure from Motion. Joukosta päällekkäisiä kuvia ohjelmisto rekonstruoi jokaiselle kuvalle kameran sijainnin ja katselusuunnan yhteisessä 3D-koordinaattijärjestelmässä. Samalla syntyy karkea 3D-pistepilvi, joka alustaa Gaussian Splatting -koulutuksen. SfM-tulos on syöte varsinaiseen koulutukseen ja vaikuttaa ratkaisevasti lopulliseen kuvanlaatuun.

RadianceKit tarjoaa viisi SfM-reittiä: kaksi sovellukseen sisäänrakennettua taustaohjelmaa (Q1 Apple Photogrammetry, Q4/Q5 Native), kaksi tuontipolkua ulkoisista työkaluista (Q3 COLMAP-tekstimuoto, Q6 binaarinen Workspace-tuonti) sekä Q2 COLMAP-binäärin, joka on saatavilla vain developer-versioissa App Storen ulkopuolella. Mikä on oikea, riippuu näkymän tyypistä (orbit kohteen ympärillä, sisätila, drone-lento) sekä siitä, tarjoaako ulkoinen ohjelmisto jo rekonstruktion.

Q1 — Apple Photogrammetry

MISSÄ

Expert View → Tarkastaja → Koulutuskonfiguraatio → Camera Alignment -valitsin, kohta „Apple Photogrammetry".

TEKNINEN

Kapseloi Applen sisäänrakennetun valokuvamittauskehyksen, joka alun perin kehitettiin Object Capturea varten. Apple poimii sisäisesti piirteitä omalla suljetulla putkellaan (vaiheita ei ole julkisesti dokumentoitu), varmistaa ne usean näkymän vertailulla ja ratkaisee bundle-säädön Apple Siliconin Neural Enginellä + GPU:lla. Taustaohjelma on täysin App Store -yhteensopiva (ei ulkoista binääriä, Sandbox=true, on-device), mutta tarjoaa vain kameran sijainnit ja karkean pistepilven — ei diagnostiikkamittareita kuten jäljen pituutta tai uudelleenprojisointivirhettä. Skaalautuu Applen suosituksen mukaan muutamaan sataan kuvaan. Yli ~500 ruudulla lineaarisissa drone-lennoissa tai suurissa ulkonäkymissä on toistettavasti havaittu kaatumisia tai yksittäisten kameroiden hiljaista pudottamista.

Q3 — COLMAP-tekstimuoto (Metashape / ETH3D)

MISSÄ

Valikko „File → Import COLMAP / Metashape Workspace…" (Cmd+⇧+I) TAI vedä-ja-pudota kansio, jossa on sparse/0/cameras.txt.

TEKNINEN

Lukee standardoidun COLMAP-tekstiviennin — kolme tekstitiedostoa cameras.txt, images.txt, points3D.txt alikansiossa sparse/0/ — ja muuntaa sisäiseksi SfM-tulosmalliksi. Sama muotomäärittely kuin COLMAP-binäärivienti, mutta ASCII-muodossa binäärin sijaan. Agisoft Metashape, RealityCapture, PolyCam ja ETH3D-vertailutesti tulostavat juuri tämän muodon. Jäsentäjä jakaa kameramallien tunnistuksen binääri-jäsentäjän kanssa (kaikki yleiset mallit: SIMPLE_PINHOLE, PINHOLE, OPENCV, OPENCV_FISHEYE, FULL_OPENCV). Kestävä kommenttirivejä ja tyhjiä rivejä vastaan. Skaalautuu testeissä ~1 400 kameraan (ETH3D Tunnel) ilman ongelmia.

Q4 — Native SfM (inkrementaalinen)

MISSÄ

Expert View → Tarkastaja → Koulutuskonfiguraatio → Camera Alignment -valitsin, kohta „Native (Beta)". Inkrementaalinen on tämän taustaohjelman oletustila — Tarkastajassa ei ole erillistä mapper-valitsinta. CLI:n kautta tila voidaan asettaa eksplisiittisesti komennoilla –native-sfm tai –sfm-mapper incremental.

TEKNINEN

Oma GPU-kiihdytetty toteutus koko SfM-putkesta: FAST+BRIEF-piirteet TAI SuperPoint+LightGlue CoreML:n kautta (–coreml-features), seuraavaksi Hamming-KNN-vertailu, RANSAC-perusmatriisi, jäljenrakennus, alkuparin valinta, two-view-bootstrap (F→E plus DLT), ahne inkrementaalinen mapper PnP-rekisteröinnillä ja usean näkymän triangulaatiolla sekä lopullinen bundle-säätö Schur-pelkistetyllä Levenberg-Marquardtilla, Huber-häviöllä ja analyyttisillä Jacobiaaneilla Cholesky-ratkaisun yli. Täysin App Store -yhteensopiva: ei ulkoista binääriä, Sandbox=true. Vaiheessa 3.10 toimitetulla R2-romahduksen tunnistimella: jos sovellus rekisteröi alle 60 % syöteruuduista tai points-per-camera-aste putoaa alle 13, vaihdetaan automaattisesti globaaliin mapperiin (Q5). Empiirisesti puhdas orbit-/turntable-näkymissä; yleisemmillä liikkeillä (drone-lento, sisätilat monimutkaisella geometrialla) onnistumisaste on matalampi — tunnistin nappaa kuitenkin nämä tapaukset. Skaalautuu luotettavasti ~200 kameraan, enemmän huomattavasti pidemmällä ajoajalla.

Q5 — Native SfM (globaali)

MISSÄ

Kutsutaan automaattisesti, kun inkrementaalinen mapper (Q4) laukaisee romahduksen tunnistimen (alle 60 % syöteruuduista rekisteröity tai points-per-camera-aste alle 13). Manuaalisesti pakotettavissa vain CLI:n kautta –sfm-mapper global. Tarkastajassa globaali menetelmä ei ole tavoitettavissa erillisen valitsimen kautta — sovellus päättää itse, milloin vaihtaa.

TEKNINEN

Globaali variantti natiivista putkesta. Ensin piirteiden poiminta + vertailu kuten Q4, sitten suhteellisen poseen arviointi kaikille varmennetuille pareille, seuraavaksi rotation-averaging (synkronoi kaikki kameran kierrot maailmankoordinaatistossa) ja translation-averaging (LSQR-perustainen matriisivapaalla harvalla muotoilulla suurten kameramäärien kokonaislukuylivuodon välttämiseksi). Skaalautuu periaatteessa ~5 000 kameraan, käytännössä laadultaan heikentynyt muutaman sadan kameran yläpuolella — vaiheen 3.8 §5 hyväksymisportin mittaus K-1351:llä antoi finalLoss 0.07 tavoitellun 0.0115:n sijaan. Käsitellään „fallback-tasona": tulee käyttöön, kun inkrementaalinen mapper degeneroituu, mutta sitä ei itseään tarkasteta uudelleen laadun suhteen.

Q6 — Metashape / COLMAP-text-workspace-tuonti (vaihe Q7)

MISSÄ

File-valikko → „Import COLMAP / Metashape Workspace…" (Cmd+⇧+I). Vedä-ja-pudota kansio, jossa on sparse/0/cameras.{bin,txt} ja images/.

TEKNINEN

Tunnistaa automaattisesti, vastaako vedä-ja-pudota tai avauspaneelilla valittu kansio yhtä kolmesta COLMAP-workspace-asettelusta (sparse/0/, sparse/ tai juuri) ja onko rekonstruktio binäärinen (cameras.bin) vai tekstimuotoinen (cameras.txt). Binäärinen polku käyttää COLMAP-binäärijäsentäjää, tekstipolku ETH3D-lataajaa — molemmat tuottavat saman SfM-tulosmallin, ja putken loppuosa (tuo kuvat, käynnistä MCMC-koulutus) on agnostinen lähteen suhteen. Kuvat avataan sovelluksen sandbox-kirjanmerkkijärjestelmän kautta security-scoped, joten tuonti toimii myös App Store -versiossa. Erityisesti tarkoitettu tilanteeseen „Metashape-vienti ilman rekonstruktion uudelleenlaskentaa". File-valikon kohdassa mainittu tunnistus varoittaa sovelluksen lokissa, jos valittu kansio ei ole tunnistettavissa oleva workspace.

Mikä taustaohjelma milloin?

SkenaarioSuositeltu taustaohjelma
Kohdeskannaus, 50–200 valokuvaaQ1 Apple Photogrammetry
Suuri ulkokuva / drone / >500 kuvaaQ6 Workspace-tuonti (laske Metashapessa tai COLMAPissa, lataa sitten)
Metashape/RealityCapture-vienti olemassaQ6 Tuonti (ei SfM:ää tarvita)
ETH3D / akateeminen COLMAP-tekstijoukkoQ3 COLMAP-tekstituonti
Tiukasti App Store -yhteensopiva + orbit-näkymäQ4 Native inkrementaalinen
Q4 epäonnistuuQ5 Native globaali (automaattisesti)
ETH3D-vertailutestin tiedotQ3 (autotest precomputed)

Nopea vertailu

TaustaohjelmaApp StoreSandboxUlkoinen binääriParas käyttöMaks. ~kamerat
Q1 Apple PGOrbit-kohde~300
Q2 COLMAP Binary❌ (vain developer-build)colmap/glomapSuuri ulkokuva~5 000
Q3 COLMAP-tekstituontiBench rigs~1 500
Q4 Native inkrementaalinenOrbit-kohde~200
Q5 Native globaaliQ4-fallback~1 351
Q6 Workspace-tuontiMetashape-uudelleenkäyttöper lähde