SoSe24 - Praktikum Systementwurf - Spurerkennung mit Kamera (Modul OSE): Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Zeile 151: Zeile 151:


'''Demo:''' https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/Software/Demos/Lane_Tracking
'''Demo:''' https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/Software/Demos/Lane_Tracking
'''Eingangsdaten:''' [[Datei:Spurkandidaten.zip]]  
 
'''Eingangsdaten:''' [[medium:Spurkandidaten.zip]]  


'''Arbeitsergebnis''': Spurpolynome für die Bildframes 40, 160 und 350, visuelle Überprüfung durch Einblendung in die Bilddateien <code>zeigeSpurpolynom.m</code>
'''Arbeitsergebnis''': Spurpolynome für die Bildframes 40, 160 und 350, visuelle Überprüfung durch Einblendung in die Bilddateien <code>zeigeSpurpolynom.m</code>

Version vom 18. Juni 2024, 08:48 Uhr

Abb. 1: Spurerkennung
Autor: Prof. Dr.-Ing. Schneider
Thema: Spurerkennung mit Kamera (OSE)
Workshoptermin 9: 20.06.2024
Lernzielkontrolle 3: 04.07.2024

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 fokussiert die Spurerkennung sowie die Bildung und des Spurpolynoms.

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.

Bewertung

Die Bewertung erfolgt im Rahmen der Lernzielkontrolle 3.

Voraussetzungen

  • Für den Workshop benötigen Sie MATLAB/Simulink in der Version 2019b.
  • Studieren Sie die Praktikumsordnung.
  • Die unter Vorbereitung aufgeführten Aufgaben sind vor dem Workshoptermin vorzubereiten. Der Workshop baut auf Ihre Vorbereitung auf.

Der Workshop setzt nachfolgende Kenntnisse voraus:

  • die Grundlagen der Programmierung,
  • der Umgang mit der Versionsverwaltung SVN und
  • der Umgang mit MATLAB/Simulink.
  • der Grundlagen der Digitalen Signal- und Bildverarbeitung:
    • Lektion 2: Koordinatentransformationen
    • Lektion 7: Kantenerkennung und Rauschunterdrückung
    • Lektion 8: Datengetriebene Segmentierung


Ablauf des Praktikums

Tabelle 1: Agenda des Workshops
Uhrzeit Agenda Form
8:15 Begrüßung Moderation durch Marc Ebmeyer
8:20 Bearbeitung der Aufgaben (vgl. Tabelle 2) Gruppenarbeit
10:10 Statusbericht der Teams max. 5 Min. pro Team
10:25 Verabschiedung Moderation durch Marc Ebmeyer
10:30 Uhr Veranstaltungsende

Vorbereitung

Aufgabe 9.1: Vorbereitung der Kamera

Abb. 2: MATLAB® Camera Calibrator App

Um eine Kamera sinnvoll zur Spurerkennung einsetzen zu können, muss diese zuvor kalibriert werden.

  1. Studieren Sie die zugehörigen Wiki-Artikel und arbeiten Sie sich in die Camera Calibrator App von MATLAB® ein.
  2. Messen Sie die extrinsische und intrinsische Parameter der Kameras von Wagen 1 und 2 mit der MATLAB® Camera Calibrator App.
  3. Identifizieren Sie extrinsische und intrinsische Parameter.
  4. Machen Sie ein Foto eines vermessenen Aufbaus.
  5. Transformieren Sie einen vermessenen Punkt von Weltkoordinaten in Bildkoordinaten.
  6. Machen Sie ein Foto mit der Kamera auf der Fahrbahn von der Startlinie aus (Geradeaus.jpg).
  7. Machen Sie ein Foto mit der Kamera auf der Fahrbahn von der ersten Kurve aus (Linkskurve.jpg).
  8. Entzerren Sie beide Fotos anhand Ihrer ermittelten k-Matrix mit dem MATLAB®-Skript entzerreVideobild.
  9. Dokumentieren Sie Ihren Versuchsaufbau, die Durchführung und Ergebnisse.

Arbeitsergebnisse:

  • Extrinsische Kameraparameter:
  • Intrinsische Kameraparameter: k-Matrix
  • Eingangsdaten: Geradeaus.jpg, Linkskurve.jpg
  • MATLAB®-Skript entzerreVideobild, welches anhand der intrinsischen Kameraparameter die Bildentzerrung durchführt.
  • Versuchsprotokoll Kamerakalibrierung.docx

Lernzielkontrollfragen:

  • Welche intrinsischen und extrinsischen Kameraparameter haben Wagen 1 und 2?
  • Welchen Region-of-Interest (ROI) haben die Kameras?
  • Wie ist der Zusammenhang zwischen Welt- und Bildkoordinaten?
  • Welchen Blindbereich in Fahrzeugkoordinaten haben Wagen 1 und 2 ()?

Links


Aufgabe 9.2: Segmentierung der Fahrbahnmarkierungen

Abb. 3: Geradeausfahrt (Frame 40)
Abb. 4: leichte Linkskurve (Frame 160)
Abb. 5: scharfe Linkskurve (Frame 350)
  1. Laden Sie das Bild Spurkandidaten_F040.png (vgl. Abb. 3).
  2. Segmentieren Sie aus dem Kantenbild die rechte Fahrbahnmarkierungen. Welche Algorithmen der Vorlesung "Digitale Signal und Bildverarbeitung" lassen sich anwenden?
  3. Zeigen Sie das Segment farbig im Bild an.
  4. Verifizieren Sie Ihren Segmentierungsalgorithmus mit den Bildern Spurkandidaten F160.png und Spurkandidaten F350.png.

Eingangsdateien:

Arbeitsergebnisse:

  • Segmentierung der X-Y-Daten der rechten Fahrspuren für die unterschiedlichen Eingangsdateien mit dem Skript segmentiereFahrbahnmarkierung.m.
  • Segmentmaske als Mat-Datei z. B.Spurkandidaten F040.mat.

Aufgabe 9.3: Spurpolynom

Abb. 7: Darstellung der Fahrspuren als Polynom
  1. Bestimmen Sie für die rechte Fahrbahnmarkierungen das Spurpolynome 2. Ordnung mit polyfit.
  2. Ersetzen Sie polyfit durch die einfache Polynomapproximation interpoliere_weg.m.
  3. Berechnen Sie aus dem Spurpolynom die rechte Fahrbahnmarkierungen.
  4. Blenden Sie die rechte Fahrbahnmarkierungen im Videobild für die Bildframes 40, 160 und 350 ein.

Demo: https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/Software/Demos/Lane_Tracking

Eingangsdaten: medium:Spurkandidaten.zip

Arbeitsergebnis: Spurpolynome für die Bildframes 40, 160 und 350, visuelle Überprüfung durch Einblendung in die Bilddateien zeigeSpurpolynom.m

Durchführung

Themen der Teams

Tabelle 2: Teameinteilung und Themen
# Thema Teilnehmer
1 9.4 Inverse Perspektiventransformation (IPT) Daniel Block, Paul Janzen
2 9.5 Segmentierung der Fahrbahnmarkierungen Dennis Fleer, Philipp Sander
3 9.6 Spurpolynom Yunkai Lin, Xiangyao Liu, Yuhan Pan

Aufgabe 9.4: Inverse Perspektiventransformation (IPT)

  1. Studieren Sie den Artikel zur Inversen Perspektiventransformation mit MATLAB®.
  2. Beschreiben Sie die Eingangsparameter. Nutzen Sie die Parameter von Gruppe 1.
  3. Beschreiben Sie die Ausgangsparameter.
  4. Wenden Sie die IPT auf das Video Rundkurs.mp4 an.
  5. Bewerten Sie Ihr Ergebnis und aktualisieren Sie ggf. den Wiki-Artikel.
  6. 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.5: Segmentierung der Fahrbahnmarkierungen

  1. Segmentieren Sie die Fahrspuren aus dem Video Spurerkennung_IPT.mp4.
  2. Segmentieren Sie aus dem Binärbild die rechte Fahrbahnmarkierungen
  3. Zeigen Sie dieses Segmente magentafarbend im Video an.

Eingangsdateien: Spurerkennung_IPT.mp4

Arbeitsergebnisse:

  • X-Y-Daten der drei Fahrspuren für jeden Zyklus des Films segmentiereFahrbahnmarkierung.m als Fahrbahnsegmente.mat

Aufgaben 9.6: Spurpolynom

  1. Bestimmen Sie für die drei Spuren die Spurpolynome 2. Ordnung mit interpoliere_weg.m.
  2. Berechnen Sie aus dem Spurpolynom die drei Fahrspuren metrisch im Fahrzeugkoordinatensystem.
  3. 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.)

Nützlicher Link


→ zurück zum Hauptartikel: Praktikum SDE | SDE-Team 2024/25