SoSe23 - Praktikum Systementwurf - Objekt- und Spurerkennung (OSE) mit Kamera
Autor: Prof. Dr.-Ing. Schneider
Workshop 9: Objekt- und Spurerkennung (OSE) mit Kamera
Workshoptermin: 01.06.2023
Lernzielkontrolle 3: 22.06.2023
Einleitung
Die Workshops im SDE Praktikum sollen die Studierenden das praktische Arbeiten in einem Mechatroniklabor im Bereich modellbasierte Entwicklung mit MATLAB/Simulink und DSpace Hardware DS1104/ControlDesk vermitteln. Der Umgang soll in der Selbstlernzeit geübt werden.
Im Projekt OSE werden Objekte mit dem LiDAR-Sensor erkannt und verarbeitet sowie die Fahrspur mit der Kamera. Dieser Workshop fikussiert die Spurerkennung sowie die Bildung und den Transfer des Spurpolynoms an die DS1104.
Lernziele
Nach erfolgreicher Teilnahme am Workshop:
- können Sie die intrinsischen und extrinsischen Parameter einer Kamera bestimmen.
- können Sie eine Inverse Perspektiventransformation durchführen.
- können Sie Fahrbahnmarkierungen segmentieren.
- können Sie das Spurpolynom maßstabsgetreu bestimmen.
- können Sie das Spurpolynom via serieller Schnittstelle an die DS1104 senden und empfangen.
Bewertung
Die Bewertung erfolgt im Rahmen der Lernzielkontrolle 3.
Voraussetzungen
- Studieren Sie die Praktikumsordnung.
- Die unter Vorbereitung aufgeführten Aufgaben sind vor dem Workshoptermin vorzubereiten. Der Workshop baut auf Ihre Vorbereitung auf.
Ablauf des Praktikums
Uhrzeit | Agenda | Form |
---|---|---|
10:15 | Begrüßung | Moderation durch Prof. Schneider |
10:20 | Bearbeitung der Aufgaben (vgl. Tabelle 2) | Gruppenarbeit |
12:00 | Statusbericht der Teams 1-6 | max. 4 Min. pro Team |
12:25 | Verabschiedung | Moderation durch Prof. Schneider |
12:30 Uhr | Veranstaltungsende |
Vorbereitung
Aufgabe 9.1: Vorbereitung der Kamera
Um eine Kamera sinnvoll zur Spurerkennung einsetzen zu können, muss diese zuvor kalibriert werden.
- Studieren Sie die zugehörigen Wiki-Artikel und arbeiten Sie sich in die Camera Calibrator App von MATLAB® ein.
- Führen Sie die Kamera-Kalibrierung mit MATLAB® durch. Verwenden Sie hierzu eigene Bilder einer eigenen Kamera (möglichst mit Weitwinkellinse).
- Identifizieren Sie extrinsische und intrinsische Parameter.
- Machen Sie ein Foto eines vermessenen Aufbaus.
- Transformieren Sie einen vermessenen Punkt von Weltkoordinaten in Bildkoordinaten und umgekehrt.
- Dokumentieren Sie Ihren Versuchsaufbau, die Durchführung und Ergebnisse.
Links
Arbeitsergebnisse:
- Extrinsische Kameraparameter:
- Intrinsische Kameraparameter: k-Matrix
- kalibrierte Kamerabilder
Aufgabe 9.2: Segmentierung der Fahrbahnmarkierungen
- Laden Sie das Video
Rundkurs_IPT.mp4
aus dem Videoordner. Machen Sie keine Kopie. - Segmentieren Sie aus dem Kantenbild die 3 Fahrbahnmarkierungen
- rechter Fahrbahnrand (Gelb)
- Mittelspur (Rot) und
- linker Fahrbahnrand (Grün).
- Zeigen Sie die Segmente farbig im Video an.
Eingangsdatei: SVN: Rundkurs_IPT.mp4
Arbeitsergebnis: X-Y-Daten der drei Fahrspuren für jeden Zyklus des Films segmentiereFahrbahnmarkierung.m
Aufgabe 9.3: Spurpolynom
- Bestimmen Sie für die drei Spuren die Spurpolynome 2. Ordnung mit
polyfit
. - Ersetzen Sie
polyfit
durch die einfache Polynomapproximationinterpoliere_weg.m
. - Berechnen Sie aus dem Spurpolynom die drei Fahrspuren.
- Blenden Sie die drei Fahrspuren im Videobild ein.
Demo: https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/Software/Demos/Lane_Tracking
Arbeitsergebnis: Spurpolynome für jeden Zyklus des Films, Visuelle Überprüfung durch Einblendung in das Video zeigeSpurpolynom.m
Durchführung
Themen der Teams
# | Thema | Teilnehmer |
---|---|---|
1 | 9.4 Kamerakalibrierung | Oliver Scholze, Niklas Reeker |
2 | 9.5 Inverse Perspektiventransformation (IPT) | Benjamin Dilly, Kevin Mudczinski |
3 | 9.6 Referenzwerte | Xiangyao Liu, Yuhan Pan |
4 | 9.7 Segmentierung der Fahrbahnmarkierungen | Johann Kismann, Dominik König |
5 | 9.8 Spurpolynom | Louis Holtapel, Can Nen |
6 | 9.9 Spurparameter (Empfangsseite) | David Weigt, Yunkai Lin |
Aufgabe 9.4: Kamerakalibrierung
- Messen Sie die extrinsische und intrinsische Parameter der Kamera mit der MATLAB® Camera Calibrator App.
- Machen Sie eine Aufzeichnung mit der Kamera von der Geraden bis in die erste Kurve. Steuern Sie den Wagen mit der Fernbedienung.
- Geben Sie die validierten Parameter und das aufgezeichnete Video
Spurerkennung.mp4
an Gruppe 2 weiter. - Vergleichen Sie Ihr Ergebnis mit der Dokumentation im HSHL-Wiki.
- Stellen Sie Ihre extrinsische und intrinsische Parameter vor und diskutieren Sie diese.
- Bewerten und verbessern Sie den Wiki-Artikels zur Kalibrierung der Kamera.
Arbeitsergebnisse:
- Versuchsprotokoll
Kamerakalibrierung.docx
- Extrinsische und intrinsische Kameraparameter
- Video mit kalibrierter Kamera:
Spurerkennung.mp4
- Wiki Artikel für die Kalibrierung extrinsischer und intrinsischer Kameraparameter
Aufgabe 9.5: Inverse Perspektiventransformation (IPT)
- Studieren Sie den Artikel zur Inversen Perspektiventransformation mit MATLAB®.
- Beschreiben Sie die Eingangsparameter. Nutzen Sie die Parameter von Gruppe 1.
- Beschreiben Sie die Ausgangsparameter.
- Wenden Sie die IPT auf das Video
Rundkurs.mp4
an. - Bewerten Sie Ihr Ergebnis und aktualisieren Sie ggf. den Wiki-Artikel.
- Konvertieren Sie mittels IPT das Video
Spurerkennung.mpg
.
Eingangsdateien: SVN: Rundkurs.mp4, Spurerkennung.mp4
Arbeitsergebnisse:
- Versuchsprotokoll
InversePerspektiventransformation.docx
- Transformiertes Video
Spurerkennung_IPT.mp4
- Dokumentation im Wiki (Verlinken Sie hier Ihr Ergebnis.)
Aufgaben 9.6: Referenzmessung
- Bestimmen Sie die realen Spurparameter a, b, c für die Gerade.
- Bestimmen Sie die realen Spurparameter a, b, c für die erste Linkskurve.
Arbeitsergebnisse:
- Versuchsprotokoll
Referenzmessung.docx
- m-File zur Darstellung der Ergebnisse
- Ergebnisdatei
Referenzmessung.mat
- Dokumentation im Wiki: Praktikum Systementwurf : Referenzmessung für das Spurpolynom
Aufgaben 9.7: Segmentierung der Fahrbahnmarkierungen
- Segmentieren Sie die Fahrspuren aus dem Video
Spurerkennung_IPT.mp4
. - Segmentieren Sie aus dem Kantenbild die 3 Fahrbahnmarkierungen
- rechter Fahrbahnrand (Gelb)
- Mittelspur (Rot) und
- linker Fahrbahnrand (Grün).
- Zeigen Sie die Segmente farbig im Video an.
Eingangsdateien: Spurerkennung_IPT.mp4
Arbeitsergebnisse:
- Versuchsprotokoll
Segmentierung_der_Fahrbahnmarkierungen.docx
- X-Y-Daten der drei Fahrspuren für jeden Zyklus des Films
segmentiereFahrbahnmarkierung.m
alsFahrbahnsegmente.mat
Aufgaben 9.8: Spurpolynom
- Bestimmen Sie für die drei Spuren die Spurpolynome 2. Ordnung mit
interpoliere_weg.m
. - Berechnen Sie aus dem Spurpolynom die drei Fahrspuren metrisch im Fahrzeugkoordinatensystem.
- Blenden Sie die drei Fahrspuren im Videobild ein.
Eingangsdateien: Spurerkennung_IPT.mp4
Arbeitsergebnisse:
- Spurpolynome für jeden Zyklus des Films, Visuelle Überprüfung durch Einblendung in das Video
zeigeSpurpolynom.m
- Versuchsprotokoll
Spurpolynom.docx
- Spurpolynom als
Spurpolynom.mat
- Dokumentation im Wiki (Verlinken Sie hier Ihr Ergebnis.)
Aufgaben 9.9: Spurparameter (Sende-/Empfangsseite)
- Nutzen Sie die Spurerkennung auf dem Fahrzeug. Betrachten Sie die Gerade und die erste Kurve.
- Vergleichen Sie die Spurparameter der Sendeseite mit der Referenz
Referenzmessung.docx
. - Vergleichen Sie die Spurparameter der Empfangsseite mit der Referenz
Referenzmessung.docx
. - Analysieren Sie ggf. Abweichungen und korrigieren Sie diese.
Arbeitsergebnisse:
- Versuchsprotokoll
Validierung_der_Spurparameter.docx
- Dokumentation im Wiki
Nützlicher Link
- Allgemeine Anforderungen an ein Versuchsprotokoll
- MATLAB®-Skript, welches die Messung in eine Auswertedatei umwandelt: funktion_wandle_dspacemess_in_CCF_mess.m
→ zurück zum Hauptartikel: Praktikum SDE | SDE-Team 2023/24