Ü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.
Datensatzformat (kommt bald)#
Ultralytics Tracking verwendet derzeit Erkennungs-, Segmentierungs-, Posen- oder OBB-Modelle wieder, ohne dass ein trackerspezifisches Training erforderlich ist. Die native Unterstützung für das Tracker-Training befindet sich in aktiver Entwicklung.
Verfügbare Tracker#
Ultralytics YOLO unterstützt die folgenden Tracking-Algorithmen:
- BoT-SORT – Verwende
botsort.yaml, um diesen Tracker zu aktivieren (Standard) - 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
Verwendung#
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:
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#
Wie verwende ich Multi-Object-Tracking mit Ultralytics YOLO?#
Um Multi-Object-Tracking mit Ultralytics YOLO zu verwenden, kannst du mit den bereitgestellten Python- oder CLI-Beispielen beginnen. So gelingt dir der Einstieg:
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.
Welche Funktionen sind für das Training von Trackern in Ultralytics geplant?#
Ultralytics verbessert seine KI-Modelle kontinuierlich. Eine kommende Funktion wird das Training eigenständiger Tracker ermöglichen. Bis dahin nutzt der Multi-Object Detector vortrainierte Erkennungs-, Segmentierungs-, Posen- oder OBB-Modelle für das Tracking, ohne dass ein eigenständiges Training erforderlich ist. Bleibe auf dem Laufenden, indem du unserem Blog folgst.
Warum sollte ich Ultralytics YOLO für Multi-Object-Tracking verwenden?#
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.
Kann ich benutzerdefinierte Datensätze für Multi-Object-Tracking mit Ultralytics YOLO verwenden?#
Ja, du kannst benutzerdefinierte Datensätze für Multi-Object-Tracking mit Ultralytics YOLO verwenden. Während die Unterstützung für das Training eigenständiger Tracker ein kommendes Feature ist, kannst du bereits jetzt vortrainierte Modelle auf deinen benutzerdefinierten Datensätzen einsetzen. Bereite deine Datensätze in dem geeigneten, mit YOLO kompatiblen Format vor und folge der Dokumentation, um sie zu integrieren.
Wie interpretiere ich die Ergebnisse des Ultralytics YOLO Tracking-Modells?#
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.
Wie kann ich die Tracker-Konfiguration anpassen?#
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")