Übersicht zu Datensätzen für die Mehr-Objekt-Verfolgung#
Die Mehr-Objekt-Verfolgung ist ein wichtiger Bestandteil der Videoanalyse: Sie identifiziert Objekte und ordnet jedem erkannten Objekt in allen Videobildern eine eindeutige ID zu. Ultralytics YOLO bietet leistungsstarke Verfolgungsfunktionen für verschiedene Bereiche, darunter Überwachung, Sportanalyse und Verkehrsbeobachtung.
Datensatzformat#
Der Verfolgungsmodus trainiert keinen Tracker und benötigt keinen trackerspezifischen Datensatz. Trainiere ein Erkennungs-, Segmentierungs-, Posenschätzungs- oder OBB-Modell mit dem für diese Aufgabe üblichen Datensatzformat und verwende anschließend die resultierenden Gewichte mit model.track() oder yolo track. Der ausgewählte Tracker ordnet die Vorhersagen des Modells während der Inferenz über die einzelnen Videobilder hinweg zu.
Verfügbare Tracker#
Ultralytics YOLO unterstützt die folgenden Verfolgungsalgorithmen:
- 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#
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
results = model.track(source="https://youtu.be/LNwODJXcvt4", conf=0.1, iou=0.7, show=True)Tracks über Videobilder hinweg beibehalten#
Für eine durchgehende Verfolgung über Videobilder hinweg kannst du den Parameter persist=True verwenden:
import cv2
from ultralytics import YOLO
# Das YOLO-Modell laden
model = YOLO("yolo26n.pt")
# Videodatei öffnen
cap = cv2.VideoCapture("path/to/video.mp4")
while cap.isOpened():
success, frame = cap.read()
if success:
# # Verfolgung mit Beibehaltung der Tracks zwischen Videobildern ausführen
results = model.track(frame, persist=True)
# Die Ergebnisse visualisieren
annotated_frame = results[0].plot()
cv2.imshow("Tracking", annotated_frame)
if cv2.waitKey(1) & 0xFF == ord("q"):
break
else:
break
cap.release()
cv2.destroyAllWindows()Häufig gestellte Fragen#
Um die Mehr-Objekt-Verfolgung mit Ultralytics YOLO zu verwenden, kannst du mit den Python- oder CLI-Beispielen beginnen. So legst du los:
Beispielfrom ultralytics import YOLO model = YOLO("yolo26n.pt") # YOLO26-Modell laden 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, um Objekte in der angegebenen Videoquelle mit bestimmten Schwellenwerten für die Konfidenz (
conf) und die Schnittmenge über Vereinigungsmenge (iou) zu verfolgen. Weitere Informationen findest du in der Dokumentation zum Verfolgungsmodus.Ultralytics YOLO ist ein hochmodernes Modell zur Objekterkennung, das für seine Echtzeitleistung und hohe Genauigkeit bekannt ist. Der Einsatz von YOLO zur Mehr-Objekt-Verfolgung bietet mehrere Vorteile:
- Verfolgung in Echtzeit: Ermöglicht eine effiziente und schnelle Verfolgung, ideal für dynamische Umgebungen.
- Flexibilität mit vortrainierten Modellen: Du musst nicht von Grund auf neu trainieren, sondern kannst einfach vortrainierte Erkennungs-, Segmentierungs-, Posenschätzungs- oder OBB-Modelle verwenden.
- Einfache Nutzung: Dank der unkomplizierten API-Integration mit Python und CLI lassen sich Verfolgungsabläufe einfach einrichten.
- Umfassende Dokumentation und Unterstützung durch die Community: Ultralytics bietet eine umfassende Dokumentation und ein aktives Community-Forum, in dem du Probleme lösen und deine Verfolgungsmodelle verbessern kannst.
Weitere Informationen zur Einrichtung und Verwendung von YOLO für die Verfolgung findest du in unserer Anleitung zur Verwendung des Verfolgungsmodus.
Ja. Trainiere ein Erkennungs-, Segmentierungs-, Posenschätzungs- oder OBB-Modell mit deinem eigenen Datensatz und übergib anschließend dessen Gewichte an
model.track(). Der Tracker selbst wird während der Inferenz ausgeführt und benötigt keine separaten Trainingsdaten.Nach einem Verfolgungslauf mit Ultralytics YOLO enthalten die Ergebnisse verschiedene Datenpunkte, darunter IDs der verfolgten Objekte, ihre Begrenzungsrahmen und Konfidenzwerte. Hier findest du einen kurzen Überblick zur Interpretation dieser Ergebnisse:
- IDs der verfolgten Objekte: Jedem Objekt wird eine eindeutige ID zugewiesen, anhand derer es über die einzelnen Videobilder hinweg verfolgt werden kann.
- Begrenzungsrahmen: Sie zeigen die Position der verfolgten Objekte innerhalb des Videobilds an.
- Konfidenzwerte: Sie geben an, wie sicher das Modell das verfolgte Objekt erkannt hat.
Eine ausführliche Anleitung zur Interpretation und Visualisierung dieser Ergebnisse findest du in der Anleitung zur Verarbeitung der Ergebnisse.
Du kannst den Tracker anpassen, indem du eine geänderte Version der Tracker-Konfigurationsdatei erstellst. Kopiere eine vorhandene Tracker-Konfigurationsdatei aus 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")