Brugervejledning

Kapitel 9 — SfM-Backends

Inspectoren i ekspert-tilstand med de seks afsnit Presets, Cameras & Capture, Training, Progress, Look og Export — hver med en underlinje, der viser hvornår den virker
Inspectoren i ekspert-tilstand. Den er opdelt i seks afsnit — Presets, Cameras & Capture, Training, Progress, Look og Export —, hver med en underlinje, der fortæller, hvornår indstillingen virker. Valget af SfM-metode sidder i afsnittet „Cameras & Capture".
Den udfoldede Camera-Alignment-menu med præcis to elementer: Apple Photogrammetry og Native
Den udfoldede Camera-Alignment-menu i den udgivne version: præcis to elementer — Apple Photogrammetry og Native. COLMAP findes ikke her, og „Native" har ikke længere et Beta-tilføjelse.

Camera-Alignment-vælgeren sidder i Inspector-afsnittet „Cameras & Capture" og er en udfoldningsmenu, ikke en segmenteret kontrol (backend-navnene er for lange til segmenter og ville sprænge den smalle Inspector-kolonne). Hvor mange elementer den har, afhænger af build'en: App-Store-versionen viser præcis to — Apple Photogrammetry (standard) og Native. COLMAP mangler dér som backend helt og optræder kun i Developer-/DMG-builds som tredje element (se Q2). Native-elementet hedder blot „Native"; den tidligere tilføjelse „(experimental)" hhv. „(Beta)" er fjernet — Native er ikke længere en forsøgsvej, men kvalitetsvejen. Den er stærk til bundnære orbit- og fotoscener, men i øjeblikket svag til luft-/drone-kortlægning (for tynd punktsky); Apple Photogrammetry forbliver den sikre standard. Er der valgt et uordnet fotosæt som optagelsestype, retter appen altid op med Native, uanset hvad vælgeren viser — en henvisningslinje under vælgeren siger det udtrykkeligt, og vælgeren forbliver betjenbar, fordi dens værdi ikke er utilgængelig, men blot overtrumfet. Eksterne SfM-resultater fra Metashape, COLMAP eller anden fotogrammetri-software kan desuden importeres via File-menuen (Q3 COLMAP-tekstformat, Q6 workspace-import) — vælgeren skifter ikke, men de importerede positurer erstatter SfM-resultatet. Denne import har intet med COLMAP-backend-spørgsmålet at gøre og fungerer i enhver build.

SfM står for Structure from Motion. Ud fra en mængde overlappende fotos rekonstruerer softwaren for hvert billede kameraets position og retning i et fælles 3D-koordinatsystem. Til det formål genereres en grov 3D-punktsky, der initialiserer træningen med Gaussian Splatting. SfM-resultatet er input til selve træningen og har afgørende betydning for den senere billedkvalitet.

RadianceKit tilbyder fem SfM-veje: to indbyggede backends i appen (Q1 Apple Photogrammetry, Q4/Q5 Native), to import-stier fra eksterne værktøjer (Q3 COLMAP-tekstformat, Q6 binær workspace-import) samt Q2 COLMAP-binær, som kun er tilgængelig i Developer-builds uden for App Store. Hvilken der er den rette, afhænger af scenetypen (orbit omkring et objekt, indendørs, droneflyvning), og om en ekstern software allerede leverer en rekonstruktion.

Q1 — Apple Photogrammetry

HVOR

Ekspertvisning → Inspector → afsnittet „Cameras & Capture" → Camera-Alignment-vælgeren, elementet „Apple Photogrammetry". Standard i enhver build.

TEKNISK

Wrapper omkring Apples indbyggede Photogrammetry-framework, som oprindeligt blev udviklet til Object Capture. Apple udtrækker internt features med en proprietær pipeline (trinene er ikke offentligt dokumenteret), verificerer dem via multi-view-matching og løser bundle-adjustment på Apple Silicon Neural Engine + GPU. Backendet er fuldt App-Store-konformt (ingen ekstern binær, sandbox=true, on-device), men leverer kun kamerapositurer plus en grov punktsky — ingen diagnosemetrikker som track-længde eller reprojektionsfejl. Skalerer ifølge Apples anbefaling op til et par hundrede billeder. Ved mere end ~500 frames i lineære droneflyvninger eller store udendørsscener er der reproducerbart observeret nedbrud eller stille bortkastning af enkelte kameraer.

Q3 — COLMAP-tekstformat (Metashape / ETH3D)

HVOR

Menuen „File → Import COLMAP / Metashape Workspace…" (Cmd+⇧+I) ELLER træk-og-slip af en mappe med sparse/0/cameras.txt.

TEKNISK

Læser den standardiserede COLMAP-tekst-eksport — tre tekstfiler cameras.txt, images.txt, points3D.txt i undermappen sparse/0/ — og konverterer til den interne SfM-resultatmodel. Samme formatdefinition som COLMAPs binære eksport, blot som ASCII i stedet for binært. Udgives i netop dette layout af Agisoft Metashape, RealityCapture, PolyCam og ETH3D-benchmarket. Parseren deler kamera-model-genkendelsen med den binære parser og kender alle elleve standard-kameramodeller fra COLMAP — fra SIMPLE_PINHOLE og PINHOLE over SIMPLE_RADIAL (COLMAPs egen standard) og OPENCV til fisheye-varianterne. Robust over for kommentarlinjer og tomme linjer. Skalerer i tests op til ~1 400 kameraer (ETH3D Tunnel) uden problemer.

Q4 — Native SfM (inkrementel)

HVOR

Ekspertvisning → Inspector → afsnittet „Cameras & Capture" → Camera-Alignment-vælgeren, elementet „Native" (uden den tidligere tilføjelse „(experimental)"). Inkrementel er standardtilstanden for dette backend; for Native findes der ikke noget mapper-valg. Linjen „Mapper" derunder hører udelukkende til COLMAP: i Developer-builds står den synligt, men gråtonet, så længe Native er valgt; i App-Store-versionen mangler den helt. De virkeligt native linjer — „FOV Override", „High-Quality" og „Native SfM Recipe" — forsvinder ikke længere under andre backends, men forbliver gråtonede og nævner i en linje derunder, hvad du skal ændre for at låse dem op igen. Mellem den inkrementelle og den globale metode kan du ikke selv skifte: Inkrementel er fast forudindstillet, og appen skifter kun selv til den globale metode (se Q5).

TEKNISK

Egen GPU-accelereret implementering af hele SfM-pipelinen: FAST+BRIEF-features ELLER SuperPoint+LightGlue via CoreML (aktiveret via kontakten „High-Quality"; ved uordnede fotosæt er den under alle omstændigheder aktiv), efterfulgt af Hamming-KNN-matching, RANSAC-fundamentalmatrix, track-building, initial-pair-valg, two-view-bootstrap (F→E plus DLT), grådig inkrementel mapper med PnP-registrering og multi-view-triangulering samt endelig bundle-adjustment via Schur-reduceret Levenberg-Marquardt med Huber-loss og analytiske Jacobians via Cholesky-solve. Fuldt App-Store-konform: ingen ekstern binær, sandbox=true. Med den indbyggede kollaps-detektor: den klassificerer et resultat som degenereret, hvis mindre end 60 % af input-frames blev registreret, hvis points-per-camera-raten falder under 13, eller hvis punktskyen næsten er flad. Det medfører ikke straks et metodeskift — appen gentager først det inkrementelle forløb (den overtager det første uden anmærkning resultat, ellers det bedste af forsøgene) og skifter først til den globale mapper (Q5), hvis også det bedste forsøg forbliver degenereret. Empirisk ren i orbit-/turntable-scener; ved mere generelle bevægelser (droneflyvning, indendørs med kompleks geometri) er succesraten lavere — detektoren fanger dog disse tilfælde. Skalerer pålideligt op til ~200 kameraer, højere med betydeligt længere kørselstid.

Q5 — Native SfM (global)

HVOR

Kaldes automatisk, når den inkrementelle mapper (Q4) udløser kollaps-detektoren (mindre end 60 % af input-frames registreret, points-per-camera-rate under 13 eller næsten flad punktsky) — og først efter det inkrementelle forløb er gentaget, og også det bedste forsøg forblev degenereret. Den kan ikke tilkaldes manuelt: I Inspectoren findes der ingen vælger til det og heller ingen kontakt — appen beslutter selv, hvornår den skifter.

TEKNISK

Global variant af den native pipeline. Først feature-ekstraktion + matching som i Q4, dernæst relativ-pose-estimering for alle verificerede par, efterfulgt af rotation-averaging (synkroniserer alle kamera-rotationer i verdenskoordinatsystemet) og translation-averaging (LSQR-baseret på en matrixfri sparse-formulering for at undgå integer-overflow ved store kameramængder). Skalerer i princippet til ~5 000 kameraer, i praksis falder kvaliteten mærkbart over nogle hundrede kameraer. Håndteres som „fallback-niveau": kommer i brug, når den inkrementelle mapper også efter gentagelse er degenereret, og udsættes selv ikke igen for kollaps-detektoren — forbliver dens resultat tyndt, melder i stedet pipelinens generelle kvalitetsadvarsel sig.

Q6 — Metashape / COLMAP-tekst-workspace-import

HVOR

File-menuen → „Import COLMAP / Metashape Workspace…" (Cmd+⇧+I). Træk-og-slip af en mappe med sparse/0/cameras.{bin,txt} og images/.

TEKNISK

Genkender automatisk, om en mappe valgt via træk-og-slip eller open-panel svarer til et af de tre COLMAP-workspace-layouts (sparse/0/, sparse/ eller root), og om rekonstruktionen foreligger binært (cameras.bin) eller som tekst (cameras.txt). Den binære sti bruger COLMAP-binærparseren, tekst-stien ETH3D-loaderen — begge producerer den samme SfM-resultatmodel, og resten af pipelinen (billedimport, MCMC-træningsstart) er agnostisk over for kilden. Billederne åbnes security-scoped via app-sandboxens bookmark-system, så importen også fungerer i App-Store-versionen. Tænkt specielt til tilfældet „Metashape-eksport uden at genberegne rekonstruktionen". Den genkendelse, der nævnes i File-menu-elementet, advarer i app-loggen, hvis den valgte mappe ikke er et genkendeligt workspace.

Q7 — Native-opskrifter (Standard / Professional / E3 High-Accuracy)

HVOR

Ekspertvisning → Inspector → afsnittet „Cameras & Capture" → linjen „Native SfM Recipe". Linjen kan kun betjenes, hvis Camera Alignment er sat til „Native", og optagelsestypen er sat til et uordnet fotosæt — ellers står den gråtonet og angiver derunder, hvad der skal ændres (tilgængelighedsreglerne står i kapitel 2).

TEKNISK

Tre niveauer af det samme native backend. De ændrer ikke algoritmen, men hvor grundigt den arbejder:

Standard — basisopskriften uden ekstra trin.

Professional — tilføjer to ting: genkendte AprilTag-markører indgår som stive legemer i mapping og bundle-adjustment, og de færdige positurer efterretrianguleres tæt (tættere startpunktsky). Indeholder optagelsen ingen markører, finder detektoren intet, og kun den tætte re-triangulering forbliver virksom.

E3 High-Accuracy — bygger på Professional og tilkobler desuden HQ-frontendet (3×3-SuperPoint-fliseinddeling, LightGlue med 4096 keypoints, covisibility-par) samt den fælles fokal-forfinelse over alle kameraer. Det giver de skarpeste kamerapositurer og den længste matching-kørselstid.

Hvilket backend hvornår?

ScenarieAnbefalet backend
Første resultat, uden at tænke nærmere over detQ1 Apple Photogrammetry (standardindstilling)
Objekt-scanning, 50–200 fotosQ1 Apple Photogrammetry
Maksimal kvalitet på samme scenePreset „Maximum Quality (Native)" — Q4 Native + Q7-opskrift E3
Optagelse med printede AprilTag-markørerQ4 Native + Q7-opskrift Professional
Stor udendørs / drone / >500 billederQ6 Workspace-import (beregn i Metashape eller COLMAP, indlæs derefter)
Metashape/RealityCapture-eksport findesQ6 Import (ingen SfM nødvendig)
ETH3D / akademisk COLMAP-tekst-sætQ3 COLMAP-tekst-import
Q4 kollapserQ5 Native globalt (skifter automatisk)

Hurtig sammenligning

BackendApp StoreSandboxEkstern BinaryBedst egnet tilMaks. ~kameraer
Q1 Apple PGOrbit-objekt~300
Q2 COLMAP Binary❌ (kun Developer-Build)colmap/glomapUdendørs, stort~5 000
Q3 COLMAP-tekst-importBench-rigs~1 500
Q4 Native inkrementelOrbit-objekt~200
Q5 Native globalQ4-Fallback~5 000
Q6 Workspace-importMetashape-genbrugpr. kilde