Drone avec caméra stéréo. La petite boîte blanche contient le système embarqué, qui évalue en temps réel les images légèrement décalées des deux caméras afin de détecter les obstacles. Crédit :Fraunhofer IOSB
Que ce soit pour la voiture ou le drone :Développer un logiciel de traitement d'images pour les systèmes embarqués prend beaucoup de temps et est donc très coûteux. Désormais, la plateforme Tulipp permet de développer plus rapidement et à moindre coût des systèmes de traitement d'images embarqués économes en énergie, avec une réduction drastique du time-to-market. L'Institut Fraunhofer d'optronique, Technologies du système et exploitation des images IOSB est membre du consortium de l'UE qui a simplifié le processus.
A première vue les drones, les systèmes d'aide à la conduite et les équipements mobiles de diagnostic médical ne semblent pas avoir grand-chose en commun. Mais en réalité ils le font :ils font tous de plus en plus appel à des composants de traitement d'images, par exemple pour détecter les obstacles et les piétons. Le traitement d'images peut également être utilisé avec des équipements de radiographie mobiles pour assurer une qualité d'image adéquate à des niveaux de rayonnement réduits, réduisant ainsi considérablement l'exposition radioactive.
Contrairement à un ordinateur de poste de travail, où les dimensions et la consommation d'énergie ne sont pas des facteurs particulièrement critiques, des applications comme celles-ci nécessitent pour les petits, poids léger, composants de traitement d'images économes en énergie et néanmoins capables de travailler en temps réel. Les plates-formes matérielles basées sur des architectures informatiques et des processeurs conventionnels ne peuvent pas répondre correctement à ces exigences. C'est pourquoi les systèmes embarqués utilisant des réseaux de portes programmables sur site (FPGA) sont souvent utilisés.
Les matrices de portes programmables sur site sont des composants logiques dont la structure de circuit peut être librement configurée à l'aide d'un type spécial de programmation, impliquant généralement le langage de bas niveau VHDL. Il ya un problème, cependant :La majorité des applications de traitement d'images sont écrites dans des langages de programmation de haut niveau tels que C/C++, et leur migration vers les systèmes embarqués est très compliquée. Non seulement VHDL diffère grandement des autres langages de programmation, mais le code doit également être adapté au matériel spécifique. Cela signifie que même les programmes VHDL existants ne peuvent pas être transférés vers un autre matériel. Les développeurs de logiciels doivent repartir pratiquement de zéro avec chaque nouveau système.
Kit de démarrage pour la mise en œuvre rapide de systèmes embarqués particulièrement économes en énergie
La caméra stéréo et le système embarqué installés sur le drone. Crédit :Fraunhofer IOSB
Un consortium de huit partenaires de six pays, dont l'Institut Fraunhofer d'optronique, Technologies système et exploitation d'images IOSB à Karlsruhe, a maintenant considérablement simplifié cette procédure dans le projet Tulipp. "Le résultat est une plate-forme de développement composée de lignes directrices de conception, une plate-forme matérielle configurable et un système d'exploitation temps réel prenant en charge les processeurs multicœurs, ainsi qu'une chaîne d'outils de programmation, " dit le Dr-Ing. Igor Tchouchenkov, chef de groupe chez Fraunhofer IOSB. "Un kit de démarrage mis sur le marché par l'un de nos partenaires de Tulipp fournit un support supplémentaire. Le kit de démarrage rend le développement de telles applications beaucoup plus rapide et plus facile. Portage des programmes C++ sur FPGA, ce qui signifie souvent plusieurs mois de travail pour le développeur, peut être traité en quelques semaines seulement à l'aide du kit de démarrage Tulipp."
Cela signifie que le développeur doit d'abord considérer, basé sur le logiciel programmé en C++, quels éléments de code doivent être distribués à quels composants matériels et quelles étapes de programme pourraient être optimisées ou parallélisées. Les directives de conception formulées fournissent une aide dans cette tâche. Ensuite, le kit de démarrage entre en jeu. Il contient le matériel configurable auquel les capteurs et dispositifs de sortie nécessaires peuvent être connectés, le système d'exploitation temps réel multiprocesseur, et ce qu'on appelle la chaîne d'outils STHEM. Les applications de la chaîne d'outils permettent d'optimiser le programme C++ de manière à ce qu'il puisse être porté sur le FPGA aussi facilement et rapidement que possible. "L'optimisation de l'énergie est l'une des priorités de la chaîne d'outils :après tout, l'objectif est de concevoir des systèmes de traitement d'images pouvant être alimentés par une petite batterie lorsque cela est possible, " précise Tchouchenkov. " La chaîne d'outils permet d'afficher individuellement et d'optimiser la consommation d'énergie pour chaque fonction du code. "
Cent fois plus rapide qu'un PC haut de gamme
Image vidéo de l'une des deux caméras du drone. Crédit :Fraunhofer IOSB
Le consortium a travaillé sur trois cas d'utilisation spécifiques afin de développer et de tester la plate-forme Tulipp :L'équipe de recherche Fraunhofer IOSB a abordé la détection d'obstacles basée sur une caméra stéréo pour les drones, tandis que d'autres partenaires du projet ont travaillé sur la détection des piétons à proximité d'une voiture et sur l'amélioration de la qualité en direct des images radiographiques prises par les arceaux mobiles pendant les opérations chirurgicales. Chez Tulipp, ils ont porté le logiciel de traitement d'image correspondant du C++ au FPGA.
Les résultats sont impressionnants :le traitement, qui à l'origine prenait plusieurs secondes pour analyser une seule image sur un PC haut de gamme, peut désormais fonctionner sur le drone en temps réel, c'est-à-dire que maintenant environ 30 images sont analysées par seconde. « La vitesse de l'algorithme de détection des piétons pourrait être multipliée par 100 : le système peut désormais analyser 14 images par seconde contre une image toutes les sept secondes. L'amélioration de la qualité des images radiographiques en appliquant des filtres d'image antibruit a permis de réduire la l'intensité du rayonnement pendant les opérations chirurgicales à un quart du niveau précédent.Dans le même temps, la consommation d'énergie pourrait être considérablement réduite pour les trois applications.
La même image avec des informations de profondeur superposées de l'analyse d'image stéréo, mettant en évidence les obstacles proches en rouge. La flèche indique le chemin d'évitement recommandé résultant. Crédit :Fraunhofer IOSB