Bildverarbeitungsalgorithmen ermöglichen eine Erkennung und Verfolgung der Fahrspur im Kamerabild um daraus Informationen zur Position und Relativbewegung des eigenen Fahrzeuges zu ermitteln. Für den Algorithmus der Spurerkennung und Spurverfolgung gibt es verschiedene Ansätze. Mit Hilfe der Funktionen der „Image Acquisition Toolbox“ für Matlab/Simulink wurde eine eigene Spurverfolgung erstellt.
Kamera
Ist die Kamera an einer festen Position im Fahrzeug verbaut und die Eigenschaften bekannt wie die Kamera ein Bild auf dem Sensor abbildet so können über eine Koordinatentransformation die realen Abstände bestimmt werden. Das ist auch mit einer Monokamera möglich wenn man davon ausgeht, dass die Straße eine horizontale Ebene darstellt. In dem relevanten Bereich für eine Spurverfolgung kann das angenommen werden wenn auch kleinere Fehler in der Berechnung entstehen z.B. bei Höhenunterschieden oder Nickbewegungen.
Eine Logitech Webcam befindet sich in zentraler Position hinter der Frontscheibe des Versuchsträgers. Die Kameraparameter wurden ausgemessen und die optische Achse auf die Längsachse des Fahrzeuges parallel zur Fahrbahnebene ausgerichtet.
Algorithmus
Bei bekannten Kameraparametern bietet sich eine Spurverfolgung in den realen Koordinaten (Bird View) an. So lassen sich die gefunden Spuren einfacher miteinander vergleichen. Für das Spurmodell wurde ein Polynoms 2. Grades gewählt. Ein solches kann die Spur besser beschreiben als eine Gerade und enthält die Information der Kurvenkrümmung. Unter ungünstigen Bedingungen verhält es sich jedoch instabiler was einen höheren Aufwand bei der Fehlerkorrektur erfordert.
Verfolgt werden zwei einzelne Spurlinien aus denen sich die Spurmitte ergibt. Die Verfolgung der Polynome erfolgt größtenteils unabhängig voneinander. Nur bei erkannten Fehlern kann ein Polynom mit den Parametern des anderen korrigiert werden.
Der Algorithmus besteht vereinfacht aus zwei Hauptfunktionen. Das Bild der Kamera wird vorher in einen Grauwert umgerechet und auf den relevanten Bereich reduziert.
In der Kantendetektion wird in den Videodaten nach Spurmarkierungen gesucht. Dafür wurden 30 Zeilen festgelegt, welche einem Abstand zwischen 5 bis 30 Metern vor der Kamera entsprechen. Von diesen Zeilen wird der vertikale Gradient berechnet und nach dem Muster einer Spurmarkierung durchsucht. Eine Markierung ist zu erkennen an einem positiven Peak gefolgt von einem negativen Peak im Gradientenwert.
Von jeder der 30 Zeilen werden maximal 4 Markierungen in reale Koordinaten umgerechnet und an das Spurtracking weitergegeben. Der Ursprung dieses neuen Koordinatensystems entspricht der Linse der Kamera.
Zu Beginn sind das die Markierungen mit den größten Gradientenwerten in einer Zeile. Mit den Punkten wird anschließend versucht eine Spurbeschreibung zu erstellen. Ist im Spurtracking eine Spur initialisiert so werden die Suchbereiche für die Kantendetektion im nächsten Frame eingeschränkt. In diesem Fall dienen die ermittelten Punkte zur Aktualisierung der Spurbeschreibung. Vorher können noch einzelne Punkte mit zu großer Abweichung aussortiert werden.
Neben denen beiden Polynomen für die rechte und linke Spurlinie wird auch nach den Nachbarspuren gesucht und wenn möglich eine Beschreibung berechnet. Bei erkannten Spurwechselvorgängen muss so die neue Spur nicht erst initialisiert werden. Das Spurmodell beinhaltet weiterhin eine Geschwindigkeitskomponente für die Querrichtung. Das bedeutet das im Tracking die Geschindigkeit bestimmt wird mit der sich das Fahrzeug quer zur Fahrbahn bewegt. Vor jeder neuen Messung wird die erwartete Position der Spur mit diesem Wert prädiziert. Dadurch ist eine bessere Dynamik in der Querbewegung gewährleistet.
Der erstellte Algorithmus arbeitet größtenteils stabil. Kleinere Fehler erkennt und korrigiert das Modell selbstständig. Probleme können auftreten wenn vorausfahrende Fahrzeuge sich innerhalb des relevanten Bereichs befinden. Ein häufig auftretender Fehler ist auch das Verfolgen sich aufteilenden Spurmarkierung wie sie bei Autobahnabfahrten zu finden sind.
Mit den aus der Spurverfolgung ermittelten Informationen könnte z.B. eine Spurverlassenswarnung oder auch eine autonome Spurführung realisiert werden.