Ultralytics YOLO27:
Get Started

Analysen mit Ultralytics YOLO26#

Analysen mit Ultralytics YOLO26 verwandeln Ergebnisse aus Objekterkennung und Tracking in Diagramme in Echtzeit. So kannst du verfolgen, wie sich Objektanzahlen im Verlauf eines Videos von Bild zu Bild verändern. Dieser Leitfaden behandelt vier Arten der Datenvisualisierung — Liniendiagramme, Balkendiagramme, Kreisdiagramme und Flächendiagramme — und zeigt anhand gemeinsamer Python- und CLI-Beispiele, wie du zwischen ihnen wechselst.



Ansehen: So erstellst du mit Ultralytics Analysevisualisierungen | Liniendiagramme, Balkendiagramme, Flächen- und Kreisdiagramme

Visuelle Beispiele#

LiniendiagrammBalkendiagrammKreisdiagramm
YOLO-Analyseliniendiagramm für ObjektverfolgungYOLO-Analysebalkendiagramm für ErkennungsanzahlenYOLO-Analysekreisdiagramm für Klassenverteilung

Warum Erkennungsdaten visualisieren?#

  • Liniendiagramme eignen sich ideal, um Veränderungen über kurze und lange Zeiträume hinweg zu verfolgen und Veränderungen mehrerer Gruppen im selben Zeitraum zu vergleichen.
  • Balkendiagramme eignen sich zum Vergleichen von Mengen in verschiedenen Kategorien und zum Darstellen des Zusammenhangs zwischen einer Kategorie und ihrem Zahlenwert.
  • Kreisdiagramme eignen sich gut, um Anteile zwischen Kategorien und die Bestandteile eines Ganzen darzustellen.
  • Flächendiagramme füllen den Bereich unter dem Liniendiagramm aus, sodass sich die Objektanzahlen je Klasse im Zeitverlauf auf einen Blick leichter erfassen lassen.

Analysegraphen erzeugen#

Übergib dein Video an die Lösung Analytics und wähle mit analytics_type ein Diagramm aus. Die Lösung führt für jedes Bild Erkennung und Tracking aus und erstellt ein Diagramm mit einer Auflösung von 1280×720 (Standardeinstellung), das du direkt in ein Ausgabevideo schreiben kannst. Wechsle mit einem einzigen Argument zwischen "line", "bar", "pie" und "area".

Analysen mit Ultralytics YOLO
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=True

Argumente für Analytics#

Hier findest du eine Tabelle mit den Argumenten für Analytics:

ArgumentTypStandardBeschreibung
modelstrNonePfad zu einer Ultralytics-YOLO-Modelldatei.
analytics_typestr'line'Diagrammtyp, z. B. line, bar, area oder pie.
figsizetuple[float, float](12.8, 7.2)Abbildungsgröße in Zoll für Analytics-Diagramme; (12.8, 7.2) rendert ein Bild mit 1280×720 Pixeln.
line_widthint2Linienstärke für die Boxen, Keypoints und Zählwerte, die von der Lösung eingezeichnet werden.
verboseboolTrueAktiviert das Protokoll der Lösung für jedes Bild, das Eingabeform, Klassenanzahlen und Verarbeitungsgeschwindigkeit enthält. Der Tracking-Aufruf selbst gibt grundsätzlich keine Meldungen aus.

Du kannst in der Lösung Analytics auch verschiedene Argumente für track verwenden.

ArgumentTypStandardBeschreibung
trackerstr'tracktrack.yaml'Legt den zu verwendenden Verfolgungsalgorithmus fest. Integrierte Optionen: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml.
conffloat0.25Legt den Konfidenzschwellenwert für Erkennungen fest. Niedrigere Werte ermöglichen die Verfolgung weiterer Objekte, können aber auch falsch positive Ergebnisse einschließen.
ioufloat0.7Legt den Schwellenwert für die Schnittmenge über Vereinigung (IoU) fest, um überlappende Erkennungen herauszufiltern.
classeslistNoneFiltert die Ergebnisse nach Klassenindex. Beispielsweise verfolgt classes=[0, 2, 3] nur die angegebenen Klassen.
devicestrNoneLegt das Gerät für die Inferenz fest (z. B. cpu, cuda:0 oder 0). So kannst du für die Modellausführung zwischen CPU, einer bestimmten GPU oder anderen Rechengeräten wählen.
imgszint or tuple640Zielbildgröße für die Inferenz: eine Ganzzahl für ein quadratisches Bild oder ein (height, width)-Paar. Die Formen werden an den Modellschritt angepasst.
max_detint300Maximale Anzahl der Erkennungen, die pro Bild vor der Verfolgung beibehalten werden. Dadurch wird die Anzahl der Objekte begrenzt, die eine Lösung in dichten Szenen verarbeitet.
quantizeint or strNoneInferenzgenauigkeit: 16 (FP16) oder 32/nicht festgelegt (FP32) für PyTorch- und TorchScript-Modelle; andere Formate verwenden die Genauigkeit, die durch ihr Artefakt und ihre Laufzeitumgebung festgelegt wird. Ersetzt das veraltete Flag half.

Außerdem werden die folgenden Argumente für die Visualisierung unterstützt:

ArgumentTypStandardBeschreibung
showboolFalseWenn True aktiviert ist, werden die annotierten Bilder oder Videos in einem Fenster angezeigt. Nützlich für unmittelbares visuelles Feedback während der Entwicklung oder beim Testen.

Fazit#

Für eine wirksame Datenanalyse ist es wichtig zu verstehen, wann und wie die verschiedenen Arten von Visualisierungen eingesetzt werden. Liniendiagramme, Balkendiagramme und Kreisdiagramme sind grundlegende Werkzeuge, mit denen du die Aussage deiner Daten klarer und wirkungsvoller vermitteln kannst. Die Analytics-Lösung von Ultralytics YOLO26 bietet eine einfache Möglichkeit, diese Visualisierungen aus Ergebnissen der Objekterkennung und des Trackings zu erstellen. So lassen sich aussagekräftige Erkenntnisse aus deinen visuellen Daten leichter gewinnen.

Häufig gestellte Fragen#

  • Gehe folgendermaßen vor, um mit Ultralytics YOLO26 Analytics ein Liniendiagramm zu erstellen:

    1. Lade ein YOLO26-Modell und öffne deine Videodatei.
    2. Initialisiere die Klasse Analytics mit analytics_type="line".
    3. Durchlaufe die Videobilder und rufe die Lösung für jedes Bild auf, um das Liniendiagramm mit Daten wie den Objektanzahlen zu aktualisieren.
    4. Schreibe results.plot_im in ein Ausgabevideo, um das Diagramm zu speichern.

    Verwende das Python-Beispiel oben als Ausgangspunkt — es durchläuft bereits alle Bilder, und ein Liniendiagramm ist die Standardeinstellung für analytics_type.

  • Ultralytics YOLO26 bietet beim Erstellen von Balkendiagrammen mehrere Vorteile:

    1. Datenvisualisierung in Echtzeit: Integriere Ergebnisse der Objekterkennung nahtlos in Balkendiagramme und aktualisiere diese dynamisch.
    2. Einfache Verwendung: Mit einer einfachen API und leicht nutzbaren Funktionen kannst du Daten problemlos verarbeiten und visualisieren.
    3. Anpassungsmöglichkeiten: Passe Titel, Beschriftungen, Farben und vieles mehr an deine spezifischen Anforderungen an.
    4. Effizienz: Verarbeite große Datenmengen effizient und aktualisiere Diagramme während der Videoverarbeitung in Echtzeit.

    Um ein Balkendiagramm zu erstellen, setze im Python-Beispiel oben analytics_type="bar" — der Rest der Bildschleife bleibt gleich. Eine Vorschau findest du im Abschnitt Visuelle Beispiele.

  • Ultralytics YOLO26 eignet sich hervorragend zum Erstellen von Kreisdiagrammen, weil:

    1. Integration mit der Objekterkennung: Integriere Ergebnisse der Objekterkennung direkt in Kreisdiagramme, um sofort Erkenntnisse zu gewinnen.
    2. Benutzerfreundliche API: Einfach einzurichten und mit minimalem Code zu verwenden.
    3. Anpassbar: Zahlreiche Möglichkeiten zur Anpassung von Farben, Beschriftungen und vielem mehr.
    4. Aktualisierungen in Echtzeit: Verarbeite und visualisiere Daten in Echtzeit – ideal für Videanalyseprojekte.

    Um ein Kreisdiagramm zu erstellen, setze im Python-Beispiel oben analytics_type="pie". Weitere Informationen findest du im Leitfadenabschnitt Visuelle Beispiele.

  • Ja. Tracking ist in die Lösung Analytics integriert: Sie verfolgt mehrere Objekte in Echtzeit und aktualisiert das Diagramm alle 30 Bilder anhand der Daten der verfolgten Objekte. So zeigen Liniendiagramme, Balkendiagramme, Kreisdiagramme und Flächendiagramme stets die aktuellen Objektanzahlen. Genau das macht die Bildschleife im Python-Beispiel oben. Informationen zur zugrunde liegenden Tracking-Funktion findest du im Abschnitt Tracking.

  • Ultralytics YOLO26 unterscheidet sich aus mehreren Gründen von anderen Lösungen zur Objekterkennung wie OpenCV und TensorFlow:

    1. Hervorragende Genauigkeit: YOLO26 bietet eine hohe Genauigkeit bei Aufgaben der Objekterkennung, Instanzsegmentierung, semantischen Segmentierung und Klassifizierung.
    2. Einfache Verwendung: Dank der benutzerfreundlichen API kannst du die Lösung schnell und ohne umfangreiche Programmierung implementieren und integrieren.
    3. Echtzeitleistung: Für hohe Inferenzgeschwindigkeiten optimiert und damit für Echtzeitanwendungen geeignet.
    4. Vielfältige Anwendungen: Unterstützt Multi-Objekt-Tracking, das Training benutzerdefinierter Modelle und den Export in verschiedene Formate wie ONNX, TensorRT und CoreML.
    5. Umfassende Dokumentation: Ausführliche Dokumentation und Blogbeiträge begleiten dich durch jeden Schritt.

    Ausführlichere Vergleiche und Anwendungsbeispiele findest du in unserem Ultralytics-Blog.

Kommentare