3DGS-pipeline: drone-geo-registratie & validatie
Validatierapport vooraf aan de eerste dure productie-run (RWZI Nieuwveer): kan de pipeline DJI-drone-telemetrie automatisch omzetten in een metrisch geschaald Gaussian-splat-model, en levert de trainer aantoonbaar referentiekwaliteit?
Waarom geo-registratie
Structure-from-Motion is per definitie schaal-ambigu: een reconstructie
ligt maar vast tot op één similarity-transformatie (rotatie + translatie + één globale schaal).
Zonder metrisch anker krijgt het model een willekeurige schaal; achteraf per as
“rechttrekken” maakt de verhoudingen kapot (praktijkles). DJI-drones schrijven per videoframe
GPS-telemetrie in een SRT-“ondertitel”-spoor. De pipeline leest die telemetrie, koppelt hem
via interpolatie aan de geëxtraheerde frames en fit met colmap model_aligner (ENU)
één uniforme similarity naar meters — metrische schaal én georeferentie in één stap.
Ontbreekt de telemetrie, dan stopt de pipeline in minuut 1 met een expliciete accept-poort in plaats
van stil een ongeschaald model te bouwen.
Validatie 1 — echte DJI-telemetrie (12 firmware-generaties)
Parser getest op 15 echte DJI-SRT-bestanden uit het veld (testset dji_srt_parser, MIT):
| bestand | resultaat | fixes | spreiding | hoogtebron |
|---|---|---|---|---|
| MAVIC3 | OK | 12.318 | 958 m | abs_alt |
| Mini SE | OK | 272 | 28 m | H |
| Air 2S | OK | 17 | 5 m | altitude |
| Mavic 2 Zoom | OK | 7.113 | 215 m | altitude |
| Matrice 300 | OK | 381 | 422 m | barometer |
| Mavic 2-stijl (zonder tijdlijn) | OK | 463 | 591 m | — |
| Mavic 2 Pro (nieuw) | OK | 8.952 | 2.642 m | — (waarschuwing) |
| Mavic Mini | OK | 117 | 173 m | H |
| Mavic Pro | OK | 468 | 591 m | barometer |
| P4 RTK-mix | OK | 12 | 112 m | — |
| oud formaat (GPS/Hb) | OK | 468 | 591 m | Hb |
| Mavic Air (SRT zónder GPS-velden) | geweigerd | correct: geen coordinaten aanwezig | ||
| bevroren GPS / lege bestanden (3×) | geweigerd | correct: <3 m beweging of geen fixes | ||
De test op echte data leverde direct drie formaat-fixes op (Matrice-GPS(lat,lon,altM)-volgorde,
datum/tijd-fallback zonder -->-tijdlijn, Hb:-hoogte) — precies waarom er
tegen veldbestanden gevalideerd wordt en niet alleen tegen synthetische voorbeelden.
Validatie 2 — end-to-end drone-tak (smoke-run)
Volledige keten gedraaid met een synthetische drone-video + kloppende SRT naast de 360°-grondcapture: 101/101 views geregistreerd in één COLMAP-model (96 grond + 5 drone), grond en drone elk met een eigen camera (SIMPLE_PINHOLE vast resp. OPENCV vrij) in dezelfde database, brugparen grond↔drone aanwezig. De geo-alignment weigerde de nep-GPS correct (residu > drempel) en viel terug op de expliciete accept-poort — het vangnet werkt dus aantoonbaar in beide richtingen.
Validatie 3 — trainerkwaliteit vs. gepubliceerde referentie
De trainer (gsplat MCMC, exact het productierecept incl. CUDA-13-toolchain) is gebenchmarkt op de standaardscene truck uit Tanks&Temples — dezelfde scene waarop de 3DGS-literatuur rapporteert (Kerbl et al. 2023: PSNR 23,51 bij 7k stappen, 25,19 bij 30k).
Interactieve 3D-weergave van het getrainde model
Dit is het getrainde splat-model zélf — alle 1,0M gaussians, met view-dependent kleur (spherical harmonics graad 2: glans en spiegelingen draaien mee met je kijkhoek) — live gerenderd in de browser, geen video. Zelfde viewer-stack als de thegoldenbasket-splatlaag. Slepen = draaien, scrollen = zoomen, cijfertoetsen = springen naar echte cameraposities uit de opname.
Open de viewer op volledig scherm ↗ · model: 69 MB (incl. SH2), laadt progressief
Wat dit betekent voor de Nieuwveer-run
Go. De drie risico’s zijn afgedekt: (1) telemetrie-inname werkt op alle gangbare DJI-generaties en weigert onbruikbare GPS expliciet; (2) de fusie- en geo-registratieketen draait end-to-end met werkend vangnet; (3) de trainer haalt referentiekwaliteit. Voorwaarden voor de opname: DJI-instelling video-ondertitels aan (anders geen SRT), en één lage orbit die de grondcapture overlapt (de “brug” waardoor de GPS-schaal ook de grond-/binnencapture bereikt). Verwachte schaalnauwkeurigheid met standaard-GNSS: enkele procenten; cm-niveau vergt RTK.
parse_drone_geo.py, gen_pairs_drone.py, run_video.sh, runbook
README_VIDEO.md). Benchmark: Tanks&Temples truck, 251 beelden, RTX 4090,
gsplat MCMC cap 1,0M, 2026-07-21.