Spurerkennung mit Kamera und MATLAB: Unterschied zwischen den Versionen
(→Inverse Perspektiventransformation (IPT): Einleitung) |
(→Eingangsparameter: Eingangsparameter Aktualisierung) |
||
Zeile 57: | Zeile 57: | ||
=== Eingangsparameter === | === Eingangsparameter === | ||
[https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/Daten/Vision/: Videodatei] | |||
[https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/Software/OSE_Draufsicht_Spurpolynom_RS232/Kalibrierung_intrinsisch/: Intrinsische Kamera Parameter] | |||
* calibrationSession.CameraParameters.FocalLength | * calibrationSession.CameraParameters.FocalLength | ||
* calibrationSession.CameraParameters.PrincipalPoint | * calibrationSession.CameraParameters.PrincipalPoint | ||
* calibrationSession.CameraParameters.ImageSize | * calibrationSession.CameraParameters.ImageSize | ||
* Höhe der Kamera vom Boden „height= | |||
Positionierung Kamera | |||
* Höhe der Kamera vom Boden „height=300“ | |||
* Neigungswinkel „pitch = 10“ | * Neigungswinkel „pitch = 10“ | ||
Blickwinkeleinstellung | |||
* distAhead = 4000 | |||
* spaceToOneSide = 800 | |||
* bottomOffset = 150 | |||
=== Ausgangsparameter === | === Ausgangsparameter === |
Version vom 19. Mai 2022, 10:25 Uhr
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
Positionierung Kamera
- Höhe der Kamera vom Boden „height=300“
- Neigungswinkel „pitch = 10“
Blickwinkeleinstellung
- distAhead = 4000
- spaceToOneSide = 800
- bottomOffset = 150
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: