Spurerkennung mit Kamera und MATLAB

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen

Autor: Prof. Dr.-Ing. Schneider, SDE-Team 2022/23

Neue Seite zum Workshop vom 17.05.2022

Im Workshop 7 Spurerkennung (OSE) mit Kamera wurde in nachfolgenden Schritten vorgegangen, die durch die Zweierteams im Nachgang dokumentiert und geprüft werden.

Aufgaben

  • Dokumentieren Sie den Workshop so, dass der rote Faden sichtbar ist.
  • Die Lösung muss nachvollziehbar sein.
  • Dokumentieren Sie Lösungsweg, Lösung und Ergebnisse.
  • Diskutieren Sie die Ergebnisse wissenschaftlich.
  • Nutzen Sie Unterartikel, falls dies der Übersicht dient.
  • Beachten Sie den Artikel Wiki-Artikel_schreiben.
  • Achten Sie beim Review auf Inhalt, Lesbarkeit, Orthographie und Nachhaltigkeit.
  • Arbeiten sie die Review-Ergebnisse nach Absprache ein.


# Aufgabe Team
1 Kalibrierung der Kamera Dong, Gosedopp
2 Bedeutung der Kalibrierparameter Chen, Grünebaum
3 Test der Transformation (KOS-Trafo + Perspektive) - Welt zu Bild und Bild zu Welt Kühnrich, Hernandez Murga
4 Inverse Perspektiventransformation (IPT) Hoppe, Pu
5 Metrischer Test mit Gliedermaßstab (oder Kacheln) Schonlau, Wei
6 Segmentierung der Spuren aus den Bildern (Edge Linking, oder Linien im ROI) Brinkmann, Xia
7 Parameterschätzung des Spurpolynoms Koch, Bao
8 Review der Artikel 1-4 Müller, Wang
9 Review der Artikel 5-7 Kalamani, Schmidt

Voraussetzungen

Kalibrierung der Kamera

Autor:

Bedeutung der Kalibrierparameter

Autor:

Test der Transformation (KOS-Trafo + Perspektive) - Welt zu Bild und Bild zu Welt

Autor:

Inverse Perspektiventransformation (IPT)

Autor: Pu, Hoppe

In diesem Abschnitt wird die Umwandlung einer Videodatei in die Vogelperspektive erläutert. Für die Transformation eines Videos in die Vogelperspektive wird die Inverse Perspektiventransformation Funktion "birdsEyeView" von Matlab Verwendet.

Eingangsparameter

  • calibrationSession.CameraParameters.FocalLength
  • calibrationSession.CameraParameters.PrincipalPoint
  • calibrationSession.CameraParameters.ImageSize
  • Höhe der Kamera vom Boden „height=10“
  • Neigungswinkel „pitch = 10“

Ausgangsparameter

Anwendung auf die Videodatei

Metrischer Test mit Gliedermaßstab (oder Kacheln)

Autor:

Segmentierung der Spuren aus den Bildern (Edge Linking, oder Linien im ROI)

Autor: Jiaxiang Xia, Florian Brinkmann
Damit die Fahrbahnmarkierungen korrekt aus dem Bild segmentiert werden können, ist es hilfreich, wenn in dem verwendeten (perspektivtransformierten) Kamerabild keine Bauteile des Fahrzeugs zu sehen sind. Falls noch Elemente des Fahrzeugs im Bild vorhanden sind, sollten diese maskiert und mit schwarz überschrieben werden. Das hier verwendete Beispielvideo aus der Vogelperspektive (Revision 7472) ist bereits so aufbereitet, dass keine Bauteile des Fahrzeugs bei der Segmentierung der Fahrbahnmarkierung stören könnten.

Prinzipiell gibt es verschiedene Möglichkeiten die drei Fahrbahnmarkierungen zu segmentieren. Entweder man "erkennt" alle drei Markierungen aus dem Kamerabild oder es wird nur eine Fahrbahnmarkierung "erkannt". Von dieser Markierung aus können dann bei einer festen Fahrbahnbreite alle anderen Markierungen berechnet werden. Zur Segmentierung der Fahrbahnmarkierungen aus dem perspektivtransformierten Kamerabild gibt es verschiedene Ansätze, die nachfolgend erläutert werden sollen.

Ansatz 1: Spurverfolgung

Ansatz 2: Kantenerkennung

Ansatz 3: MATLAB Automated Driving Toolbox

Eine weitere Möglichkeit zur Spurerkennung ist die Verwendung von MATLAB-Funktionen aus der MATLAB Automated Driving Toolbox. Eine schöne Einführung in die Thematik bietet die Dokumentation der Funktion segmentLaneMarkerRidge [1]

Hinweis: Die Dokumentation verwendet den Befehl im2gray. Dieser ist allerdings erst ab der MATLAB R2020b verfügbar. In vorherigen Versionen kann ein RGB-Bild mit der Funktion rgb2gray in ein Grauwertbild umgewandelt werden.

Parameterschätzung des Spurpolynoms

Autor:

Literatur