Comment l'innovation dans les outils simplifie la Vision AI pour les systèmes embarqués
L'intégration de la vision dans les produits du quotidien offre des avantages transformateurs dans tous les secteurs, pourtant l'extraction des données caméra, l'intégration de modèles d'apprentissage automatique et la fourniture d'insights exploitables restent des défis complexes.
La clé réside dans le choix des logiciels, outils, bibliothèques et compilateurs appropriés. Ces ressources sont généralement inaccessibles aux non-ingénieurs, et même de nombreux développeurs embarqués manquent de l'expertise spécialisée requise pour la conception de systèmes de vision.
L'un des obstacles majeurs est le manque de connaissance des logiciels et outils qui facilitent le développement de la vision embarquée, comme l'a expliqué Jeff Bier, fondateur de l'Edge AI and Vision Alliance, lors d'un briefing avec EE Times avant le Sommet Embedded Vision 2021. Bien que des investissements et recherches importants aient été consacrés aux algorithmes et au silicium, les outils logiciels qui font l'interface entre eux — compilateurs, bibliothèques de fonctions optimisées, etc. — ont été quelque peu négligés, note Bier.
L'utilisation des bons outils logiciels, compilateurs et bibliothèques peut produire une implémentation très efficace d'un algorithme pour un microcontrôleur ou processeur particulier. Mais « au cours des 30 dernières années, les entreprises de semiconducteurs ont généralement sous-investi dans les outils logiciels », dit Bier, vétéran de l'industrie des systèmes embarqués et du traitement du signal en particulier. « [Le logiciel] est souvent vu comme un mal nécessaire — c'est un centre de coûts dans un métier très sensible aux coûts — et cela se voit. En tant que développeur logiciel embarqué, vous pourriez regarder les outils à votre disposition par rapport à ce qu'ont les développeurs PC ou cloud et vous sentir comme l'enfant mal-aimé. »
Poussant l'argument plus loin, il ajoute : « Vous pouvez avoir une expertise en systèmes embarqués, mais il y a une chance que ces développeurs n'aient jamais travaillé avec des données d'image ou des réseaux de neurones profonds. »
Les compétences sont un grand défi, dit Bier. « Nous avons peut-être fait des calculs sur tableur et dit : « Oui, il est possible d'exécuter ce type de réseau de neurones profond à une performance suffisante dans notre application. » Mais savons-nous comment faire ? Avons-nous les compétences ? Pour la plupart des organisations, la réponse est non, car elles n'ont pas eu l'opportunité d'utiliser cette technologie par le passé. Comme c'est une technologie relativement nouvelle dans le monde commercial, elles n'ont pas l'expertise. Elles n'ont pas de département machine learning ou vision par ordinateur dans leur entreprise. »
Ces dernières années, cela s'est transformé en un goulot d'étranglement vraiment important pour l'application commerciale de la vision par ordinateur et des réseaux de neurones profonds — juste le savoir-faire.
La technologie devient cependant plus accessible, car les entreprises ont cherché à combler le fossé des compétences au cours des dernières années. « L'écart de connaissances et de compétences était assez grand mais se réduit », dit Bier, ajoutant que « quelques entreprises », une grande et une petite, « ont mené la charge sur ce point. » La grande entreprise est Intel ; la petite est Edge Impulse.
« Intel m'a souvent impressionné en allant à contre-courant et en acceptant de faire de gros investissements dans les outils logiciels de plusieurs façons », dit Bier. « Ils ont, par exemple, la chaîne d'outils OpenVINO pour la vision par ordinateur et l'inférence en edge, et DevCloud for the Edge. Edge Impulse est aussi un environnement basé sur le cloud. Pour un développeur embarqué, cela [l'environnement cloud] paraît bizarre. Tout pour eux est souvent sur leur bureau — la carte de développement, la station de travail, les outils — et ils n'ont même pas besoin de connexion internet. Tout est très local. Donc, cela paraît très étrange de dire : « Mettez votre code dans le cloud » et exécutez les outils dans le cloud. »
La tendance répond au temps de déploiement ainsi qu'au fossé des compétences. Une frustration fréquente pour les développeurs embarqués est d'obtenir l'accès aux cartes et outils et de les installer correctement, dit Bier. Le délai est « généralement mesuré en semaines, parfois en mois, et c'est douloureux, surtout si à la fin vous réalisez que ce n'est pas ce dont vous aviez besoin et qu'il faut recommencer le processus avec d'autres cartes. » Par exemple, vous pourriez découvrir à la fin du processus que « vous avez besoin du modèle supérieur, avec une performance plus élevée ou un ensemble différent d'interfaces I/O. »
Mais si le fournisseur « a toutes les cartes de développement dans le cloud connectées à leurs machines et [peut] y accéder à volonté, cela offre une commodité énorme. De même, ils ont les dernières versions des outils logiciels, et ils ont résolu toutes les dépendances entre eux. »
Accélérer le déploiement de la Vision AI
Alors, comment accélérer le déploiement de la vision embarquée pour permettre des fonctionnalités telles que la détection et l'analyse d'objets, que ce soit pour les villes intelligentes, usines, retail, ou toute autre application ?
Ayant pris conscience des points de douleur décrits par Bier, les entreprises y répondent. Certaines offrent maintenant des outils tels que des systèmes de développement basés sur le cloud qui permettent d'envoyer votre code ou vos données et d'obtenir des évaluations en un rien de temps. D'autres fournissent des designs de référence qui permettent simplement de brancher votre sortie caméra et de choisir parmi des bibliothèques ou applications fournissant des algorithmes d'inférence pour des applications courantes.
Dans le premier camp, Intel DevCloud for the Edge et Edge Impulse offrent des plateformes basées sur le cloud qui éliminent la plupart des points de douleur avec un accès facile aux derniers outils et logiciels. Dans le second, Xilinx et d'autres ont commencé à offrir des systèmes-sur-module complets avec des applications prêtes pour la production qui peuvent être déployées avec des outils à un niveau d'abstraction plus élevé, supprimant le besoin de certaines compétences plus spécialisées.
Prototyper, benchmarker et tester l'inférence AI dans le cloud
Intel DevCloud for the Edge permet aux utilisateurs de développer, prototyper, benchmarker et tester des applications d'inférence AI sur une gamme de matériel Intel, incluant CPUs, GPUs intégrés, FPGAs et unités de traitement de vision (VPUs). Avec son interface Jupyter Notebook, la plateforme contient des tutoriels et exemples préchargés avec tout le nécessaire pour démarrer rapidement. Cela inclut des modèles pré-entraînés, des données d'exemple, et du code exécutable de la dernière version du toolkit Intel Distribution of OpenVINO, ainsi que d'autres outils pour le deep learning. Tous les appareils supportés sont configurés pour une performance optimale et prêts pour l'exécution d'inférence.

Le bénéfice le plus significatif pour le développeur est que la plateforme ne nécessite aucune configuration matérielle côté utilisateur. L'environnement de développement basé navigateur du Jupyter Notebook permet aux développeurs d'exécuter du code depuis leur navigateur et de visualiser les résultats instantanément. Cela leur permet de prototyper des solutions de vision par ordinateur dans l'environnement cloud d'Intel et de regarder leur code s'exécuter sur n'importe quelle combinaison de ses ressources matérielles disponibles.
Il y a trois avantages principaux à cette offre cloud. Premièrement, elle résout le problème de la paralysie du choix matériel. Les développeurs peuvent exécuter des applications AI à distance sur une large gamme de matériel pour déterminer lequel est le meilleur pour leur solution basé sur des facteurs tels que le temps d'exécution d'inférence, la consommation d'énergie et le coût.
Deuxièmement, elle offre un accès distant immédiat au dernier matériel edge Intel. Côté logiciel, elle résout le problème des logiciels obsolètes, puisqu'elle fournit un accès instantané à la dernière version du toolkit Intel Distribution of OpenVINO et au matériel edge compatible.
Et troisièmement, elle offre l'accès à des benchmarks de performance spécifiques aux applications dans un format facile à comparer, côte à côte.
(Un tutoriel sur l'exécution de modèles de détection d'objets avec Intel DevCloud for the Edge est disponible ici.)
Construire un modèle dans le cloud, voir ce qui se passe en direct
Une autre approche consiste à envoyer des données dans une plateforme cloud pour visualiser et créer des modèles d'entraînement et les déployer sur des appareils embarqués. Edge Impulse fait exactement cela, offrant un environnement de développement basé sur le cloud qui vise à rendre simple l'ajout de machine learning sur appareils edge sans nécessiter un doctorat en machine learning, selon l'entreprise.
Sa plateforme permet aux utilisateurs d'importer des données d'image collectées sur le terrain, de construire rapidement des classifieurs pour interpréter ces données, et de déployer les modèles sur des appareils de production basse consommation. Une clé de la plateforme web Edge Impulse est la capacité de visualiser et étiqueter toutes les données acquises, créer des blocs de pré-traitement pour augmenter et transformer les données, visualiser le jeu de données d'images, et classifier et valider les modèles sur les données d'entraînement directement depuis l'interface utilisateur.
Parce qu'il peut être assez difficile de construire un modèle de vision par ordinateur à partir de zéro, Edge Impulse utilise un processus d'apprentissage par transfert pour le rendre plus facile et rapide. Cela implique de s'appuyer sur un modèle bien entraîné et de réentraîner seulement les couches supérieures d'un réseau de neurones, conduisant à des modèles beaucoup plus fiables qui s'entraînent en une fraction du temps et fonctionnent avec des jeux de données substantiellement plus petits. Une fois le modèle conçu, entraîné et vérifié, il est alors possible de déployer ce modèle sur l'appareil. Le modèle peut ensuite s'exécuter sur l'appareil sans connexion internet, avec tous ses avantages inhérents, comme la minimisation de la latence, et fonctionne avec une consommation d'énergie minimale. Le modèle complet est empaqueté avec les étapes de pré-traitement, les poids du réseau de neurones et le code de classification dans une seule bibliothèque C++ qui peut être incluse dans le logiciel embarqué.

Monter à un niveau d'abstraction supérieur
Une autre approche offerte par les fournisseurs est de réduire le temps de développement en proposant des systèmes basés sur modules et en permettant la conception à un niveau d'abstraction supérieur. Xilinx a déclaré que son approche de nouveaux systèmes-sur-module (SOMs) peut réduire jusqu'à neuf mois le temps de développement pour les systèmes de vision, en adressant la complexité croissante de la vision AI ainsi que les défis de l'implémentation de l'AI en edge.
Xilinx a récemment annoncé le premier produit de son nouveau portefeuille de SOMs : le Kria K26 SOM, ciblant spécifiquement les applications de vision AI dans les villes et usines intelligentes, ainsi qu'un kit de développement prêt à l'emploi et peu coûteux, le Kria KV260 AI vision starter kit.
Chetan Khona, directeur de l'industriel, vision et santé chez Xilinx, a déclaré lors du briefing de lancement de la nouvelle famille de modules : « Les systèmes prêts pour la production sont importants pour le déploiement rapide [de la vision AI embarquée]. Les clients peuvent économiser jusqu'à neuf mois de temps de développement en utilisant un design basé sur module plutôt que sur device. » Il a ajouté qu'avec le starter kit, les utilisateurs peuvent démarrer en une heure, « sans expérience FPGA nécessaire. » Les utilisateurs connectent la caméra, câbles et moniteur, insèrent la carte microSD programmée et alimentent la carte, puis peuvent sélectionner et exécuter une application accélérée de leur choix.
Le portefeuille Kria SOM couple la plateforme matérielle et logicielle avec des applications accélérées pour la vision prêtes pour la production. Ces applications clé en main éliminent tout le travail de conception matérielle FPGA ; les développeurs logiciel n'ont qu'à intégrer leurs modèles AI personnalisés et code d'application, et optionnellement modifier le pipeline de vision — en utilisant des environnements de conception familiers, tels que TensorFlow, PyTorch ou Caffe frameworks ainsi que les langages de programmation C, C++, OpenCL et Python.

Les Kria SOMs permettent aussi la personnalisation et l'optimisation pour les développeurs embarqués avec le support du PetaLinux basé sur Yocto standard. Xilinx a dit qu'une collaboration avec Canonical est aussi en cours pour fournir le support Ubuntu Linux, la distribution Linux très populaire utilisée par les développeurs AI. Cela offre une familiarité étendue avec les développeurs AI et l'interopérabilité avec les applications existantes. Les clients peuvent développer dans les deux environnements et prendre l'une ou l'autre approche pour la production. Les deux environnements viendront pré-construits avec une infrastructure logicielle et des utilitaires utiles.
Nous avons mis en lumière trois des approches que les fournisseurs adoptent pour adresser le fossé des compétences et connaissances, ainsi que le temps de déploiement, pour le développement de systèmes de vision embarqués. Les approches basées sur le cloud offrent des outils qui « démocratisent » la capacité à créer et entraîner des modèles et évaluer le matériel pour un déploiement extrêmement rapide sur appareils embarqués. Et l'approche qui offre un module, ou design de référence, avec une bibliothèque d'applications permet aux développeurs AI d'utiliser des outils existants pour créer rapidement des systèmes de vision embarqués. Tout cela nous amène à une façon différente de regarder les cartes de développement et les outils. Ils retirent le mystère de la vision embarquée en remontant la chaîne de valeur, laissant le travail de niveau fondamental aux outils et modules des fournisseurs.
Contenus connexes :
- Vision embarquée au point de bascule
- Cinq tendances à surveiller dans la vision embarquée et l'Edge AI
- Les machines comprendront-elles jamais pleinement ce qu'elles voient ?
- Xilinx SOM cible une adoption plus large de l'edge AI et de la vision embarquée
- Embedded Vision Summit : Perception ML sur minuscules FPGAs
- GWM adopte le SoC AI vision Ambarella pour nouveau SUV
- AImotive montre 98% d'efficacité vision edge sur Nextchip Apache5
- Carte AI vision basse consommation dure « des années » sur une seule batterie
- OmniVision réduit le capteur d'image médical pour endoscopie plus profonde
Embarqué
- Inspection par vision machine : outils essentiels et technologies émergentes
- Comment l'IA transforme les chaînes d'approvisionnement mondiales
- Comment construire une liste d'équipements fiable pour réussir la maintenance basée sur l'état
- Drew Troyer : Maîtriser la fiabilité dans la chaîne de valeur des équipements — Partie 3
- Drew Troyer explore la chaîne de valeur des équipements : insights fiabilité — Partie 2
- Drew Troyer : La chaîne de valeur des équipements — Partie 1
- La 5G tiendra-t-elle la vision 2020 ? Insights du Laboratoire National de Physique
- Libérer la valeur des données IoT : stratégies sécurisées et pilotées par les insights
- Pourquoi les mesures analogiques pilotent la performance usine