Installer et exécuter le conteneur Analyse spatiale (préversion)
Important
Le 30 mars 2025, Analyse spatiale Azure AI Vision sera mis hors service. Veuillez passer à Azure AI Video Indexer ou à une autre solution open source avant la date spécifiée. Nous vous encourageons à effectuer la transition au plus tôt pour bénéficier des avantages d’Azure AI Video Indexer. En plus des fonctionnalités familières que vous utilisez, voici une comparaison rapide entre Analyse spatiale Azure AI Vision et Azure AI Video Indexer.
Fonctionnalité | Analyse spatiale Azure AI Vision | Azure AI Video Indexer |
---|---|---|
Prise en charge d’Edge | Oui | Oui |
Détection d’objet | Détection des personnes et des véhicules uniquement | Détecte plus de 1 000 objets |
Traitement audio/vocal | Non pris en charge | Pris en charge (inclut la transcription vocale, la traduction et le résumé) Pris en charge >(inclut la transcription vocale et l’analyse des sentiments) |
Détection et suivi d’événements | Pris en charge (suivi des personnes et des véhicules, détection d’événements) | Pas encore pris en charge sur Edge. Partiellement pris en charge dans le cloud. |
Prise en charge d’Azure Arc | Non pris en charge | Prise en charge native |
Centres d’intérêt | Analyse visuelle avec suivi spécialisé | Analyse complète du contenu audio et du contenu visuel |
Jusqu’au 30 mars 2025, vous pouvez continuer à utiliser Analyse spatiale Azure AI Vision ou passer à Azure AI Video Indexer avant la date spécifiée. Après le 30 mars 2025, le conteneur Analyse spatiale ne sera plus pris en charge et cessera de traiter de nouveaux flux.
Le conteneur d’analyse spatiale vous permet d’analyser le flux vidéo en temps réel afin de comprendre les relations spatiales entre les personnes, leurs déplacements et les interactions avec des objets dans des environnements physiques. Les conteneurs vous aident à répondre aux exigences de sécurité et de gouvernance des données spécifiques.
Prérequis
- Abonnement Azure - En créer un gratuitement
- Une fois que vous avez votre abonnement Azure, créez une ressource vision par ordinateur pour le niveau Standard S1 dans le portail Azure pour obtenir votre clé et votre point de terminaison. À la fin du déploiement, sélectionnez Accéder à la ressource.
- Vous aurez besoin de la clé et du point de terminaison de la ressource que vous créez pour exécuter le conteneur d’analyse spatiale. Vous utiliserez votre clé et votre point de terminaison ultérieurement.
Exigences du conteneur d’analyse spatiale
Pour exécuter le conteneur d’analyse spatiale, vous avez besoin d’un appareil de calcul doté d’un GPU de calcul NVIDIA CUDA de version 6.0 ou supérieure (par exemple, NVIDIA Tesla T4, A2, 1080Ti ou 2080Ti). Nous vous recommandons d’utiliser Azure Stack Edge avec l’accélération GPU, bien que le conteneur s’exécute sur n’importe quel autre ordinateur de bureau présentant la configuration minimale requise. Nous faisons référence à cet appareil en tant qu’ordinateur hôte.
Azure Stack Edge est une solution matérielle en tant que service ainsi qu’un appareil de computing en périphérie basé sur l’intelligence artificielle. Il est doté de fonctionnalités de transfert de données via le réseau. Pour obtenir des instructions détaillées sur la préparation et la configuration, consultez la documentation Azure Stack Edge.
Condition requise | Description |
---|---|
Appareil photo | Le conteneur d’analyse spatiale n’est pas lié à une marque de caméra spécifique. La caméra doit : prendre en charge l’encodage RTSP (Real-Time Streaming Protocol) et H. 264, être accessible à l’ordinateur hôte et pouvoir assurer une diffusion en continu à 15FPS et avec une résolution de 1080p. |
Système d’exploitation Linux | Ubuntu Desktop 18.04 LTS doit être installé sur l’ordinateur hôte. |
Configurer l’ordinateur hôte
Nous vous recommandons d’utiliser un appareil Azure Stack Edge pour votre ordinateur hôte. Sélectionnez Ordinateur de bureau si vous configurez un autre appareil ou Machine virtuelle si vous utilisez une machine virtuelle.
Configurer le calcul sur le portail Azure Stack Edge
L’analyse spatiale utilise les fonctionnalités de calcul d’Azure Stack Edge pour exécuter une solution d’intelligence artificielle. Pour activer les fonctionnalités de calcul, assurez-vous que les conditions suivantes sont remplies :
- Vous avez connecté et activé votre appareil Azure Stack Edge.
- Vous avez un système client Windows exécutant PowerShell 5.0 ou une version ultérieure pour accéder à l’appareil.
- Pour déployer un cluster Kubernetes, vous devez configurer votre appareil Azure Stack Edge via l’interface utilisateur locale dans le portail Azure :
- Configurer la fonctionnalité de calcul sur votre appareil Azure Stack Edge. Pour activer le calcul, accédez à la page Calcul dans l’interface web de votre appareil.
- Sélectionnez une interface réseau que vous souhaitez activer pour le calcul, puis sélectionnez Activer. Un commutateur virtuel est créé sur votre appareil sur cette interface réseau.
- Laissez les adresses IP du nœud de test Kubernetes et les adresses IP des services externes Kubernetes vides.
- Sélectionnez Appliquer. Cette opération peut prendre environ deux minutes.
Configurer un rôle Azure Stack Edge et créer une ressource IoT Hub
Dans le portail Azure, accédez à votre ressource Azure Stack Edge. Dans la page Vue d’ensemble ou la liste de navigation, sélectionnez le bouton de computing en périphérie Démarrer. Dans la vignette Configurer le computing en périphérie, sélectionnez Configurer.
Dans la page Configurer le computing en périphérie, choisissez une ressource IoT Hub existante, ou choisissez d’en créer une nouvelle. Par défaut, un niveau tarifaire Standard (S1) est utilisé pour créer une ressource IoT Hub. Pour utiliser une ressource IoT Hub de niveau Gratuit, créez-en une, puis sélectionnez-la. La ressource IoT Hub utilise les mêmes abonnement et groupe de ressources que la ressource Azure Stack Edge
Sélectionnez Create (Créer). La création de ressources IoT Hub peut prendre quelques minutes. Une fois la ressource IoT Hub créée, la vignette Configurer le computing en périphérie sera mise à jour pour afficher la nouvelle configuration. Pour vérifier que le rôle de computing en périphérie a été configuré, sélectionnez Configuration de la vue sur la vignette Configurer le calcul.
Quand le rôle de calcul Edge est configuré sur l’appareil Edge, il crée deux appareils : un appareil IoT et un appareil IoT Edge. Ces deux appareils peuvent être visualisés dans la ressource IoT Hub. Le runtime Azure IoT Edge sera déjà en cours d’exécution sur l’appareil IoT Edge.
Notes
- Actuellement, seule la plateforme Linux est prise en charge pour les appareils IoT Edge. Pour obtenir de l’aide sur le dépannage de l’appareil Azure Stack Edge, consultez l’article Journalisation et résolution des problèmes.
- Pour en savoir plus sur la configuration d’un appareil IoT Edge pour communiquer via un serveur proxy, consultez Configurer un appareil IoT Edge pour communiquer via un serveur proxy
Activer MPS sur Azure Stack Edge
Suivez cette procédure pour effectuer une connexion distante depuis un client Windows.
Démarrez une session Windows PowerShell en tant qu’administrateur.
Assurez-vous que le service Windows Remote Management est en cours d’exécution sur votre client. À l’invite de commandes, tapez :
winrm quickconfig
Pour plus d’informations, consultez Installation et configuration de Windows Remote Management.
Assignez une variable à la chaîne de connexion utilisée dans le fichier
hosts
.$Name = "<Node serial number>.<DNS domain of the device>"
Remplacez
<Node serial number>
et<DNS domain of the device>
par le numéro de série du nœud et le domaine DNS de votre appareil. Vous pouvez obtenir la valeur du numéro de série du nœud à partir de la page Certificats et celle du domaine DNS à partir de la page Appareil dans l’interface utilisateur web locale de votre appareil.Pour ajouter cette chaîne de connexion pour votre appareil à la liste des hôtes approuvés du client, saisissez la commande suivante :
Set-Item WSMan:\localhost\Client\TrustedHosts $Name -Concatenate -Force
Démarrez une session Windows PowerShell sur l’appareil :
Enter-PSSession -ComputerName $Name -Credential ~\EdgeUser -ConfigurationName Minishell -UseSSL
Si vous voyez une erreur liée à une relation de confiance, vérifiez si la chaîne de signature du certificat de nœud chargé sur votre appareil est également installée sur le client qui accède à votre appareil.
Indiquez le mot de passe lorsque vous y êtes invité. Utilisez le mot de passe vous permettant de vous connecter à l’interface utilisateur web locale. Le mot de passe par défaut de cette interface est
Password1
. Lorsque vous êtes connecté à l’appareil à l’aide de PowerShell à distance, vous pouvez voir l’exemple de sortie suivant :Windows PowerShell Copyright (C) Microsoft Corporation. All rights reserved. PS C:\WINDOWS\system32> winrm quickconfig WinRM service is already running on this machine. PS C:\WINDOWS\system32> $Name = "1HXQG13.wdshcsso.com" PS C:\WINDOWS\system32> Set-Item WSMan:\localhost\Client\TrustedHosts $Name -Concatenate -Force PS C:\WINDOWS\system32> Enter-PSSession -ComputerName $Name -Credential ~\EdgeUser -ConfigurationName Minishell -UseSSL WARNING: The Windows PowerShell interface of your device is intended to be used only for the initial network configuration. Please engage Microsoft Support if you need to access this interface to troubleshoot any potential issues you may be experiencing. Changes made through this interface without involving Microsoft Support could result in an unsupported configuration. [1HXQG13.wdshcsso.com]: PS>
Manifeste de déploiement IoT
Pour simplifier le déploiement de conteneurs sur plusieurs ordinateurs hôtes, vous pouvez créer un fichier de manifeste de déploiement pour spécifier les options de création de conteneurs et les variables d’environnement. Vous trouverez un exemple de manifeste de déploiement pour Azure Stack Edge, d’autres ordinateurs de bureau et une machine virtuelle Azure avec GPU sur GitHub.
Le tableau suivant présente les différentes variables d’environnement utilisées par le module IoT Edge. Vous pouvez également les définir dans le manifeste de déploiement lié ci-dessus, à l’aide de l’attribut env
dans spatialanalysis
:
Nom du paramètre | Valeur | Description |
---|---|---|
ARCHON_LOG_LEVEL | Info; Verbose | Niveau de journalisation, sélectionnez l’une des deux valeurs suivantes : |
ARCHON_SHARED_BUFFER_LIMIT | 377487360 | Ne modifiez pas |
ARCHON_PERF_MARKER | false | Affectez la valeur true à la journalisation des performances ; sinon, la valeur doit être false |
ARCHON_NODES_LOG_LEVEL | Info; Verbose | Niveau de journalisation, sélectionnez l’une des deux valeurs suivantes : |
OMP_WAIT_POLICY | PASSIVE | Ne modifiez pas |
QT_X11_NO_MITSHM | 1 | Ne modifiez pas |
APIKEY | votre clé API | Récupérez cette valeur dans le portail Azure à partir de votre ressource Vision. Vous la trouverez dans la section Clé et point de terminaison de vos ressources. |
FACTURATION | votre URI de point de terminaison | Récupérez cette valeur dans le portail Azure à partir de votre ressource Vision. Vous la trouverez dans la section Clé et point de terminaison de vos ressources. |
CLUF | accepter | Cette valeur doit être définie sur accepter pour que le conteneur s’exécute |
DISPLAY | :1 | Cette valeur doit être identique à la sortie de echo $DISPLAY sur l’ordinateur hôte. Les appareils Azure Stack Edge n’ont pas d’écran. Ce paramètre n'est pas applicable |
KEY_ENV | Clé de chiffrement ASE | Ajoutez cette variable d’environnement si Video_URL est une chaîne masquée. |
IV_ENV | Vecteur d’initialisation | Ajoutez cette variable d’environnement si Video_URL est une chaîne masquée. |
Important
Vous devez spécifier les options Eula
, Billing
et ApiKey
pour exécuter le conteneur, sinon il ne démarrera pas. Pour plus d'informations, consultez Facturation.
Une fois que vous avez mis à jour le manifeste de déploiement pour des appareils Azure Stack Edge, un appareil de bureau ou une machine virtuelle Azure avec GPU avec vos propres paramètres et sélection d’opérations, vous pouvez utiliser la commande Azure CLI ci-dessous pour déployer le conteneur en tant que module IoT Edge sur l’ordinateur hôte.
sudo az login
sudo az extension add --name azure-iot
sudo az iot edge set-modules --hub-name "<iothub-name>" --device-id "<device-name>" --content DeploymentManifest.json --subscription "<name or ID of Azure Subscription>"
Paramètre | Description |
---|---|
--hub-name |
Nom de votre Azure IoT Hub. |
--content |
Nom du fichier de déploiement. |
--target-condition |
Nom de votre appareil IoT Edge pour l’ordinateur hôte. |
-–subscription |
ID ou nom de l’abonnement. |
Cette commande démarre le déploiement. Accédez à la page de votre instance Azure IoT Hub dans le portail Azure pour afficher l’état du déploiement. L’état peut se présenter sous la forme 417 : la configuration de déploiement de l’appareil n’est pas définie jusqu’à ce que l’appareil termine de télécharger les images du conteneur et démarre l’exécution.
Vérifiez que déploiement est réussi
Il existe plusieurs façons de confirmer que le conteneur s’exécute. Localisez la section État du runtime dans les paramètres du module IoT Edge pour le module d’analyse spatiale de votre instance Azure IoT Hub sur le portail Azure. Vérifiez que les champs Valeur souhaitée et Valeur signalée de la section État du runtime indiquent En cours d’exécution.
Une fois le déploiement terminé et le conteneur en cours d’exécution, l’ordinateur hôte commence à envoyer des événements à Azure IoT Hub. Si vous avez utilisé la version .debug
des opérations, vous verrez une fenêtre de visualiseur pour chaque caméra que vous avez configurée dans le manifeste de déploiement. Vous pouvez maintenant définir les lignes et les zones que vous souhaitez analyser dans le manifeste de déploiement et suivre les instructions pour effectuer un nouveau déploiement.
Configurer les opérations effectuées par l’analyse spatiale
Vous devrez utiliser Opérations d’analyse spatiale pour configurer le conteneur afin d’utiliser des caméras connectées et de configurer les opérations, entre autres. Pour chaque caméra configurée, les opérations d’analyse spatiale génèrent un flux de sortie de messages JSON, envoyés à votre instance d’Azure IoT Hub.
Utiliser la sortie générée par le conteneur
Si vous souhaitez commencer à consommer la sortie générée par le conteneur, consultez les articles suivants :
- Utilisez le SDK Azure Event Hubs pour le langage de programmation que vous avez choisi afin de vous connecter au point de terminaison Azure IoT Hub et de recevoir les événements. Pour plus d’informations, consultez Lire des messages appareil-à-cloud à partir du point de terminaison intégré.
- Configurez le routage des messages sur votre instance IoT Hub Azure pour envoyer les événements à d’autres points de terminaison ou enregistrer les événements dans votre stockage Blob Azure, etc.
Dépannage
Si vous rencontrez des problèmes lors du démarrage ou de l’exécution du conteneur, consultez Télémétrie et résolution des problèmes pour connaître les étapes de problèmes courants. Cet article contient également des informations sur la génération et la collecte de journaux et sur la collecte de l’intégrité du système.
Si vous avez des difficultés à exécuter un conteneur Azure AI services, vous pouvez essayer d’utiliser le conteneur de diagnostics Microsoft. Utilisez ce conteneur pour diagnostiquer dans votre environnement de déploiement les erreurs courantes pouvant nuire au bon fonctionnement des conteneurs Azure AI.
Pour obtenir le conteneur, utilisez la commande docker pull
suivante :
docker pull mcr.microsoft.com/azure-cognitive-services/diagnostic
Exécutez ensuite le conteneur. Remplacez {ENDPOINT_URI}
par votre point de terminaison et {API_KEY}
par la clé de votre ressource :
docker run --rm mcr.microsoft.com/azure-cognitive-services/diagnostic \
eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}
Le conteneur teste la connectivité réseau avec le point de terminaison de facturation.
Facturation
Le conteneur d’analyse spatiale envoie des informations de facturation à Azure à l’aide d’une ressource Vision sur votre compte Azure. L’utilisation de l’analyse spatiale en préversion publique est actuellement gratuite.
La licence des conteneurs Azure AI ne vous permet pas de les exécuter sans les connecter au point de terminaison du mesure/facturation. Vous devez toujours configurer les conteneurs de manière à ce qu’ils communiquent les informations de facturation au point de terminaison de facturation. Les conteneurs Azure AI n’envoient pas de données client, telles que la vidéo ou l’image analysée, à Microsoft.
Résumé
Dans cet article, vous avez découvert des concepts et le flux de travail pour le téléchargement, l’installation et l’exécution du conteneur d’analyse spatiale. En résumé :
- L’analyse spatiale est un conteneur Linux pour Docker.
- Les images conteneurs sont téléchargées à partir de Microsoft Container Registry.
- Les images de conteneur s’exécutent en tant que modules IoT dans Azure IoT Edge.
- Configurez le conteneur et déployez-le sur un ordinateur hôte.