Simulationsumgebung für die Objekt- und Spurerkennung
Autoren: Hagen Heuer, Tim Kruse, Marius Köhler, Stefan Arndt
Betreuer: Prof. Schneider
Einleitung
Autor: Hagen Heuer
Um die Hauptnutzungszeit der Kamera für Funktionstests zu verringern, soll eine Simulationsumgebung in Visual Studio programmiert werden. Ziel ist es hierbei die Weiterverarbeitung der Bilder, welche die Kamera bereitstellt, zu implementieren und zu testen.
Es sollen hierbei folgende Funktionen der Bildverarbeitung implementiert und getestet werden.
- Erstellung eines Binärbildes, um die Rechenleistung zu optimieren
- Festlegen der Region of Interest, um die Rechenleistung weiter zu optimieren
- Filterung von Reflektionen durch den Einfall von Licht
- Transformation des Kamerabildes in Vogelperspektive, um die Objekt- und Spurerkennung zu vereinfachen
Anforderungen
Konzeptentwicklung
Autor: Hagen Heuer
Die Programmierung der Simulationsumgebung erfolgt in Visual Studio 2019, da die bisherige Implementierung der Kamera ebenfalls in Visual Studio erfolgte. Zudem stellen die Bibliotheken von OpenCV Funktionen bereit, welche die Simulation der VRmagic Kamera vereinfachen.
Als Grundlage für die Simulation der VRmagic Kamera dient ein Video, welches die Strecke inklusive der Stopp-Kreuzungen beinhaltet. Zudem Berücksichtigt das Fahrzeug in dem Video die Anforderungen an das Verhalten an Stopp-Kreuzungen, welches der Spurerkennung zu gute kommt.
Da zwei Teams an der Simulationsumgebung arbeiten bietet es sich an, dass Programm modular aufzubauen. Die Programmstruktur ist nachfolgend erläutert.
- main.cpp
- Hauptprogramm der Simulationsumgebung
- Frame_lesen_und_speichern.cpp und Frame_lesen_und_speichern.h
- Einlesen des Videos
- Frames aus dem Video extrahieren
- Frame speichern
- Video ausgeben
- Bildvorverarbeitung.cpp und Bildvorverarbeitung.h
- Binärbild erstellen
- Reflektionen filtern
- Region of Interest anpassen
- Transformation in Vogelperspektive
Programmablaufpläne für die Simulationsumgebung
Autor: Hagen Heuer
Um die Programmierung der Simulationsumgebung zu vereinfachen, wurden Programmablaufpläne für die einzelnen c-Module geschrieben. Anhand dieser Programmablaufpläne erfolgte die spätere Programmierung.