Suivi de plusieurs objets (MOT)
Découvrez le suivi d'objets multiples (MOT) : track et ré-identifiez des objets à travers des images vidéo avec YOLO11, les filtres de Kalman, la correspondance d'apparence et l'association de données moderne.
Le suivi d'objets multiples (MOT) est une tâche essentielle de la vision
vision par ordinateur qui consiste à détecter plusieurs entités
entités distinctes dans un flux vidéo et le maintien de leur identité unique sur plusieurs images consécutives. Alors que la
détection d'objets standard identifie ce qui est présent dans une seule image statique, le suivi multi-objets introduit une dimension temporelle.
statique, le suivi multi-objets introduit une dimension temporelle, en répondant à la question de savoir où des objets spécifiques se déplacent au fil du temps.
objets spécifiques se déplacent dans le temps. En attribuant un numéro d'identification persistant à chaque instance détectée, la MOT permet aux systèmes d'analyser les trajectoires, de comprendre les interactions et d'identifier les objets.
d'analyser les trajectoires, de comprendre les interactions et de compter les éléments uniques, ce qui en fait un composant fondamental des applications modernes de compréhension vidéo.
des applications modernes de compréhension vidéo.
La mécanique des systèmes de suivi
La plupart des systèmes de MOT les plus modernes, y compris ceux qui sont alimentés par des piles à combustible, sont des systèmes de contrôle de la qualité.
YOLO11fonctionnent selon un paradigme de "suivi par détection".
par détection". Ce flux de travail sépare le processus en étapes distinctes qui se répètent pour chaque image vidéo afin de garantir une précision et une continuité élevées.
précision et la continuité.
-
Détection : Le système utilise d'abord un modèle très performant pour localiser les objets d'intérêt,
en générant des boîtes de délimitation et des
des scores de confiance.
-
Prédiction de mouvement : Pour associer les détections entre les images, des algorithmes comme le filtre de Kalman estiment la position future d'un objet.
le filtre de Kalman estiment la position future d'un
d'un objet en fonction de sa vitesse et de sa position passées. Cela crée une
estimation de l'état qui réduit la zone de recherche pour l'image suivante.
l'image suivante.
-
Association de données : Le système associe les nouvelles détections aux pistes existantes. Les techniques d'optimisation
d'optimisation telles que l'algorithme hongrois
problème d'affectation en minimisant le coût de la mise en correspondance, en calculant souvent l'intersection sur l'union (IoU) entre les pistes existantes et les nouvelles détections.
l'intersection sur l'union (IoU) entre la piste prédite et la nouvelle détection.
entre la track prédite et la nouvelle détection.
-
Ré-identification (ReID) : Dans les scénarios où les objets se croisent ou sont temporairement cachés (phénomène connu sous le nom d'occlusion)
phénomène connu sous le nom d'occlusion, les
utilisent des incrustations visuelles pour reconnaître l'objet lorsqu'il réapparaît.
l'objet lorsqu'il réapparaît, évitant ainsi le changement d'identifiant.
MOT vs. termes connexes de vision par ordinateur
Il est important de distinguer les MOT de concepts similaires afin de sélectionner la technologie appropriée pour un cas d'utilisation spécifique.
-
par rapport à la détection d'objets : La détection traite chaque image comme un événement indépendant. Si un véhicule apparaît dans
deux images consécutives, un détecteur voit deux instances distinctes d'une "voiture". En revanche, le suivi d'objet
le suivi d'objet relie ces instances,
les reconnaît comme un seul et même véhicule se déplaçant dans le temps.
-
vs. Suivi d'un seul objet (SOT) : Le SOT se concentre sur le suivi d'une cible spécifique initialisée par l'utilisateur, en ignorant souvent toute autre activité.
l'utilisateur, en ignorant souvent toute autre activité. La MOT est plus complexe car elle doit detect, track et gérer de manière autonome un nombre inconnu et fluctuant d'objets entrant et sortant de la scène, ce qui nécessite une robustesse à toute épreuve.
un nombre inconnu et fluctuant d'objets entrant et sortant de la scène, ce qui nécessite une logique robuste de gestion de la mémoire.
une logique robuste de gestion de la mémoire.
Applications concrètes
La possibilité de track simultanément plusieurs objets est un moteur d'innovation dans de nombreux secteurs, convertissant les données vidéo brutes en informations exploitables.
données vidéo brutes en informations
en modèles prédictifs exploitables.
-
Transport intelligent : Dans le domaine de l
l 'IA dans l'automobile, la MOT est essentielle pour
la conduite autonome et la surveillance du trafic. Il permet aux systèmes d'effectuer
d 'estimer la vitesse en calculant la distance parcourue
distance parcourue par un véhicule au fil du temps et aide à prédire les collisions potentielles en surveillant les trajectoires des piétons et des cyclistes.
cyclistes.
-
Analyse du commerce de détail : Les magasins de briques et de mortier tirent parti de l'IA dans le commerce de détail pour comprendre le comportement des clients.
l 'IA dans le commerce de détail pour comprendre le comportement des clients. En
l'application de la MOT pour un comptage précis des objets,
d'objets, les détaillants peuvent mesurer le trafic piétonnier, analyser les temps d'attente dans des allées spécifiques et optimiser la gestion des files d'attente afin d'améliorer les conditions d'achat.
optimiser la gestion des files d'attente afin d'améliorer
l'expérience d'achat.
-
Analyse sportive : Les entraîneurs et les analystes utilisent la MOT pour track joueurs et le ballon pendant les matchs. Ces données
d 'estimation de la pose, aidant ainsi les équipes à
aider les équipes à comprendre les formations, la fatigue des joueurs et la dynamique du jeu dans des scénarios d'inférence en temps réel.
scénarios d'inférence en temps réel.
Mise en œuvre du suivi avec Python
Le ultralytics simplifie la complexité de la MOT en intégrant des trackers puissants tels que
BoT-SORT et
ByteTrack directement dans le pipeline de
de prédiction. Ces trackers peuvent être facilement échangés via des arguments.
L'exemple suivant montre comment charger un modèle YOLO11 pré-entraîné et appliquer le suivi à un fichier vidéo :
from ultralytics import YOLO
# Load an official YOLO11 model pretrained on COCO
model = YOLO("yolo11n.pt")
# Perform tracking on a video file
# 'persist=True' ensures IDs are maintained between frames
# 'tracker' allows selection of algorithms like 'bytetrack.yaml' or 'botsort.yaml'
results = model.track(source="traffic_analysis.mp4", persist=True, tracker="bytetrack.yaml")
# Visualize the results
for result in results:
result.show()
Ce code gère l'ensemble du pipeline, de la détection à l'attribution des identifiants, ce qui permet aux développeurs de se concentrer sur la logique de haut niveau, telle que le comptage des régions ou l'analyse comportementale.
logique de haut niveau, comme le comptage de régions ou l'analyse
comportementale. Pour une personnalisation plus poussée, reportez-vous à la documentation sur le mode de suivi
la documentation sur le mode de suivi.