Verbesserung von Computer-Vision-Anwendungen durch Visualisierungen

Nuvola Ladi

4 Minuten lesen

Mai 12, 2025

Lernen Sie, wie Sie mit dem Python-Paket Ultralytics Daten aus Computer-Vision-Anwendungen in leicht verständliche Grafiken umwandeln können, um bessere Einblicke zu erhalten.

Jede Minute werden riesige Datenmengen erzeugt, von Flughafenterminals und Bahnhöfen bis hin zu Einkaufszentren. Mit der zunehmenden Verbreitung von KI werden viele dieser Daten nun analysiert und aufgeschlüsselt. Doch manchmal machen es die Ergebnisse dieser KI-Modelle schwer, Muster zu erkennen oder Trends auf einen Blick zu verstehen. Hier hilft die Datenvisualisierung - sie verwandelt komplexe Ergebnisse in klare, leicht verdauliche Erkenntnisse.

Dies gilt insbesondere für Anwendungen der Computer Vision. Computer Vision ist ein Zweig der künstlichen Intelligenz (KI), der Maschinen hilft, visuelle Informationen aus der Umgebung, wie Bilder und Videos, zu interpretieren und zu verstehen. Während Vision-KI-Modelle wie Ultralytics YOLO11 bei der Analyse solcher visuellen Daten helfen können, um Informationen zu gewinnen, hilft die Datenvisualisierung dabei, diese Informationen in ein leicht verständliches Format zu bringen.

Einfach ausgedrückt: Datenvisualisierung überbrückt die Kluft zwischen Rohdaten und echtem Verständnis durch aussagekräftige analytische Diagramme. In der heutigen datengesteuerten Welt ist dies von entscheidender Bedeutung, denn es reicht nicht aus, dass Maschinen nur Aufgaben ausführen - sie müssen auch eine Geschichte erzählen.

Genau aus diesem Grund ist die Datenvisualisierung auf dem Vormarsch, und der Markt wird bis 2030 ein Volumen von 18,36 Milliarden US-Dollar erreichen. Zuvor haben wir uns damit beschäftigt, wie Computer Vision wertvolle Geschäftseinblicke liefern kann. Heute gehen wir noch einen Schritt weiter und zeigen Ihnen, wie Sie mit dem Ultralytics-Paket klare, aufschlussreiche Analysegrafiken für Computer-Vision-Anwendungen erstellen können. Fangen wir an!

Abb. 1. Ein Beispiel für die Visualisierung von Daten auf der Grundlage der Ergebnisse von YOLO11.

Ein Überblick über die Datenvisualisierung bei Computer-Vision-Anwendungen

Bei der Datenvisualisierung in Bildverarbeitungsanwendungen werden die Ergebnisse von Bildverarbeitungsaufgaben, wie z. B. Objekterkennung und -verfolgung, in leicht verständliche Diagramme oder Dashboards umgewandelt. Diese visuellen Darstellungen helfen, Muster und Trends zu erkennen, insbesondere bei der Arbeit mit großen Mengen an Videomaterial. 

Anstatt stundenlange Überwachungsvideos manuell auszuwerten, kann beispielsweise ein einfaches Liniendiagramm, das die Anzahl der erkannten Autos oder Personen im Zeitverlauf darstellt, schnell Spitzenzeiten oder ungewöhnlich ruhige Zeiten aufzeigen.

Hier sind einige wichtige Gründe, warum Datenvisualisierung nützlich ist:

  • Vereinfacht komplexe Daten: Tausende von Objekterkennungen können überwältigend sein, aber Visualisierungen wie Balken- oder Tortendiagramme erleichtern den Überblick, z. B. darüber, welche Objekte am häufigsten vorkommen.
  • Zeigt Trends auf: Mit Hilfe von Linien- und Balkendiagrammen lassen sich im Laufe der Zeit Muster erkennen, z. B. wann und wo der Fußgängerverkehr tendenziell zunimmt.
  • Spart Zeit: Anstatt jedes Einzelbild des Videos zu überprüfen, können Diagramme schnell wichtige Details hervorheben, z. B. plötzliche Spitzen in der Fahrzeugaktivität oder ungewöhnliche Objekte in Sperrzonen.
  • Verbessert die Kommunikation: Visuelle Darstellungen erleichtern die Weitergabe von Erkenntnissen an ein nicht-technisches Publikum und tragen dazu bei, dass alle Beteiligten die Ergebnisse besser verstehen.

Verschiedene Arten von Datenvisualisierungen

Verschiedene Arten von Analysediagrammen können die Ergebnisse der Computer Vision in klare, leicht verständliche Grafiken verwandeln. Nehmen wir an, Sie arbeiten an einer Bildverarbeitungsanwendung, die Personen und Fahrzeuge in Überwachungsbildern erkennt. In diesem Fall eignet sich ein Liniendiagramm hervorragend, um zu zeigen, wie sich die Anzahl der Erkennungen im Laufe der Zeit ändert, z. B. um Spitzen im Fußgängerverkehr im Laufe des Tages zu verfolgen.

Ebenso sind Balkendiagramme hilfreich, wenn Sie die Anzahl der verschiedenen erkannten Objekttypen vergleichen möchten, z. B. um zu sehen, ob mehr Autos, Fahrräder oder Fußgänger im Video vorkommen. Kuchendiagramme hingegen zeigen, welchen Anteil die einzelnen Objekttypen an der Gesamtzahl der Erkennungen haben. Jedes Diagramm hat seinen eigenen Nutzen und trägt dazu bei, dass komplexe Bildverarbeitungsdaten einfacher zu interpretieren und weiterzugeben sind.

Abb. 2. Beispiele für analytische Diagramme.

Erstellung von analytischen Diagrammen zur Gewinnung von Erkenntnissen aus der Computer Vision

Nachdem wir nun untersucht haben, was Datenvisualisierung ist und warum verschiedene Arten von analytischen Diagrammen wichtig sind, wollen wir uns genauer ansehen, wie Sie die Ultralytics Analytics-Lösung zur Visualisierung der Ergebnisse Ihrer Computer-Vision-Modellvorhersagen verwenden können. Bevor wir den Prozess Schritt für Schritt durchgehen, werfen wir einen Blick auf die Tools und Einrichtungsoptionen für das Training und die Verwendung des Ultralytics-Pakets und Modelle wie YOLO11. 

Das Ultralytics Python-Paket erleichtert das Trainieren von Modellen, die Erkennung von Objekten, die Durchführung von Vorhersagen und die Visualisierung der Ergebnisse. Um damit zu beginnen, benötigen Sie eine Programmierumgebung. Hier sind drei einfache Optionen:

  • Befehlszeilenschnittstelle (CLI): Es handelt sich um ein einfaches, rein textbasiertes Werkzeug, in das Sie Befehle eingeben können, um Ihren Code auszuführen. Es hat keine visuelle Schnittstelle, und Sie interagieren mit ihm, indem Sie Anweisungen in ein Terminal oder eine Eingabeaufforderung eingeben.
  • Jupyter-Notizbücher: Es handelt sich um eine interaktive Programmierumgebung, in der Sie kleine Codeabschnitte (so genannte "Zellen") nacheinander schreiben, ausführen und testen können. Die Ergebnisse werden direkt unter jeder Zelle angezeigt, sodass Sie Schritt für Schritt nachvollziehen können, was passiert. Es ist besonders nützlich zum Lernen und Experimentieren.
  • Google Colab: Diese Option ist eine kostenlose, cloudbasierte Version von Jupyter Notebooks, die in Ihrem Webbrowser läuft. Es erfordert keine Einrichtung auf Ihrem Computer und bietet Ihnen Zugang zu kostenlosen GPUs für eine schnellere Verarbeitung.

Diese Tools eignen sich hervorragend für den schnellen Einstieg, aber Benutzer können Ultralytics auch in integrierte Entwicklungsumgebungen (IDEs) wie Visual Studio Code (VS Code) oder in Produktionspipelines integrieren. Weitere Optionen finden Sie in der offiziellen Ultralytics-Dokumentation.

Schritt 1: Einrichten der Umgebung

Wenn Sie Ihre bevorzugte Umgebung ausgewählt haben, müssen Sie sie für die Durchführung von Vorhersagen und die Visualisierung der Ergebnisse einrichten. Sie können jede der oben genannten Umgebungen verwenden, je nachdem, womit Sie sich am wohlsten fühlen.

Wenn Sie in Google Colab arbeiten, denken Sie daran, dass es standardmäßig eine CPU verwendet, was die Leistung verlangsamen kann. Um die Dinge zu beschleunigen, wechseln Sie zu einem Grafikprozessor, indem Sie im Menü "Laufzeit" die Option "Laufzeittyp ändern" wählen und den Hardware-Beschleuniger auf Grafikprozessor (idealerweise einen T4) einstellen.

Um Ihre Umgebung vorzubereiten, müssen Sie das Ultralytics-Python-Paket mit dem unten genannten Befehl installieren. In notebookbasierten Tools wie Colab oder Jupyter müssen Sie dem Befehl ein Ausrufezeichen (!) voranstellen.

pip install ultralytics

Schritt 2: Herunterladen einer Videodatei

Als Nächstes brauchen wir ein Video, mit dem wir arbeiten können. Sie können es einfach von einer kostenlosen Website wie Pexels herunterladen. Achten Sie darauf, ein Video zu wählen, das Objekte enthält, die YOLO11 erkennen kann. Da das Modell mit dem COCO-Datensatz trainiert wurde, kann es gängige Objekte wie Menschen, Autos und Fahrräder erkennen. 

Für dieses Tutorial verwenden wir ein Video über die Gepäckabfertigung in einem geschäftigen Flughafenterminal. Sie können das gleiche Video verwenden oder ein anderes, das zu Ihrem Projekt passt, auswählen.

Abb. 3. Ein Bild aus dem Eingabevideo, das die Gepäckabfertigung in einem Flughafenterminal zeigt.

Schritt 3: Pakete importieren

Als Nächstes können wir die erforderlichen Bibliotheken importieren und das Eingangsvideo laden.

Wir beginnen mit dem Import von OpenCV (cv2), einer weit verbreiteten Bibliothek für die Arbeit mit Bildern und Videos in der Computer Vision. Außerdem importieren wir die Ultralytics-Bibliothek, die uns bei der Objekterkennung und der Erstellung von Analysen aus dem Video hilft.

Dann versuchen wir, die Videodatei zu öffnen, indem wir ihren Pfad angeben. Achten Sie darauf, "path/to/video.mp4" durch den tatsächlichen Speicherort Ihrer heruntergeladenen Videodatei zu ersetzen. 

Der unten stehende Codeausschnitt enthält außerdem eine einfache Überprüfung, um sicherzustellen, dass das Video korrekt geladen wird. Wenn der Pfad falsch ist oder die Datei beschädigt ist, hält das Programm an und zeigt eine Fehlermeldung an: "Fehler beim Lesen der Videodatei".

import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"

Schritt 4: Vorbereiten des Videoautors

Dann richten wir einen Video-Writer ein, um die Ausgabe zu speichern. Wenn wir die Analyse ausführen, erstellt dieser Teil des Codes eine neue Videodatei, die die aktualisierten Diagramme aufzeichnet, die aus jedem Frame des Originalvideos generiert wurden.

Im folgenden Codeschnipsel werden zunächst die wichtigsten Eigenschaften des Eingabevideos extrahiert - seine Breite, Höhe und Bilder pro Sekunde (fps). Diese Werte werden direkt aus dem Video entnommen und in Ganzzahlen umgewandelt, um sicherzustellen, dass sie das richtige Format für die Ausgabe haben.

Als Nächstes verwenden wir die Funktion cv2.VideoWriter, um eine neue Videodatei mit dem Namen "analytics_output.avi" zu erstellen (Sie können sie nach Bedarf umbenennen). Das Video wird im MJPG-Format gespeichert, einer gängigen Videokomprimierungsmethode. Die Ausgabeauflösung wird auf 1280×720 Pixel festgelegt, unabhängig von der Größe des Originalvideos.

w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
out = cv2.VideoWriter(
    "analytics_output.avi",
    cv2.VideoWriter_fourcc(*"MJPG"),
    fps,
    (1280, 720), 
)

Schritt 5: Einrichten der Ultralytics Analytics-Lösung

Nun werden wir die Ultralytics Analytics-Lösung so einrichten, dass sie aus dem Video Diagramme erstellt. Sie können wählen, wie die Daten angezeigt werden sollen, z. B. als Linien-, Torten-, Flächen- oder Balkendiagramm, und welches YOLO-Modell verwendet werden soll. In diesem Beispiel verwenden wir das leichtgewichtige Modell "yolo11n.pt" und zeigen die Ergebnisse als Flächendiagramm an.

analytics = solutions.Analytics(
    show=True, 
    analytics_type="area", 
    model="yolo11n.pt",   
)

Schritt 6: Verarbeitung des Eingangsvideos

Im letzten Teil des Codes wird eine Schleife ausgeführt, die das Video Bild für Bild verarbeitet. Jedes Bild wird an das Analysetool weitergeleitet, das das Diagramm in Echtzeit aktualisiert. Das aktualisierte Diagramm wird dann in das Ausgabevideo geschrieben. Wenn ein Bild nicht gelesen werden kann, wird die Schleife angehalten. Nachdem alle Bilder verarbeitet wurden, wird das Video gespeichert und alle offenen Fenster werden geschlossen.

frame_count = 0
while cap.isOpened():
    success, im0 = cap.read()
    if success:
        frame_count += 1
        results = analytics(im0, frame_count) 

        out.write(results.plot_im) 
    else:
        break
cap.release()
out.release()
cv2.destroyAllWindows()

Schritt 7: Alles zusammenfügen

Zum Schluss wollen wir alles zusammenfügen. Mit nur wenigen zusätzlichen Codezeilen können wir zwei Ausgabevideos erzeugen: eines mit den YOLO11-Objekterkennungsergebnissen mit Begrenzungsrahmen und Beschriftungen und ein weiteres mit den Echtzeit-Analysegraphen.

Dazu richten wir zwei VideoWriter-Instanzen ein - eine zum Speichern des Vorhersagevideos und eine weitere für die Analyse. Diese Version des Codes umfasst sowohl die Objektverfolgung als auch die Diagrammerstellung, sodass Sie neben den visuellen Erkenntnissen auch die Erkennungsergebnisse sehen können.

Hier finden Sie den umfassenden Code mit Beispielen für die Vorhersage und die Analyseergebnisse.

import cv2
from ultralytics import YOLO, solutions

# Load model and video
model = YOLO('yolo11n.pt')
cap = cv2.VideoCapture('path/to/video.mp4')
assert cap.isOpened(), "Error opening video"

# Get properties
w, h = int(cap.get(3)), int(cap.get(4))
fps = cap.get(5)
analytics_res = (1280, 720)

# Writers for prediction and analytics videos
out_pred = cv2.VideoWriter('output_predictions.avi', cv2.VideoWriter_fourcc(*'MJPG'), fps, (w, h))
out_ana = cv2.VideoWriter('output_analytics.avi', cv2.VideoWriter_fourcc(*'MJPG'), fps, analytics_res)

# Analytics setup
analytics = solutions.Analytics(show=True, analytics_type="area", model='yolo11n.pt')

# Process frames
frame_count = 0
while cap.isOpened():
    ret, frame = cap.read()
    if not ret:
        break

    frame_count += 1
    pred_frame = model.track(frame, persist=True)[0].plot()
    out_pred.write(pred_frame)

    resized = cv2.resize(pred_frame, analytics_res)
    out_ana.write(analytics(resized, frame_count).plot_im)

cap.release(), out_pred.release(), out_ana.release(), cv2.destroyAllWindows()

Wenn der obige Code erfolgreich ausgeführt wird, erzeugt er zwei Ausgabevideos. Die Datei "output_predictions.avi" zeigt die Ergebnisse der Objekterkennung mit Begrenzungsrahmen und Beschriftungen, während "output_analytics.avi" die Echtzeit-Analysegraphen auf der Grundlage der Erkennungen anzeigt.

Abb. 4. Ein Bild aus der Datei "output_predictions.avi".

Hier ist ein Bild aus der Analyseausgabe auf der Grundlage der Vorhersagen. Mithilfe des Flächendiagramms können wir Einblicke gewinnen, wie z. B. Schwankungen in der Anzahl der Koffer im Laufe der Zeit, wie z. B. eine Spitze um Bild 268, die auf eine Bewegung des Koffers oder Aktivität in diesem Teil des Videos hinweist.

Abb. 5. YOLO11-Vorhersagen, dargestellt als Flächendiagramm.

Verwendung von Diagrammen in realen Computer-Vision-Anwendungen

Im Folgenden finden Sie einige reale Computer-Vision-Anwendungen, bei denen die Datenvisualisierung eine wichtige Rolle spielt:

  • Gesundheitswesen: Bildverarbeitungssysteme können Patientenaktivitäten, Personalbewegungen und die Nutzung von Geräten in Echtzeit überwachen. Dadurch werden große Mengen visueller Daten erzeugt, die, wenn sie visualisiert werden, Muster offenbaren können - wie z. B. Spitzenzeiten bei der Patientenbelegung oder Reaktionsverzögerungen.
  • Einzelhandel und E-Commerce: Mit Vision AI lassen sich Kundenbewegungen, Verweildauer vor den Regalen und Produktinteraktionen verfolgen. Visuelle Analysen wie Balken- oder Tortendiagramme können aufzeigen, welche Ladenbereiche oder Artikel die meiste Aufmerksamkeit erhalten, und Einzelhändlern helfen, die Produktplatzierung zu optimieren und die Umsätze zu verbessern.
  • Fertigung: Mit Computer-Vision-Modellen ausgestattete Kameras können Montagelinien auf Defekte, Sicherheitsverstöße oder den Zustand der Ausrüstung überwachen. Die Datenvisualisierung kann Trends bei den häufigsten Fehlertypen aufzeigen oder Zeiträume mit den höchsten Fehlerquoten hervorheben, was eine schnellere Entscheidungsfindung und vorbeugende Wartung ermöglicht.

Die wichtigsten Erkenntnisse

Mit dem Ultralytics-Paket können Sie Videomaterial mühelos in klare, aufschlussreiche Diagramme umwandeln, die Aufschluss über das Geschehen geben, z. B. darüber, wie viele Personen oder Objekte im Laufe der Zeit erscheinen. Anstatt stundenlanges Videomaterial manuell auszuwerten, können Sie visuelle Zusammenfassungen erstellen, die wichtige Muster und Trends hervorheben und so ein schnelles Handeln erleichtern. Ganz gleich, ob in Krankenhäusern, Einzelhandelsgeschäften oder Produktionsstätten - diese Diagramme verwandeln komplexe KI-Ergebnisse in Erkenntnisse, die jeder verstehen und nutzen kann.

Möchten Sie mehr über KI erfahren? Erkunden Sie unser GitHub-Repository, tauschen Sie sich mit unserer Community aus, und informieren Sie sich über unsere Lizenzierungsoptionen, um Ihr Computer-Vision-Projekt zu starten. Erfahren Sie mehr über Innovationen wie KI in der Fertigung und Computer Vision in der Logistikbranche auf unseren Lösungsseiten.

Lassen Sie uns gemeinsam die Zukunft
der KI gestalten!

Beginnen Sie Ihre Reise in die Zukunft des maschinellen Lernens

Kostenloser Start
Link in die Zwischenablage kopiert