Thèse soutenue

Définition d’un algorithme de localisation d’objets à partir de flux vidéos provenant de plusieurs caméras et évaluation sur MPSoC FPGA

FR  |  
EN
Auteur / Autrice : Denis Shemonaev
Direction : Christophe Jego
Type : Thèse de doctorat
Discipline(s) : Electronique
Date : Soutenance le 27/05/2024
Etablissement(s) : Bordeaux
Ecole(s) doctorale(s) : École doctorale des sciences physiques et de l'ingénieur
Partenaire(s) de recherche : Laboratoire : Laboratoire de l'intégration du matériau au système (Talence, Gironde)
Jury : Président / Présidente : Daniel Chillet
Examinateurs / Examinatrices : Anthony Besseau
Rapporteurs / Rapporteuses : Matthieu Arzel, Andrea Pinna

Résumé

FR  |  
EN

Le récent essor des Convolutional Neural Network (CNN) a permis des avancées considérables dans l’exploitation d’informations visuelles par l’ordinateur. En particulier, la détection et le suivi multi-objets sont des tâches très convoitées par l’industrie notamment pour l’inspection de défauts ou la gestion d’un inventaire. Cependant, une grande puissance de calcul est requise pour obtenir des performances en temps réel. L’informatique en nuage répond en partie à ce besoin, en déportant les calculs loin du capteur vers des serveurs dédiés souvent pourvus de GPU puissants mais gourmands en énergie. Cette approche a plusieurs défauts, notamment pour des applications critiques au niveau du temps d’exécution ou nécessitant la non-communication des données. Ainsi, à l’aube de l’industrie 4.0, les acteurs se tournent plutôt vers l’informatique en périphérie. Ce paradigme préconise d’allouer les ressources de calcul au plus proche du capteur. Les plateformes matérielles de type MPSoC FPGA se distinguent par leur flexibilité et leur efficacité calculatoire. Néanmoins, les méthodologies proposées par les fabricants (AMD, Intel) pour intégrer des fonctions de vision par ordinateur au sein de ces plateformes sont récentes et complexes à mettre en oeuvre. En particulier, il n’existe pas de méthodologie pour développer des applications exploitant plusieurs caméras. Les travaux de thèse présentés dans ce manuscrit portent sur le développement d’un algorithme de localisation d’objets à partir de plusieurs flux vidéos dans le but d’une intégration sur une plateforme NATvision, plateforme basée sur un MPSoC FPGA et proposée par la société EMG2 SAS. NATvision est une solution qui regroupe un environnement matériel complet et modulaire, basée sur la technologie MicroTCA, et un environnement logiciel permettant le pilotage de l’ensemble. Cet environnement permet de regrouper plusieurs cartes au sein d’un châssis, offrant ainsi une possibilité d’expansibilité La première contribution de cette étude est la définition d’un algorithme modulaire permettant le traitement et la fusion d’informations provenant de plusieurs flux vidéo. Une attention particulière a été portée sur l’exécution de l’algorithme afin de simplifier son utilisation ainsi que l’intégration de nouveaux développements. Le prototype développé a été évalué sur un PC portable, avec trois flux vidéo provenant d’un détecteur d’objets entrainé sur un jeu de données réduit à trois classes. Une deuxième contribution concerne la sélection, la simplification et l’implémentation d’un algorithme de suivi multi-objets sur MPSoC FPGA. Des expérimentations ont été effectuées dans le but d’accélérer l’algorithme multi-objets SORT sur MPSoC FPGA ont été effectuées. Une étude comparative d’implémentations logicielles optimisées (SIMD) et matérielles obtenues à l’aide d’outils de synthèse HLS a été menée. Dans ce cadre, un accélérateur matériel pour résoudre les problèmes d’affectation a été implémenté et évalué sur MPSoC FPGA (KV260). Finalement, cela a permis l’implémentation d’une chaine complète de détection et de suivi d’objets sur une plateforme de test à base de MPSoC FPGA. Après évaluation sur un jeu de données MOT15, composé de scènes différentes provenant du benchmark MOTChallenge, cette implémentation permet d’atteindre des performances temps réels (>15 FPS) en gardant une précision proche d’une implémentation sur GPU.