Meet YOLO26: next-gen vision AI.

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-Snippets zur Erstellung dieser Visualisierungen mit Python.



Watch: How to generate Analytical Graphs using Ultralytics | Line Graphs, Bar Plots, Area and Pie Charts

Link to this sectionVisuelle Beispiele#

LiniendiagrammBalkendiagrammTortendiagramm
YOLO-Analyse-Liniendiagramm für ObjektverfolgungYOLO-Analyse-Balkendiagramm für ErkennungszahlenYOLO-Analyse-Tortendiagramm für Klassenverteilung

Link to this sectionWarum Diagramme wichtig sind#

  • Liniendiagramme sind ideal, um Veränderungen über kurze und lange Zeiträume zu verfolgen und um Veränderungen mehrerer Gruppen über denselben Zeitraum zu vergleichen.
  • Balkendiagramme hingegen eignen sich zum Vergleichen von Mengen über verschiedene Kategorien hinweg und zum Aufzeigen von Beziehungen zwischen einer Kategorie und ihrem numerischen Wert.
  • Schließlich sind Tortendiagramme effektiv, um Anteile zwischen Kategorien zu veranschaulichen und Teile eines Ganzen zu zeigen.
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

Link to this sectionAnalytics-Argumente#

Hier ist eine Tabelle mit den Analytics-Argumenten:

ArgumentTypStandardBeschreibung
modelstrNonePfad zu einer Ultralytics YOLO-Modelldatei.
analytics_typestr'line'Art des Diagramms, d. h. line, bar, area oder pie.

Du kannst auch verschiedene track-Argumente in der Analytics-Lösung nutzen.

ArgumentTypStandardBeschreibung
trackerstr'botsort.yaml'Legt den zu verwendenden Tracking-Algorithmus fest, z. B. bytetrack.yaml oder botsort.yaml.
conffloat0.1Legt den Konfidenzschwellenwert für Erkennungen fest; niedrigere Werte ermöglichen die Verfolgung von mehr Objekten, können aber zu falsch positiven Ergebnissen führen.
ioufloat0.7Legt den Schwellenwert für Intersection over Union (IoU) zum Filtern überlappender Erkennungen fest.
classeslistNoneFiltert Ergebnisse nach Klassenindex. Zum Beispiel verfolgt classes=[0, 2, 3] nur die angegebenen Klassen.
verboseboolTrueSteuert die Anzeige von Tracking-Ergebnissen und bietet eine visuelle Ausgabe der verfolgten Objekte.
devicestrNoneGibt das Gerät für die Inferenz an (z. B. cpu, cuda:0 oder 0). Ermöglicht Nutzern die Auswahl zwischen CPU, einer spezifischen GPU oder anderen Rechengeräten für die Modellausführung.

Zusätzlich werden die folgenden Visualisierungsargumente unterstützt:

ArgumentTypStandardBeschreibung
showboolFalseWenn True, werden die annotierten Bilder oder Videos in einem Fenster angezeigt. Nützlich für sofortiges visuelles Feedback während der Entwicklung oder beim Testen.
line_widthint or NoneNoneGibt die Linienbreite der Begrenzungsrahmen an. 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 verschiedene Arten von Visualisierungen eingesetzt 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 Analytics-Lösung bietet eine optimierte Methode, um diese Visualisierungen aus deinen Ergebnissen der Objekterkennung und Verfolgung 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, folge diesen Schritten:

  1. Lade ein YOLO26-Modell und öffne deine Videodatei.
  2. Initialisiere die Analytics-Klasse mit dem Typ auf "line" gesetzt.
  3. Iteriere durch die Video-Frames und aktualisiere das Liniendiagramm mit relevanten Daten, wie z. B. Objektanzahlen pro Frame.
  4. 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 zur Erstellung von Balkendiagrammen?#

Die Verwendung von Ultralytics YOLO26 zur Erstellung von Balkendiagrammen bietet mehrere Vorteile:

  1. Echtzeit-Datenvisualisierung: Integriere Objekterkennungs-Ergebnisse nahtlos in Balkendiagramme für dynamische Aktualisierungen.
  2. Einfache Bedienung: Eine einfache API und Funktionen machen die Implementierung und Visualisierung von Daten unkompliziert.
  3. Anpassbarkeit: Passe Titel, Beschriftungen, Farben und mehr an deine spezifischen Anforderungen an.
  4. 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 im 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:

  1. Integration mit Objekterkennung: Integriere Objekterkennungsergebnisse direkt in Tortendiagramme für sofortige Einblicke.
  2. Benutzerfreundliche API: Einfach einzurichten und mit minimalem Code zu verwenden.
  3. Anpassbar: Verschiedene Anpassungsoptionen für Farben, Beschriftungen und mehr.
  4. Echtzeit-Aktualisierungen: Verarbeite und visualisiere Daten in Echtzeit, was ideal für Videoanalyseprojekte ist.

Hier ist ein schnelles 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.

Link to this sectionKann 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 die Verfolgung 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 Verfolgen und Aktualisieren 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:

  1. Modernste Genauigkeit: YOLO26 bietet überragende Genauigkeit bei Objekterkennungs-, Instanzsegmentierungs-, semantischen Segmentierungs- und Klassifizierungs-Aufgaben.
  2. Einfache Bedienung: Die benutzerfreundliche API ermöglicht eine schnelle Implementierung und Integration ohne umfangreiches Programmieren.
  3. Echtzeit-Leistung: Optimiert für Hochgeschwindigkeits-Inferenz, geeignet für Echtzeitanwendungen.
  4. Vielfältige Anwendungen: Unterstützt verschiedene Aufgaben, einschließlich Multi-Objekt-Tracking, benutzerdefiniertem Modelltraining und Export in verschiedene Formate wie ONNX, TensorRT und CoreML.
  5. Umfassende Dokumentation: Umfangreiche Dokumentation und Blog-Ressourcen, um Nutzer durch jeden Schritt zu führen.

Für detailliertere Vergleiche und Anwendungsfälle entdecke unseren Ultralytics Blog.

Kommentare