In diesem Wikiartikel wird dargestellt, wie wir eine Inverse Perspektiventransformation (IPT) auf ein Bild und ein Video angewendet haben. Die angewendete IPT war eine sogenannte Bird's Eye View-Transformation. Diese Technik bietet eine unverzerrte Draufsicht, die die Erkennung und Verfolgung von Fahrspuren erheblich erleichtert, da die Linien parallel und gleichmäßig erscheinen.
Kalibrierung der Kamera
Für die Erstellung des kalibrierten Bildes wurden folgende von der App erstellten Parameter verwendet:
Tabelle 1: Erzeugte Parameter der Matlab Calibrator App
Parameter
Wert
FocalLength
[472.3687, 473.2485]
ImageSize
[478, 752]
RadialDistortion
[-0.3437, 0.1698, -0.0485]
TangentialDistortion
[0.0016, -0.0018]
PrincipalPoint
[386.103, 228.4705]
MeanReprojectionError
0.1542
Tabelle 2: Extrinsische Kameraparameter
Parameter
Wert
Kameraneigung
10°
Kamerahöhe über Boden
27,5cm
Fahrzeugfront bis Kamera
27cm
Fahrzeuglänge
41cm
Fahrzeugbreite
20cm
Inversen Perspektiventransformation
Beschreibung der MATLAB Funktion(en), Eingangs- und Ausgangsparameter
PAP
Programmablaufplan
Quelltext
startInversePerspektivenTransformation.m
%****************************************************************% Hochschule Hamm-Lippstadt *%****************************************************************% Modul : SDE-Praktikum *% *% Datum : 20.06.2024 *% *% Funktion : Inverse Perspektiventransformation *% *% Implementation : MATLAB 2023a *% *% Req. Toolbox : Image Processing Toolbox *% Computer Vision Toolbox *% Automated Driving Toolbox *% *% Author : Paul Janzen, Daniel Block *% *% Bemerkung : *% *% Letzte Änderung : 20.06.2024 *% *%***************************************************************/%% Matlab vorbereitenclearallcloseallclc%% Pfade einstellen und Parameter ladenaddpath'D:\SVN\SDE_Praktikum_trunk\_Semesterordner\SS2024\Team_1_Block_Janzen\Termin_9\Aufgabe_9_1'addpath'D:\SVN\SDE_Praktikum_trunk\_Semesterordner\SS2024\Team_1_Block_Janzen\Termin_9\Bilder'load('cameraParams.mat')%% Bild ladeninputImage=imread('Geradeaus.png');%inputImage = imread('Linkskurve.png');%% Einstellen der notwendigen Parameter% Intrinsischen ParameercamIntrinsics=cameraIntrinsics(cameraParams2.FocalLength,cameraParams2.PrincipalPoint,cameraParams2.ImageSize);% Extrinsischen Parameterheight=0.275;pitch=10;sensor=monoCamera(camIntrinsics,height,'Pitch',pitch);% Einstellen der SichtweitedistAhead=3;spaceToOneSide=0.8;bottomOffset=0.275;outView=[bottomOffset,distAhead,-spaceToOneSide,spaceToOneSide];% IPT am Bild anwenden outImageSize=[NaN,250];birdsEyeConfig=birdsEyeView(sensor,outView,outImageSize);outputImage=transformImage(birdsEyeConfig,inputImage);%% Darstellung des Bildes in BirdeyeViewfigureimshow(outputImage);title('Geradeaus in BirdeyeView')%% Video ladenvideo=VideoReader('GeradeInKurve.mp4');% Video Writer initialisierenoutputVideoFile='GeradeInKurve_IPT.mp4';% Speichername des Bearbeiteten Videos festlegenoutputVideo=VideoWriter(outputVideoFile,'MPEG-4');% Datentyp des Neuen Videos festlegenoutputVideo.FrameRate=video.FrameRate;% Festlegen der gleichen Bildrate wie das Originalvideoopen(outputVideo);% Frames extrahieren, bearbeiten und in das neue Video schreibenwhilehasFrame(video)frame=readFrame(video);% Einlesen der einzelnen Frames% Frame bearbeitenprocessedFrame=transformImage(birdsEyeConfig,frame);% Frame mit der IPT transformeierenprocessedFrame=rgb2gray(processedFrame);% Bild in ein Graubild umwandelnprocessedFrame=imbinarize(processedFrame);% Bild in ein Binärbild umwandeln% Bearbeitete Frames in das neue Video schreibenwriteVideo(outputVideo,im2uint8(processedFrame));end% Video Writer schließenclose(outputVideo);
Ergebnisse
Analyse
Tabelle 1: Problembeschreibung
Beschreibung
Das Problem ist..
Was genau ist das Problem?
Neben der Fahrbahn werden auch Störelemente aufgenommen
Wo tritt das Problem auf?
Die Kamera zeichnet die Störquellen mit auf
Wie zeigt sich das Problem?
Zusätzliche Kanten und Muster werden in den transformierten Bildern angezeigt
Wann tritt das Problem auf?
Bei jedem aufgenommenen Bild
Warum ist es ein Problem?
Bei der Weiterarbeitung und Verwendung kann dies zu Fehl Schlüssen führen
Tabelle 2: Ursachenanalyse
Nr.
Beschreibung
1
Licht Empfindlichkeit der Kamera ist zu hoch eingestellt
2
Ungünstiger Lichteinfall zur Bildaufnahme
3
Objekte neben der Fahrbahn
Tabelle 3: Maßnahmen zur Beseitigung der identifizierten Ursache(n)
Nr.
Maßnahme
Verantwortung
Termin
Status
1
Auseinandersetzen mit den Kamera Einstellungen
Block, Janzen
04.07.2024
2
Abdunkeln der Fenster
Block, Janzen
04.07.2024
3
Bewegliche Objekte aus der Kamerasicht entfernen. Nicht bewegliche Objekte abdecken
Block, Janzen
04.07.2024
Hinweis: Die Maßnahmen müssen nicht umgesetzt werden.