En cliquant sur « Accepter tous les cookies », vous acceptez le stockage de cookies sur votre appareil pour améliorer la navigation sur le site, analyser son utilisation et contribuer à nos efforts de marketing. Plus d’infos
Paramètres des cookies
En cliquant sur « Accepter tous les cookies », vous acceptez le stockage de cookies sur votre appareil pour améliorer la navigation sur le site, analyser son utilisation et contribuer à nos efforts de marketing. Plus d’infos
Découvrez les 8 meilleurs outils open source de suivi d'objets pour l'analyse vidéo en temps réel. Découvrez comment chacun d'entre eux fonctionne et comment choisir celui qui convient le mieux à votre projet.
Lorsqu'une voiture grille un feu rouge et qu'une contravention automatique est envoyée au conducteur, ou lorsqu'un footballeur dribble sur le terrain et que la caméra suit le jeu en douceur, l'IA travaille discrètement en arrière-plan. Ces systèmes s'appuient notamment sur la vision par ordinateur, un sous-domaine de l'IA qui permet aux machines de voir, d'interpréter et de comprendre les informations visuelles provenant du monde extérieur.
Dans le domaine de la vision par ordinateur, l'une des tâches clés derrière ces applications est le suivi d'objets. Il est utilisé pour identifier les objets dans chaque image d'une vidéo, puis pour suivre ces objets lorsqu'ils se déplacent, se chevauchent ou changent de direction.
Il existe aujourd'hui de nombreux outils et algorithmes de suivi d'objets, chacun étant conçu pour différents cas d'utilisation, besoins de performance et niveaux de complexité. Certains se concentrent sur la vitesse et peuvent track d'objets en temps réel, tandis que d'autres privilégient la précision ou la stabilité à long terme dans des conditions difficiles telles que l'occlusion, les mouvements rapides ou le faible éclairage.
Plus précisément, les projets open source ont joué un rôle majeur dans l'avancement de ce domaine. Leur code étant librement accessible, les développeurs et les chercheurs peuvent étudier leur fonctionnement, améliorer les méthodes existantes et les adapter à de nouvelles applications. Cette ouverture a contribué à l'évolution rapide du suivi d'objets et à sa plus grande facilité d'intégration dans les systèmes du monde réel.
Dans cet article, nous allons explorer huit outils et algorithmes open source populaires pour le suivi d'objets. C'est parti !
Qu'est-ce que le suivi d'objet ?
Imaginons un scénario dans lequel un agent de sécurité regarde les images de vidéosurveillance d'un parking. Il décide de garder un œil sur une voiture rouge. Au fur et à mesure que la vidéo défile, il repère mentalement cette voiture et continue de la suivre partout où elle va, même lorsque d'autres voitures passent ou que des personnes marchent devant elle.
Le suivi d'objets basé sur l'IA est similaire, mais il fonctionne automatiquement et à grande échelle. En d'autres termes, le suivi d'objets consiste à suivre un objet lorsqu'il se déplace à travers les images d'une vidéo et à conserver son identité d'une image à l'autre.
Dans de nombreux systèmes, cela commence par la détection d'objets, qui consiste à repérer et à étiqueter des objets tels que des personnes, des véhicules ou des panneaux routiers dans chaque image. Ensuite, à mesure que ces objets se déplacent, apparaissent, disparaissent ou se chevauchent, le système de suivi relie les détections entre les images afin de savoir quel objet est lequel et où chacun se trouve au fil du temps.
Il existe deux types courants de suivi : le suivi d'un seul objet (SOT), qui se concentre sur un objet principal (comme le suivi d'un ballon dans une vidéo sportive), et le suivi de plusieurs objets (MOT), qui suit plusieurs objets à la fois et attribue à chacun d'eux un identifiant unique (comme le suivi de toutes les voitures à un carrefour très fréquenté).
Quel que soit le type de suivi, la plupart des systèmes s'appuient sur trois composants essentiels : un détecteur pour trouver les objets dans chaque image, un modèle de mouvement pour prédire comment ces objets sont susceptibles de se déplacer, et une étape de correspondance pour relier les nouvelles détections aux objets précédemment suivis. Ces éléments transforment la vidéo brute en informations significatives sur la façon dont les objets se déplacent et interagissent au fil du temps.
Le besoin d'outils open source de suivi d'objets
Avant d'entrer dans les détails, vous vous demandez peut-être : qu'est-ce qui rend les outils et algorithmes open source de suivi d'objets si spéciaux ?
Les outils open source ont joué un rôle important dans la simplification et la généralisation de l'utilisation du suivi d'objets. Le code étant ouvert, les développeurs et les chercheurs peuvent voir exactement comment fonctionne un outil de suivi, en tirer des enseignements et l'adapter à leurs propres projets, au lieu de le traiter comme une boîte noire.
Ils bénéficient également de communautés solides. De nombreux outils de suivi open source sont maintenus par des contributeurs actifs qui ajoutent de nouvelles fonctionnalités, améliorent la vitesse et la précision, corrigent les bogues et maintiennent les outils en phase avec les dernières recherches. Cette collaboration continue leur permet de rester fiables et utiles dans différentes applications.
Le coût est une autre raison importante pour laquelle ils sont importants. Les outils open source étant gratuits, les étudiants, les start-ups et les petites équipes peuvent expérimenter, créer des prototypes et développer de véritables systèmes sans se soucier des frais de licence ou des coûts d'abonnement.
Les 8 meilleurs outils et algorithmes open source de suivi d'objets
Il existe aujourd'hui une grande variété d'options open source pour créer des systèmes de suivi. Certaines sont des algorithmes ou des modèles de suivi que vous pouvez intégrer directement à votre pipeline, tandis que d'autres sont des bibliothèques et des frameworks qui facilitent l'exécution, la gestion et l'intégration de ces modèles. Ensemble, ils couvrent tout, de la logique de suivi de base aux outils connexes dont vous avez besoin dans un projet réel.
Ensuite, examinons huit outils et algorithmes open source populaires de suivi d'objets.
1.YOLO Ultralytics etPython Ultralytics
L'une des options les plus simples et les plus pratiques pour le suivi d'objets consiste à utiliser les YOLO Ultralytics YOLO en combinaison avec le Python Ultralytics .YOLO Ultralytics YOLO tels que Ultralytics YOLO11 et le prochain Ultralytics sont des modèles de vision par ordinateur qui prennent en charge toute une série de tâches de vision, notamment la détection d'objets, la segmentation d'instances, l'estimation de poses et le suivi d'objets.
Fig. 2. Exemple d'utilisation YOLO11 detect track . (Source)
Il est intéressant de noter que les modèles eux-mêmes ne track pas track d'une image à l'autre. C'est plutôt lePython Ultralytics , une bibliothèque qui simplifie l'exécution et le déploiementYOLO Ultralytics YOLO , qui rend le suivi possible en combinant les détections image par image YOLOavec des algorithmes de suivi multi-objets dédiés tels que BoT-SORT et ByteTrack.
Grâce à leur capacité de suivi intégrée, le Ultralytics etYOLO Ultralytics YOLO peuvent être utilisés pour detect dans chaque image, puis leur attribuer des identifiants cohérents afin de pouvoir les suivre lorsqu'ils se déplacent, se chevauchent, quittent l'image et y réapparaissent plus tard. Cette approche est de plus en plus adoptée dans des secteurs tels que la fabrication et la vente au détail, où elle permet de mettre en place des applications telles que les workflows d'inspection des défauts, le suivi des flux d'inventaire et le suivi des clients en magasin.
2. OpenCV
OpenCV est une vaste bibliothèque de vision par ordinateur qui comprend un ensemble d'algorithmes de suivi d'objets. Cette bibliothèque est développée et maintenue par la OpenCV depuis 1999.
Au lieu de s'appuyer sur l'apprentissage profond, la plupart de ces trackers utilisent des méthodes traditionnelles de vision par ordinateur telles que les filtres de corrélation et les techniques basées sur le noyau (qui suivent un objet en faisant correspondre son apparence visuelle, comme la couleur et la texture, d'une image à l'autre, plutôt que d'apprendre des caractéristiques à l'aide de réseaux neuronaux).
Lorsque vous utilisez ces algorithmes, vous pouvez généralement sélectionner d'abord l'objet que vous souhaitez track, puis le tracker recherche en permanence la zone visuelle la plus similaire dans les images suivantes à mesure que l'objet se déplace.
Bien que ces méthodes ne soient pas aussi performantes que les systèmes de suivi modernes basés sur l'apprentissage profond dans des scènes complexes ou encombrées, elles restent largement utilisées car elles sont légères, rapides et faciles à exécuter. De plus, comme ces trackers fonctionnent efficacement sur les processeurs et ne nécessitent généralement pas de GPU, ils conviennent parfaitement aux expériences rapides, à l'apprentissage en classe et aux projets amateurs.
3. ByteTrack
ByteTrack est l'un des algorithmes open source les plus populaires pour le suivi multi-objets. Au lieu de ne faire correspondre que les détections dont le modèle est très sûr, il utilise également des détections moins fiables que de nombreux systèmes ignorent généralement.
Cela lui permet track objets difficiles à voir pendant un court instant, par exemple lorsqu'ils sont partiellement masqués, éloignés ou se déplacent rapidement. Rapide et fiable, ByteTrack est couramment utilisé dans des applications telles que l'analyse du trafic, le suivi des piétons et la surveillance des commerces, où les performances en temps réel et la cohérence des identifiants sont essentielles.
Comme mentionné précédemment, si vous utilisezYOLO Ultralytics pour la détection, il est facile d'activer ByteTrack via lePython Ultralytics . Mais il peut également être utilisé de manière indépendante dans des pipelines personnalisés, ce qui le rend adapté à tout, des prototypes de recherche aux systèmes de production écrits en C++.
4. DeepSORT
Un autre algorithme largement utilisé pour le suivi multi-objets est DeepSORT, abréviation de Deep Simple Online and Real-Time Tracking (suivi simple en ligne et en temps réel). Il s'agit d'une version avancée de SORT, qui signifie Simple Online and Real-Time Tracking (suivi simple en ligne et en temps réel).
Tout comme ByteTrack, SORT suit une approche de suivi par détection. Cependant, SORT s'appuie sur un filtre de Kalman, un modèle mathématique qui estime la position future d'un objet en fonction de ses mouvements passés, afin de prédire où chaque objet est susceptible de se déplacer ensuite.
Il associe ensuite les nouvelles détections aux pistes existantes, principalement en fonction de la position et du chevauchement des cadres de sélection. Cela rend SORT rapide et léger, mais il peut rencontrer des difficultés lorsque les objets se chevauchent, se croisent ou disparaissent brièvement du champ de vision.
DeepSORT améliore SORT en ajoutant des informations d'apparence au processus de suivi. En plus du mouvement et de la position, il utilise un modèle de réidentification ou re-id basé sur l'apprentissage profond qui apprend à reconnaître l'apparence des objets. Cela permet au tracker de reconnaître le même objet d'une image à l'autre, même lorsque le mouvement ne suffit pas à le distinguer des autres.
Pour cette raison, DeepSORT est couramment utilisé dans des applications telles que la surveillance et le suivi des foules, où les personnes se chevauchent fréquemment ou sont brièvement masquées. Cependant, il est aujourd'hui considéré comme une référence classique, et les nouvelles méthodes de suivi offrent souvent de meilleures performances dans des situations plus complexes.
5. Norfair
Norfair est une bibliothèque de suivi légère conçue pour être flexible, plutôt que de vous contraindre à utiliser un pipeline de suivi fixe. Elle peut ajouter un suivi à presque tous les détecteurs, à condition que les résultats du détecteur puissent être représentés sous forme d'un ensemble de points, tels que les centres de cadres de sélection, les points clés ou les données de coordonnées personnalisées.
Fig. 4. Suivi d'objets réels à l'aide de Norfair (Source)
Cette flexibilité le rend particulièrement efficace pour les projets impliquant des entrées inhabituelles ou des modèles de mouvement dynamiques, pour lesquels les outils standard de suivi multi-objets peuvent s'avérer insuffisants. La bibliothèque fournit également des fonctions de distance intégrées pour contrôler la manière dont les détections sont mises en correspondance entre les images.
Ces fonctions de distance mesurent le degré de similitude entre deux points ou objets, offrant ainsi aux utilisateurs un contrôle total sur la logique de suivi. Norfair est souvent utilisé en robotique, dans l'analyse des mouvements sportifs, dans la navigation des drones et dans les applications qui reposent fortement sur le suivi de repères ou de points clés.
6. Suivi MM
MMTracking est une boîte à outils de suivi open source développée par l'équipe OpenMMLab, également à l'origine de bibliothèques de vision par ordinateur largement utilisées telles que MMDetection. Basée sur MMDetection, elle fournit un cadre flexible pour développer et tester des systèmes de suivi.
L'une de ses principales forces réside dans sa conception modulaire. Au lieu de vous limiter à un seul pipeline, MMTracking vous permet de configurer et d'échanger différents composants, tels que des détecteurs, des modules de suivi et, dans certaines configurations, des modèles de réidentification. Grâce à cette flexibilité, il est particulièrement apprécié dans le domaine de la recherche et des projets avancés, où les équipes souhaitent comparer des méthodes, tester de nouvelles idées ou affiner des pipelines de suivi.
7. FairMOT
FairMOT est un cadre de suivi multi-objets conçu pour track objets simultanément. Contrairement aux pipelines traditionnels de suivi par détection qui effectuent d'abord la détection, puis relient les objets entre les images dans une étape distincte, FairMOT apprend la détection et la réidentification ensemble dans un seul réseau.
Cette configuration conjointe lui permet de maintenir des identités plus cohérentes, en particulier dans les scènes encombrées où les personnes se chevauchent souvent ou se déplacent rapidement. FairMOT est couramment utilisé dans des scénarios tels que le suivi des piétons et la surveillance des foules, mais il est également appliqué dans des contextes tels que l'analyse commerciale et la surveillance du trafic, où il est important de suivre de nombreuses cibles en temps réel.
8. SiamMask
SiamMask est une méthode de suivi d'objet unique qui va plus loin que de nombreux trackers en produisant un masque de segmentation ainsi qu'un cadre de sélection. En termes simples, elle ne se contente pas de tracer un rectangle autour de la cible. Elle dessine également les contours de l'objet au niveau des pixels, ce qui peut être utile lorsque la cible change de forme, pivote ou devient partiellement cachée.
Fig. 6. Suivi et segmentation d'un objet à l'aide de SiamMask (Source)
Cette approche utilise une conception de suivi siamois, qui implique que le tracker prenne d'abord une petite vue de référence de la cible à partir de la première image, souvent appelée modèle. Ensuite, dans chaque nouvelle image, il recherche une région plus grande et trouve l'endroit qui présente la plus grande similitude avec ce modèle.
SiamMask s'appuie sur ce principe de correspondance. Il prédit également un masque au niveau des pixels pour la cible, ce qui vous permet d'obtenir à la fois l'emplacement de l'objet et un contour plus précis pendant la lecture de la vidéo.
Facteurs clés dans le choix d'un outil de suivi d'objets
Avec les différentes options d'outils open source de suivi d'objets disponibles aujourd'hui dans le domaine de l'IA, le choix de la meilleure option pour votre projet de vision par ordinateur dépend des besoins spécifiques de votre cas d'utilisation. Voici quelques facteurs à prendre en compte :
Précision : ce critère est particulièrement important dans les scènes encombrées ou visuellement complexes, où le système de vision doit maintenir des identifiants stables même en cas de chevauchement, d'occlusion ou de mouvement rapide.
Vitesse : pour les applications en temps réel telles que la robotique, la surveillance du trafic et l'analyse sportive, la réactivité peut être plus importante que la précision parfaite.
Facilité d'intégration : certains outils de suivi d'objets sont faciles à installer et fonctionnent avec seulement quelques lignes de code, tandis que d'autres nécessitent davantage de paramétrage, de configuration ou de personnalisation du pipeline.
Contraintes de déploiement : l'environnement cible, tel que GPU , les appareils périphériques ou le matériel mobile, peut déterminer quelle approche de suivi est la plus pratique.
Évolutivité : si votre système doit track objets à la fois ou traiter plusieurs flux vidéo, le tracker doit pouvoir évoluer efficacement sans perte de performance significative.
Chaque outil ou algorithme de suivi d'objets a un objectif différent. En fin de compte, le choix approprié dépend de vos exigences spécifiques, des contraintes d'exécution, des mesures de performance et du degré de personnalisation requis par votre projet en matière d'approche de suivi.
Principaux points à retenir
Le suivi d'objets a évolué, passant des premières techniques artisanales aux systèmes d'apprentissage profond de pointe actuels qui interprètent les mouvements, l'identité et le comportement avec une précision impressionnante. Les outils open source ont été un moteur de cette évolution. Ils démocratisent l'accès à des algorithmes puissants, encouragent l'expérimentation et permettent aux chercheurs de créer des pipelines de suivi sophistiqués sans licence restrictive ni infrastructure lourde.