Installare ed eseguire il contenitore Analisi spaziale (anteprima)

Il contenitore Analisi spaziale consente di analizzare i video in streaming in tempo reale per comprendere le relazioni spaziali tra persone, il loro movimento e le interazioni con gli oggetti in ambienti fisici. I contenitori sono ottimi per requisiti specifici di sicurezza e governance dei dati.

Prerequisiti

  • Sottoscrizione di Azure: creare un account gratuito
  • L'account Azure deve avere un ruolo di Collaboratore servizi cognitivi assegnato per poter accettare le condizioni di intelligenza artificiale responsabili e creare una risorsa. Per assegnare questo ruolo all'account, seguire la procedura descritta nella documentazione Assegnare ruoli o contattare l'amministratore.
  • Dopo aver creato la sottoscrizione di Azure, Visione artificiale per il livello Standard S1 nel portale di Azure per ottenere la chiave e l'endpoint. Al termine della distribuzione, fare clic su Vai alla risorsa.
    • È necessaria la chiave e l'endpoint della risorsa creata per eseguire il contenitore Analisi spaziale. La chiave e l'endpoint verranno usati in un secondo momento.

Requisiti dei contenitori di Analisi spaziale

Per eseguire il contenitore Di analisi spaziale, è necessario un dispositivo di calcolo con una GPU con supporto per le risorse di calcolo NVIDIA CUDA 6.0 o successiva (ad esempio , NVIDIA Tesla T4, A2, 1080Ti o 2080Ti). È consigliabile usare Azure Stack Edge con accelerazione GPU, ma il contenitore viene eseguito in qualsiasi altro computer desktop che soddisfi i requisiti minimi. Questo dispositivo verrà indicato come computer host.

Azure Stack Edge è una soluzione hardware-as-a-Service e un dispositivo di elaborazione perimetrale abilitato per l'intelligenza artificiale con funzionalità di trasferimento dei dati di rete. Per istruzioni dettagliate su preparazione e configurazione, vedere la documentazione di Azure Stack Edge.

Requisito Descrizione
Fotocamera Il contenitore Analisi spaziale non è associato a un marchio specifico della fotocamera. Il dispositivo fotocamera deve: supportare la codifica Real-Time Streaming Protocol (RTSP) e H.264, essere accessibile al computer host ed essere in grado di eseguire lo streaming a risoluzione 15FPS e 1080p.
Sistema operativo Linux Ubuntu Desktop 18.04 LTS deve essere installato nel computer host.

Configurare il computer host

È consigliabile usare un dispositivo Azure Stack Edge per il computer host. Selezionare Computer desktop se si sta configurando un dispositivo diverso o una macchina virtuale se si usa una macchina virtuale.

Configurare il calcolo nel portale di Azure Stack Edge

L'analisi spaziale usa le funzionalità di calcolo di Azure Stack Edge per eseguire una soluzione di intelligenza artificiale. Per abilitare le funzionalità di calcolo, assicurarsi che:

  • Il dispositivo Azure Stack Edge è stato connesso e attivato .
  • Per accedere al dispositivo, si dispone di un sistema client Windows che esegue PowerShell 5.0 o versione successiva.
  • Per distribuire un cluster Kubernetes, è necessario configurare il dispositivo Azure Stack Edge tramite l'interfaccia utente locale nel portale di Azure:
    1. Abilitare la funzionalità di calcolo nel dispositivo Azure Stack Edge. Per abilitare il calcolo, passare alla pagina Calcolo nell'interfaccia Web per il dispositivo.
    2. Selezionare un'interfaccia di rete da abilitare per il calcolo e quindi selezionare Abilita. Verrà creato un commutatore virtuale nel dispositivo, su tale interfaccia di rete.
    3. Lasciare vuoti gli indirizzi IP del nodo di test kubernetes e gli indirizzi IP dei servizi esterni Kubernetes.
    4. Selezionare Applica. Questa operazione può richiedere circa due minuti.

Configurare il calcolo

Configurare il ruolo Azure Stack Edge e creare una risorsa hub IoT

Nella portale di Azure passare alla risorsa Azure Stack Edge. Nella pagina Panoramica o nell'elenco di spostamento selezionare il pulsante Introduzione all'ambiente di calcolo Edge. Nel riquadro Configura calcolo Edge selezionareConfigura.

Collegamento

Nella pagina Configura calcolo Edge scegliere un hub IoT esistente o scegliere di crearne uno nuovo. Per impostazione predefinita, viene usato un piano tariffario Standard (S1) per creare una risorsa hub IoT. Per usare un livello gratuito hub IoT risorsa, crearne uno e quindi selezionarlo. La risorsa hub IoT usa la stessa sottoscrizione e lo stesso gruppo di risorse usato dalla risorsa Azure Stack Edge

Selezionare Crea. La creazione di risorse hub IoT può richiedere alcuni minuti. Dopo aver creato la risorsa hub IoT, il riquadro Configura calcolo Edge verrà aggiornato per visualizzare la nuova configurazione. Per verificare che il ruolo calcolo Edge sia stato configurato, selezionare Visualizza configurazione nel riquadro Configura calcolo.

Quando il ruolo di calcolo Edge è configurato nel dispositivo Edge, crea due dispositivi: un dispositivo IoT e un dispositivo IoT Edge. Entrambi i dispositivi possono essere visualizzati nella risorsa dell'hub IoT. Azure IoT Edge Runtime sarà già in esecuzione nel dispositivo IoT Edge.

Nota

Abilitare MPS in Azure Stack Edge

Seguire questa procedura per connettersi in remoto da un client Windows.

  1. Eseguire una sessione di Windows PowerShell come amministratore.

  2. Assicurarsi che il servizio Gestione remota Windows sia in esecuzione nel client. Al prompt dei comandi digitare:

    winrm quickconfig
    

    Per altre informazioni, vedere Installazione e configurazione di Gestione remota Windows.

  3. Assegnare una variabile alla stringa di connessione usata nel hosts file .

    $Name = "<Node serial number>.<DNS domain of the device>"
    

    Sostituire <Node serial number> e <DNS domain of the device> con il numero di serie del nodo e il dominio DNS del dispositivo. È possibile ottenere i valori per il numero di serie del nodo dalla pagina Certificati e dal dominio DNS dalla pagina Dispositivo nell'interfaccia utente Web locale del dispositivo.

  4. Per aggiungere questa stringa di connessione per il dispositivo all'elenco host attendibili del client, digitare il comando seguente:

    Set-Item WSMan:\localhost\Client\TrustedHosts $Name -Concatenate -Force
    
  5. Avviare una sessione di Windows PowerShell nel dispositivo:

    Enter-PSSession -ComputerName $Name -Credential ~\EdgeUser -ConfigurationName Minishell -UseSSL
    

    Se viene visualizzato un errore correlato alla relazione di trust, verificare se la catena di firma del certificato del nodo caricato nel dispositivo è installata anche nel client che accede al dispositivo.

  6. Specificare la password quando richiesto. Usare la stessa password usata per accedere all'interfaccia utente Web locale. La password dell'interfaccia utente Web locale predefinita è Password1. Quando si connette correttamente al dispositivo usando PowerShell remoto, viene visualizzato l'output di esempio seguente:

    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>
    

Manifesto della distribuzione IoT

Per semplificare la distribuzione dei contenitori in più computer host, è possibile creare un file manifesto di distribuzione per specificare le opzioni di creazione del contenitore e le variabili di ambiente. È possibile trovare un esempio di manifesto di distribuzione per Azure Stack Edge, altre macchine desktop e macchine virtuali di Azure con GPU in GitHub.

La tabella seguente mostra le varie variabili di ambiente usate dal modulo IoT Edge. È anche possibile impostarli nel manifesto di distribuzione collegato in precedenza, usando l'attributo env in spatialanalysis:

Nome dell'impostazione valore Descrizione
ARCHON_LOG_LEVEL Informazioni; Dettagliato Livello di registrazione, selezionare uno dei due valori
ARCHON_SHARED_BUFFER_LIMIT 377487360 Non modificare
ARCHON_PERF_MARKER false Impostare questa opzione su true per la registrazione delle prestazioni, in caso contrario, deve essere false
ARCHON_NODES_LOG_LEVEL Informazioni; Dettagliato Livello di registrazione, selezionare uno dei due valori
OMP_WAIT_POLICY PASSIVO Non modificare
QT_X11_NO_MITSHM 1 Non modificare
APIKEY Chiave API Raccogliere questo valore da portale di Azure dalla risorsa Visione artificiale. È possibile trovarlo nella sezione Chiave ed endpoint per la risorsa.
FATTURAZIONE URI endpoint Raccogliere questo valore da portale di Azure dalla risorsa Visione artificiale. È possibile trovarlo nella sezione Chiave ed endpoint per la risorsa.
CONTRATTO DI LICENZA Accettare Questo valore deve essere impostato su accettare per l'esecuzione del contenitore
VISUALIZZAZIONE :1 Questo valore deve essere uguale all'output del echo $DISPLAY computer host. I dispositivi Azure Stack Edge non hanno una visualizzazione. Questa impostazione non è applicabile
KEY_ENV Chiave di crittografia del servizio app Aggiungere questa variabile di ambiente se Video_URL è una stringa offuscata
IV_ENV Vettore di inizializzazione Aggiungere questa variabile di ambiente se Video_URL è una stringa offuscata

Importante

È necessario specificare le opzioni Eula, Billing e ApiKey per eseguire il contenitore. In caso contrario, il contenitore non si avvia. Per altre informazioni, vedereFatturazione.

Dopo aver aggiornato il manifesto della distribuzione per i dispositivi Azure Stack Edge, un computer desktop o unamacchina virtuale di Azure con GPU con le proprie impostazioni e la selezione delle operazioni, è possibile usare il comando seguente dell'interfaccia della riga di comando di Azure per distribuire il contenitore nel computer host, come modulo IoT Edge.

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>"
Parametro Descrizione
--hub-name Nome hub IoT di Azure.
--content Nome del file di distribuzione.
--target-condition Il nome del dispositivo IoT Edge per il computer host.
-–subscription ID sottoscrizione o nome.

Questo comando avvia la distribuzione. Passare alla pagina dell'istanza di hub IoT di Azure nell'portale di Azure per visualizzare lo stato della distribuzione. Lo stato può essere visualizzato come 417: la configurazione della distribuzione del dispositivo non viene impostata finché il dispositivo non termina il download delle immagini del contenitore e avvia l'esecuzione.

Verificare che la distribuzione sia riuscita

Per verificare se il contenitore è in esecuzione, sono disponibili diverse opzioni. Individuare lo stato di runtime nelle impostazioni del modulo IoT Edge per il modulo Analisi spaziale nell'istanza di hub IoT di Azure nell'portale di Azure. Verificare che il valore desiderato e il valore segnalato per lo stato di runtime sia in esecuzione.

Verifica della distribuzione di esempio

Al termine della distribuzione e il contenitore è in esecuzione, il computer host inizierà a inviare eventi alla hub IoT di Azure. Se è stata usata la .debug versione delle operazioni, verrà visualizzata una finestra visualizzatore per ogni fotocamera configurata nel manifesto della distribuzione. È ora possibile definire le righe e le zone da monitorare nel manifesto della distribuzione e seguire le istruzioni per la distribuzione di nuovo.

Configurare le operazioni eseguite dall'analisi spaziale

È necessario usare le operazioni di analisi spaziale per configurare il contenitore per usare telecamere connesse, configurare le operazioni e altro ancora. Per ogni dispositivo fotocamera configurato, le operazioni per l'analisi spaziale genereranno un flusso di output di messaggi JSON, inviati all'istanza di hub IoT di Azure.

Usare l'output generato dal contenitore

Per iniziare a usare l'output generato dal contenitore, vedere gli articoli seguenti:

Risoluzione dei problemi

Se si verificano problemi durante l'avvio o l'esecuzione del contenitore, vedere Telemetria e risoluzione dei problemi per i problemi comuni. Questo articolo contiene anche informazioni sulla generazione e la raccolta di log e la raccolta dell'integrità del sistema.

Se si verificano problemi durante l'esecuzione di un contenitore di Servizi cognitivi, è possibile provare a usare il contenitore per la diagnostica di Microsoft. Usare questo contenitore per diagnosticare gli errori comuni nell'ambiente di distribuzione che potrebbero impedire il funzionamento previsto dei contenitori di Servizi cognitivi.

Per ottenere il contenitore, usare il comando seguente docker pull :

docker pull mcr.microsoft.com/azure-cognitive-services/diagnostic

Eseguire quindi il contenitore. Sostituire {ENDPOINT_URI} con l'endpoint e sostituire {API_KEY} con la chiave alla risorsa:

docker run --rm mcr.microsoft.com/azure-cognitive-services/diagnostic \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}

Il contenitore testerà la connettività di rete all'endpoint di fatturazione.

Fatturazione

Il contenitore Analisi spaziale invia informazioni di fatturazione ad Azure usando una risorsa Visione artificiale nell'account Azure. L'uso di Analisi spaziale nell'anteprima pubblica è attualmente gratuito.

I contenitori di Servizi cognitivi di Azure non vengono concessi in licenza per l'esecuzione senza essere connessi all'endpoint di misurazione/fatturazione. È sempre necessario abilitare i contenitori per comunicare le informazioni di fatturazione con l'endpoint di fatturazione. I contenitori di Servizi cognitivi non inviano i dati dei clienti, ad esempio il video o l'immagine a cui viene analizzata, a Microsoft.

Riepilogo

In questo articolo sono stati appresi concetti e flussi di lavoro per il download, l'installazione e l'esecuzione del contenitore Analisi spaziale. In sintesi:

  • L'analisi spaziale è un contenitore Linux per Docker.
  • Le immagini del contenitore vengono scaricate dal Registro Contenitori Microsoft.
  • Le immagini del contenitore vengono eseguite come moduli IoT in Azure IoT Edge.
  • Configurare il contenitore e distribuirlo in un computer host.

Passaggi successivi