SigSys15 Target Tracking: Unterschied zwischen den Versionen
Zeile 45: | Zeile 45: | ||
Zum Schluss kann eine '''Region-Property'''-Operation benutzt werden, um den Schwerpunkt des Ballons zu finden. Dazu kann in MATLAB den Parameter '''centroid''' genutzt werden. | Zum Schluss kann eine '''Region-Property'''-Operation benutzt werden, um den Schwerpunkt des Ballons zu finden. Dazu kann in MATLAB den Parameter '''centroid''' genutzt werden. | ||
Der Quelltext diese Vorgänge ist im folgenden abgebildet: | |||
<source lang="matlab"> | |||
</source> | |||
=== Verfolgung und Abschuss des Ballons === | === Verfolgung und Abschuss des Ballons === |
Version vom 21. Juni 2015, 21:53 Uhr
Autor: Asaad Al-Suleihi
Betreuer: Prof. Schneider
Motivation
Mechatroniker haben einen USB-Raketenwerfer umgebaut, so dass sich dieser mit Lego Mindstorms ansteuern lässt. Die Methoden der Bildverarbeitung sollen angewendet werden, um ein sich bewegendes Objekt zu verfolgen.
Ziel
Ein roter Luftballon soll in Bewegung vor einem weissen Hintergrund erkannt und vom Raketenwerfer getroffen werden.
Aufgabe
- Erkennen Sie den Luftballon vor seinem Hintergrund mit einer Webcam.
- Fokussieren Sie den Raketenwerfer auf den Luftballonschwerpunkt.
- Treffen Sie den Luftballon in einer Flugsequenz mit 3 von 4 Schüssen.
Lösung
Lösungsansatz
Das vorangestellte Problem teilt sich in 2 Teilproblemen auf. Zum einem muss das Luftballon aus Kamerabildern erkannt werden. Zum anderen muss mit dem Rakettenwerfer das erkannte Objekt abgeschossen werden.
Erweiterung des Aufbaus
Der im Projekt 33 vorgestellte Aufbau wurde noch um ein Webcam erweitert. Das Webcam dient zur Erkennung des Ziels und wurde oben auf dem Aufbau angebracht, sodass das Schussfeld im Blickfeld der Kamera liegt. Dadurch wird die Bildverarbeitung vereinfacht, da so keine Koordinatentransformation zwischen Kamerabild und Ausrichtung des Rakettenwerfers benötigt wird.
Als Ziel wurde ein rotes Luftballon verwendet. Um die Lösung einfach zu halten ist in der weiteren Bearbeitung der Aufgabe von der roten Farbe des Ballons ausgegangen.
Erkennung des Ballons
Zur Erkennung des Ballons wurde ein Webcam eingesetzt. MATLAB stellt im Image Prcessing Toolbox viele Funktionen bereit, um schnell bildverarbeitende Algorithmen zu entwickeln.
Das Erkennen des Ballons geschieht nach folgenden Schritten:
- Kamerbild erfassen
- Die rote Farbe aus dem RGB-Bild extrahieren.
- Das entstandene Bild filtern (Median-Filter) um Verunreinigungen (Noise) im Bild zu entfernen.
- Bild binarisieren.
Damit das entstandene Bild besser gehandhabt werden kann sind außerdem noch folgende morphologische Operationen benötigt:
- Löcher im Bild befüllen.
- Mit Opening-Operation den inneren Bereich des Ballons freimachen.
Zum Schluss kann eine Region-Property-Operation benutzt werden, um den Schwerpunkt des Ballons zu finden. Dazu kann in MATLAB den Parameter centroid genutzt werden.
Der Quelltext diese Vorgänge ist im folgenden abgebildet:
Verfolgung und Abschuss des Ballons
Bewertung der Lösung
Fazit und Ausblick
Folgende Aspekte können zur weiteren Verbesserung der Lösung umgesetzt werden:
- Die Bewegung des Rakettenwerfer regeln. D.h. Regler zu verwenden um die Bewegung schneller und sanfter zu gestalten.
- 3 getrennte Programmpfade (Tasks) nutzen: Für die Objekterkennung, das Fokussieren des Objekts und eins für den Abschussvorgang. Damit kann bessere Synchronisation bei der Verfolgung und Abschussgeschwindigkeit erreicht werden.
Weblinks
→ zurück zum Hauptartikel: Signalverarbeitende Systeme SoSe2015