Link to this sectionAnalysen mit Ultralytics YOLO26#
Link to this sectionEinfü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 dazu, wie du diese Visualisierungen mit Python erstellst.
Watch: How to generate Analytical Graphs using Ultralytics | Line Graphs, Bar Plots, Area and Pie Charts
Link to this sectionVisuelle Beispiele#
| Liniendiagramm | Balkendiagramm | Tortendiagramm |
|---|---|---|
![]() | ![]() | ![]() |
Link to this sectionWarum Diagramme wichtig sind#
- Liniendiagramme sind ideal, um Veränderungen über kurze und lange Zeiträume zu verfolgen und Veränderungen für mehrere Gruppen über denselben Zeitraum zu vergleichen.
- Balkendiagramme eignen sich hingegen dazu, Mengen über verschiedene Kategorien hinweg zu vergleichen und Beziehungen zwischen einer Kategorie und ihrem numerischen Wert darzustellen.
- Schließlich sind Tortendiagramme effektiv, um Proportionen innerhalb von Kategorien zu veranschaulichen und Teile eines Ganzen zu zeigen.
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=TrueLink to this sectionAnalytics-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, z. B. 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. Integrierte Optionen: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.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 IoU-Schwellenwert für das Filtern überlappender Detektionen fest. |
classes | list | None | Filtert Ergebnisse nach Klassenindex. Zum Beispiel verfolgt classes=[0, 2, 3] nur die angegebenen Klassen. |
verbose | bool | True | Steuert die Anzeige der Tracking-Ergebnisse und bietet eine visuelle Ausgabe der verfolgten Objekte. |
device | str | None | Gibt das Gerät für die Inferenz an (z. B. cpu, cuda:0 oder 0). Ermöglicht die Wahl zwischen CPU, einer spezifischen GPU oder anderen Rechengeräten für die 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 sofortiges visuelles Feedback während der Entwicklung oder Tests. |
line_width | int or None | None | Legt die Linienbreite der BBoxen fest. Wenn None, wird die Linienbreite automatisch basierend auf der Bildgröße angepasst. Bietet visuelle Anpassungsmöglichkeiten für mehr Klarheit. |
Link to this sectionFazit#
Zu verstehen, wann und wie man verschiedene Arten von Visualisierungen einsetzt, ist entscheidend für eine effektive Datenanalyse. Liniendiagramme, Balkendiagramme und Tortendiagramme sind grundlegende Werkzeuge, die dir dabei helfen können, die Geschichte deiner Daten klarer und effektiver zu vermitteln. Die Ultralytics YOLO26 Analytics-Lösung bietet einen optimierten Weg, diese Visualisierungen aus deinen Ergebnissen der Objekterkennung und des Trackings zu generieren, wodurch es einfacher wird, aussagekräftige Erkenntnisse aus deinen visuellen Daten zu gewinnen.
Link to this sectionFAQ#
Link to this sectionWie erstelle ich ein Liniendiagramm mit Ultralytics YOLO26 Analytics?#
Um ein Liniendiagramm mit Ultralytics YOLO26 Analytics zu erstellen, befolge diese Schritte:
- Lade ein YOLO26-Modell und öffne deine Videodatei.
- Initialisiere die
Analytics-Klasse mit dem auf "line" gesetzten Typ. - Iteriere durch die Videoframes und aktualisiere das Liniendiagramm mit relevanten Daten, wie z.B. Objektanzahlen pro Frame.
- 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 Analysen mit Ultralytics YOLO26.
Link to this sectionWas sind die Vorteile der Verwendung von Ultralytics YOLO26 zum Erstellen von Balkendiagrammen?#
Die Verwendung von Ultralytics YOLO26 zum Erstellen von Balkendiagrammen bietet mehrere Vorteile:
- Echtzeit-Datenvisualisierung: Integriere Ergebnisse der Objekterkennung nahtlos in Balkendiagramme für dynamische Aktualisierungen.
- Benutzerfreundlichkeit: Einfache API und Funktionen machen die Implementierung und Visualisierung von Daten unkompliziert.
- Anpassung: Passe Titel, Beschriftungen, Farben und mehr an, um deinen spezifischen Anforderungen gerecht zu werden.
- Effizienz: Verarbeite große Datenmengen effizient 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 in diesem Leitfaden.
Link to this sectionWarum sollte ich Ultralytics YOLO26 für die Erstellung von Tortendiagrammen in meinen Datenvisualisierungsprojekten verwenden?#
Ultralytics YOLO26 ist eine hervorragende Wahl für die Erstellung von Tortendiagrammen, weil:
- Integration mit Objekterkennung: Integriere Ergebnisse der Objekterkennung direkt in Tortendiagramme für unmittelbare Erkenntnisse.
- Benutzerfreundliche API: Einfach einzurichten und mit minimalem Codeaufwand zu verwenden.
- Anpassbar: Verschiedene Anpassungsoptionen für Farben, Beschriftungen und mehr.
- Echtzeit-Aktualisierungen: Verarbeite und visualisiere Daten in Echtzeit, was ideal für Videoanalyse-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()Weitere Informationen findest du im Abschnitt Tortendiagramm in diesem Leitfaden.
Link to this sectionKann Ultralytics YOLO26 verwendet werden, um Objekte zu tracken und Visualisierungen dynamisch zu aktualisieren?#
Ja, Ultralytics YOLO26 kann verwendet werden, um Objekte zu tracken 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 getrackten 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.
Link to this sectionWas 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 Objekterkennung, Instanzsegmentierung, semantischer Segmentierung und Klassifizierungsaufgaben.
- Benutzerfreundlichkeit: Die benutzerfreundliche API ermöglicht eine schnelle Implementierung und Integration ohne umfangreiche Programmierung.
- Echtzeit-Leistung: Optimiert für High-Speed-Inferenz, geeignet für Echtzeitanwendungen.
- Vielseitige Anwendungen: Unterstützt verschiedene Aufgaben, einschließlich Multi-Objekt-Tracking, Training eigener Modelle und Export in verschiedene Formate wie ONNX, TensorRT und CoreML.
- Umfassende Dokumentation: Umfangreiche Dokumentation und Blog-Ressourcen, die Benutzer durch jeden Schritt führen.
Für detailliertere Vergleiche und Anwendungsfälle erkunde unseren Ultralytics Blog.


