Link to this sectionÜ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.
Link to this sectionDatensatzformat (kommt bald)#
Das Ultralytics-Tracking verwendet derzeit Erkennungs-, Segmentierungs- oder Pose-Modelle wieder, ohne dass ein spezielles Tracker-Training erforderlich ist. Native Unterstützung für das Tracker-Training befindet sich in aktiver Entwicklung.
Link to this sectionVerfü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
Link to this sectionVerwendung#
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
results = model.track(source="https://youtu.be/LNwODJXcvt4", conf=0.1, iou=0.7, show=True)Link to this sectionPersistenz von Tracks zwischen Frames#
Für kontinuierliches Tracking über Videobilder 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()Link to this sectionFAQ#
Link to this sectionWie 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 zur Objektverfolgung in der angegebenen Videoquelle mit spezifischen Schwellenwerten für Konfidenz (conf) und Intersection over Union (iou). Weitere Details findest du in der Dokumentation zum Track-Modus.
Link to this sectionWelche 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- oder Pose-Modelle für das Tracking, ohne dass ein separates Training erforderlich ist. Bleibe auf dem Laufenden, indem du unserem Blog folgst.
Link to this sectionWarum 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 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- oder Pose-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 zur Einrichtung und Nutzung von YOLO für das Tracking findest du in unserem Leitfaden zur Nutzung des Track-Modus.
Link to this sectionKann 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.
Link to this sectionWie 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.
Für eine detaillierte Anleitung zur Interpretation und Visualisierung dieser Ergebnisse siehe den Leitfaden zur Ergebnisverarbeitung.
Link to this sectionWie kann ich die Tracker-Konfiguration anpassen?#
Du kannst den Tracker anpassen, indem du eine modifizierte Version der Tracker-Konfigurationsdatei erstellst. Kopiere eine bestehende Tracker-Konfigurationsdatei aus ultralytics/cfg/trackers, ändere die Parameter nach Bedarf 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")