Modifier

Partager via


Vision par ordinateur de bout en bout à la périphérie pour la fabrication

Azure Data Factory
Azure IoT Edge
Azure IoT Hub
Azure Machine Learning
Azure Pipelines

Cet exemple d’architecture illustre une approche de bout en bout de la vision par ordinateur Internet des objets (IoT) dans la fabrication.

Architecture

Diagramme montrant l’approche de bout en bout de la vision par ordinateur, de la périphérie au cloud et inversement.

Téléchargez un fichier Visio de cette architecture.

Dataflow

  1. Sur le module Azure IoT Edge personnalisé, il capture le flux vidéo en direct, le décompose en trames, et effectue l’inférence sur les données image pour déterminer si un incident s’est produit.
  2. Le module personnalisé utilise également les méthodes du Kit de développement logiciel (SDK) de stockage Azure ou l’API blob pour charger les fichiers vidéo bruts dans stockage Azure, qui agit comme un magasin multimédia brut.
  3. Le module personnalisé envoie les résultats de l'inférence et les métadonnées à Azure IoT Hub, qui fait office de hub de messages central pour les communications dans les deux sens.
  4. Azure Logic Apps surveille sur le service IoT Hub les messages relatifs à des incidents. Logic Apps achemine les résultats et les métadonnées d’inférence vers Microsoft Dataverse à des fins de stockage.
  5. Quand un incident se produit, Logic Apps envoie des notifications par SMS et par e-mail à l’ingénieur du site. L’ingénieur de site utilise une application mobile basée sur Power Apps pour accuser réception du message et résoudre l’incident.
  6. Power Apps extrait les résultats et les métadonnées d’inférence de Dataverse, ainsi que les fichiers vidéo bruts dans le Stockage Blob pour afficher des informations pertinentes sur l’incident. Power Apps met à jour Dataverse avec la résolution d’incident fournie par l’ingénieur du site. Cette étape fait office de validation humaine à des fins de reformation du modèle.
  7. Azure Data Factory est l’orchestrateur de données qui extrait les fichiers vidéo bruts du magasin de médias bruts, ainsi que les résultats d’inférence et les métadonnées correspondants de Dataverse.
  8. Data Factory stocke les fichiers vidéo bruts, ainsi que les métadonnées, dans Azure Data Lake, qui sert d’archive vidéo à des fins d’audit.
  9. Data Factory décompose les fichiers vidéo bruts en trames, convertit les résultats d’inférence en étiquettes, puis charge les données dans le service Stockage Blob, qui fait office de magasin de données de ML.
  10. Les modifications apportées au code du modèle déclenchent automatiquement le pipeline d’orchestrateur du modèle Azure Pipelines que les opérateurs peuvent également déclencher manuellement. Les modifications du code démarrent également le processus d’apprentissage et de validation du modèle Machine Learning sur Azure Machine Learning.
  11. Azure Machine Learning démarre l’apprentissage du modèle en validant les données du magasin de données de ML et en copiant les jeux de données requis vers le service Stockage Blob Azure Premium. Ce niveau de performance fournit un cache de données pour un apprentissage plus rapide du modèle.
  12. Azure Machine Learning utilise le jeu de données dans le cache de données Premium pour entraîner le modèle, valider les performances du modèle entraîné, les noter par rapport au modèle nouvellement entraîné et inscrire le modèle dans un registre Azure Machine Learning.
  13. L’orchestrateur de modèle Azure Pipelines examine les performances du modèle ML nouvellement entraîné et détermine s’il est meilleur que les modèles précédents. Si le nouveau modèle est meilleur, le pipeline le télécharge à partir d’Azure Machine Learning et génère une nouvelle version du module d’inférence de ML à publier dans Azure Container Registry.
  14. Lorsqu’un nouveau module d’inférence ML est prêt, Azure Pipelines déploie le conteneur du module de Container Registry vers le module IoT Edge dans IoT Hub.
  15. Le service IoT Hub met à jour l’appareil IoT Edge avec le nouveau module d’inférence de ML.

Composants

  • Le service Azure IoT Edge analyse les données d’appareil localement pour envoyer moins de données au cloud, réagir rapidement aux événements et fonctionner dans des conditions de faible connectivité. Un module IoT Edge ML peut extraire des insights actionnables à partir de données vidéo de streaming.
  • Azure IoT Hub est un service managé qui permet des communications bidirectionnelles fiables et sécurisées entre des millions d’appareils IoT et un serveur principal basé sur cloud. IoT Hub fournit l’authentification par appareil, le routage des messages, l’intégration à d’autres services Azure ainsi que des fonctionnalités de gestion pour contrôler et configurer les appareils IoT.
  • Azure Logic Apps est un service cloud serverless pour la création et l’exécution de workflows automatisés qui intègrent vos applications, données, services et systèmes. Les développeurs peuvent utiliser un concepteur visuel pour planifier et orchestrer les workflows de tâches courantes. Logic Apps inclut des connecteurs pour de nombreux services cloud populaires, produits locaux et autres applications SaaS. Dans cette solution, Logic Apps exécute le workflow de notification automatisé qui envoie des alertes par SMS et e-mail aux ingénieurs de site.
  • Power Apps est une plateforme de données et une suite d’applications, de services et de connecteurs. Il sert d’environnement de développement rapide d’application. La plateforme de données sous-jacente est Microsoft Dataverse.
  • Dataverse est une plateforme de stockage basée sur le cloud pour Power Apps. Dataverse prend en charge les notifications de boucle humaine et stocke les métadonnées associées au pipeline de données MLOps.
  • Le Stockage Blob Azure est une solution de stockage d’objets scalable et sécurisée pour les données non structurées. Vous pouvez l’utiliser pour les archives, les lacs de données, le calcul hautes performances, le Machine Learning et les charges de travail natives cloud. Dans cette solution, le stockage Blob Azure fournit un magasin de données local pour le magasin de données de ML et un cache de données Premium pour l’apprentissage du modèle ML. Le niveau Premium du Stockage Blob convient aux charges de travail qui nécessitent des temps de réponse rapides et des taux de transactions élevés, comme l’étiquetage vidéo avec intervention humaine de cet exemple.
  • Data Lake Storage est un service de stockage éminemment scalable et sécurisé pour vos charges de travail d’analytique hautes performances. Les données proviennent généralement de plusieurs sources hétérogènes et peuvent être structurées, semi-structurées ou non structurées. Azure Data Lake Storage Gen2 combine les fonctionnalités d’Azure Data Lake Storage Gen1 et du Stockage Blob, et fournit la sémantique du système de fichiers, la sécurité au niveau du fichier et la mise à l’échelle. De plus, il fournit le stockage hiérarchisé, la haute disponibilité et la reprise d’activité après sinistre du Stockage Blob. Dans cette solution, Data Lake Storage fournit le magasin d’archivage pour les fichiers vidéo et les métadonnées bruts.
  • Azure Data Factory est une solution hybride, serverless et complètement managée pour les workflows d’intégration et de transformation des données. Elle offre une interface utilisateur sans code et un panneau de monitoring convivial. Azure Data Factory utilise des pipelines pour le déplacement des données. Les flux de données de mappage effectuent diverses tâches de transformation, telles que l’extraction, la transformation, le chargement (ETL) et l’extraction, la charge, la transformation (ELT). Dans cet exemple, Data Factory orchestre les données dans un pipeline ETL vers les données d’inférence qu’il stocke à des fins de reformation.
  • Azure Machine Learning est un service de machine learning de niveau entreprise pour la génération et le déploiement rapides de modèles. Il fournit aux utilisateurs de tous niveaux de compétence un concepteur à faible code, un machine learning automatisé et un environnement de notebook Jupyter hébergé qui prend en charge divers IDE.
  • Azure Pipelines, qui fait partie des services pour développeurs en équipe Azure DevOps, crée des pipelines d’intégration continue (CI) et de déploiement continu (CD). Dans cet exemple, l’orchestrateur de modèle Azure Pipelines valide le code ML, déclenche des pipelines de tâches serverless, compare les modèles ML et crée le conteneur d’inférence.
  • Container Registry crée et gère le registre Docker pour générer, stocker et gérer des images de conteneur Docker, y compris des modèles ML en conteneur.
  • Azure Monitor collecte la télémétrie de ressources Azure afin que les équipes puissent identifier les problèmes de manière proactive et optimiser les performances et la fiabilité.

Autres solutions

Au lieu d’utiliser le pipeline de données pour fractionner le flux vidéo en trames d’image, vous pouvez déployer un module Stockage Blob Azure sur l’appareil IoT Edge. Le module d’inférence charge ensuite les trames d’image inférées dans le module de stockage sur l’appareil de périphérie. Le module de stockage détermine quand charger les trames directement dans le magasin de données ML. L’avantage de cette approche est qu’elle permet de supprimer une étape du pipeline de données. L’inconvénient est que le périphérique est étroitement couplé au service Stockage Blob Azure.

Pour l’orchestration de modèle, vous pouvez utiliser Azure Pipelines ou Azure Data Factory.

  • Azure Pipelines présente l’avantage d’être intimement lié au code du modèle ML. Vous pouvez facilement déclencher le pipeline de formation avec des modifications de code l’intégration continue et la livraison continue (CI/CD).
  • L’avantage de Data Factory est que chaque pipeline peut approvisionner les ressources de calcul requises. Data Factory ne retient pas les agents Azure Pipelines pour exécuter la formation ML, ce qui pourrait encombrer le flux normal de CI/CD.

Détails du scénario

Les usines intelligentes entièrement automatisées utilisent l’intelligence artificielle (IA) et l’apprentissage automatique (ML) pour analyser des données, exécuter des systèmes et améliorer leurs processus au fil du temps.

Dans cet exemple, les caméras envoient des images à un appareil de périphérie Azure IoT Edge qui exécute un modèle ML. Le modèle calcule les inférences et envoie une sortie actionnable au cloud en vue d’un traitement supplémentaire. Les interventions humaines font partie de l’intelligence que le modèle ML capture. Le processus de ML est un cycle continu de formation, de test, de réglage et de validation des algorithmes de ML.

Cas d’usage potentiels

Les processus de fabrication utilisent une vision par ordinateur IoT dans des applications de sécurité et d’assurance qualité. Les systèmes de vision par ordinateur IoT peuvent :

  • Garantir la conformité aux instructions de fabrication, comme un étiquetage correct.
  • Identifier les défauts de fabrication, comme l’inégalité de la surface.
  • Améliorer la sécurité en surveillant la fabrication ou les entrées de zone.
  • Assurer la sécurité des travailleurs en détectant l’utilisation de l’équipement de protection personnelle (EPI) et d’autres pratiques de sécurité.

Considérations

Ces considérations implémentent les piliers d’Azure Well-Architected Framework qui est un ensemble de principes directeurs qui permettent d’améliorer la qualité d’une charge de travail. Pour plus d’informations, consultez Microsoft Azure Well-Architected Framework.

Disponibilité

Les applications basées sur le Machine Learning requièrent généralement un ensemble de ressources pour l’apprentissage, et un autre pour le service. Les ressources de formation n’ont généralement pas besoin de haute disponibilité, car les demandes de production en temps réel n’utilisent pas directement ces ressources. Les ressources requises pour servir les demandes doivent avoir une haute disponibilité.

Opérations

Cette solution est divisée en trois domaines opérationnels :

  • Dans les opérations IoT, un modèle ML sur l’appareil edge utilise des images en temps réel de caméras connectées pour inférencer des images vidéo. L’appareil de périphérie envoie également des flux vidéo mis en cache vers le stockage cloud à utiliser pour l’audit et la reformation de modèle. Après la reformation par Machine Learning, le service IoT Hub met à jour l’appareil périphérique avec le nouveau module d’inférence de ML.

  • MLOps utilise les pratiques de DevOps pour orchestrer les opérations de formation, de test et de déploiement du modèle. La gestion du cycle de vie MLOps automatise le processus d’utilisation des modèles de ML pour la prise de décision complexe ou la production de modèles. La clé du MLOps est une coordination étroite entre les équipes qui créent, forment, évaluent et déploient les modèles Machine Learning.

  • Les opérations de boucle humaine invitent les utilisateurs à intervenir à certaines étapes de l’automatisation. Dans les transactions avec intervention humaine, les travailleurs vérifient et évaluent les résultats des prédictions de l’apprentissage automatique. Les interventions humaines font partie de l’intelligence que le modèle ML capture, et aident à valider le modèle.

    Les rôles humains suivants font partie de cette solution :

    • Les ingénieurs de site reçoivent les notifications d’incident que Logic Apps envoie, et valident manuellement les résultats ou les prédictions du modèle de ML. Par exemple, les ingénieurs de site peuvent examiner une vanne dont le modèle a prédit la défaillance.

    • Les étiqueteurs de données étiquettent les jeux de données pour la reformation, afin de compléter la boucle de la solution de bout en bout. Le processus d’étiquetage des données est particulièrement important pour les données image, car il s’agit d’une première étape dans l’apprentissage d’un modèle fiable à l’aide d’algorithmes. Dans cet exemple, Azure Data Factory organise les trames vidéo en regroupements de positifs et faux positifs, ce qui rend le travail de l’étiqueteur de données plus facile.

    • Les scientifiques des données utilisent les jeux de données étiquetés pour effectuer l’apprentissage des algorithmes afin de produire les prédictions réelles appropriées. Les scientifiques des données utilisent MLOps avec GitHub Actions ou Azure Pipelines dans un processus CI pour former et valider automatiquement un modèle. La formation peut être déclenchée manuellement ou automatiquement par l’archivage de nouveaux scripts ou données de formation. les scientifiques des données travaillent dans un espace de travail Azure Machine Learning qui peut automatiquement inscrire, déployer et gérer des modèles.

    • Les ingénieurs IoT utilisent Azure Pipelines pour publier des modules IoT Edge dans des conteneurs sur Container Registry. Les ingénieurs peuvent déployer et mettre à l’échelle l’infrastructure à la demande à l’aide d’un pipeline de CD.

    • Quand des questions se posent sur les prédictions d’un modèle, des auditeurs de sécurité peuvent examiner les flux vidéo archivés pour détecter des anomalies, évaluer la conformité et confirmer les résultats.

    Dans cette solution, IoT Hub ingère la télémétrie des caméras et envoie les métriques à Azure Monitor, afin que les ingénieurs du site puissent enquêter et résoudre les problèmes. Azure Machine Learning envoie des métriques d’observabilité et une télémétrie de modèle à Azure Monitor, ce qui aide les ingénieurs IoT et les scientifiques des données à optimiser les opérations.

Performances

Les appareils IoT ayant une mémoire et une puissance de traitement limitées, il est important de limiter la taille du conteneur de modèle que vous envoyez à l’appareil. Veillez à utiliser un appareil IoT capable d’effectuer l’inférence de modèle et de produire des résultats dans un laps de temps acceptable.

Pour optimiser les performances des modèles d’apprentissage, cet exemple d’architecture utilise le service Stockage Blob Azure Premium. Ce niveau de performance est conçu pour les charges de travail qui nécessitent des temps de réponse courts et des taux de transactions élevés, tel le scénario d’étiquetage avec intervention humaine.

Les considérations relatives aux performances s’appliquent également au pipeline d’ingestion de données. Data Factory optimise le déplacement des données en fournissant une solution très performante et rentable.

Extensibilité

La plupart des composants utilisés dans cette solution sont des services gérés dont la mise à l'échelle est automatique.

La scalabilité de l’application IoT dépend des quotas et limitations d’IOT Hub. Facteurs à prendre en considération :

  • Le quota quotidien maximal de messages dans IoT Hub.
  • Le quota d’appareils connectés dans une instance IoT Hub.
  • Le débit d’ingestion et de traitement.

Dans l’apprentissage automatique, l’extensibilité fait référence aux clusters de scale-out utilisés pour l’apprentissage des modèles sur des jeux de données volumineux. L’extensibilité permet également au modèle Machine Learning de répondre aux demandes des applications qui l’utilisent. Pour répondre à ces besoins, le cluster ML doit fournir une montée en charge sur les processeurs et sur les nœuds compatibles avec l’unité de traitement graphique (GPU).

Pour obtenir des conseils d’ordre général sur la conception de solutions évolutives, consultez la liste de contrôle de l’efficacité des performances dans le Centre des architectures Azure.

Sécurité

La sécurité fournit des garanties contre les attaques délibérées, et contre l’utilisation abusive de vos données et systèmes importants. Pour plus d’informations, consultez Vue d’ensemble du pilier Sécurité.

La gestion des accès dans Dataverse et d’autres services Azure permet de s’assurer que seuls des utilisateurs autorisés peuvent accéder à l’environnement, aux données et aux rapports. Cette solution utilise Azure Key Vault pour gérer les mots de passe et les secrets. Le stockage est chiffré à l’aide de clés gérées par le client.

Pour obtenir une aide générale en lien avec la conception de solutions IoT sécurisées, consultez la Documentation sur la sécurité Azure et l’Architecture de référence Azure IoT.

Optimisation des coûts

L’optimisation des coûts consiste à examiner les moyens de réduire les dépenses inutiles et d’améliorer l’efficacité opérationnelle. Pour plus d’informations, consultez Vue d’ensemble du pilier d’optimisation des coûts.

En règle générale, utilisez la calculatrice de prix Azure pour estimer les coûts. Pour les autres considérations, consultez Optimisation des coûts.

Azure Machine Learning déploie également les services Container Registry, Stockage Azure et Azure Key Vault, ce qui entraîne des frais supplémentaires. Pour plus d’informations, consultez Fonctionnement d’Azure Machine Learning : architecture et concepts.

La tarification d'Azure Machine Learning comprend les frais des machines virtuelles utilisées pour former le modèle dans le cloud. Pour plus d’informations sur la disponibilité d’Azure Machine Learning et des machines virtuelles par région Azure, consultez Disponibilité des produits par région.

Contributeurs

Cet article est géré par Microsoft. Il a été écrit à l’origine par les contributeurs suivants.

Auteur principal :

Étapes suivantes