Unser FSG-Team erklärt die Bildverarbeitung

Autonome Streckenerkennung

Unser VDI-Team für die Formula Student Germany berichtet über ihre Vorbereitungen. Über die Fertigung und Montage eines Rennwagens haben sie uns schon aufgeklärt. Heute erklären uns Annemike und Manuel, wie die Bildverarbeitung bei autonomen Systemen funktioniert:

Alle Aufgaben, die normalerweise ein Fahrer ausführt, übernimmt in unserem selbstfahrenden Auto ein autonomes System. Seine Hauptaufgabe: Die Fahrbahn erkennen, um das Fahrzeug optimal fahren zu lassen. Am einfachsten geht das, wenn die Fahrbahn eindeutig markiert ist – sowohl durch Hütchen als auch durch Begrenzungslinien. Wir nutzen zur Fahrbahnerkennung Stereokameras. Sie sind in ihrem Funktionsprinzip mit der optischen und räumlichen Wahrnehmung des Menschen vergleichbar.

Es gibt verschiedene Herangehensweisen, um die Strecke zu erkennen. Eine davon ist die klassische Bildverarbeitung, welche die drei folgenden Schritte ausführt: Hütchen erkennen, Markierungslinien auf der linken und rechten Seite registrieren und schließlich die Fusion der so gewonnenen Daten.

Bild: TU Darmstadt Racing Teamfsg_automome-bildverarbeitung1

Ein Bild mit Tiefeninformationen (aufgenommen mit der Stereo Labs ZED Kamera).

Bild: TU Darmstadt Racing Teamfsg_automome-bildverarbeitung2

Das entsprechende Bild in „normaler“ Version

 

 

 

Die andere Herangehensweise beinhaltet ein „neuronales Netzwerk“ (gemeint ist eine Software, welche in der Lage ist Muster und Verhaltensweisen zu erlernen). Wir bringen dem Netzwerk bei, wie ein Formula Student Track aufgebaut ist und dieses liefert dann ein annotiertes Bild, in welchem die Strecke als „fahrbarer Untergrund“ markiert ist. Hierfür werden jedoch viele Trainingsbeispiele benötigt. Daher nutzen wir das neuronale Netzwerk auch als Annotierungswerkzeug, um der klassischen Herangehensweise annotierte Bilder zur Verfügung zu stellen. Trotzdem ist händische Annotation der Bilder (was sehr zeitaufwändig ist) immer noch notwendig. Leider stellt das neuronale Netz auch ein großes Risiko dar, da es schwer ist abzuschätzen, wie viele Aufnahmen es braucht, um ausreichend trainiert zu sein.

Bei der klassischen Herangehensweise versuchen wir ausschließlich nicht lern-basierte Techniken zu nutzen, da wir auch diese Herangehensweise als Annotierungs-Werkzeug (welches mit höherer Sicherheit richtig liegt) nutzen wollen. Es ist unerlässlich sich auf diese Weise einen eigenen Datensatz aufzubauen. Dies ist notwendig, da keine öffentlichen Datensätze verfügbar sind, welche den Anforderungen der Formula Student gerecht werden.

Die Erkennung der Hütchen kann als Erkennung von Texturlosen Objekten klassifiziert werden. Die Lösung ist Template-Matching. Template Matching funktioniert wie ein Schablonenabgleich. Man hat eine definierte Form und versucht diese Form in dem vorliegenden Bild wiederzufinden. Dafür identifiziert unsere Software zunächst die interessanten Regionen indem ein Threshold (Transformation auf Schwarz-Weiß) über das Bild gelegt wird. Anschließend wird Template Matching in den als interessant befundenen Regionen angewendet. Durch den Threshold wird das Template Matching vereinfacht und beschleunigt.

Die Erkennung der Demarkierungslinien kann als ähnliches Problem, wie die Fahrstreifenerkennung im Straßenverkehr angesehen werden. Alle möglichen Herangehensweisen haben gemeinsam, dass im ersten Schritt ein Gradient oder eine Kante aus dem vorliegenden Bild extrahiert wird. Wir haben uns bei diesem Schritt für die Anwendung eines Sobel Filters entschieden. Die zweite Stufe ist, das Bild in zwei Bereiche zu unterteilen, einen Vordergrund und einen Hintergrund. In dem Vordergrund des Bildes können wir annehmen, dass die Markierungslinien annährend gerade verlaufen. Daher können diese mit einer Hough-Transformation recht leicht erkannt werden. Im Hintergrund können verschiedene Ausprägungen von Kurven vorliegen, weshalb hier eine Hough-Transformation nicht mehr ausreichend ist. Daher nutzen wir einen iterativen Prozess um weit entfernte Linien zu erkennen.

Beide Features werden fusioniert. Wenn ein Punkt sowohl von der Hütchen Erkennung, als auch von der Fahrbahnlinienerkennung als „Fahrbahn“ klassifiziert wird, nehmen wir an, dass dieser auch wirklich zur Fahrbahn gehört. Danach kann auf beide Seiten der Fahrbahn ein parametrisches Modell, zum Beispiel eine kubische oder Bezier Spline Interpolation auf diese Punkte angewendet wird. Die so bestimmten Splines beschreiben die Strecke annährend perfekt.

Damit kennt das autonome System nun den Bereich der Rennstrecke, welchen es nutzen darf. An dieser Stelle greift die Trajektorien Planung und die Regelung ein, welche das Auto dann auch auf der Fahrbahn hält.

Bild: TU Darmstadt Racing Teamannemike-unterschuetzAutor: Annemike Unterschütz
Aufgaben im DART-Team: Fahrzeugverantwortung
Sensorik & Informatik
Studiert: Informatik

 

 

Bild: TU Darmstadt Racing Teammanuel-volkAutor: Manuel Volk
Aufgaben im DART-Team: Bildverarbeitung
Studiert: Autonome Systeme

 

Kommentare & Pingbacks

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*