Analytik mit Ultralytics YOLO26
Einführung
Dieser Leitfaden bietet einen umfassenden Überblick über drei grundlegende Arten von Datenvisualisierungen: Liniendiagramme, Balkendiagramme und Tortendiagramme. Jeder Abschnitt enthält Schritt-für-Schritt-Anleitungen und Code-Schnipsel zur Erstellung dieser Visualisierungen mit Python.
Watch: How to generate Analytical Graphs using Ultralytics | Line Graphs, Bar Plots, Area and Pie Charts
Visuelle Beispiele
| Liniendiagramm | Balkendiagramm | Tortendiagramm |
|---|---|---|
![]() | ![]() | ![]() |
Warum Diagramme wichtig sind
- Liniendiagramme sind ideal, um Veränderungen über kurze und lange Zeiträume zu verfolgen und Veränderungen für mehrere Gruppen im selben Zeitraum zu vergleichen.
- Balkendiagramme hingegen eignen sich für den Vergleich von Mengen über verschiedene Kategorien hinweg und zur Darstellung von Beziehungen zwischen einer Kategorie und ihrem numerischen Wert.
- Schließlich sind Tortendiagramme effektiv, um Proportionen zwischen Kategorien und Teile eines Ganzen zu veranschaulichen.
yolo solutions analytics show=True
# Pass the source
yolo solutions analytics source="path/to/video.mp4"
# Generate the pie chart
yolo solutions analytics analytics_type="pie" show=True
# Generate the bar plots
yolo solutions analytics analytics_type="bar" show=True
# Generate the area plots
yolo solutions analytics analytics_type="area" show=TrueAnalytics-Argumente
Here's a table outlining the Analytics arguments:
| Argument | Typ | Standard | Beschreibung |
|---|---|---|---|
model | str | None | Pfad zu einer Ultralytics YOLO-Modelldatei. |
analytics_type | str | 'line' | Art des Diagramms, d.h. line, bar, area oder pie. |
Du kannst auch verschiedene track-Argumente in der Analytics-Lösung nutzen.
| Argument | Typ | Standard | Beschreibung |
|---|---|---|---|
tracker | str | 'botsort.yaml' | Legt den zu verwendenden Tracking-Algorithmus fest, z. B. bytetrack.yaml oder botsort.yaml. |
conf | float | 0.1 | Legt den Konfidenz-Schwellenwert für Detektionen fest; niedrigere Werte ermöglichen die Verfolgung von mehr Objekten, können aber zu falsch-positiven Ergebnissen führen. |
iou | float | 0.7 | Legt den Intersection over Union (IoU) Schwellenwert zum Filtern überlappender Detektionen fest. |
classes | list | None | Filtert Ergebnisse nach Klassen-Index. Beispiel: classes=[0, 2, 3] verfolgt nur die angegebenen Klassen. |
verbose | bool | True | Steuert die Anzeige der Tracking-Ergebnisse und liefert eine visuelle Ausgabe der verfolgten Objekte. |
device | str | None | Spezifiziert das Gerät für die Inferenz (z. B. cpu, cuda:0 oder 0). Ermöglicht die Wahl zwischen CPU, einer spezifischen GPU oder anderen Recheneinheiten zur Modellausführung. |
Zusätzlich werden die folgenden Visualisierungsargumente unterstützt:
| Argument | Typ | Standard | Beschreibung |
|---|---|---|---|
show | bool | False | Wenn True, werden die annotierten Bilder oder Videos in einem Fenster angezeigt. Nützlich für direktes visuelles Feedback während der Entwicklung oder beim Testen. |
line_width | int or None | None | Gibt die Linienbreite der Bounding-Boxen an. Wenn None, wird die Linienbreite automatisch basierend auf der Bildgröße angepasst. Bietet visuelle Anpassung für mehr Klarheit. |
Fazit
Zu verstehen, wann und wie verschiedene Arten von Visualisierungen verwendet werden, ist entscheidend für eine effektive Datenanalyse. Liniendiagramme, Balkendiagramme und Tortendiagramme sind grundlegende Werkzeuge, die dir helfen können, die Geschichte deiner Daten klarer und effektiver zu vermitteln. Die Ultralytics YOLO26-Analytik-Lösung bietet einen optimierten Weg, diese Visualisierungen aus deinen Objekterkennungs- und Tracking-Ergebnissen zu generieren, wodurch es einfacher wird, aussagekräftige Erkenntnisse aus deinen visuellen Daten zu gewinnen.
FAQ
Wie erstelle ich ein Liniendiagramm mit der Ultralytics YOLO26-Analytik?
Um ein Liniendiagramm mit der Ultralytics YOLO26-Analytik zu erstellen, folge diesen Schritten:
- Lade ein YOLO26-Modell und öffne deine Videodatei.
- Initialisiere die
Analytics-Klasse mit dem Typ auf "line" gesetzt. - Iteriere durch die Videobilder und aktualisiere das Liniendiagramm mit relevanten Daten, wie z. B. Objektanzahlen pro Bild.
- Speichere das Ausgabe-Video, das das Liniendiagramm anzeigt.
Beispiel:
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"
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(
"ultralytics_analytics.avi",
cv2.VideoWriter_fourcc(*"MJPG"),
fps,
(1280, 720), # this is fixed
)
analytics = solutions.Analytics(
analytics_type="line",
show=True,
)
frame_count = 0
while cap.isOpened():
success, im0 = cap.read()
if success:
frame_count += 1
results = analytics(im0, frame_count) # update analytics graph every frame
out.write(results.plot_im) # write the video file
else:
break
cap.release()
out.release()
cv2.destroyAllWindows()Für weitere Details zur Konfiguration der Analytics-Klasse, besuche den Abschnitt Analytik mit Ultralytics YOLO26.
Welche Vorteile hat die Verwendung von Ultralytics YOLO26 zum Erstellen von Balkendiagrammen?
Die Verwendung von Ultralytics YOLO26 zum Erstellen von Balkendiagrammen bietet mehrere Vorteile:
- Echtzeit-Datenvisualisierung: Integriere Objekterkennungs-Ergebnisse nahtlos in Balkendiagramme für dynamische Aktualisierungen.
- Einfache Bedienung: Eine einfache API und Funktionen machen die Implementierung und Visualisierung von Daten unkompliziert.
- Anpassbarkeit: Passe Titel, Beschriftungen, Farben und mehr an, um deinen spezifischen Anforderungen gerecht zu werden.
- Effizienz: Verarbeite effizient große Datenmengen und aktualisiere Diagramme in Echtzeit während der Videoverarbeitung.
Verwende das folgende Beispiel, um ein Balkendiagramm zu generieren:
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"
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(
"ultralytics_analytics.avi",
cv2.VideoWriter_fourcc(*"MJPG"),
fps,
(1280, 720), # this is fixed
)
analytics = solutions.Analytics(
analytics_type="bar",
show=True,
)
frame_count = 0
while cap.isOpened():
success, im0 = cap.read()
if success:
frame_count += 1
results = analytics(im0, frame_count) # update analytics graph every frame
out.write(results.plot_im) # write the video file
else:
break
cap.release()
out.release()
cv2.destroyAllWindows()Um mehr zu erfahren, besuche den Abschnitt Balkendiagramm im Leitfaden.
Warum sollte ich Ultralytics YOLO26 zum Erstellen von Tortendiagrammen in meinen Datenvisualisierungsprojekten verwenden?
Ultralytics YOLO26 ist eine exzellente Wahl für das Erstellen von Tortendiagrammen, da:
- Integration mit Objekterkennung: Integriere Objekterkennungsergebnisse direkt in Tortendiagramme für sofortige Erkenntnisse.
- Benutzerfreundliche API: Einfach einzurichten und zu verwenden mit minimalem Code.
- Anpassbar: Diverse Anpassungsoptionen für Farben, Beschriftungen und mehr.
- Echtzeit-Aktualisierungen: Verarbeite und visualisiere Daten in Echtzeit, was ideal für Video-Analytik-Projekte ist.
Hier ist ein kurzes Beispiel:
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"
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(
"ultralytics_analytics.avi",
cv2.VideoWriter_fourcc(*"MJPG"),
fps,
(1280, 720), # this is fixed
)
analytics = solutions.Analytics(
analytics_type="pie",
show=True,
)
frame_count = 0
while cap.isOpened():
success, im0 = cap.read()
if success:
frame_count += 1
results = analytics(im0, frame_count) # update analytics graph every frame
out.write(results.plot_im) # write the video file
else:
break
cap.release()
out.release()
cv2.destroyAllWindows()Für weitere Informationen siehe den Abschnitt Tortendiagramm im Leitfaden.
Kann Ultralytics YOLO26 verwendet werden, um Objekte zu verfolgen und Visualisierungen dynamisch zu aktualisieren?
Ja, Ultralytics YOLO26 kann verwendet werden, um Objekte zu verfolgen und Visualisierungen dynamisch zu aktualisieren. Es unterstützt das Tracking mehrerer Objekte in Echtzeit und kann verschiedene Visualisierungen wie Liniendiagramme, Balkendiagramme und Tortendiagramme basierend auf den Daten der verfolgten Objekte aktualisieren.
Beispiel für das Tracking und die Aktualisierung eines Liniendiagramms:
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"
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(
"ultralytics_analytics.avi",
cv2.VideoWriter_fourcc(*"MJPG"),
fps,
(1280, 720), # this is fixed
)
analytics = solutions.Analytics(
analytics_type="line",
show=True,
)
frame_count = 0
while cap.isOpened():
success, im0 = cap.read()
if success:
frame_count += 1
results = analytics(im0, frame_count) # update analytics graph every frame
out.write(results.plot_im) # write the video file
else:
break
cap.release()
out.release()
cv2.destroyAllWindows()Um mehr über die vollständige Funktionalität zu erfahren, siehe den Abschnitt Tracking.
Was unterscheidet Ultralytics YOLO26 von anderen Objekterkennungslösungen wie OpenCV und TensorFlow?
Ultralytics YOLO26 hebt sich aus mehreren Gründen von anderen Objekterkennungslösungen wie OpenCV und TensorFlow ab:
- Modernste Genauigkeit: YOLO26 bietet überlegene Genauigkeit bei Objekterkennungs-, Segmentierungs- und Klassifizierungsaufgaben.
- Einfache Bedienung: Die benutzerfreundliche API ermöglicht eine schnelle Implementierung und Integration ohne umfangreiches Programmieren.
- Echtzeit-Performance: Optimiert für High-Speed-Inferenz, geeignet für Echtzeitanwendungen.
- Vielfältige Anwendungen: Unterstützt verschiedene Aufgaben, einschließlich Multi-Objekt-Tracking, Training benutzerdefinierter Modelle und Export in verschiedene Formate wie ONNX, TensorRT und CoreML.
- Umfassende Dokumentation: Umfangreiche Dokumentation und Blog-Ressourcen, um Nutzer durch jeden Schritt zu führen.
Für detailliertere Vergleiche und Anwendungsfälle erkunde unseren Ultralytics Blog.


