Airplane Tracker

Der Airplane Tracker

ist eines der Projekte, die ich im Rahmen meines Informatik-Bachelors umgesetzt habe. Die in diesem Rahmen erstellte Software habe ich im Winter 2009 in Kooperation mit Alexander Wahl entwickelt. Ziel des Projekts war die optische Bestimmung von Position und Orientierung eines Flugzeugs, welches im Begriff ist, ein Gateway anzufahren. Hierzu sollten Echtzeit-Videodaten verwendet werden.

Ein Einzelbild aus einer der Testsequenzen. Das anhand seiner Kontur erkannte Flugzeug ist durch die grüne Markierung hervorgehoben.

Das vorliegende Problem wurde mittels eines konturbasierten Ansatzes gelöst, der auf Basis einer einzelnen Kamera mit geringer Auflösung arbeitet. Hierdurch könnte auf ein teures Stereokamerasystem zur Akquirierung von 3D-Daten verzichtet werden. Zur Detektion des Flugzeugs wird ein aufgenommenes Videobild einer Vorverarbeitung unterzogen, die u.a. eine Kantendetektion umfasst. Das Resultat wird mit einer Reihe vorgerenderter Konturen – dem Konturmodell des gesuchten Flugzeugs – verglichen. Zur Erzeugung des Modells sowie der zur Evaluation eingesetzten Testsequenzen wurde der FlightGear Flight Simulator  eingesetzt [1].

Zusätzlich zum Tracker wurde ein einfaches Framework entwickelt, dass den schnellen Aufbau einfacher Bildverarbeitungsprozesse ermöglicht. Unser Fokus lag hierbei auf einer einfach zu erweiternden Infrastruktur, mit der bereits durch wenige Zeilen Code ein Prozess modelliert werden kann. Dieser ist so ausgelegt, dass mehrere Implementierungen pro Prozessschritt möglich sind, die über eine Konfigurationsdatei ausgewählt werden können.

Tracker und Framework sind in C++ implementiert und nutzen die Bibliotheken OpenCV und Boost [2, 3]. Zu einem späteren Zeitpunkt wurde der Tracker um einen Kalman-Filter zur Vorhersage der Flugzeugposition erweitert.

[1] FlightGear Flight Simulator

[2] OpenCV Wiki

[3] Boost C++ Libraries

Follow

Bekomme jeden neuen Artikel in deinen Posteingang.

Join 38 other followers