Présentation des jeux de données pour le suivi multi-objets#
Le suivi multi-objets est un élément essentiel de l’analyse vidéo : il identifie les objets et conserve un identifiant unique pour chacun d’eux d’une image vidéo à l’autre. Ultralytics YOLO offre de puissantes capacités de suivi applicables à divers domaines, notamment la surveillance, l’analyse sportive et la surveillance du trafic.
Format du jeu de données#
Le mode Track n’entraîne pas de traqueur et ne nécessite pas de jeu de données spécifique à un traqueur. Entraîne un modèle de détection, de segmentation, de pose ou OBB avec le format de jeu de données standard de la tâche, puis utilise les poids obtenus avec model.track() ou yolo track. Le traqueur sélectionné associe les prédictions du modèle d’une image à l’autre au moment de l’inférence.
Traqueurs disponibles#
Ultralytics YOLO prend en charge les algorithmes de suivi suivants :
- BoT-SORT - Utilise
botsort.yamlpour activer ce traqueur - ByteTrack - Utilise
bytetrack.yamlpour activer ce traqueur - OC-SORT - Utilise
ocsort.yamlpour activer ce traqueur - Deep OC-SORT - Utilise
deepocsort.yamlpour activer ce traqueur - FastTracker - Utilise
fasttrack.yamlpour activer ce traqueur - TrackTrack - Utilise
tracktrack.yamlpour activer ce traqueur (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 trajectoires d’une image à l’autre#
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
# Charger le modèle YOLO
model = YOLO("yolo26n.pt")
# Ouvrir le fichier vidéo
cap = cv2.VideoCapture("path/to/video.mp4")
while cap.isOpened():
success, frame = cap.read()
if success:
# Exécuter le suivi en conservant les trajectoires d’une image à l’autre
results = model.track(frame, persist=True)
# Visualiser les résultats
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#
Pour utiliser le suivi multi-objets avec Ultralytics YOLO, tu peux commencer par les exemples Python ou CLI fournis. Voici comment démarrer :
Exemplefrom ultralytics import YOLO model = YOLO("yolo26n.pt") # Charger le modèle YOLO26 results = model.track(source="https://youtu.be/LNwODJXcvt4", conf=0.1, iou=0.7, show=True)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 en savoir plus, consulte la documentation du mode Track.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. L’utilisation de YOLO pour le suivi multi-objets présente plusieurs avantages :
- Suivi en temps réel : Obtiens un suivi efficace et rapide, idéal pour les environnements dynamiques.
- Souplesse grâce aux modèles préentraînés : Pas besoin d’entraîner un modèle depuis 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 des pipelines de suivi.
- Documentation complète et soutien de la communauté : Ultralytics propose une documentation exhaustive et un forum communautaire actif pour résoudre les problèmes et améliorer tes modèles de suivi.
Pour en savoir plus sur la configuration et l’utilisation de YOLO pour le suivi, consulte notre guide d’utilisation du suivi.
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 traqueur 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 comprennent différents points de données, comme les identifiants des objets suivis, leurs boîtes englobantes et les scores de confiance. Voici un bref aperçu de leur interprétation :
- Identifiants des objets suivis : Un identifiant unique est attribué à chaque objet, 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 représentent le degré de confiance du modèle dans la détection de l’objet suivi.
Pour obtenir des conseils détaillés sur l’interprétation et la visualisation de ces résultats, consulte le guide de gestion des résultats.
Tu peux personnaliser le traqueur en créant une version modifiée de son fichier de configuration. Copie un fichier de configuration de traqueur existant depuis ultralytics/cfg/trackers, modifie les paramètres selon tes besoins et indique ce fichier lors de l’exécution du traqueur :
from ultralytics import YOLO model = YOLO("yolo26n.pt") results = model.track(source="video.mp4", tracker="custom_tracker.yaml")