Modifier

Analyser du contenu vidéo avec Vision par ordinateur et Azure Machine Learning

Azure Machine Learning
Azure AI services
Azure Logic Apps
Azure Synapse Analytics
Azure Data Lake Storage

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.

Les logos FFmpeg et Jupyter Notebook sont des marques commerciales de leurs sociétés respectives. L’utilisation de ces marques n’implique aucune approbation.

Architecture

Diagramme montrant une architecture d’analyse de contenu vidéo.

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

Workflow

  1. 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 ».
  2. 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.
  3. 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.
  4. Le cluster d’inférence envoie les images à Azure Data Lake Storage.
  5. 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.
  6. 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.
  7. 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.
  8. 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.
  • Azure Synapse Analytics est un service d’analytique illimité, qui réunit l’intégration de données, l’entreposage de données d’entreprise et des fonctionnalités analytiques pour le Big Data.
  • Le pool SQL dédié (anciennement SQL DW) est une collection de ressources analytiques qui sont provisionnées quand vous utilisez Azure Synapse SQL.
  • 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

  • Azure Video Indexer est un service analytique vidéo qui utilise l’IA pour extraire des insights actionnables à partir de vidéos stockées. Vous pouvez l’utiliser sans aucune expertise en machine learning.
  • Azure Data Factory est un service d’intégration de données serverless entièrement géré qui vous aide à créer des processus d’extraction, de transformation et de chargement (ETL) et d’extraction, de chargement et de transformation (ELT).
  • Azure Functions est une solution PaaS (platform as a service) serverless, qui exécute du code monotâche sans nécessiter de nouvelle infrastructure.
  • Azure Cosmos DB est une base de données NoSQL complètement managée pour développer des applications modernes.

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 plus d’informations, consultez la page Vue d’ensemble du pilier de 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 :

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é.

Tenez compte des ressources suivantes :

Optimisation des coûts

L’optimisation des coûts consiste à réduire les dépenses inutiles et à améliorer l’efficacité opérationnelle. Pour plus d’informations, consultez Vue d’ensemble du pilier d’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 d’exploitation qui déploient une application et maintiennent son fonctionnement en production. Pour plus d’informations, consultez Vue d’ensemble du pilier 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 plus d’informations, consultez Vue d’ensemble du pilier d’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 :

Autres contributeurs :

Pour afficher les profils LinkedIn non publics, connectez-vous à LinkedIn.

Étapes suivantes