Les défis modernes de la reconnaissance d’images et faciale – et comment l’IA facilite les solutions compétitives de petite taille en périphérie

Alors que la reconnaissance d’images peut s’avérer être un outil puissant pour améliorer la sécurité et la productivité, les concepteurs de systèmes sont constamment mis au défi de fournir une classification plus rapide et plus nuancée sur des équipements plus petits et à faible consommation. La tendance consiste à répondre avec des algorithmes de reconnaissance basés sur l’IA exécutés sur de minuscules microcontrôleurs IoT en périphérie.

Cet article examine comment le traitement d’images devient de plus en plus sophistiqué, les technologies disponibles le rendant possible et certaines possibilités de mise en œuvre pratiques basées sur le matériel et les écosystèmes de divers fabricants de semi-conducteurs.

Depuis de nombreuses années, la reconnaissance d’images et son sous-ensemble principal, la reconnaissance faciale, sont largement utilisés dans les applications industrielles et de sécurité. Cependant, bien que les utilisateurs avaient commencé à utiliser des caméras pour la reconnaissance d’images parce que la technologie le leur permettait, les résultats étaient souvent insuffisants. Les tentatives de classification des images peuvent être entravées par des problèmes tels que la variation d’échelle ou de perspective, l’encombrement en arrière-plan ou l’éclairage.

Par conséquent, il existe toujours une pression pour améliorer les performances de ces systèmes afin qu’ils puissent apporter des capacités de reconnaissance et de classification plus nuancées, tout en fournissant des résultats plus robustes et plus précis. Et, à mesure que de meilleures technologies deviennent disponibles, de nouvelles opportunités d’amélioration de la productivité ou de la sécurité sont créées.

Un excellent exemple est la reconnaissance faciale 3D. Les systèmes 2D étaient autrefois suffisants dans des applications telles que le contrôle d’accès, jusqu’à ce que les utilisateurs apprennent à les tromper en utilisant des techniques d’usurpation avec par exemple des images de visages. La reconnaissance 3D est donc devenue nécessaire pour surmonter ce problème. Cela résout également des problèmes comme la reconnaissance des personnes après qu’elles se soient laissées pousser la barbe, ou si elles portent des lunettes ou un masque pour la Covid.

La technologie sophistiquée de reconnaissance d’images fait également une différence dans des domaines autres que la sécurité. Dans l’industrie, elle peut être utilisée pour améliorer la qualité des produits en termes de forme, de taille et de coloration, tandis que dans les applications automobiles, elle est appliquée à la détection en bordure de route, à la détection des voies ou à la détection d’animaux, d’humains ou d’objets dans les voies de circulation. Elle peut également cartographier la présence humaine, par exemple dans les transports en commun.

Un matériel plus puissant et un logiciel d’intelligence artificielle de plus en plus sophistiqué rendent également possibles des systèmes de reconnaissance d’images avec des capacités de détection de l’humeur. Par exemple, les fournisseurs automobiles peuvent utiliser la technologie de détection des émotions faciales dans les voitures intelligentes pour alerter le conducteur lorsqu’il devient somnolent.

Cependant, les constructeurs de systèmes qui cherchent à fournir des solutions plus puissantes et à faible latence doivent le faire tout en consommant moins d’énergie, d’espace et de coûts. Ils doivent passer au vert et rester techniquement compétitifs.

De plus en plus, la solution consiste à déplacer vers la périphérie les systèmes qui fonctionnaient autrefois sur de gros serveurs sur le cloud. Cela signifie que les algorithmes d’IA fonctionnent désormais sur de minuscules microcontrôleurs qui doivent cartographier les images entrantes très rapidement et avec une grande précision. Bien que ce paramètre ne soit pas si important dans l’industrie où les robots disposent de plus d’espace et de puissance, dans d’autres applications, cette technologie peut permettre d’ajouter de puissantes solutions de reconnaissance d’images sur les téléphones et les montres-bracelets des utilisateurs.

L’exécution de systèmes de reconnaissance faciale localement en périphérie, sans envoyer de données vers le cloud, répond également à des préoccupations concernant la confidentialité.

Captures d’écran d’une application de reconnaissance faciale utilisant le microcontrôleur MAX78000 d’Analog Devices
Figure 1 : captures d’écran d’une application de reconnaissance faciale utilisant le microcontrôleur MAX78000 d’Analog Devices

Concepts technologiques et approches pratiques pour la création de systèmes de reconnaissance d’images en périphérie

Du point de vue d’un développeur de systèmes, un système de reconnaissance d’images avec IA, comme tout autre produit électronique, comprend un certain nombre de composants matériels et logiciels qui doivent être intégrés dans une plateforme de base qui peut être développée ultérieurement en une solution spécifique à une application. On trouve notamment :

Caméra ou autre périphérique d’entrée : Les caméras sont disponibles avec différentes technologies. Le choix de la technologie de caméra affectera fondamentalement l’ensemble de la conception du système.

Dispositifs de sortie : ceux-ci pourraient inclure une barrière de sécurité qui permet à un système de reconnaissance faciale de contrôler l’accès à une zone sécurisée. On pourrait également avoir un affichage fournissant les résultats de l’analyse par IA. De plus, il y aura une connexion réseau si le système de reconnaissance d’images fait partie d’une infrastructure plus large.

Matériel de micro-informatique : cela peut ne comprendre qu’un processeur principal, mais il y aura probablement également un accélérateur de moteur d’IA pour améliorer les performances.

Algorithme d’IA : de nombreuses applications de reconnaissance d’images peuvent utiliser le même matériel, mais différents algorithmes d’IA peuvent être exécutés pour répondre à différentes applications.

Pour intégrer ces composants dans un système de reconnaissance d’images spécifique à une application, nous devons :

  • Choisir une technologie telle que la reconnaissance faciale 3D ou le temps de vol 3D pour collecter des données d’image de haute qualité.
  • Choisir un algorithme d’IA tel que des réseaux neuronaux convolutifs (ConvNet/CNN) pour extraire des informations significatives et exploitables à partir des données d’image brutes.
  • Trouver un fabricant de semi-conducteurs qui offre l’environnement matériel et de développement qui convient le mieux à l’approche de collecte et de traitement d’images que vous souhaitez adopter.

Collecte de données d’image de haute qualité

La reconnaissance faciale 3D et le temps de vol 3D sont des approches populaires :

Reconnaissance faciale 3D

La méthode de reconnaissance faciale 3D consiste à utiliser des capteurs pour capturer la forme du visage avec plus de précision. Contrairement aux méthodes de reconnaissance faciale traditionnelles, la précision de la reconnaissance faciale 3D n’est pas affectée par l’éclairage et les numérisations peuvent même être effectuées dans l’obscurité. Un autre avantage de la reconnaissance faciale 3D est qu’elle peut reconnaître une cible sous plusieurs angles, plutôt qu’un simple profil droit. Contrairement à la reconnaissance faciale 2D, elle ne peut être trompée avec des photographies utilisées par les personnes cherchant à entrer sans autorisation dans une zone sécurisée.

​L’iPhone X et les versions ultérieures sont dotés de la technologie Face ID qui s’appuie sur la reconnaissance faciale 3D pour identifier son propriétaire.

Le processus de reconnaissance faciale 3D comporte six étapes principales : détection, alignement, mesure, représentation, correspondance et vérification ou identification

Temps de vol 3D

Le temps de vol 3D (ToF) est un type de LIDAR (détection et télémétrie par ondes lumineuses) sans scanner qui utilise des impulsions optiques haute puissance d’une durée de quelques nanosecondes pour capturer des informations de profondeur (généralement sur de courtes distances) sur une scène d’intérêt.

Une caméra ToF mesure la distance en éclairant activement un objet avec une source de lumière modulée, telle qu’un laser, et un capteur sensible à la longueur d’onde du laser pour capturer la lumière réfléchie. Le capteur mesure le délai ∆ entre le moment où la lumière est émise et le moment où la lumière réfléchie est reçue par la caméra. Le délai est proportionnel à deux fois la distance entre la caméra et l’objet (aller-retour), donc la distance peut être estimée comme profondeur = cΔ/2 où c est la vitesse de la lumière.

Il existe différentes méthodes pour mesurer ∆T, dont deux sont devenues les plus répandues : la méthode à onde continue (CW – continuous-wave) et la méthode basée sur les impulsions. Il convient de noter que la grande majorité des systèmes ToF CW qui ont été mis en œuvre et sont actuellement sur le marché utilisent des capteurs CMOS, tandis que les systèmes ToF pulsés utilisent des capteurs non CMOS (notamment des CCD).

Diagramme simple de mesure par temps de vol
Figure 2 : diagramme simple de mesure par temps de vol

Extraire des informations significatives et exploitables à partir des données d’image brutes

Après avoir utilisé l’une des technologies ci-dessus pour capturer des données d’image, nous avons besoin d’un algorithme d’IA à exécuter sur le matériel choisi pour analyser les données et fournir des résultats significatifs et exploitables.

L’une des approches consiste à utiliser des réseaux neuronaux convolutifs (ConvNet/CNN) : les algorithmes de Deep Learning qui peuvent prendre en compte une image d’entrée, attribuer une importance (poids et biais apprenables) à divers aspects/objets de l’image, puis les différencier les unes des autres.

Le prétraitement requis dans un CNN est beaucoup plus faible qu’avec d’autres algorithmes de classification. Alors que dans les méthodes primitives, les filtres sont conçus à la main, avec une formation suffisante, les CNN ont la capacité d’apprendre ces filtres/caractéristiques.

L’architecture d’un CNN est analogue à celle du schéma de connectivité des neurones du cerveau humain et s’inspire de l’organisation du cortex visuel.

Un CNN est capable de capturer avec succès les dépendances spatiales et temporelles d’une image grâce à l’application de filtres pertinents. L’architecture effectue un meilleur ajustement à l’ensemble de données d’image en raison de la réduction du nombre de paramètres impliqués et de la réutilisation des poids. En d’autres termes, le réseau peut être formé pour mieux comprendre la sophistication de l’image.

Cependant, d’autres algorithmes de Deep Learning évoluent également rapidement, avec des types de données avec une précision inférieure, telles que les données INT8, binaires, ternaires et personnalisées.

Matériel et écosystèmes des fabricants de semi-conducteurs

Quel que soit l’algorithme d’IA choisi, pour être efficace, il doit s’exécuter sur un matériel approprié, capable de fournir la puissance de traitement nécessaire sans solliciter excessivement l’alimentation ou affecter l’espace, le poids ou le coût.

En ce qui concerne les implémentations matérielles pratiques, chaque fabricant de semi-conducteurs a tendance à proposer ses propres écosystèmes, basés sur le matériel sous-jacent qu’il a développé, ainsi que des logiciels et des outils de développement appropriés. En décidant avec quel fabricant de semi-conducteurs travailler, les développeurs doivent être conscients qu’ils s’engagent envers l’écosystème de développement du fabricant ainsi que son matériel de traitement d’images.

Ci-dessous, nous examinons les solutions de reconnaissance d’images de trois leaders dans le domaine du matériel d’IA : Analog Devices, Xilinx et NXP Semiconductors.

La solution d’Analog Devices est basée sur sa famille MAX78000, qui comprend notamment le MAX78002, un moteur d’inférence de réseau neuronal convolutif (CNN) à ultra-basse consommation. L’architecture avancée du système sur puce du MAX78002 comprend un processeur Arm® Cortex®-M4 avec FPU et un accélérateur de réseau neuronal profond à ultra-basse consommation. (Voir encadré :« Le rôle des accélérateurs de réseaux neuronaux ».)

Le cœur RISC-V intégré peut exécuter des codes d’application et de contrôle ainsi que piloter l’accélérateur de CNN.

Le rôle des accélérateurs de réseaux neuronaux

Le Deep Learning est actuellement l’une des approches de Machine Learning les plus utilisées pour résoudre des tâches complexes qui ne pouvaient auparavant être résolues que par des humains. Dans des applications telles que la vision par ordinateur ou la reconnaissance vocale, les réseaux neuronaux profonds (DNN) atteignent une précision élevée par rapport aux algorithmes sans apprentissage et, dans certains cas, même supérieure à celle des experts humains. La plus grande précision des DNN par rapport aux algorithmes sans apprentissage provient de la capacité à extraire des caractéristiques de haut niveau des données d’entrée après avoir utilisé l’apprentissage statistique sur un grand nombre de données d’apprentissage.

L’apprentissage statistique conduit à une représentation efficace de l’espace d’entrée et à une bonne généralisation. Cependant, cette capacité nécessite un effort de calcul élevé. Pourtant, en augmentant le nombre de paramètres, la précision d’un réseau peut être augmentée. Par conséquent, la tendance des DNN est clairement à l’augmentation de la taille du réseau de façon exponentielle. Cela conduit à une augmentation exponentielle de l’effort de calcul et de la taille de mémoire requise.

Par conséquent, les processeurs (CPU) à eux seuls ne suffisent pas à gérer la charge de calcul. En conséquence, des accélérateurs matériels structurellement optimisés sont utilisés pour augmenter les performances d’inférence des réseaux neuronaux. Pour l’inférence d’un réseau neuronal fonctionnant sur des équipements en périphérie, l’efficacité énergétique est un facteur important qui doit être pris en compte, en plus du débit.

En tant que produit ayant fait suite au MAX78000, le MAX78002 dispose d’une puissance de calcul et d’une mémoire supplémentaires, et fait partie de la nouvelle génération de microcontrôleurs d’intelligence artificielle (IA) conçus pour permettre l’exécution de réseaux neuronaux avec une très faible consommation et en périphérie de l’Internet des objets (IoT).

Ce produit combine le traitement d’IA le plus économe en énergie avec les microcontrôleurs à ultra-basse consommation éprouvés d’Analog Devices. L’accélérateur de réseaux neuronaux convolutionnels (CNN) basé sur le matériel permet aux applications alimentées par batterie d’exécuter des inférences d’IA tout en ne consommant que quelques microjoules d’énergie.

Architecture du microcontrôleur MAX78002 d’Analog Devices
Figure 3 : architecture du microcontrôleur MAX78002 d’Analog Devices

Vous pouvez découvrir le microcontrôleur à l’aide du kit d’évaluation MAX78002. Il fournit une plateforme pour tirer parti des capacités des équipements afin créer de nouvelles générations de produits d’IA. Le kit comprend du matériel embarqué comme un microphone numérique, des ports en série, un port vidéo numérique (PVN), une prise en charge de module de caméra CSI (Camera Serial Interface) et un écran tactile couleur avec transistor en couches minces (TFT) de 3,5 pouces.

Le kit comprend également les circuits pour surveiller et afficher le niveau de puissance sur l’écran TFT secondaire. Le MAX34417 surveille la tension et le courant du MAX78002 et signale la puissance accumulée au MAX32625, qui est utilisé comme processeur de données de puissance qui contrôle également l’affichage de la puissance.

Développer un modèle d’identification faciale : les concepteurs peuvent créer des modèles d’identification du visage à l’aide du flux de développement de Maxim sur PyTorch, formés avec différents ensembles de données ouverts et déployés sur la carte d’évaluation MAX78000. La figure 4 montre le flux de développement.

Flux de développement sur le MAX78000
Figure 4 : flux de développement sur le MAX78000

Le processus de développement résout le problème d’identification des visages en trois étapes principales :

  • Extraction du visage : détection des visages dans l’image pour extraire une sous-image rectangulaire qui ne contient qu’un seul visage.
  • Alignement du visage : détermination des angles de rotation (en 3D) du visage dans la sous-image pour compenser son effet par transformation affine.
  • Identification du visage : identification de la personne à l’aide de la sous-image extraite et alignée.

Xilinx utilise une approche matérielle différente, basée sur son SOM (système sur module) Kria K26. Le SOM est conçu pour permettre aux développeurs, dans leur environnement de conception préféré, de déployer leurs applications de vision intelligente plus rapidement avec un kit de développement prêt à l’emploi et à faible coût pour démarrer.

Le SOM K26 est bien adapté aux applications en périphérie, car son architecture Zynq MPSoC sous-jacente offre des performances/watt élevées et un faible coût de possession. Les SOM Kria sont configurables au niveau matériel, ce qui les rend évolutifs et à l’épreuve du temps.

La conception de l’appareil offre d’autres avantages en termes de performances :

Puissance de calcul brute : le K26 peut être configuré avec diverses configurations d’unités de traitement de Deep Learning (DPU) et, en fonction des exigences de performances, la configuration la mieux applicable peut être intégrée dans la conception. Par exemple, le DPU B3136 à 300MHz offre des performances de pointe de 0,94TOPS.

Prise en charge des types de données avec une précision inférieure : comme les algorithmes de Deep Learning évoluent rapidement, des types de données avec une précision inférieure, telles que les données INT8, binaires, ternaires et personnalisées sont utilisés. Il est difficile pour les fournisseurs de GPU de répondre aux besoins actuels du marché, car ils doivent modifier/ajuster leur architecture pour s’adapter à la prise en charge de types de données personnalisés ou avec une précision inférieure. Le SOM Kria K26 prend en charge une gamme complète de précisions de type de données telles que FP32, INT8, binaire et autres types de données personnalisés. Il a été démontré que les opérations sur des types de données avec une précision inférieure consomment beaucoup moins d’énergie.

Faible latence et consommation d’énergie réduite : la reconfigurabilité de l’architecture Zynq MPSoC permet aux développeurs de concevoir leur application avec des accès réduits ou inexistants à la mémoire externe, ce qui contribue non seulement à réduire la consommation électrique globale de l’application, mais augmente également la réactivité avec des latences de bout en bout plus faibles.

Flexibilité : contrairement aux GPU, où le flux de données est fixe, le matériel Xilinx offre la flexibilité de reconfigurer de manière unique le chemin de données pour obtenir un débit maximal et des latences plus faibles. De plus, le chemin de données programmable réduit le besoin de traitement par lots, ce qui est un inconvénient majeur dans les GPU et devient un compromis entre des latences plus faibles ou un débit plus élevé.

Pour l’évaluation et le développement, Xilinx propose son kit de démarrage KV260 qui comprend un SOM Kria K26 couplé à une carte de support centrée sur la vision. La combinaison de cette plateforme matérielle de vision prédéfinie et d’une pile logicielle robuste et complète construite sur Yocto ou Ubuntu, ainsi que des applications accélérées de vision pré-construites, offre aux développeurs des options sans précédent pour tirer parti des technologies Xilinx lors de la construction des systèmes.

Une fois le développement terminé, la personnalisation pour les déploiements de production est simple. Le SOM Kria est associé à une simple carte de support conçue par l’utilisateur final qui intègre la connectivité et des composants supplémentaires spécifiques à son propre système cible.

Kit de démarrage d’IA de vision pour KV260 de Xilinx
Figure 5 : kit de démarrage d’IA de vision pour KV260 de Xilinx

Exemple d’application : Xilinx s’est associé à Uncanny Vision, un leader de l’industrie des solutions d’analyse vidéo pour les villes intelligentes, dans le but de fournir au marché une solution de reconnaissance automatique des plaques d’immatriculation (RAPI) de classe mondiale. L’application est largement adoptée dans de nombreuses villes du monde entier dans le cadre de la construction de la ville intelligente.

L’application de RAPI est un pipeline basé sur l’IA qui comprend le décodage vidéo, le prétraitement des images, le Machine Learning (détection) et la technologie OCR (reconnaissance optique de caractères). La figure 6 montre les blocs de construction de l’application.

Blocs de construction d’une application de RAPI
Figure 6 : blocs de construction d’une application de RAPI

Semi-conducteurs NXP a élargi sa gamme NXP EdgeReady, en ajoutant une solution de reconnaissance faciale sécurisée qui exploite une caméra avec module de lumière structurée (SLM) 3D aux performances élevées associée au microcontrôleur croisé i.MX RT117F. Il s’agit de la première solution à combiner une caméra SLM 3D avec un microcontrôleur pour offrir les performances et la sécurité de la reconnaissance faciale 3D en périphérie, éliminant ainsi le besoin d’utiliser une implémentation Linux coûteuse et gourmande en énergie sur un microcontrôleur, comme c’est traditionnellement requis avec les caméras 3D aux performances élevées.

La toute nouvelle solution EdgeReady permet aux développeurs de serrures intelligentes et d’autres systèmes de contrôle d’accès d’ajouter rapidement et facilement la reconnaissance faciale sécurisée basée sur le Machine Learning aux produits de domotique et de construction intelligente. La solution offre une reconnaissance faciale 3D fiable dans des applications en intérieur et en extérieur, dans des conditions d’éclairage variées, y compris à la lumière du soleil, avec une lumière nocturne faible ou dans d’autres conditions d’éclairage difficiles qui mettent au défi les systèmes de reconnaissance faciale traditionnels.

L’utilisation d’une caméra SLM 3D rend possible une détection avancée de la vivacité, aidant à distinguer une personne réelle des techniques d’usurpation, telles qu’une photographie, un masque imitateur ou un modèle 3D, pour empêcher tout accès non autorisé.

L’i.MX RT117F utilise un modèle de Machine Learning avancé avec le logiciel de Machine Learning eIQ de NXP fonctionnant sur son cœur de processeur hautes performances qui permet une reconnaissance faciale plus rapide et plus précise pour améliorer à la fois l’expérience utilisateur et l’efficacité énergétique.

Semblable à la solution NXP EdgeReady basée sur le microcontrôleur i.MX RT106F pour la reconnaissance faciale sécurisée, la détection avancée de la vivacité et la reconnaissance faciale sont toutes effectuées localement en périphérie, ce qui permet aux données biométriques personnelles de rester sur l’équipement. Cela permet de répondre aux préoccupations des consommateurs en matière de confidentialité, tout en éliminant la latence associée aux solutions basées sur le cloud.

Conclusion

L’article ci-dessus a discuté des technologies disponibles pour développer des systèmes de reconnaissance d’images améliorés et a présenté des exemples de plateformes matérielles et d’écosystèmes de développement de différents fabricants de semi-conducteurs disponibles pour la mise en œuvre des technologies.

À partir de là, il devient évident que l’approche de chaque fabricant est très différente, en termes d’implémentations matérielles et de composants déjà disponibles. D’autres fabricants, au-delà de la portée de cet article, proposent également leurs propres solutions.

Il est donc logique de consulter un fabricant comme Farnell, qui a accès à un large éventail de fabricants et de solutions. Nous mettons à votre disposition des experts qui peuvent discuter des facteurs à prendre en compte lors du choix de l’architecture matérielle et de l’environnement de développement appropriés, puis lors du passage en production.

PartagerPublierPublier

Stay informed


Keep up to date on the latest information and exclusive offers!

Subscribe now

Data Protection & Privacy Policy

Thanks for subscribing

Well done! You are now part of an elite group who receive the latest info on products, technologies and applications straight to your inbox.

Ressources techniques

Articles, livres électroniques, webinaires et plus encore.
Restez au courant des dernières innovations.