De container Ruimtelijke analyse installeren en uitvoeren (preview)

Met de container Ruimtelijke analyse kunt u realtime streamingvideo analyseren om inzicht te hebben in ruimtelijke relaties tussen personen, hun beweging en interacties met objecten in fysieke omgevingen. Containers helpen u te voldoen aan specifieke vereisten voor beveiliging en gegevensbeheer.

Vereisten

  • Azure-abonnement: Krijg een gratis abonnement
  • Aan uw Azure-account moet een Cognitive Services Contributor rol zijn toegewezen om akkoord te gaan met de verantwoordelijke AI-voorwaarden en een resource te maken. Als u deze rol wilt toewijzen aan uw account, volgt u de stappen in de documentatie over rollen toewijzen of neemt u contact op met de beheerder.
  • Zodra u uw Azure-abonnement hebt, maakt u een Computer Vision-resource voor de Standard S1-laag in Azure Portal om uw sleutel en eindpunt op te halen. Nadat de app is geïmplementeerd, selecteert u Ga naar resource.
    • U hebt de sleutel en het eindpunt nodig van de resource die u maakt om de container Ruimtelijke analyse uit te voeren. U gebruikt later uw sleutel en eindpunt.

Containervereisten voor ruimtelijke analyse

Als u de container ruimtelijke analyse wilt uitvoeren, hebt u een rekenapparaat met een NVIDIA CUDA Compute GPU 6.0 of hoger nodig (bijvoorbeeld NVIDIA Tesla T4, A2, 1080Ti of 2080Ti). U wordt aangeraden Azure Stack Edge te gebruiken met GPU-versnelling, maar de container wordt uitgevoerd op een andere desktopcomputer die voldoet aan de minimale vereisten. We verwijzen naar dit apparaat als de hostcomputer.

Azure Stack Edge is een hardware-as-a-service-oplossing en een edge-computingapparaat met AI-functionaliteit met mogelijkheden voor netwerkgegevensoverdracht. Zie de Documentatie voor Azure Stack Edge voor gedetailleerde voorbereidings- en installatie-instructies.

Vereiste Beschrijving
Camera De container Spatial Analysis is niet gekoppeld aan een specifiek cameramerk. Het cameraapparaat moet: ondersteuning bieden voor Realtime Streaming Protocol (RTSP) en H.264-codering, toegankelijk zijn voor de hostcomputer en geschikt zijn voor streaming met een resolutie van 15FPS en 1080p.
Linux-besturingssysteem Ubuntu Desktop 18.04 LTS moet zijn geïnstalleerd op de hostcomputer.

De hostcomputer instellen

U wordt aangeraden een Azure Stack Edge-apparaat te gebruiken voor uw hostcomputer. Selecteer DesktopComputer als u een ander apparaat of virtuele machine configureert als u een virtuele machine gebruikt.

Rekenproces configureren in de Azure Stack Edge-portal

Ruimtelijke analyse maakt gebruik van de rekenfuncties van Azure Stack Edge om een AI-oplossing uit te voeren. Als u de rekenfuncties wilt inschakelen, moet u ervoor zorgen dat:

  • U hebt uw Azure Stack Edge-apparaat verbonden en geactiveerd .
  • U hebt een Windows-clientsysteem met PowerShell 5.0 of hoger voor toegang tot het apparaat.
  • Als u een Kubernetes-cluster wilt implementeren, moet u uw Azure Stack Edge-apparaat configureren via de lokale gebruikersinterface in Azure Portal:
    1. Schakel de rekenfunctie in op uw Azure Stack Edge-apparaat. Als u compute wilt inschakelen, gaat u naar de pagina Compute in de webinterface voor uw apparaat.
    2. Selecteer een netwerkinterface die u wilt inschakelen voor rekenkracht en selecteer vervolgens Inschakelen. Hiermee maakt u een virtuele switch op uw apparaat, op die netwerkinterface.
    3. Laat de IP-adressen van het Kubernetes-testknooppunt en de IP-adressen van de externe Kubernetes-services leeg.
    4. Selecteer Toepassen. Deze bewerking kan ongeveer twee minuten duren.

Configure compute

Azure Stack Edge-rol instellen en een IoT Hub-resource maken

Navigeer in Azure Portal naar uw Azure Stack Edge-resource. Selecteer op de pagina Overzicht of navigatielijst de knop Aan de slag met Edge-rekenkracht. Selecteer Configureren in de tegel Edge-rekenproces configureren.

Link

Kies op de pagina Edge-rekenproces een bestaande IoT Hub configureren of kies ervoor om een nieuwe te maken. Standaard wordt een Prijscategorie Standard (S1) gebruikt om een IoT Hub-resource te maken. Als u een IoT Hub-resource in de gratis laag wilt gebruiken, maakt u er een en selecteert u deze. De IoT Hub-resource maakt gebruik van hetzelfde abonnement en dezelfde resourcegroep die wordt gebruikt door de Azure Stack Edge-resource

Selecteer Maken. Het maken van de IoT Hub-resource kan enkele minuten duren. Nadat de IoT Hub-resource is gemaakt, wordt de tegel Edge-rekenproces configureren bijgewerkt om de nieuwe configuratie weer te geven. Als u wilt bevestigen dat de Edge-rekenprocesrol is geconfigureerd, selecteert u Configuratie weergeven op de tegel Rekenproces configureren.

Wanneer de Edge-rekenprocesrol wordt geconfigureerd op het Edge-apparaat, worden er twee apparaten aangemaakt: een IoT-apparaat en een IoT Edge-apparaat. Beide apparaten kunnen worden weergegeven in de IoT Hub-resource. De Azure IoT Edge Runtime wordt al uitgevoerd op het IoT Edge-apparaat.

Notitie

MPS inschakelen in Azure Stack Edge

Volg deze stappen om extern verbinding te maken vanaf een Windows-client.

  1. Voer een Windows PowerShell-sessie uit als beheerder.

  2. Zorg ervoor dat de Windows Remote Management-service wordt uitgevoerd op uw client. Typ bij de opdrachtprompt:

    winrm quickconfig
    

    Zie Installatie en configuratie voor Windows Remote Management voor meer informatie.

  3. Wijs een variabele toe aan de verbindingsreeks die in het hosts bestand worden gebruikt.

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

    Vervang en vervang <Node serial number> het <DNS domain of the device> serienummer van het knooppunt en het DNS-domein van uw apparaat. U kunt de waarden voor het serienummer van het knooppunt ophalen via de pagina Certificaten en DNS-domein op de pagina Apparaat in de lokale webgebruikersinterface van uw apparaat.

  4. Als u deze verbindingsreeks voor uw apparaat wilt toevoegen aan de lijst met vertrouwde hosts van de client, typt u de volgende opdracht:

    Set-Item WSMan:\localhost\Client\TrustedHosts $Name -Concatenate -Force
    
  5. Start een Windows PowerShell-sessie op het apparaat:

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

    Als er een fout wordt weergegeven met betrekking tot de vertrouwensrelatie, controleert u of de ondertekeningsketen van het knooppuntcertificaat dat naar uw apparaat is geüpload, ook is geïnstalleerd op de client die toegang heeft tot uw apparaat.

  6. Geef het wachtwoord op wanneer u hierom wordt gevraagd. Gebruik hetzelfde wachtwoord dat wordt gebruikt om u aan te melden bij de lokale webgebruikersinterface. Het standaardwachtwoord voor de lokale webgebruikersinterface is Password1. Wanneer u verbinding maakt met het apparaat via externe PowerShell, ziet u de volgende voorbeelduitvoer:

    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>
    

IoT-implementatiemanifest

Als u de implementatie van containers op meerdere hostcomputers wilt stroomlijnen, kunt u een distributiemanifestbestand maken om de opties voor het maken van containers en omgevingsvariabelen op te geven. U vindt een voorbeeld van een implementatiemanifest voor Azure Stack Edge, andere desktopcomputers en Azure VM met GPU op GitHub.

In de volgende tabel ziet u de verschillende omgevingsvariabelen die worden gebruikt door de IoT Edge-module. U kunt ze ook instellen in het bovenstaande distributiemanifest met behulp van het env kenmerk in spatialanalysis:

Naam van instelling Weergegeven als Beschrijving
ARCHON_LOG_LEVEL Info; Uitgebreide Niveau van logboekregistratie, selecteer een van de twee waarden
ARCHON_SHARED_BUFFER_LIMIT 377487360 Niet wijzigen
ARCHON_PERF_MARKER false Stel dit in op waar voor logboekregistratie van prestaties, anders moet dit onwaar zijn
ARCHON_NODES_LOG_LEVEL Info; Uitgebreide Niveau van logboekregistratie, selecteer een van de twee waarden
OMP_WAIT_POLICY PASSIEVE Niet wijzigen
QT_X11_NO_MITSHM 1 Niet wijzigen
APIKEY uw API-sleutel Verzamel deze waarde vanuit de Azure-portal vanuit uw Vision-resource. U vindt deze in de sectie Sleutel en eindpunt voor uw resource.
FACTURERING uw eindpunt-URI Verzamel deze waarde vanuit de Azure-portal vanuit uw Vision-resource. U vindt deze in de sectie Sleutel en eindpunt voor uw resource.
OVEREENKOMST accepteren Deze waarde moet worden ingesteld om te accepteren dat de container moet worden uitgevoerd
WEERGEVEN 1: Deze waarde moet gelijk zijn aan de uitvoer van echo $DISPLAY de hostcomputer. Azure Stack Edge-apparaten hebben geen weergave. Deze instelling is niet van toepassing
KEY_ENV ASE-versleutelingssleutel Voeg deze omgevingsvariabele toe als Video_URL een verborgen tekenreeks is
IV_ENV Initialization vector Voeg deze omgevingsvariabele toe als Video_URL een verborgen tekenreeks is

Belangrijk

De Eula, Billingen ApiKey opties moeten worden opgegeven om de container uit te voeren. Anders wordt de container niet gestart. Zie Facturering voor meer informatie.

Zodra u het implementatiemanifest voor Azure Stack Edge-apparaten, een desktopcomputer of Azure-VM met GPU bijwerkt met uw eigen instellingen en selectie van bewerkingen, kunt u de onderstaande Azure CLI-opdracht gebruiken om de container op de hostcomputer te implementeren als een IoT Edge-module.

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>"
Parameter Description
--hub-name Uw Azure IoT Hub-naam.
--content De naam van het implementatiebestand.
--target-condition De naam van uw IoT Edge-apparaat voor de hostcomputer.
-–subscription Abonnements-id of -naam.

Met deze opdracht wordt de implementatie gestart. Navigeer naar de pagina van uw Azure IoT Hub-exemplaar in Azure Portal om de implementatiestatus te bekijken. De status kan worden weergegeven als 417: de implementatieconfiguratie van het apparaat is pas ingesteld als het apparaat klaar is met het downloaden van de containerinstallatiekopieën en wordt uitgevoerd.

Controleer of de implementatie is geslaagd

Er zijn verschillende manieren om te controleren of de container wordt uitgevoerd. Zoek de runtimestatus in de IoT Edge-module Instellingen voor de module Ruimtelijke analyse in uw Azure IoT Hub-exemplaar in Azure Portal. Controleer of de gewenste waarde en gerapporteerde waarde voor de runtimestatus worden uitgevoerd.

Example deployment verification

Zodra de implementatie is voltooid en de container wordt uitgevoerd, wordt de hostcomputer gestart met het verzenden van gebeurtenissen naar de Azure IoT Hub. Als u de .debug versie van de bewerkingen hebt gebruikt, ziet u een visualisatievenster voor elke camera die u hebt geconfigureerd in het implementatiemanifest. U kunt nu de regels en zones definiëren die u wilt bewaken in het implementatiemanifest en de instructies volgen om opnieuw te implementeren.

De bewerkingen configureren die worden uitgevoerd door ruimtelijke analyse

U moet ruimtelijke analysebewerkingen gebruiken om de container te configureren voor het gebruik van verbonden camera's, het configureren van de bewerkingen en meer. Voor elk cameraapparaat dat u configureert, genereert de bewerkingen voor Ruimtelijke analyse een uitvoerstroom van JSON-berichten die naar uw exemplaar van Azure IoT Hub worden verzonden.

De uitvoer gebruiken die wordt gegenereerd door de container

Als u de uitvoer wilt gaan gebruiken die door de container is gegenereerd, raadpleegt u de volgende artikelen:

  • Gebruik de Azure Event Hubs SDK voor uw gekozen programmeertaal om verbinding te maken met het Azure IoT Hub-eindpunt en de gebeurtenissen te ontvangen. Zie Apparaat-naar-cloud-berichten lezen van het ingebouwde eindpunt voor meer informatie.
  • Stel berichtroutering in op uw Azure IoT Hub om de gebeurtenissen naar andere eindpunten te verzenden of de gebeurtenissen op te slaan in Azure Blob Storage, enzovoort.

Problemen oplossen

Als u problemen ondervindt bij het starten of uitvoeren van de container, raadpleegt u Telemetrie en probleemoplossing voor stappen voor veelvoorkomende problemen. Dit artikel bevat ook informatie over het genereren en verzamelen van logboeken en het verzamelen van de systeemstatus.

Als u problemen ondervindt bij het uitvoeren van een Azure AI-servicescontainer, kunt u proberen de diagnostische container van Microsoft te gebruiken. Gebruik deze container om veelvoorkomende fouten in uw implementatieomgeving te diagnosticeren waardoor Azure AI-containers mogelijk niet werken zoals verwacht.

Gebruik de volgende docker pull opdracht om de container op te halen:

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

Voer vervolgens de container uit. Vervang {ENDPOINT_URI} door uw eindpunt en vervang {API_KEY} uw sleutel door uw resource:

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

De container test op netwerkconnectiviteit met het factureringseindpunt.

Billing

De container ruimtelijke analyse verzendt factureringsgegevens naar Azure met behulp van een Vision-resource in uw Azure-account. Het gebruik van ruimtelijke analyse in openbare preview is momenteel gratis.

Azure AI-containers hebben geen licentie om te worden uitgevoerd zonder verbinding te maken met het eindpunt voor meting/facturering. U moet de containers altijd inschakelen om factureringsgegevens te communiceren met het factureringseindpunt. Azure AI-containers verzenden geen klantgegevens, zoals de video of afbeelding die wordt geanalyseerd, naar Microsoft.

Samenvatting

In dit artikel hebt u concepten en werkstroom geleerd voor het downloaden, installeren en uitvoeren van de container Ruimtelijke analyse. Samengevat:

  • Ruimtelijke analyse is een Linux-container voor Docker.
  • Containerinstallatiekopieën worden gedownload uit het Microsoft Container Registry.
  • Containerinstallatiekopieën worden uitgevoerd als IoT-modules in Azure IoT Edge.
  • Configureer de container en implementeer deze op een hostcomputer.

Volgende stappen