Concevoir et déployer rapidement des systèmes de vision industrielle intelligents
Avec la contribution de Rédacteurs nord-américains de DigiKey
2022-08-31
Le recours à la vision industrielle se développe dans de nombreuses applications, y compris les caméras urbaines, de sécurité et de circulation, l'analyse du commerce de détail, l'inspection automatisée, le contrôle de processus et la robotique guidée par la vision. La vision industrielle est complexe à mettre en œuvre et nécessite l'intégration de divers sous-systèmes et technologies, notamment du matériel hautes performances et des logiciels avancés d'intelligence artificielle/apprentissage automatique (IA/ML). Cela commence par l'optimisation de la technologie de capture vidéo et des E/S de vision pour répondre aux besoins de l'application, et s'étend à de multiples pipelines de traitement d'images pour une connectivité efficace. En fin de compte, tout dépend de la capacité du système de vision embarqué à effectuer des analyses basées sur la vision en temps réel, avec du matériel hautes performances tel que des réseaux de portes programmables par l'utilisateur (FPGA), des systèmes sur modules (SOM), des systèmes sur puces (SoC) et même des systèmes multiprocesseurs sur puces (MPSoC) pour exécuter le logiciel de reconnaissance et de traitement d'images IA/ML requis. Il peut s'agir d'un processus long, complexe et coûteux, pouvant entraîner de nombreux risques de dépassements de coûts et de retards de calendrier.
Au lieu de démarrer de zéro, les concepteurs peuvent se tourner vers une plateforme de développement organisée et performante, qui accélère la mise sur le marché, contrôle les coûts et réduit les risques de développement tout en prenant en charge de hauts niveaux de flexibilité et de performances des applications. Une plateforme de développement basée sur un SOM peut fournir un environnement matériel et logiciel intégré, permettant aux développeurs de se concentrer sur la personnalisation des applications et de gagner jusqu'à neuf mois de temps de développement. Outre l'environnement de développement, la même architecture SOM est disponible dans des configurations optimisées pour la production en environnements commerciaux et industriels, ce qui améliore la fiabilité et la qualité des applications, réduit davantage les risques et accélère la mise sur le marché.
Cet article commence par un aperçu des défis liés au développement de systèmes de vision industrielle hautes performances, puis présente l'environnement de développement complet offert par le kit de démarrage Kria KV260 vision AI d'AMD Xilinx, et conclut par des exemples de SOM prêts pour la production, basés sur la plateforme Kria 26 et conçus pour être branchés à une carte porteuse avec des périphériques spécifiques à la solution.
Tout commence par l'optimisation des types de données
Les exigences en matière d'algorithmes d'apprentissage profond évoluent. Toutes les applications ne nécessitent pas des calculs haute précision. Des types de données de moindre précision, comme INT8, ou des formats de données personnalisés, sont utilisés. Pour les systèmes basés sur des GPU, modifier des architectures optimisées pour des données haute précision afin de pouvoir traiter efficacement des formats de données de précision inférieure peut représenter un défi. Le SOM Kria K26 est reconfigurable, ce qui lui permet de prendre en charge un large éventail de types de données, de FP32 à INT8 et autres. La reconfigurabilité permet également de réduire la consommation énergétique globale. Par exemple, les opérations optimisées pour INT8 consomment moins d'énergie qu'une opération FP32 (Figure 1).
Figure 1 : Les opérations INT8 (8b Add) consomment moins d'énergie que les opérations FP32 (32b Add). (Source de l'image : AMD Xilinx)
Architecture optimale pour une consommation d'énergie minimale
Les conceptions implémentées sur la base d'une architecture GPU ou CPU multicœur peuvent être gourmandes en énergie en fonction des schémas d'utilisation typiques :
- 30 % pour les cœurs
- 30 % pour la mémoire interne (L1, L2, L3)
- 40 % pour la mémoire externe (telle que DDR)
Les accès fréquents à la mémoire DDR inefficace sont requis par les GPU pour prendre en charge la programmabilité et peuvent constituer un goulet d'étranglement pour les demandes de calcul à large bande passante. L'architecture MPSoC Zynq utilisée dans le SOM Kria K26 prend en charge le développement d'applications avec peu ou pas d'accès à la mémoire externe. Par exemple, dans une application automobile typique, la communication entre le GPU et les différents modules nécessite de multiples accès à la mémoire DDR externe, tandis que la solution basée sur le MPSoC Zynq intègre un pipeline conçu pour éliminer la plupart des accès DDR (Figure 2).
Figure 2 : Dans cette application automobile typique, le GPU nécessite de multiples accès à la DDR pour la communication entre les différents modules (à gauche), tandis que l'architecture pipeline du MPSoC Zynq (à droite) élimine la plupart des accès à la DDR. (Source de l'image : AMD Xilinx)
L'élagage exploite les avantages
Les performances des réseaux neuronaux sur le SOM K26 peuvent être améliorées à l'aide d'un outil d'optimisation IA qui permet l'optimisation et l'élagage des données. Il est très fréquent que les réseaux neuronaux soient sur-paramétrés, ce qui entraîne des niveaux élevés de redondance qui peuvent être optimisés à l'aide de l'élagage des données et de la compression des modèles. L'utilisation de l'AI Optimizer de Xilinx peut permettre de réduire de 50 fois la complexité du modèle, avec un impact négligeable sur la précision du modèle. Par exemple, une architecture de détecteur SSD (Single-Shot Detector) et de réseau neuronal convolutif (CNN) VGG avec 117 giga-opérations (Gops) a été affinée au cours de 11 itérations d'élagage à l'aide de l'AI Optimizer. Avant l'optimisation, le modèle exécutait 18 images par seconde (FPS) sur un MPSoC Zynq UltraScale+. Après 11 itérations — la 12e exécution du modèle — la complexité a été réduite de 117 Gops à 11,6 Gops (10X), les performances ont augmenté de 18 à 103 FPS (5X) et la précision est passée de 61,55 de précision moyenne (mAP) pour la détection d'objets à 60,4 mAP (seulement 1 % de moins) (Figure 3).
Figure 3 : Après un nombre relativement faible d'itérations, l'élagage peut réduire de 10 fois la complexité du modèle (Gop) et améliorer de 5 fois les performances (FPS), avec une réduction de seulement 1 % de la précision (mAP). (Source de l'image : AMD Xilinx)
Exemple d'application pratique
Une application d'apprentissage automatique pour la détection et la reconnaissance des plaques d'immatriculation des véhicules, également appelée reconnaissance automatique des plaques minéralogiques (ANPR), a été développée sur la base du logiciel d'analyse de la vision d'Uncanny Vision. La reconnaissance ANPR est utilisée dans les systèmes de péage automatisés, la surveillance des autoroutes, l'accès sécurisé aux parkings, et autres applications. Cette application ANPR inclut un pipeline basé IA qui décode la vidéo et pré-traite l'image, avant la détection ML et la reconnaissance de caractères OCR (Figure 4).
Figure 4 : Flux de traitement d'image typique pour une application ANPR basée IA. (Source de l'image : AMD Xilinx)
La mise en œuvre d'un système ANPR nécessite un ou plusieurs flux RTSP (Real-Time Streaming Protocol) codés H.264 ou H.265, qui sont décodés ou décompressés. Les images vidéo décodées sont mises à l'échelle, recadrées, converties dans l'espace chromatique et normalisées (pré-traitement), puis envoyées à l'algorithme de détection ML. Les implémentations ANPR hautes performances requièrent un pipeline IA à plusieurs niveaux. Le premier niveau détecte et localise le véhicule dans l'image, en créant la région d'intérêt (ROI). Dans le même temps, d'autres algorithmes optimisent la qualité de l'image en vue de son utilisation ultérieure par l'algorithme de reconnaissance de caractères OCR et suivent le mouvement du véhicule sur plusieurs images. La région d'intérêt du véhicule est ensuite recadrée pour générer la région d'intérêt de la plaque d'immatriculation traitée par l'algorithme OCR pour déterminer les caractères de la plaque d'immatriculation. Par rapport à d'autres SOM commerciaux basés sur des GPU ou des CPU, l'application ANPR d'Uncanny Vision fonctionne 2 à 3 fois plus vite sur le SOM Kria KV260, pour un coût inférieur à 100 dollars par flux RTSP.
Environnement de développement de vision intelligente
Les concepteurs d'applications de vision intelligente telles que les caméras urbaines et de circulation, l'analyse du commerce de détail, la sécurité, l'automatisation industrielle et la robotique peuvent se tourner vers l'environnement de développement Kria K26 SOM AI Starter. Cet environnement est basé sur l'architecture MPSoC Zynq® UltraScale+™ et dispose d'une bibliothèque croissante de progiciels d'application organisés (Figure 5). Le SOM AI Starter inclut un processeur Arm Cortex-A53 à quatre cœurs, plus de 250 000 cellules logiques et un codec vidéo H.264/265. Le SOM dispose également de 4 Go de mémoire DDR4, de 245 E/S et de 1,4 téra-opérations de calcul IA pour prendre en charge la création d'applications IA de vision optimales, offrant des performances plus de 3 fois supérieures avec une latence et une puissance inférieures par rapport aux autres approches matérielles. Les applications pré-construites permettent l'exécution des conceptions initiales en moins d'une heure.
Figure 5 : Le kit de démarrage Kria KV260 vision AI est un environnement de développement complet pour les applications de vision industrielle. (Source de l'image : AMD Xilinx)
Pour faciliter le démarrage du processus de développement à l'aide du SOM Kria K26, AMD Xilinx propose le kit de démarrage KV260 vision AI qui inclut un adaptateur secteur, un câble Ethernet, une carte microSD, un câble USB, un câble HDMI et un module de caméra (Figure 6). Si le kit de démarrage complet n'est pas nécessaire, les développeurs peuvent simplement acheter l'adaptateur secteur en option pour commencer à utiliser le SOM Kria K26.
Figure 6 : Le kit de démarrage KV260 vision AI inclut : (rangée du haut, de gauche à droite) une alimentation électrique, un câble Ethernet, une carte microSD, et (rangée du bas, de gauche à droite) un câble USB, un câble HDMI, un module de caméra. (Image : AMD Xilinx)
Un autre facteur qui accélère le développement est le large éventail de fonctionnalités, y compris de nombreuses E/S 1,8 V, 3,3 V asymétriques et différentielles avec quatre émetteurs-récepteurs 6 Gb/s et quatre émetteurs-récepteurs 12,5 Gb/s. Ces caractéristiques permettent de développer des applications avec un nombre plus élevé de capteurs d'images par SOM et de nombreuses variantes d'interfaces de capteurs telles que MIPI, LVDS, SLVS et SLVS-EC, qui ne sont pas toujours prises en charge par les produits standard à application spécifique (ASSP) ou les GPU. Les développeurs peuvent également implémenter DisplayPort, HDMI, PCIe, USB 2.0/3.0 et des normes définies par l'utilisateur avec la logique programmable embarquée.
Enfin, le développement d'applications IA a été simplifié et rendu plus accessible en couplant les capacités matérielles étendues et l'environnement logiciel du SOM K26 avec des applications de vision prêtes pour la production. Ces applications de vision peuvent être mises en œuvre sans nécessiter de conception matérielle FPGA et elles permettent aux développeurs de logiciels d'intégrer rapidement des modèles IA personnalisés et du code d'application, voire de modifier le pipeline de vision. La plateforme de développement logiciel unifiée Vitis et les bibliothèques de Xilinx prennent en charge les environnements de conception courants, tels que les structures TensorFlow, Pytorch et Café, ainsi que plusieurs langages de programmation, notamment C, C++, OpenCL™ et Python. Il existe également une boutique d'applications embarquée pour les applications périphériques utilisant les SOM Kria de Xilinx et de ses partenaires d'écosystème. Les offres de Xilinx sont gratuites et open-source et incluent le suivi intelligent des caméras et la reconnaissance faciale, le traitement du langage naturel avec la vision intelligente, et plus encore.
SOM Kria 26 optimisés pour la production
Une fois le processus de développement achevé, des versions prêtes pour la production du SOM K26 sont disponibles, et conçues pour être connectées à une carte porteuse avec des périphériques spécifiques à la solution pour accélérer la transition vers la fabrication (Figure 7). Le SOM K26 de base est une unité de grade commercial dont la température de jonction est comprise entre 0°C et +85°C, telle que mesurée par le capteur de température interne. Une version de grade industriel du SOM K26, conçue pour fonctionner de -40°C à +100°C, est également disponible.
Le marché industriel exige une longue durée de vie opérationnelle dans des environnements difficiles. Le SOM Kria de grade industriel est conçu pour fonctionner pendant dix ans à une température de jonction de 100°C et une humidité relative de 80 % et pour résister à des chocs de 40 g et à des vibrations de 5 g RMS. Il est également assorti d'une disponibilité de production minimum de dix ans afin de soutenir les longs cycles de vie des produits.
Figure 7 : Les SOM Kria 26 optimisés pour la production et destinés aux environnements industriels et commerciaux sont conçus pour être enfichés dans une carte porteuse avec des périphériques spécifiques à la solution. (Image : DigiKey)
Résumé
Les concepteurs d'applications de vision industrielle telles que les caméras urbaines, de sécurité et de circulation, l'analyse du commerce de détail, l'inspection automatisée, le contrôle de processus et la robotique guidée par la vision peuvent se tourner vers le Kria K26 SOM AI Starter pour accélérer la mise sur le marché, aider à contrôler les coûts et réduire les risques de développement. Cette plateforme de développement basée SOM est un environnement matériel et logiciel intégré, permettant aux développeurs de se concentrer sur la personnalisation des applications et de gagner jusqu'à neuf mois de temps de développement. La même architecture SOM est disponible dans des configurations optimisées pour la production en environnements commerciaux et industriels, accélérant davantage les délais de mise sur le marché. La version industrielle a une disponibilité de production minimum de 10 ans afin de prendre en charge les cycles de vie étendus des produits.

Avertissement : les opinions, convictions et points de vue exprimés par les divers auteurs et/ou participants au forum sur ce site Web ne reflètent pas nécessairement ceux de DigiKey ni les politiques officielles de la société.