Présentation des jeux de données pour le suivi multiobjets#
Le suivi multiobjets est un composant essentiel de l’analyse vidéo qui identifie les objets et conserve des identifiants uniques pour chaque objet détecté d’une image à l’autre. Ultralytics YOLO fournit de puissantes fonctionnalités de suivi qui peuvent être appliquées à divers domaines, notamment la vidéosurveillance, l’analyse sportive et la surveillance du trafic.
Format du jeu de données#
Le mode Track n’entraîne pas de suiveur et ne nécessite pas de jeu de données spécifique à un suiveur. Entraîne un modèle de détection, de segmentation, de pose ou OBB avec le format de jeu de données standard de cette tâche, puis utilise les poids obtenus avec model.track() ou yolo track. Le suiveur sélectionné associe les prédictions du modèle d’une image à l’autre au moment de l’inférence.
Suiveurs disponibles#
Ultralytics YOLO prend en charge les algorithmes de suivi suivants :
- BoT-SORT - Utilise
botsort.yamlpour activer ce suiveur - ByteTrack - Utilise
bytetrack.yamlpour activer ce suiveur - OC-SORT - Utilise
ocsort.yamlpour activer ce suiveur - Deep OC-SORT - Utilise
deepocsort.yamlpour activer ce suiveur - FastTracker - Utilise
fasttrack.yamlpour activer ce suiveur - TrackTrack - Utilise
tracktrack.yamlpour activer ce suiveur (par défaut)
Utilisation#
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
results = model.track(source="https://youtu.be/LNwODJXcvt4", conf=0.1, iou=0.7, show=True)Conserver les pistes entre les images#
Pour assurer un suivi continu d’une image vidéo à l’autre, tu peux utiliser le paramètre persist=True :
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#
Ultralytics YOLO est un modèle de détection d’objets de pointe, reconnu pour ses performances en temps réel et sa grande précision. Utiliser YOLO pour le suivi multiobjets offre plusieurs avantages :
- Suivi en temps réel : Obtiens un suivi efficace et rapide, idéal pour les environnements dynamiques.
- Flexibilité avec les modèles préentraînés : Aucun besoin d’entraîner un modèle à partir de zéro ; utilise simplement des modèles préentraînés de détection, de segmentation, de pose ou OBB.
- Facilité d’utilisation : L’intégration simple de l’API avec Python et CLI facilite la mise en place de pipelines de suivi.
- Documentation complète et assistance de la communauté : Ultralytics fournit une documentation détaillée et un forum communautaire actif pour résoudre les problèmes et améliorer tes modèles de suivi.
Pour plus d’informations sur la configuration et l’utilisation de YOLO pour le suivi, consulte notre guide d’utilisation du mode Track.
Oui. Entraîne un modèle de détection, de segmentation, de pose ou OBB sur ton jeu de données personnalisé, puis transmets ses poids à
model.track(). Le suiveur lui-même s’exécute pendant l’inférence et ne nécessite pas de données d’entraînement distinctes.Après avoir exécuté une tâche de suivi avec Ultralytics YOLO, les résultats incluent différents éléments de données, tels que les identifiants des objets suivis, leurs boîtes englobantes et les scores de confiance. Voici un bref aperçu de la manière d’interpréter ces résultats :
- Identifiants suivis : Chaque objet reçoit un identifiant unique, ce qui permet de le suivre d’une image à l’autre.
- Boîtes englobantes : Elles indiquent l’emplacement des objets suivis dans l’image.
- Scores de confiance : Ils reflètent le niveau de confiance du modèle dans la détection de l’objet suivi.
Pour obtenir des instructions détaillées sur l’interprétation et la visualisation de ces résultats, consulte le guide de gestion des résultats.
Tu peux personnaliser le suiveur en créant une version modifiée du fichier de configuration du suiveur. Copie un fichier de configuration existant depuis ultralytics/cfg/trackers, modifie les paramètres selon tes besoins et indique ce fichier lors de l’exécution du suiveur :
from ultralytics import YOLO model = YOLO("yolo26n.pt") results = model.track(source="video.mp4", tracker="custom_tracker.yaml")
Pour utiliser le suivi multiobjets avec Ultralytics YOLO, tu peux commencer par utiliser les exemples Python ou CLI fournis. Voici comment démarrer :
Ces commandes chargent le modèle YOLO26 et l’utilisent pour suivre les objets dans la source vidéo indiquée, avec des seuils spécifiques de confiance (
conf) et d’intersection sur union (iou). Pour plus d’informations, consulte la documentation du mode Track.