SoSe24 - Praktikum Systementwurf - Spurpolynom
Autoren: | Yuhan Pan, Xiangyao Liu, Yunkai Lin |
Thema: | Spurpolynom |
Workshoptermin 9: | 20.06.2024 |
Lernzielkontrolle 3: | 04.07.2024 |
Einleitung
In diesem Workshop lernen Sie, wie Bilddaten von Fahrzeugkameras verarbeitet werden, um Fahrspuren zu erkennen und zu analysieren. Der Fokus liegt auf der Transformation von Bildkoordinaten in Fahrzeugkoordinaten und der Erstellung von Polynomen zur Darstellung der Fahrspur. Zudem wird die Berücksichtigung des Blindbereichs und die Ermittlung der Mittellinie für die Querregelung behandelt.
Spurpolynom
In diesem Abschnitt werden die grundlegenden Konzepte und Techniken zur Ermittlung von Spurpolynomen erläutert. Dies umfasst die Theorie der Polynombildung, die Transformation von Bild- zu Fahrzeugkoordinaten, die Berücksichtigung des Blindbereichs sowie die Ermittlung des Spurpolynoms für die Querregelung.
Beschreibung die Theorie der Polynombildung
Die Polynombildung ist ein Verfahren zur Annäherung oder Interpolation von Datenpunkten durch ein Polynom. Ein Polynom n-ten Grades hat die Form: Die Koeffizienten werden so bestimmt, dass die Summe der quadrierten Abweichungen minimiert wird (Methode der kleinsten Quadrate). Im diese Workshop wurden Spurpolynom in Form: zeigen. Man kann durch den Segmentierung der Spurpolynom von Video der Queranzahl x und y festlegen, und durch den Queranzahl y und x den Spurparameter a, b und c berechnen.
Beschreiben Sie die KOS-Trafo Bild- zu Fahrzeugkoordinaten
Die KOS-Transformation wandelt Bildkoordinaten (u, v) in Fahrzeugkoordinaten (X, Y, Z) um. Zuerst werden Bildkoordinaten in Kamerakoordinaten umgerechnet, dann werden diese in Fahrzeugkoordinaten transformiert unter Berücksichtigung der Kameraposition und -neigung.
Berücksichtigung des Blindbereichs
Der Blindbereich umfasst Bereiche, die von der Kamera nicht erfasst werden können. Um den Blindbereich zu berücksichtigen, werden nur sichtbare Bereiche des Bildes in die Fahrzeugkoordinaten transformiert und weiterverarbeitet, indem sie geometrisch berechnet und maskiert werden.
Wie wird das Spurpolynom für die Querregelung aus den Spurpolynomen der Fahrbahnmarkierungen ermittelt?
Das Spurpolynom für die Querregelung wird aus den Spurpolynomen der linken und rechten Fahrbahnmarkierungen berechnet. Die Mittellinie der Fahrspur wird als Mittelwert der Positionen der linken und rechten Fahrbahnmarkierungen bestimmt und anschließend durch ein Polynom approximiert, das geglättet wird, um eine stabile Querregelung zu ermöglichen.
PAP
PAP Ihrer Lösung
Programmablaufplan |
PAP Ihrer Lösung |
Quelltext
zeigeSpurpolynom.m | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<source line lang="matlab" style="font-size:medium">
%**************************************************************** % Hochschule Hamm-Lippstadt * %**************************************************************** % Modul : SDE-Praktikum * % * % Datum : 20.06.2024 * % * % Funktion : zeigeSpurpolynom * % * % Implementation : MATLAB 2024a * % * % Req. Toolbox : - * % * % Author : Yuhan Pan,Xiangyao Liu,Yuhnkai Lin * % * % Bemerkung : * % * % Letzte Änderung : 03.07.2024 * % * %***************************************************************/ %% MATLAB initialisieren clear all; close all % cell-array mit Fahrbahnmarkierungen laden load('GeradeInKurve_Segmente.mat') [~,nMaxBilder]=size(Fahrbahnmarkierung) %% Video laden stDateiname = 'GeradeInKurve_IPT.mp4'; hVideo = VideoReader(stDateiname); for nBild=1:nMaxBilder % Schleife über alle Frames aFrame = readFrame(hVideo); % Bild laden %% Fahrspurmasken auslesen Fahrbahn=Fahrbahnmarkierung{nBild}; aLinkeFahrspur = Fahrbahn(:,:,1); aMittelFahrspur = Fahrbahn(:,:,2); aRechteFahrspur = Fahrbahn(:,:,3); %% Fahrspuren einf?rben % Farbkan?le trennen R = aFrame(:,:,1); G = aFrame(:,:,2); B = aFrame(:,:,3); % Grün R(aLinkeFahrspur) = 0; B(aLinkeFahrspur) = 0; % Rot G(aMittelFahrspur) = 0; B(aMittelFahrspur) = 0; % Gelb B(aRechteFahrspur) = 0; aRGBBild = cat(3, R, G, B); % Bild zusammenfassungen %% Spurpolynom zwischen roten und gelben Fahrspuren berechnen und darstellen [yMittel, xMittel] = find(aMittelFahrspur); [yRechts, xRechts] = find(aRechteFahrspur); if ~isempty(yMittel) && ~isempty(yRechts) % Mittlere y-Koordinate als gemeinsame Basis verwenden yGemeinsam = unique([yMittel; yRechts]); % Polynom zwischen mittleren und rechten Fahrspuren anpassen pMittel = polyfit(yMittel, xMittel, 2); pRechts = polyfit(yRechts, xRechts, 2); xMittelPoly = polyval(pMittel, yGemeinsam); xRechtsPoly = polyval(pRechts, yGemeinsam); % Mittelwert der x-Koordinaten als Spurpolynom berechnen xSpurneu = (xMittelPoly + xRechtsPoly) / 2; end %% Bild anzeigen imshow(aRGBBild) title(['Frame: ', num2str(nBild), ' / ', num2str(nMaxBilder)]); hold on; if exist('xSpurneu','var') h3 = plot(xSpurneu,yGemeinsam, 'w-', 'Linewidth', 2); end %% Legend hinzufuegen h1 = plot(NaN, NaN, 'r-', 'LineWidth', 2); % Dummy plot for red legend h2 = plot(NaN, NaN, 'y-', 'LineWidth', 2); % Dummy plot for yellow legend legend([h1 h2 h3], {'Mittelspur', 'Rechtspur', 'Neuespur'}); hold off; pause(0.01); % Kurze Pause, um das Bild anzuzeigen end ErgebnisseLink zu den Video:
Analyse
Hinweis: Die Maßnahmen müssen nicht umgesetzt werden. Zusammenfassung
Beantwortung der LernzielkontrollfragenWie lassen sich die Spurpolynome für die 3 Segmente bestimmen?Die Spurpolynome werden durch Extrahieren der Fahrspurpunkte und Anwenden der Methode der kleinsten Quadrate bestimmt. Welche Vor- und Nachteile hat die Polynombildung?Vorteile:Einfache Implementierung Flexibilität bei Kurvenformen Es ist möglich, die Krümmung des Spur zu visualisieren, um Querreglung zu funktionieren. Dadurch kann es dazu führen, welche Bahn das Auto fahren würde (Istgröße) und welche Bahn das Auto fahren soll (Sollgröße) Nachteile:Oszillationen bei höhergradigen Polynomen Überanpassung Numerische Instabilität Wie könnten die Nachteile behandelt werden?Verwendung niedrigerer Polynome Einsatz von Spline-Interpolation Anwendung von Glättungstechniken Wie lauten die Umrechnungsfaktoren Pixel in m in xF- und yF-Richtung?xF-Richtung: (2 * (Kamerahöhe + Abstand zur Fahrzeugfront) * tan(Kameraneigung)) / Bildhöhe in Pixel yF-Richtung: Fahrzeugbreite / Bildbreite in Pixel Wie wird der Blindbereich vorm Fahrzeug berücksichtigt?Nur die sichtbaren Bereiche des Bildes werden transformiert und weiterverarbeitet. Wie wird das Spurpolynom für die Querregelung aus den Spurpolynomen der Fahrbahnmarkierungen ermittelt?Die Mittellinie wird als Mittelwert der Positionen der linken und rechten Fahrbahnmarkierungen bestimmt und durch ein Polynom approximiert. → zurück zum Hauptartikel: Praktikum SDE | SDE-Team 2024/25 | Lernzielkontrolle 3 |