Utfordringen
Systemet ser bare et utsnitt på 960×540 piksler av en 4K-scene, men skal rapportere objekter i hele bildet. Det må selv velge hvor kameraet skal peke og hvor mye det skal zoome, og svare innen fristen for hver ramme i en strøm på tre bilder i sekundet. Utviklingsgrunnlaget var bare 25 annoterte bilder fra én scene, mens systemet ble evaluert på nye, ukjente sekvenser.
Løsningen
En pipeline i flere trinn: en detektor finner kandidatobjekter i det synlige utsnittet, en bildemodell (DINOv2) med egne klassifiseringshoder bestemmer objektklasse og skiller mål fra bakgrunn, og en tracker holder objektene i globale koordinater med bevegelse og scenedrift. Kamerastyringen kombinerer en dekningsrunde over hele scenen med målrettet zoom på interessante områder.
Hvordan det ble bygget
Jeg implementerte mesteparten av persepsjonspipelinen i Drone Flyby-løsningen som en del av en teamutfordring. For å hindre at detektoren bare kjente igjen de få eksemplene i referansescenen, laget jeg et objektsentrert, domenerandomisert treningsdatasett: objekter ble skilt ut fra referansebildene og plassert på nytt med tilfeldig rotasjon, størrelse, beskjæring, delvis tildekking og skygger, med en kontroll som forkaster eksempler som ikke er synlige. Detektoren (YOLO11) ble trent på dette datasettet. Løsningen ble servert som en FastAPI-tjeneste på GPU, med telemetri og diagnostiske opptak for feilsøking mot den faktiske evalueringen.
Resultat
Pipelinen fungerte ende til ende med median svartid rundt 50 ms per bilde på én GPU, godt innenfor evaluatorens kjøretidsbudsjett. Evaluering på nye sekvenser avdekket likevel svak generalisering: treffsikkerheten var lav, fordi modellene i praksis var utviklet fra én liten referansescene. Diagnostikk på et lite, manuelt annotert utvalg av evalueringsbilder viste at det nye treningsdatasettet ga detektoren langt flere treff enn den første versjonen, og at klassegjenkjenning (ikke oppdagelse) ble den gjenværende flaskehalsen.
Kontekst
Svartiden er målt på én GPU under evalueringen. Lærdommen er at et teknisk velfungerende sanntidssystem ikke er nok når utviklingsdataene er svært begrenset, og at kamerastyring og dekning må måles samlet: strengt regelriktig kamerastyring fjernet alle kamerafeil, men reduserte dekningen og resultatet.