Le projet Tulipp (Towards Ubiquitous Low-power Image Processing Platforms) qui a débuté en janvier 2016 s’est achevé par la publication d'une plate-forme de référence complète pour les concepteurs de systèmes intégrés embarqués pour applications de vision.... Objectif de Tulipp : permettre aux concepteurs de produits de vision artificielle de relever plus facilement les défis combinés de la faible consommation, de la faible latence, des performances élevées et des contraintes de conception pour le traitement des images en temps réel.
La plate-forme de référence Tulipp comprend un kit de développement complet, avec une carte de calcul bâtie sur un FPGA multicoeur, un système d’exploitation temps réel et parallèle, une chaîne d’outils de développement avec des lignes directrices, ainsi que des cas d'usage axés sur diverses applications comme l'imagerie médicale par rayons X, l'assistance à la conduite et les drones autonomes avec évitement d’obstacles.
« En couvrant un large spectre de domaines d'application pour définir une plate-forme de traitement de référence capturant le caractère commun d'applications de traitement d'image et de vision haute performance et temps réel, le projet Tulipp a permis de relever les défis fondamentaux auxquels sont confrontés les concepteurs de systèmes de vision embarqués actuels, commente Philippe Millet de Thales et coordinateur du projet Tulipp. Et l'écosystème d’acteurs du domaine créé tout au long du projet assurera sa continuité dans le futur. »
Développée par Sundance Multiprocessor Technology, chaque instance de la plate-forme matérielle de traitement Tulipp mesure 40 x 50 mm, conformément au standard de carte PC/104. La carte est architecturée autour du processeur Zynq UltraScale+ MPSoC de Xilinx, qui intègre une matrice de FPGA, un processeur à quatre coeurs Arm Cortex-A53, une unité de traitement graphique Arm Mali-400 MP2 et une unité de traitement temps réel dotée d’un processeur temps réel 32 bits à double cœur Arm Cortex-R5. Un module d’extension FMC conforme au standard Vita 57.1 permet de créer en outre des cartes spécifiques pour chaque application avec divers types d’entrées/sorties tout en maintenant la cohérence avec les interfaces du module de traitement.
Couplé à la plate-forme matérielle Tulipp, un système d’exploitation temps réel embarqué parallèle à faible temps de latence a été spécialement développé par la société Hipperos (une technologie dévoilée lors de la manifestation Embedded World 2017) pour gérer de manière prévisible les applications intégrées multithreads complexes. Au-delà, afin d'aider les concepteurs de systèmes de vision à comprendre l'impact de leurs choix de placement et de séquencement fonctionnel sur les ressources disponibles, la plate-forme Tulipp a été étendue par les organismes norvégien NTNU (Norges Teknisk-Naturvitenskapelige Universitet) et allemand TUD (Technische Universität Dresden) avec des fonctions de mesure de l'énergie consommée et d'analyse des performances. Des technologies mises en œuvre dans la chaîne d’outils STHEM (Supporting Utilities for Heterogeneous Embedded Image Processing Platforms) développée lors du projet.
Trois applications concrètes
Pour démontrer la possibilité de définir une plate-forme de traitement de référence commune comprenant matériel, OS temps réel et environnement de programmation, Tulipp a développé trois applications réelles dans les domaines de l’imagerie médicale à rayons X, des systèmes ADAS (Advanced Driver Assistance Systems) d’assistance à la conduite et des véhicules aériens sans pilote (drones).
L’application d’imagerie médicale par rayons X de Tulipp présente des algorithmes avancés d’amélioration d’image pour les images à rayons X fonctionnant à une cadence élevée, l’objectif étant ici de réduire de 75% les doses de rayonnement auxquelles les patients et le personnel sont exposés lors d’opérations chirurgicales qui font appel aux rayons X pour délivrer une vue interne du corps d'un patient en temps réel.
L’application ADAS s’appuie sur l’analyse conjointe de données issues de systèmes de vision et de radars avec l’intégration des algorithmes de traitement dans une unité de contrôle/commande électronique (ECU) économe en énergie pour la reconnaissance des piétons en temps réel. Les temps de traitement par image de 66 ms ont permis aux algorithmes choisis (type Viola & Jones) d’atteindre leur objectif, à savoir une image sur deux lorsque la caméra fonctionne à 30 Hz.
Enfin, le cas d’usage Tulipp pour les drones porte sur un système d’évitement d’obstacles en temps réel via une caméra stéréo associée à des caméras orientées dans la direction du vol. Il repose sur des cartes de disparité, calculées à partir des images des caméras, pour localiser les obstacles sur la trajectoire de vol et pour diriger automatiquement le drone entre les obstacles qui l’entourent.
Signalons pour être complet que les connaissances acquises lors de ce projet ont été rassemblées dans un ensemble de directives comprenant des conseils de conception, les meilleures pratiques d’approche et des méthodes recommandées pour la mise en œuvre de systèmes de vision embarqués. Ces connaissances seront rassemblées dans un livre qui sera publié par Springer à la fin de cette année.
Rappelons que le projet Tulipp a été financé à hauteur de 4 millions d’euros dans le cadre du programme Horizon 2020, avec comme partenaires Thales (chef de file) et les sociétés Efficient Innovation, Hipperos, Sundance Multiprocessor Technology et Synective Labs ainsi que les organismes de recherche Fraunhofer IOSB (Allemagne), Norges Teknisk-Naturvitenskapelige Universitet (Norvège) et Technische Universität Dresden (Allemagne).