Effectuer une analyse vidéo à l’aide d’Azure Machine Learning et de vision par ordinateur
Cet article décrit une architecture qui vous permet de remplacer l’analyse manuelle des séquences vidéo par un processus machine learning automatisé et souvent plus précis.
Architecture
Télécharger un fichier PowerPoint de cette architecture.Les logos FFmpeg et Jupyter Notebook sont des marques de commerce de leurs sociétés respectives. Aucune approbation n’est implicite par l’utilisation de ces marques.
Flux de travail
- Une collection de séquences vidéo, au format MP4, est chargée vers le service Stockage Blob Azure. Dans l’idéal, les vidéos vont dans un conteneur « brut ».
- Un pipeline préconfiguré dans Azure Machine Learning détecte que les fichiers vidéo sont chargés dans le conteneur, et lance un cluster d’inférence pour commencer à séparer les séquences vidéo en images.
- FFmpeg, un outil open source, décompose la vidéo et extrait les images. Vous pouvez configurer le nombre d’images par seconde extraites, la qualité de l’extraction et le format du fichier image. Le format peut être JPG ou PNG.
- Le cluster d’inférence envoie les images à Azure Data Lake Storage.
- Une application logique préconfigurée qui effectue le monitoring de Data Lake Storage détecte que de nouvelles images sont en cours de chargement. Cela entraîne le démarrage d’un workflow.
- L’application logique appelle un modèle Custom Vision préentraîné pour identifier les objets, les caractéristiques ou les qualités des images. Elle appelle également un modèle Vision par ordinateur (reconnaissance optique de caractères (OCR)) pour identifier les informations textuelles présentes dans les images.
- Les résultats sont reçus au format JSON. L’application logique analyse les résultats et crée des paires clé-valeur. Vous pouvez stocker les résultats dans des pools SQL dédiés Azure provisionnés par Azure Synapse Analytics.
- Power BI propose des fonctionnalités de visualisation des données.
Composants
Le service Stockage Blob Azure fournit un stockage d’objets pour les charges de travail natives cloud et les magasins de machine learning. Dans cette architecture, il stocke les fichiers vidéo chargés.
Azure Machine Learning est un service de machine learning de niveau entreprise pour le cycle de vie du machine learning de bout en bout.
Azure Data Lake Storage fournit un stockage cloud économique, hautement scalable et sécurisé pour les charges de travail analytiques hautes performances.
Vision par ordinateur fait partie des services Azure AI. Cette fonctionnalité permet de récupérer des informations sur chaque image.
Custom Vision vous permet de personnaliser et d’incorporer une analyse d’image de pointe basée sur l’API Vision par ordinateur pour vos domaines spécifiques.
Azure Logic Apps automatise les workflows en connectant les applications et les données entre les environnements. Ce service permet d’accéder aux données et de les traiter en temps réel.
Power BI est une collection de services logiciels, d’applications et de connecteurs qui fonctionnent ensemble pour fournir des visualisations de vos données.
Autres solutions
S’il n’est pas nécessaire d’appeler un modèle personnalisé de détection d’objets préentraîné, nous pouvons utiliser l’architecture suivante qui s’appuie sur azure AI Vision Video Retrieval. L’utilisation de ce service omet la décomposition de la vidéo en images et l’utilisation de code personnalisé pour analyser le processus d’ingestion. Cette approche sert un chemin plus simple si votre cas d’usage s’appuie sur la détection d’objets ou d’entités courants dans une vidéo.
Téléchargez un fichier PowerPoint de cette architecture.
Autre flux de travail
- Une collection de séquences vidéo, au format MP4, est chargée vers le service Stockage Blob Azure.
- Une application logique préconfigurée surveille le Stockage Blob détecte que de nouvelles vidéos sont chargées et démarrent un flux de travail.
- L’application logique appelle l’API récupération vidéo Azure AI Vision pour créer un index.
- L’application logique appelle l’API Récupération vidéo Azure AI Vision pour ajouter des documents vidéo à l’index.
- Une application logique préconfigurée surveille l’ingestion pour vérifier la fin de l’indexation.
- L’application logique appelle l’API Récupération de vidéos pour rechercher en langage naturel, identifier des objets, des fonctionnalités ou des qualités dans les images.
- Les résultats sont reçus au format JSON. L’application logique analyse les résultats et crée des paires clé-valeur. Vous pouvez stocker les résultats dans SQL Database dans Fabric.
- Power BI propose des fonctionnalités de visualisation des données.
Autres composants
- Microsoft Fabric est une plateforme d’analytique unifiée de bout en bout pour simplifier l’intégration des données. Il est conçu pour simplifier le processus de gestion et d’analyse des données dans différents domaines en fournissant une suite complète d’outils et de services au sein d’une plateforme unique. Il est utilisé dans cette architecture en tant que plateforme d’ingestion de données pour extraire les objets JSON et le transmettre à la base de données SQL dans Fabric.
- base de données SQL dans Fabric est un service de base de données SQL simple, autonome et sécurisé optimisé pour l’IA. Il est utilisé dans cette architecture pour stocker des informations sur les vidéos récupérées à partir de l’API Récupération de vidéos Azure.
- Azure AI Vision est un service qui fournit des fonctionnalités avancées d’analyse d’images et de vidéos sans nécessiter d’expertise en machine learning. L’API récupération de vidéos est utilisée dans cette architecture pour récupérer des informations directement à partir de la vidéo.
Détails du scénario
De nombreux secteurs d’activité enregistrent des séquences vidéo pour détecter la présence ou l’absence d’un objet ou d’une entité particulière, ou pour classifier des objets ou des entités. Le monitoring et les analyses vidéo sont généralement effectués manuellement. Ces processus sont souvent monotones et sujets aux erreurs, en particulier pour les tâches difficiles à percevoir par l’œil humain. Vous pouvez automatiser ces processus à l’aide de l’IA et du machine learning.
Un enregistrement vidéo peut être séparé en images individuelles pour permettre à diverses technologies d’analyser ces images. L’une de ces technologies est la vision par ordinateur, c’est-à-dire la capacité d’un ordinateur à identifier les objets et les entités d’une image.
Avec la vision par ordinateur, le monitoring des séquences vidéo devient automatisé, standardisé et potentiellement plus précis. Vous pouvez entraîner un modèle de vision par ordinateur et, selon le cas d’usage, obtenir bien souvent des résultats au moins aussi bons que ceux de la personne qui a entraîné le modèle. En utilisant MLOps (Machine Learning Operations) pour améliorer le modèle en continu, vous pouvez vous attendre à de meilleurs résultats au fil du temps, et réagir aux changements apportés aux données vidéo au fil du temps.
Cas d’usage potentiels
Ce scénario est pertinent pour les entreprises qui analysent des vidéos. Voici quelques exemples de cas d’usage :
Agriculture. Effectuez un monitoring et une analyse des cultures et de l’état du sol au fil du temps. À l’aide de drones, les agriculteurs peuvent enregistrer des séquences vidéo pour les analyser.
Sciences de l’environnement. Analysez les espèces aquatiques pour comprendre où elles se trouvent et comment elles évoluent. En attachant des caméras sous-marines aux bateaux, les chercheurs en environnement peuvent naviguer le long du rivage pour enregistrer des séquences vidéo. Ils peuvent analyser les séquences vidéo pour comprendre les migrations des espèces ainsi que l’évolution de leurs populations au fil du temps.
Gestion du trafic. Classifiez les véhicules en catégories (SUV, voiture, camion, moto), et utilisez ces informations pour planifier la gestion du trafic routier. Des séquences vidéo peuvent être fournies par les caméras de vidéosurveillance dans des lieux publics. La plupart des caméras de vidéosurveillance enregistrent la date et l’heure, qui peuvent être facilement récupérées via la reconnaissance optique de caractères (OCR).
Assurance qualité. Effectuez le monitoring et l’analyse du contrôle qualité dans une installation industrielle. En installant des caméras sur la ligne de production, vous pouvez entraîner un modèle de vision par ordinateur pour qu’il détecte les anomalies.
Considérations
Ces considérations implémentent les piliers d’Azure Well-Architected Framework, un ensemble de principes directeurs que vous pouvez utiliser pour améliorer la qualité d’une charge de travail. Pour plus d’informations, consultez Microsoft Azure Well-Architected Framework.
Fiabilité
La fiabilité permet de s’assurer que votre application tient vos engagements auprès de vos clients. Pour en savoir plus, consultez Liste de contrôle de l'examen de la conception pour la fiabilité.
Une charge de travail fiable est une charge de travail à la fois résiliente et disponible. La résilience est la capacité du système à récupérer après des défaillances et à continuer de fonctionner. L’objectif de la résilience est que l’application retrouve un état entièrement fonctionnel suite à une défaillance. La disponibilité permet de mesurer si vos utilisateurs peuvent accéder à votre charge de travail quand ils en ont besoin.
Pour connaître les garanties de disponibilité des services Azure de cette solution, consultez les ressources suivantes :
- Contrat de niveau de service (SLA) pour les comptes de stockage
- SLA pour Azure Machine Learning
- Contrat SLA pour services Azure AI
- SLA pour Logic Apps
- SLA pour Azure Synapse Analytics
- SLA pour Power BI
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 en savoir plus, consultez Liste de contrôle de l'examen de la conception pour la sécurité.
Tenez compte des ressources suivantes :
- Gestion des identités
- Protéger votre infrastructure
- Sécurité des applications
- Chiffrement et souveraineté des données
- Ressources de sécurité
Optimisation des coûts
L’optimisation des coûts consiste à réduire les dépenses inutiles et à améliorer les efficacités opérationnelles. Pour plus d'informations, consultez Liste de contrôle de la révision de la conception pour l'optimisation des coûts.
Voici quelques recommandations pour optimiser les coûts :
- Utilisez la stratégie de paiement à l’utilisation pour votre architecture, et effectuez un scale-out selon les besoins au lieu d’investir dans des ressources à grande échelle au départ.
- Pensez aux coûts d’opportunité dans votre architecture ainsi qu’à l’équilibre entre être un pionnier ou être un suiveur. Utilisez la calculatrice de prix pour estimer le coût initial et les coûts opérationnels.
- Établissez des stratégies, des budgets et des contrôles pour définir les limites de coût de votre solution.
Excellence opérationnelle
L’excellence opérationnelle couvre les processus opérationnels qui déploient une application et la maintiennent en production. Pour plus d’informations, consultez la Liste de contrôle de l'examen de la conception pour l'excellence opérationnelle.
Les déploiements doivent être fiables et prévisibles. Voici quelques recommandations :
- Automatisez les déploiements pour réduire le risque d’erreur humaine.
- Implémentez un processus de déploiement rapide et routinier pour éviter de ralentir la mise en production des nouvelles fonctionnalités et les résolutions de bogues.
- Effectuez rapidement une restauration ou une restauration par progression si une mise à jour pose des problèmes.
Efficacité des performances
L’efficacité des performances est la capacité de votre charge de travail à s’adapter à la demande des utilisateurs de façon efficace. Pour en savoir plus, consultez Liste de vérification de l'examen de la conception pour l'efficacité des performances
L’utilisation appropriée de la mise à l’échelle et l’implémentation des offres PaaS ayant une mise à l’échelle intégrée sont les principaux moyens d’améliorer les performances.
Contributeurs
Cet article est géré par Microsoft. Il a été écrit à l’origine par les contributeurs suivants.
Auteur principal :
- Oscar Shimabukuro Kiyan | Senior Cloud Solutions Architect – Data &AI
- Han Wang | Architecte de solutions cloud – IA & de données
Pour afficher les profils LinkedIn non publics, connectez-vous à LinkedIn.