Echtzeit-Verkehrsschilderkennung über Desktop-Bildschirm – Verkehrsschilderkennung KI

Aus HSHL Mechatronik
Version vom 1. Dezember 2025, 15:50 Uhr von Adrian.klinspon@stud.hshl.de (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen
Autoren: Fabian Babik, Adrian Klinspon
Art: Projekt im Praxissemester
Dauer: 29.09.2025 bis 01.01.2026
Betreuer: Prof. Dr.-Ing. Schneider

Ziel des Tutorials

Diese Anleitung beschreibt, wie man die Desktop-Umgebung nutzt, um eine trainierte Verkehrsschilderkennung (KI) in Echtzeit zu testen. Anstatt mit einer Kamera nach draußen zu gehen, nutzen wir Bildschirminhalte (z. B. YouTube-Dashcam-Videos, Google Maps Fahrten oder Simulatoren wie Euro Truck Simulator 2) als Videoquelle für MATLAB.

Voraussetzungen

Bevor Sie starten, stellen Sie sicher, dass folgende Punkte erfüllt sind:

  • Software:
  • Dateien im Arbeitsverzeichnis:
    • Das Skript LiveDetection.m (siehe unten)
    • Die trainierte KI-Datei TrainedKI.mat

Schritt-für-Schritt Anleitung

Schritt 1: OBS Studio einrichten

Damit MATLAB den Bildschirminhalt als Kamera erkennt, muss eine "Virtuelle Kamera" eingerichtet werden.

  1. Öffnen Sie OBS Studio.
  2. Fügen Sie unter "Quellen" eine neue Quelle hinzu: Wählen Sie Bildschirmaufnahme oder Fensteraufnahme.
  3. Starten Sie im Browser ein Video oder ein Spiel.
  4. Klicken Sie in OBS unten rechts auf den Button "Virtuelle Kamera starten".
Einrichtung in OBS: Links das Quellvideo, rechts der Button "Virtuelle Kamera starten"

Schritt 2: MATLAB Skript ausführen

Der folgende Code verbindet MATLAB mit der virtuellen Kamera von OBS.

  1. Kopieren Sie den Code in ein neues Skript.
  2. Stellen Sie sicher, dass `TrainedKI.mat` im gleichen Ordner liegt.
  3. Starten Sie das Skript ("Run").
% =========================================================
% Tutorial: Desktop-Stream Analyse
% =========================================================

% --- 1. Verbindung zur virtuellen Kamera ---
if ~exist('cam', 'var')
    % Greift auf den Stream von OBS Studio zu
    cam = webcam('OBS Virtual Camera');
    disp('Kamera verbunden.');
end

% --- 2. KI-Modell laden ---
if ~exist('net', 'var')
    disp('Lade KI-Modell...');
    meineKI = load('TrainedKI.mat');
    net = meineKI.detector;
end

% --- 3. Aufnahme konfigurieren ---
videoName = 'LiveDetectionOutput.mp4';
video = VideoWriter(videoName,"MPEG-4");
video.FrameRate = 10; % Aufzeichnungsrate
open(video);

% --- 4. Live-Erkennung starten ---
counter = 0;
disp('Starte Erkennung... (Abbruch nach 61 Frames)');

while counter < 61
    % Snapshot vom Desktop/OBS holen
    img = snapshot(cam);

    % Detektion (Nur Ergebnisse > 40% Wahrscheinlichkeit)
    [bboxes, scores, labels] = detect(net, img, 'Threshold', 0.4);

    % Zeichnen der Boxen bei Fund
    if ~isempty(bboxes)
        img = insertObjectAnnotation(img, 'rectangle', bboxes, labels);
    end

    % Live-Anzeige und Speichern
    imshow(img);
    drawnow;
    writeVideo(video, img);
    
    counter = counter + 1;
end

% --- 5. Abschluss ---
close(video);
clear cam;
disp(['Fertig. Video gespeichert als: ' videoName]);
So sieht die erfolgreiche Live-Erkennung in MATLAB aus

Schritt 3: Ergebnisse auswerten

Sobald das Skript durchgelaufen ist (60 Frames):

  • Prüfen Sie das MATLAB-Fenster: Wurden die Schilder während des Durchlaufs markiert?
  • Öffnen Sie Ihren Projektordner. Dort finden Sie die Datei `LiveDetectionOutput.mp4`.
  • Spielen Sie das Video ab, um die Detektionsqualität zu analysieren oder zu präsentieren.
Die fertige Videodatei im Explorer

Tipps zur Fehlerbehebung

  • Fehler "Webcam not found": Stellen Sie sicher, dass Sie in OBS den Button "Virtuelle Kamera starten" gedrückt haben, bevor Sie MATLAB starten.
  • Keine Erkennung: Prüfen Sie, ob das Video auf dem Bildschirm groß genug ist. Die KI benötigt eine gewisse Pixelgröße der Schilder, um sie zu erkennen.

Siehe auch