Ultralytics YOLO27 :
Get Started

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.yaml pour activer ce traqueur
  • ByteTrack - Utilise bytetrack.yaml pour activer ce traqueur
  • OC-SORT - Utilise ocsort.yaml pour activer ce traqueur
  • Deep OC-SORT - Utilise deepocsort.yaml pour activer ce traqueur
  • FastTracker - Utilise fasttrack.yaml pour activer ce traqueur
  • TrackTrack - Utilise tracktrack.yaml pour activer ce traqueur (par défaut)

Utilisation#

Exemple
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 :

Exemple
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 :

    Exemple
    from 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")

Commentaires