Utilisez YOLO v5+DeepSORT Pour Créer Un Modèle De Suivi Multi-cibles En Temps Réel

Le suivi d’objets est un sujet important dans le domaine de la vision artificielle.Il peut être divisé en suivi d'objet unique (Single Object Tracking, appelé SOT) et suivi multi-objets (Multi Object Tracking, appelé MOT).
Le suivi multi-cibles est souvent sujet à la perte de cibles en raison du grand nombre d'identifiants de suivi et des occlusions fréquentes. À l'aide du tracker DeepSORT et du détecteur YOLO v5, un modèle de suivi multi-cibles en temps réel haute performance peut être créé.
Cet article présentera respectivement le suivi de cible unique et le suivi de cibles multiples. À la fin de l'article, le processus d'implémentation et le code spécifique de YOLO v5+DeepSORT seront expliqués en détail.
Explication détaillée du suivi d'une cible unique
définition
Le suivi de cible unique (SOT) consiste à indiquer la cible dans la première image de la vidéo, à localiser la cible dans les images suivantes en fonction des informations contextuelles et à établir un modèle de suivi pour prédire l'état de mouvement de la cible.
Scénario d'application
Le SOT est largement utilisé dans la vidéosurveillance intelligente, la conduite autonome, la navigation robotique, l'interaction homme-ordinateur et d'autres domaines.

Difficultés de recherche
Les trois principales difficultés sont : les changements dans l’arrière-plan de la cible, les changements dans l’objet lui-même et les changements d’intensité lumineuse.
Algorithmes traditionnels (basés sur l'apprentissage profond)
Il existe deux approches principales pour résoudre le problème SOT :Suivi discriminatif et suivi génératif,Avec l'application réussie de l'apprentissage profond dans les tâches liées à la vision artificielle telles que la classification d'images et la détection de cibles,L’apprentissage profond a également commencé à être largement utilisé dans les algorithmes de suivi de cibles.
Cet article présente principalement l'algorithme SOT basé sur l'apprentissage profond.

Algorithme clé : SiamFC
Différent des méthodes d'apprentissage en ligne utilisées dans le suivi d'objets traditionnel, SiamFC se concentre sur l'apprentissage d'intégrations fortes dans l'étape hors ligne.
Il combine un algorithme de suivi de base avec un nouveau réseau siamois entièrement convolutif formé de bout en bout sur l'ensemble de données ILSVRC15.Pour la détection d'objets dans les vidéos.

Des expériences ont montré que le réseau profond entièrement convolutif jumeau utilise plus efficacement les données existantes lors des tests et de la formation du modèle.
SiamFC a été le pionnier de l'application de la structure de réseau jumeau dans le domaine du suivi des cibles.La vitesse de suivi du tracker de méthode d'apprentissage en profondeur est considérablement améliorée, avec une structure simple et d'excellentes performances.
Accéder aux documents connexes
Algorithmes dérivés associés
1. StructSiam
Une méthode d’apprentissage de structure locale est proposée, qui prend en compte à la fois le modèle local et la relation structurelle de la cible.À cette fin, les auteurs ont conçu un module de détection de motifs locaux pour identifier automatiquement les zones discriminantes de l’objet cible.
Le modèle peut être formé de bout en bout.
Accéder aux documents connexes
2. SiamFC-tri
L'auteur a proposé une nouvelle perte de triplet.Utilisé pour extraire des caractéristiques profondes et expressives des objets suivis. Sans augmenter l’entrée, cette méthode peut utiliser plus d’éléments pour la formation et obtenir des fonctionnalités plus puissantes en combinant des échantillons originaux.
3. DSiam
Les auteurs ont proposé un réseau jumeau dynamique,Grâce à un modèle d'apprentissage par transfert rapide, les changements d'apparence de la cible et la suppression d'arrière-plan des images précédentes peuvent être efficacement appris en ligne. Dans le même temps, les auteurs ont également proposé une fusion multicouche d’éléments, en utilisant des fonctionnalités profondes multicouches pour intégrer de manière adaptative les sorties du réseau.
DSiam permet l'utilisation de toutes les fonctionnalités générales ou spécialement formées possibles, telles que SiamFC et VGG, et le réseau jumeau dynamique peut être intégré et formé directement sur des séquences vidéo étiquetées, exploitant pleinement les riches informations spatio-temporelles des objets en mouvement.
Explication détaillée du suivi multi-cibles
définition
Le suivi multi-objets (MOT) consiste à attribuer un identifiant à chaque objet dans chaque image de la vidéo et à dessiner la trajectoire de comportement de chaque identifiant.

Scénario d'application
Le MOT est largement utilisé dans la sécurité intelligente, la conduite autonome, les scénarios médicaux et d'autres domaines.
Difficultés de recherche
Le plus grand défi auquel le MOT est actuellement confronté est l’occlusion, c’est-à-dire l’occlusion entre les cibles ou l’occlusion des cibles par l’environnement.
Algorithmes courants
1. TRIER
Simple Online and Realtime Tracking (SORT) est une méthode de suivi multi-cibles qui se concentre sur des algorithmes simples et efficaces.Il est très pratique et permet d'associer efficacement des cibles pour des applications en ligne et en temps réel.

En raison de la simplicité de la méthode de suivi, le tracker peut se mettre à jour à une fréquence de 260 Hz, soit 20 fois plus rapide que les trackers les plus avancés de l'époque.
2. DeepSORT
DeepSORT est une version améliorée de SORT, qui intègre des informations d'apparence pour améliorer les performances de SORT.Cela nous permet de suivre la cible normalement même en cas de longues périodes d'occlusion, et réduit efficacement le nombre de transitions d'identification.

Les auteurs ont placé la majeure partie de la complexité informatique dans l’étape de pré-formation hors ligne, dans laquelle ils utilisent un ensemble de données de ré-identification de personnes à grande échelle pour apprendre une métrique d’association approfondie.
Dans la phase de candidature en ligne, les requêtes de voisinage dans l'espace d'apparence visuelle sont utilisées pour établir des associations de mesure à suivi.
Les expériences montrent que DeepSORT réduit le nombre de conversions d'ID de 45% et présente d'excellentes performances globales à des fréquences d'images élevées.
De plus, DeepSORT est un tracker très général qui peut être connecté à n'importe quel détecteur.
3. Vers un contrôle technique en temps réel
Les auteurs ont proposé un système de contrôle technique,Cela permet d'apprendre la détection d'objets et l'intégration de l'apparence dans un modèle partagé.C'est-à-dire que le modèle d'intégration d'apparence est incorporé dans un détecteur à tir unique afin que le modèle puisse produire la détection et l'intégration correspondante en même temps.
Les auteurs proposent en outre une méthode d’association simple et rapide qui peut être exécutée avec le modèle conjoint.

Le coût de calcul des deux composants est considérablement réduit par rapport aux systèmes MOT précédents, fournissant une base de référence propre et rapide pour les travaux ultérieurs sur la conception d'algorithmes MOT en temps réel.
Il s’agit du premier système de contrôle technique en temps quasi réel du secteur.Il fonctionne plus rapidement, a une plus grande précision et son code est open source, ce qui le rend très utile comme référence.
Suivi multi-objets avec YOLOv5 et DeepSORT
Ce tutoriel est en OpenBayes.com courir. OpenBayes est une plate-forme cloud de calcul d'apprentissage automatique prête à l'emploi qui fournit des frameworks grand public tels que PyTorch et TensorFlow, ainsi que divers types de solutions informatiques telles que vGPU, T4 et V100. Le modèle de tarification est flexible et simple, et les frais sont basés sur le temps d’utilisation.
Ce tutoriel utilise vGPU pour s'exécuter dans l'environnement PyTorch 1.8.1.

Ce projet se compose de deux parties. Tout d’abord, le détecteur YOLO v5 est utilisé pour détecter une série d’objets ; alors DeepSORT est utilisé pour le suivi.
La première étape consiste à préparer l'environnement de code
%cd Yolov5_DeepSort_Pytorch
%pip install -qr requirements.txt # 安装依赖
import torch
from IPython.display import Image, clear_output # 显示结果
clear_output()
print(f"Setup complete. Using torch {torch.__version__} ({torch.cuda.get_device_properties(0).name if torch.cuda.is_available() else 'CPU'})")
Étape 2 Prétraiter la vidéo à tester
!y | ffmpeg -ss 00:00:00 -i test.avi -t 00:00:03 -c copy out.avi -y
Étape 3 : Raisonnement du modèle
!python track.py --yolo_weights /openbayes/input/input1/crowdhuman_yolov5m.pt --source out.avi --save-vid
Étape 4 : Conversion de format
!ffmpeg -i /openbayes/home/Yolov5_DeepSort_Pytorch/inference/output/out.avi output.mp4 -y
Étape 5 : Afficher les résultats
from IPython.display import HTML
from base64 import b64encode
mp4 = open('output.mp4','rb').read()
data_url = "data:video/mp4;base64," + b64encode(mp4).decode()
HTML("""
<video controls>
<source src="%s" type="video/mp4">
</video>
""" % data_url)

À propos d'OpenBayes
OpenBayes Il s'agit d'une institution de recherche de premier plan en matière d'intelligence artificielle en Chine.Fournit un certain nombre de services de base liés au développement de l'IA, notamment des conteneurs de puissance de calcul, une modélisation automatique et un ajustement automatique des paramètres.
Dans le même temps, OpenBayes a également lancé de nombreuses ressources publiques grand public telles que des ensembles de données, des tutoriels et des modèles.Pour que les développeurs apprennent rapidement et créent des modèles d’apprentissage automatique idéaux.
Visitez maintenant openbayes.com et inscrivez-vous
Profitez-en maintenant
600 minutes/semaine de vGPU
Et 300 minutes/semaine de temps de calcul CPU gratuit
Vous pouvez également saisir une vidéo et obtenir les résultats de détection et de suivi correspondants.