SigSys15 Start- und Stopplinienerkennung: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Zeile 23: Zeile 23:
=== Vorverarbeitende Maßnahmen ===
=== Vorverarbeitende Maßnahmen ===
==== Video in einzelne Frames aufteilen ====
==== Video in einzelne Frames aufteilen ====
Video-Dateien belegen in Matlab sehr viel Arbeitsspeicher. Um während der eigentlichen Bildverarbeitung für Entlastung zu sorgen, ist es allerdings möglich das Video in seine einzelnen Frames zu zurlegen und diese jeweils abzuspeichern. Diese Bilder können dann während der Verarbeitung geladen werden. Auf diese Weise wird bei der Verarbeitung nicht mehr Speicher benötigt als für diesen Durchlauf erforderlich. Unter realen Bedingungen spielen diese Umstände allerdings keine Rolle, da es unsinnig wäre von der Kamara aufgenommene Bilder erst zwischenzuspeichern, um sie anschließend wieder zu laden. Hierbei könnten die Bilddaten direkt verarbeitet werden.
Der Arbeitsschritt das Video in Bilder zu teilen wird durch die Funktion Video2Img.m durchgeführt. Diese Funktion übernimmt dabei zusätzlich die Aufgabe den einzelnen Frames Namen zu geben anhand derer sie während der noch folgenden Schritte identifiziert werden können. Diese Namen setzen sich aus einer Zeichenkette zusammen deren Elemente "Frame_" und eine fortlaufende vierstellige Nummer z.B. "0001" sind.
==== Bild für die Verarbeitung vorbereiten ====
==== Bild für die Verarbeitung vorbereiten ====
=== Einlesen in Endlosschleife ===
=== Einlesen in Endlosschleife ===

Version vom 11. Mai 2015, 15:11 Uhr

Autor:
Betreuer: Prof. Schneider

Motivation

Eine Aufgabe beim Carolo Cup ist der "Rundkurs mit Hindernissen". Hierbei ist eine Startlinie zu überfahren und an eienr Stopplinie zu halten.

Ziel

Die Start- und Stoppline soll robust erkannt und unterschieden werden.

Aufgabe

  1. Zeichnen Sie die Kamerasicht eines Rundkurses auf.
  2. Lesen Sie diesen als Endlosschleife in Matlab ein.
  3. Identifizieren Sie während der virtuellen Fahrt Start- und Stopplinien mit Matlab.
  4. Vermeiden Sie Fehler ("false-positives").
  5. Optimieren Sie die Rechenzeit Ihres Algorithmus.




Lösungen

Vorverarbeitende Maßnahmen

Video in einzelne Frames aufteilen

Video-Dateien belegen in Matlab sehr viel Arbeitsspeicher. Um während der eigentlichen Bildverarbeitung für Entlastung zu sorgen, ist es allerdings möglich das Video in seine einzelnen Frames zu zurlegen und diese jeweils abzuspeichern. Diese Bilder können dann während der Verarbeitung geladen werden. Auf diese Weise wird bei der Verarbeitung nicht mehr Speicher benötigt als für diesen Durchlauf erforderlich. Unter realen Bedingungen spielen diese Umstände allerdings keine Rolle, da es unsinnig wäre von der Kamara aufgenommene Bilder erst zwischenzuspeichern, um sie anschließend wieder zu laden. Hierbei könnten die Bilddaten direkt verarbeitet werden. Der Arbeitsschritt das Video in Bilder zu teilen wird durch die Funktion Video2Img.m durchgeführt. Diese Funktion übernimmt dabei zusätzlich die Aufgabe den einzelnen Frames Namen zu geben anhand derer sie während der noch folgenden Schritte identifiziert werden können. Diese Namen setzen sich aus einer Zeichenkette zusammen deren Elemente "Frame_" und eine fortlaufende vierstellige Nummer z.B. "0001" sind.

Bild für die Verarbeitung vorbereiten

Einlesen in Endlosschleife

Algorithmus zur Linienerkennung

Laufzeitbetrachtung

Nachverarbeitende Maßnahmen

Weblinks

Carolo Cup 2012 - Spatzenhirn (Uni Ulm)



→ zurück zum Hauptartikel: Signalverarbeitende Systeme SoSe2015