YOLO Vision 2026:

Übersicht über Multi-Object-Tracking-Datensätze#

Multi-Object-Tracking ist eine entscheidende Komponente der Videoanalyse, die Objekte identifiziert und für jedes erkannte Objekt über Videobilder hinweg eindeutige IDs beibehält. Ultralytics YOLO bietet leistungsstarke Tracking-Funktionen, die in verschiedenen Bereichen wie Überwachung, Sportanalyse und Verkehrsüberwachung eingesetzt werden können.

Dataset-Format#

Der Track-Modus trainiert keinen Tracker und erfordert keinen trackerspezifischen Datensatz. Trainiere ein Detection-, Segmentation-, Pose- oder OBB-Modell mit dem Standard-Dataset-Format dieser Aufgabe und verwende die resultierenden Gewichte dann mit model.track() oder yolo track. Der ausgewählte Tracker verknüpft die Vorhersagen des Modells über Frames hinweg zum Zeitpunkt der Inferenz.

Verfügbare Tracker#

Ultralytics YOLO unterstützt die folgenden Tracking-Algorithmen:

  • BoT-SORT - Verwende botsort.yaml, um diesen Tracker zu aktivieren
  • ByteTrack – Verwende bytetrack.yaml, um diesen Tracker zu aktivieren
  • OC-SORT – Verwende ocsort.yaml, um diesen Tracker zu aktivieren
  • Deep OC-SORT – Verwende deepocsort.yaml, um diesen Tracker zu aktivieren
  • FastTracker – Verwende fasttrack.yaml, um diesen Tracker zu aktivieren
  • TrackTrack - Verwende tracktrack.yaml, um diesen Tracker zu aktivieren (Standard)

Verwendung#

Beispiel
from ultralytics import YOLO

model = YOLO("yolo26n.pt")
results = model.track(source="https://youtu.be/LNwODJXcvt4", conf=0.1, iou=0.7, show=True)

Persistenz von Tracks zwischen Frames#

Für kontinuierliches Tracking über Videoframes hinweg kannst du den Parameter persist=True verwenden:

Beispiel
import cv2

from ultralytics import YOLO

# Load the YOLO model
model = YOLO("yolo26n.pt")

# Open the video file
cap = cv2.VideoCapture("path/to/video.mp4")

while cap.isOpened():
    success, frame = cap.read()
    if success:
        # Run tracking with persistence between frames
        results = model.track(frame, persist=True)

        # Visualize the results
        annotated_frame = results[0].plot()
        cv2.imshow("Tracking", annotated_frame)

        if cv2.waitKey(1) & 0xFF == ord("q"):
            break
    else:
        break

cap.release()
cv2.destroyAllWindows()

FAQ#

  • Um Multi-Object-Tracking mit Ultralytics YOLO zu verwenden, kannst du mit den bereitgestellten Python- oder CLI-Beispielen beginnen. So gelingt dir der Einstieg:

    Beispiel
    from ultralytics import YOLO
    
    model = YOLO("yolo26n.pt")  # Load the YOLO26 model
    results = model.track(source="https://youtu.be/LNwODJXcvt4", conf=0.1, iou=0.7, show=True)

    Diese Befehle laden das YOLO26-Modell und verwenden es zum Tracken von Objekten in der angegebenen Videoquelle mit bestimmten Konfidenz- (conf) und Intersection over Union-Schwellenwerten (iou). Weitere Details findest du in der Dokumentation zum Track-Modus.

  • Ultralytics YOLO ist ein hochmodernes Objekterkennungsmodell, das für seine Echtzeitleistung und hohe Genauigkeit bekannt ist. Die Verwendung von YOLO für das Multi-Object Tracking bietet mehrere Vorteile:

    • Echtzeit-Tracking: Erziele effizientes und schnelles Tracking, ideal für dynamische Umgebungen.
    • Flexibilität mit vortrainierten Modellen: Kein Training von Grund auf erforderlich; verwende einfach vortrainierte Erkennungs-, Segmentierungs-, Posen- oder OBB-Modelle.
    • Benutzerfreundlichkeit: Die einfache API-Integration mit Python und CLI macht die Einrichtung von Tracking-Pipelines unkompliziert.
    • Umfangreiche Dokumentation und Community-Support: Ultralytics bietet eine umfassende Dokumentation und ein aktives Community-Forum, um Probleme zu beheben und deine Tracking-Modelle zu verbessern.

    Weitere Details zum Einrichten und Verwenden von YOLO für das Tracking findest du in unserem Leitfaden zur Track-Nutzung.

  • Ja. Trainiere ein Detection-, Segmentation-, Pose- oder OBB-Modell mit deinem eigenen Datensatz und übergib dessen Gewichte dann an model.track(). Der Tracker selbst läuft während der Inferenz und erfordert keine separaten Trainingsdaten.

  • Nachdem du einen Tracking-Job mit Ultralytics YOLO ausgeführt hast, enthalten die Ergebnisse verschiedene Datenpunkte wie verfolgte Objekt-IDs, ihre Bounding Boxes und die Konfidenzwerte. Hier ist ein kurzer Überblick, wie diese Ergebnisse zu interpretieren sind:

    • Verfolgte IDs: Jedem Objekt wird eine eindeutige ID zugewiesen, die dabei hilft, es über verschiedene Frames hinweg zu verfolgen.
    • Bounding Boxes: Diese geben den Ort der verfolgten Objekte innerhalb des Frames an.
    • Konfidenzwerte: Diese spiegeln die Konfidenz des Modells bei der Erkennung des verfolgten Objekts wider.

    Detaillierte Anweisungen zur Interpretation und Visualisierung dieser Ergebnisse findest du im Leitfaden zur Ergebnisauswertung.

  • Du kannst den Tracker anpassen, indem du eine modifizierte Version der Tracker-Konfigurationsdatei erstellst. Kopiere eine vorhandene Tracker-Konfigurationsdatei von ultralytics/cfg/trackers, passe die Parameter nach Bedarf an und gib diese Datei beim Ausführen des Trackers an:

    from ultralytics import YOLO
    
    model = YOLO("yolo26n.pt")
    results = model.track(source="video.mp4", tracker="custom_tracker.yaml")

Kommentare