Lerne, wie du mit demPython Ultralytics Daten aus Computer-Vision-Anwendungen in leicht verständliche Diagramme umwandeln kannst, um bessere Einblicke zu erhalten.
Jede Minute werden riesige Datenmengen erzeugt, von Flughafenterminals über Bahnhöfe bis hin zu Einkaufszentren. Mit der zunehmenden Verbreitung von KI werden viele dieser Daten jetzt analysiert und aufgeschlüsselt. Aber 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 zu verstehende Erkenntnisse.
Das gilt besonders, wenn es um Computer Vision Anwendungen geht. Computer Vision ist ein Teilgebiet der künstlichen Intelligenz (KI), das Maschinen dabei hilft, visuelle Informationen aus der Umgebung, wie Bilder und Videos, zu interpretieren und zu verstehen. Während Vision-KI-Modelle, wie Ultralytics YOLO11dabei helfen, solche visuellen Daten zu analysieren und 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, indem sie aussagekräftige analytische Diagramme verwendet. 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.
Das Bedürfnis nach Storytelling ist genau der Grund, warum die Datenvisualisierung auf dem Vormarsch ist: Der Markt wird bis 2030 ein Volumen von 18,36 Milliarden Dollar erreichen. Bisher haben wir uns damit beschäftigt, wie Computer Vision wertvolle Geschäftseinblicke liefern kann. Heute gehen wir einen Schritt weiter und zeigen dir, wie du mit dem Ultralytics klare, aufschlussreiche Analysegrafiken für Computer-Vision-Anwendungen erstellen kannst. Legen wir los!
Bei der Datenvisualisierung in Computer-Vision-Anwendungen werden die Ergebnisse von Computer-Vision-Aufgaben, wie z. B. Objekterkennung und -verfolgung, in leicht verständliche Diagramme oder Dashboards umgewandelt. Diese Darstellungen helfen dabei, Muster und Trends zu erkennen, vor allem bei der Arbeit mit großen Mengen an Videomaterial.
Anstatt stundenlange Überwachungsvideos manuell auszuwerten, kann zum Beispiel ein einfaches Liniendiagramm, das die Anzahl der erkannten Autos oder Personen im Laufe der Zeit zeigt, schnell Spitzenzeiten oder ungewöhnlich ruhige Zeiten aufzeigen.
Hier sind einige wichtige Gründe, warum Datenvisualisierung nützlich ist:
Verschiedene Arten von analytischen Diagrammen können die Ergebnisse der Computer Vision in klare, leicht verständliche Grafiken verwandeln. Nehmen wir an, du arbeitest an einer Bildverarbeitungsanwendung, die Personen und Fahrzeuge in Überwachungsbildern erkennt. In diesem Fall eignet sich ein Liniendiagramm sehr gut, um zu zeigen, wie sich die Anzahl der Erkennungen im Laufe der Zeit verändert, z. B. um die Spitzen des Fußgängerverkehrs über den Tag hinweg zu verfolgen.
Ebenso sind Balkendiagramme hilfreich, wenn du die Anzahl der verschiedenen erkannten Objekttypen vergleichen willst, z. B. ob mehr Autos, Fahrräder oder Fußgänger im Video auftauchen. Tortendiagramme hingegen zeigen, wie viel Prozent der einzelnen Objekttypen an der Gesamtzahl der Erkennungen beteiligt sind. Jedes Diagramm hat seinen eigenen Nutzen und hilft dabei, komplexe Computer Vision Daten leichter zu interpretieren und weiterzugeben.
Nachdem wir uns nun damit beschäftigt haben, was Datenvisualisierung ist und warum verschiedene Arten von analytischen Diagrammen wichtig sind, wollen wir uns genauer ansehen, wie du die Ultralytics Analytics-Lösung verwendest, um die Ergebnisse deiner Computer Vision-Modellvorhersagen zu visualisieren. Bevor wir den Prozess Schritt für Schritt durchgehen, werfen wir einen Blick auf die Werkzeuge und Einrichtungsoptionen für das Training und die Verwendung des Ultralytics und von Modellen wie YOLO11.
Mit dem Ultralytics Python ist es ganz einfach, Modelle zu trainieren, Objekte zu erkennen, Vorhersagen zu machen und die Ergebnisse zu visualisieren. Um damit loszulegen, brauchst du eine Programmierumgebung. Hier sind drei einfache Optionen:
Diese Tools eignen sich hervorragend für den schnellen Einstieg, aber Nutzer können Ultralytics auch in integrierte Entwicklungsumgebungen (IDEs) wie Visual Studio Code (VS Code) oder in Produktionspipelines integrieren. Weitere Optionen findest du in der offiziellen Ultralytics .
Wenn du dich für deine bevorzugte Umgebung entschieden hast, musst du sie für die Vorhersagen und die Visualisierung der Ergebnisse einrichten. Du kannst jede der oben genannten Umgebungen verwenden, je nachdem, womit du dich am wohlsten fühlst.
Wenn du in Google Colab arbeitest, solltest du daran denken, dass es standardmäßig eine CPU verwendet, was die Leistung verlangsamen kann. Um die Arbeit zu beschleunigen, kannst du im Menü "Laufzeit" auf einen GPU umschalten, indem du "Laufzeittyp ändern" auswählst und den Hardwarebeschleuniger auf GPU (idealerweise einen T4) einstellst.
Um deine Umgebung vorzubereiten, musst du das Ultralytics Python mit dem unten stehenden Befehl installieren. Bei notebookbasierten Tools wie Colab oder Jupyter musst du ein Ausrufezeichen (!) vor den Befehl setzen.
pip install ultralytics
Als nächstes brauchen wir ein Video, mit dem wir arbeiten können. Du kannst es ganz einfach von einer kostenlosen Website wie Pexels herunterladen. Achte 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. Du kannst dasselbe Video verwenden oder ein anderes auswählen, das zu deinem Projekt passt.
Als Nächstes können wir die notwendigen 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 , die uns hilft, Objekte zu erkennen und Analysen aus dem Video zu erstellen.
Dann versuchen wir, die Videodatei zu öffnen, indem wir ihren Pfad angeben. Ersetze "path/to/video.mp4" durch den tatsächlichen Speicherort deiner heruntergeladenen Videodatei.
Der Codeausschnitt unten enthält außerdem eine einfache Prüfung, um sicherzustellen, dass das Video richtig 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"
Dann richten wir einen Video Writer ein, um die Ausgabe zu speichern. Wenn wir die Analyse durchführen, erstellt dieser Teil des Codes eine neue Videodatei, die die aktualisierten Graphen aufzeichnet, die aus jedem Frame des Originalvideos erzeugt wurden.
Im folgenden Codeschnipsel extrahieren wir zunächst die wichtigsten Eigenschaften des Eingangsvideos - seine Breite, Höhe und die 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 (du kannst sie bei Bedarf umbenennen). Das Video wird im MJPG-Format gespeichert, einer gängigen Videokomprimierungsmethode. Die Ausgabeauflösung ist 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),
)
Jetzt richten wir die Ultralytics Analytics Lösung ein, um Diagramme aus dem Video zu erstellen. Du kannst wählen, wie die Daten angezeigt werden sollen, z. B. als Linien-, Torten-, Flächen- oder Balkendiagramm, und welches YOLO du verwenden willst. 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",
)
Im letzten Teil des Codes läuft eine Schleife, die das Video Bild für Bild verarbeitet. Jedes Bild wird an das Analysetool weitergeleitet, das die Grafik in Echtzeit aktualisiert. Das aktualisierte Diagramm wird dann in das Ausgabevideo geschrieben. Wenn ein Bild nicht gelesen werden kann, stoppt die Schleife. 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()
Zum Schluss fügen wir alles zusammen. Mit ein paar zusätzlichen Codezeilen können wir zwei Ausgabevideos erzeugen: eines mit denYOLO11-Objekterkennungsergebnissen mit Begrenzungsrahmen und Beschriftungen und ein anderes 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 Erstellung von Diagrammen, sodass du neben den visuellen Erkenntnissen auch die Erkennungsergebnisse sehen kannst.
Hier ist der umfassende Code zusammen 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 auf den Erkennungen basierenden Echtzeit-Analysediagramme anzeigt.
Hier ist ein Bild aus der Analyseausgabe, die auf den Vorhersagen basiert. Mithilfe des Flächendiagramms erhalten wir Einblicke in die Schwankungen der Kofferanzahl im Laufe der Zeit, wie z. B. eine Spitze um Bild 268, die auf eine Bewegung oder Aktivität in diesem Teil des Videos hinweist.
Hier sind einige reale Computer-Vision-Anwendungen, bei denen die Datenvisualisierung eine wichtige Rolle spielt:
Mit dem Ultralytics kannst du Videomaterial ganz einfach in klare, aufschlussreiche Diagramme umwandeln, die aufzeigen, was passiert, z. B. wie viele Personen oder Objekte im Laufe der Zeit auftauchen. Anstatt stundenlanges Videomaterial manuell zu sichten, kannst du visuelle Zusammenfassungen erstellen, die wichtige Muster und Trends hervorheben und es dir erleichtern, schnell zu handeln. Ob in Krankenhäusern, Einzelhandelsgeschäften oder Produktionsstätten - diese Grafiken verwandeln komplexe KI-Ergebnisse in Erkenntnisse, die jeder verstehen und nutzen kann.
Willst du mehr über KI erfahren? Erkunde unser GitHub Repository, tausche dich mit unserer Community aus und schau dir unsere Lizenzierungsoptionen an, um dein Computer Vision Projekt zu starten. Erfahre mehr über Innovationen wie KI in der Fertigung und Computer Vision in der Logistikbranche auf unseren Lösungsseiten.
Beginne deine Reise in die Zukunft des maschinellen Lernens