Lückenbehandlung bei der Spurerkennung: Unterschied zwischen den Versionen
(→Lösung) |
(→Lösung) |
||
Zeile 21: | Zeile 21: | ||
=== Einlesen in Endlosschleife === | === Einlesen in Endlosschleife === | ||
Die Anforderungen die Daten in einer Endlosschleife einzulesen wird durch den folgenden Quellcode erfüllt. | Die Anforderungen die Daten in einer Endlosschleife einzulesen wird durch den folgenden Quellcode erfüllt. | ||
[Datei:DSB1.png] | [[Datei:DSB1.png]] | ||
=== Fahrspurerkennung === | === Fahrspurerkennung === | ||
Version vom 7. Juni 2014, 16:14 Uhr
Autor: Tim Salinski
Betreuer: Prof. Schneider
Motivation
Der Rundkurs bei Carolo Cup weist zahlreiche Fehlstellen auf. Während dieser soll das Fahrzeug weiterhin in der korrekten Spur fahren.
Ziel
Korrekte Fahrspurerkennung trotz Fehlstellen.
Aufgabe
- Zeichnen Sie die Kamerasicht eines Rundkurses mit Fehlstellen auf.
- Lesen Sie diesen als Endlosschleife in Matlab ein.
- Optimieren Sie die Fahrspurerkennung, so dass Fehlstellen überbrückt werden.
- Optimieren Sie die Laufzeit des Algorithmus.
Lösung
Setup vor Ausführung
Das Verarbeiten von Videodateien ist in Matlab immer mit größerem Aufwand von Rechenzeit und Speicherplatz verbunden, da diese unkomprimiert große Matrizen füllen. Um dem etwas entgegenzuwirken existiert das Skript "DSB_Aufgabe_Setup". Damit ist es möglich das Video "Lueckenerkennung" in seine einzelnen Frames zu zerlegen und diese unter "Lueckenerkennung_Frames" zu speichern. Dabei erhalten die Frames durchnummerierte Names in der Form "Frame_0000", sodass sie im weiteren Verlauf einfach geladen werden können. Alle Frames zusammen verbrauchen zwar mehr Speicher als das Video selbst aber auf diese Weise kann bei der weiteren Verarbeitung Rechenzeit gespart werden, da eine Bilddatai schneller geladen werden kann als ein Frame aus der Videodatei. Unter echten Bedingungen würden solche Ladezeiten komplett entfallen, weil die Daten direkt von der Kamera verwendet werden können und nicht auf der Festplatte zwischengespeichert werden müssen.
Einlesen in Endlosschleife
Die Anforderungen die Daten in einer Endlosschleife einzulesen wird durch den folgenden Quellcode erfüllt.
Fahrspurerkennung
Laufzeitbetrachtung
Siehe auch
Weblinks
Carolo Cup 2013 (TU Braunschweig)
→ zurück zum Hauptartikel: Digitale Signal- und Bildverarbeitung SoSe2014