Utiliser AWS Greengrass et les outils SageMaker pour détecter les défauts de fabrication
Manufacturers increasingly rely on edge-based machine vision systems to identify defects before products leave the production line. By combining AWS IoT Greengrass and Amazon SageMaker, industrial ...
Les dispositifs IoT traditionnels transmettent généralement de petites charges utiles à leurs passerelles/stations de base respectives à des intervalles relativement peu fréquents. Ces systèmes de nœuds capteurs s'appuient sur leur connectivité cloud pour effectuer tout le traitement et l'analyse pertinents afin de surveiller et contrôler les équipements.
Cependant, de nombreux cas d'utilisation émergent qui nécessitent un retour d'information et une communication quasi en temps réel. L'informatique en périphérie élimine la latence de bout en bout et les contraintes de bande passante liées à l'envoi/la réception de données vers et depuis le cloud, réduit les coûts de transmission et de stockage des données, et peut aider à la conformité en matière de gestion des données. L'exécution locale d'algorithmes d'apprentissage automatique (ML) et de modèles computationnels apporte efficacement de l'intelligence à ces dispositifs IoT et ouvre la voie à de nombreuses applications.
La détection de défauts est un cas d'utilisation où les capacités intelligentes améliorent considérablement l'efficacité opérationnelle, la productivité et le rendement d'une installation de fabrication. Souvent appelée vision industrielle (MV), l'inspection visuelle automatisée repose sur un mélange de systèmes complexes incluant des capteurs et des caméras. Elle peut exploiter des modèles ML entraînés pour l'analyse d'images afin d'effectuer des inspections basées sur des caractéristiques pour la détection et la classification des défauts.
Cet article traite d'Amazon Web Services (AWS), Amazon SageMaker et AWS IoT Greengrass, et de la manière dont leurs capacités en périphérie peuvent impacter des cas d'utilisation tels que la détection de défauts. Il se conclut par une discussion sur la façon dont les fonctionnalités spécifiques de SageMaker et Greengrass peuvent être exploitées pour mettre en œuvre avec succès un algorithme ML choisi pour la détection de défauts.

Figure 1. Système de vision d'inspection automatisée. Image reproduite avec l'aimable autorisation de Adobe Stock
Le problème de la détection de défauts
La détection de défauts est généralement réalisée par inspection optique où une caméra intelligente, équipée des capteurs appropriés et d'un processeur embarqué, détecte des défauts tels que rayures, fissures, rugosité de surface et bulles (souvent dans une inspection binaire réussite/échec). Les processus de fabrication peuvent faire passer un grand volume de produits dans le champ de vision (FoV) d'une caméra en l'espace de millisecondes à secondes. La résolution de la caméra, le temps d'exposition, l'objectif et les différentes sources lumineuses contribuent tous à la qualité des données fournies au processeur et à l'algorithme ML.
Comment les algorithmes ML répondent aux besoins évolutifs de la détection de défauts
Les algorithmes d'apprentissage automatique ont radicalement transformé le domaine de la détection de défauts ; ces modèles surpassent les algorithmes traditionnels de vision par ordinateur en précision et en temps de traitement. Les principaux types d'applications de vision basées sur le ML sont la détection d'objets, la classification et la segmentation.
Cela peut impliquer l'utilisation de la localisation ou de la segmentation sémantique. En localisation, on détermine la position spatiale de l'objet classifié. La segmentation sémantique attribue des étiquettes à chaque pixel ou groupe de pixels d'une image, classés en une instance correspondant à un objet ou, dans le cas de la détection de défauts, les pixels ou parties de l'image correspondant au défaut sont identifiés. En d'autres termes, le niveau d'inférence peut être aussi grossier ou précis que l'application l'exige.
Les réseaux neuronaux profonds de détection ont été développés depuis le début des années 2010 pour la classification, la détection et la détection en temps réel (par exemple, AlexNet, SqueezeNet, DefectSegNet, RCNN, etc.). Cependant, ces modèles doivent fonctionner à des vitesses d'inférence en temps réel pour garantir que l'usine puisse correctement surveiller et suivre les produits. De plus, les usines peuvent disposer d'une faible bande passante réseau et d'une connectivité intermittente. C'est là qu'un système de détection de défauts intelligent en périphérie est crucial. L'approche hybride cloud et périphérie avec AWS IoT Greengrass et Amazon SageMaker répond aux besoins de fiabilité de la détection industrielle de défauts.
Comment Amazon SageMaker et AWS Greengrass peuvent être utilisés conjointement pour les dispositifs en périphérie
Qu'est-ce qu'Amazon SageMaker ?
Amazon SageMaker est une plateforme permettant aux praticiens du ML de construire, entraîner, optimiser et déployer un algorithme ML. C'est un outil basé sur le cloud qui rassemble un large ensemble de capacités dédiées permettant aux ingénieurs de construire leur modèle et offre une accélération matérielle pour optimiser le modèle afin qu'il fonctionne sur n'importe quel dispositif IoT applicable.
Un peu sur l'entraînement ML
L'entraînement est un processus énergivore où l'algorithme ML est alimenté en données pour générer des motifs et des relations qui permettent finalement au modèle de prendre des décisions et d'évaluer leur confiance ; cela peut nécessiter des ressources informatiques substantielles que l'infrastructure cloud peut facilement supporter. L'inférence ML utilise l'algorithme ML entraîné pour faire des prédictions. L'inférence nécessite moins de puissance de calcul que l'entraînement et présente une faible latence — deux contraintes majeures dans les cas d'utilisation en périphérie. Ces modèles doivent être optimisés pour le matériel spécifique des dispositifs en périphérie où les dispositifs IoT limités en stockage et en énergie ne peuvent exploiter que certaines bibliothèques ML afin de maximiser l'utilité du nœud final.
Qu'est-ce qu'AWS IoT Greengrass ?
AWS IoT Greengrass est un runtime open-source en périphérie et un service cloud pour construire, déployer et gérer les logiciels des dispositifs. Les logiciels des dispositifs gérés par AWS Greengrass, tels qu'Amazon SageMaker Edge Manager, collectent les données recueillies lors de l'inférence pour renvoyer efficacement ce retour d'information vers le cloud (Figure 2). Les données peuvent ensuite être renvoyées à SageMaker pour être étiquetées et utilisées afin d'améliorer continuellement la qualité du modèle ML.

Figure 2. Utilisation d'AWS IoT Greengrass pour l'inférence en périphérie. Image reproduite avec l'aimable autorisation de AWS
Utilisation d'AWS Greengrass et Amazon SageMaker pour la détection de défauts
Création d'un jeu de données avec une installation de caméra
Les utilisateurs peuvent préparer leur jeu de données en capturant des images des pièces pertinentes sur les produits qui passent sur le convoyeur avec des caméras. Pour que cela soit possible, les installations de caméras doivent pouvoir capturer des images de produits défectueux et non défectueux avec un éclairage bon et constant. Les images sont annotées avec des outils d'étiquetage d'images pour inclure à la fois les catégories d'images et les données indiquant l'emplacement du défaut (segmentation sémantique).
Utilisation des modèles dans SageMaker
SageMaker propose plusieurs algorithmes intégrés. Dans cet exemple, un algorithme de classification d'images est utilisé, qui exploite le réseau neuronal convolutionnel (CNN) ResNet pouvant être entraîné avec un certain nombre d'images et d'hyperparamètres — des valeurs ajustables utilisées pour contrôler le processus d'apprentissage lui-même. Pour la segmentation sémantique, les masques de détection de défauts sont fournis dans le SDK SageMaker. Les masques de défauts sont basés sur le U-Net CNN dans le cadre TensorFlow. Les masques de segmentation sont des annotations basées sur les objets qui étiquettent les pixels d'une image avec une « classe » particulière.
Le cycle de vie cloud-à-périphérie de la détection de défauts
Comme illustré dans la Figure 3 ci-dessous, un flux de travail automatisé de construction de modèle est déclenché, comprenant une séquence d'étapes incluant l'augmentation des données, l'entraînement du modèle et le post-traitement. Ces déploiements sont tous automatisés avec l'intégration continue et la livraison continue (CI/CD) pour induire un réentraînement du modèle dans le cloud ainsi que des mises à jour over-the-air (OTA) vers la périphérie. Ainsi, les modèles basés sur le cloud et les inférences en périphérie restent à jour et précis.

Figure 3. Le flux de processus pour la détection de défauts utilisant la plateforme AWS Cloud. Image reproduite avec l'aimable autorisation de AWS
Emballage du modèle pour vos dispositifs en périphérie
Pour s'assurer que le dispositif en périphérie est configuré avec l'algorithme ML construit et entraîné, le modèle est compilé avec SageMaker Neo puis emballé avec SageMaker Edge, et un déploiement over-the-air Greengrass est créé pour ordonner à l'application en périphérie de télécharger le paquet du modèle. Ces étapes devront être répétées pour chaque nouvelle version des modèles entraînés — un processus qui peut être facilement automatisé.
En d'autres termes, les outils SageMaker Neo et SageMaker Edge au sein de SageMaker peuvent être utilisés pour gérer le cycle de vie des modèles afin de configurer le dispositif en périphérie pour l'algorithme ML construit et entraîné. Ainsi, les développeurs peuvent optimiser un modèle ML spécifiquement pour leur plateforme cible : par exemple, un MPU embarqué tel que le processeur d'applications NXP i.MX 8M Plus. Un modèle ML construit avec l'un des divers frameworks ML supportés sert d'entrée pour SageMaker.
Utilisation d'AWS Greengrass avec SageMaker pour améliorer continuellement la qualité du modèle ML
SageMaker s'intègre également avec AWS IoT Greengrass pour simplifier l'accès, la maintenance et le déploiement de l'agent SageMaker Edge et du modèle à la flotte de dispositifs en périphérie. Les données recueillies lors de l'inférence exécutée sur AWS IoT Greengrass peuvent être renvoyées à SageMaker pour être ensuite étiquetées et utilisées afin d'améliorer continuellement la qualité des modèles d'apprentissage automatique.
Observation du matériel optimal pour votre application
L'inférence peut être effectuée sur une gamme d'architectures matérielles/puces pour être testée selon différents degrés de latence. Ainsi, les entreprises peuvent réaliser une analyse coûts-avantages plus éclairée pour l'emploi de divers CPU et GPU dans leur flotte avec des modèles et architectures de modèles construits via SageMaker. Le i.MX 8M Plus offre des capacités supplémentaires car le cœur NPU dédié à l'accélération ML est également supporté pour le déploiement de modèles ML via Amazon SageMaker.
Outils basés sur le cloud pour le ML en périphérie à grande échelle
Fournir un ML en périphérie économe en énergie est un défi majeur même avec l'écosystème matériel en développement autour des processeurs d'applications comme la famille NXP i.MX 8M et i.MX 9 qui intègrent des unités de traitement neuronal matérielles avec des moteurs de traitement de données multisensoriels dédiés (graphismes, image, affichage, audio et voix) pour exécuter des algorithmes ML en périphérie à faible coût et faible consommation d'énergie. Les modèles doivent être optimisés pour le matériel spécifique des dispositifs en périphérie. Des outils tels qu'AWS IoT Greengrass et SageMaker permettent aux ingénieurs de données de construire, entraîner, optimiser, déployer et surveiller étroitement des modèles ML sur un grand nombre de dispositifs avec une infrastructure entièrement gérée d'outils et de flux de travail pour construire un algorithme ML.