Drone Flyby Vision & Tracking System

Computer vision og multimodal AI2026Computer Vision

Et sanntids aktivt synssystem som styrer et zoombart kamera over en 4K-scene fra luften, oppdager og klassifiserer objekter og følger dem over hele bildet.

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.

Teknologi og metoder

PythonPyTorchYOLO11 (Ultralytics)DINOv2 (ONNX)Syntetisk datagenerering og domenerandomiseringMulti-objekt-trackingAktiv kamerastyringFastAPIGPU-servering