De ruimtelijke analysecontainer installeren en uitvoeren (preview)

Met de container Spatial Analysis kunt u realtime streamingvideo analyseren om inzicht te verkrijgen in de ruimtelijke relaties tussen personen, hun bewegingen en interacties met objecten in fysieke omgevingen. Containers zijn ideaal voor specifieke vereisten voor beveiliging en gegevensbeheer.

Vereisten

  • Azure-abonnement: Krijg een gratis abonnement
  • Aan uw Azure-account moet de rol Inzender Cognitive Services zijn toegewezen, zodat u akkoord kunt gaan met de verantwoordelijke AI-voorwaarden en een resource kunt maken. Als u deze rol wilt toewijzen aan uw account, volgt u de stappen in de documentatie 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 de 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 van de resource die u maakt nodig om de container Spatial Analysis uit te voeren. U gebruikt uw sleutel en eindpunt later.

Vereisten voor ruimtelijke analysecontainers

Als u de ruimtelijke analysecontainer wilt uitvoeren, hebt u een rekenapparaat nodig met een NVIDIA CUDA Compute Capable GPU 6.0 of hoger (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 elke 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 spatial analysis-container is niet gekoppeld aan een specifiek cameramerk. Het cameraapparaat moet ondersteuning bieden voor Real-Time Streaming Protocol (RTSP) en H.264-codering, toegankelijk zijn voor de hostcomputer en kunnen streamen 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 Bureaubladmachine als u een ander apparaat configureert of Virtuele machine als u een VM 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 op de 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 van uw apparaat.
    2. Selecteer een netwerkinterface die u wilt inschakelen voor berekeningen 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.

Rekenproces configureren

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

Navigeer in de 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 op de tegel Edge-rekenproces configureren.

Koppeling

Kies op de pagina Edge-rekenproces configureren een bestaande IoT Hub 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 gratis laag wilt gebruiken IoT Hub resource, 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 in de opdrachtprompt:

    winrm quickconfig
    

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

  3. Wijs een variabele toe aan de connection string die in het hosts bestand wordt gebruikt.

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

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

  4. Als u deze connection string 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 u een fout ziet 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 Wachtwoord1. Wanneer u verbinding maakt met het apparaat met behulp van 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 containerimplementatie op meerdere hostcomputers wilt stroomlijnen, kunt u een implementatiemanifestbestand 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 door de IoT Edge-module worden gebruikt. U kunt ze ook instellen in het bovenstaande implementatiemanifest, met behulp van het env kenmerk in spatialanalysis:

Instellingsnaam Waarde Beschrijving
ARCHON_LOG_LEVEL Info; Uitgebreide Logboekregistratieniveau selecteert u een van de twee waarden
ARCHON_SHARED_BUFFER_LIMIT 377487360 Niet wijzigen
ARCHON_PERF_MARKER onjuist Stel dit in op true voor prestatielogboeken, anders moet dit onwaar zijn
ARCHON_NODES_LOG_LEVEL Info; Uitgebreide Logboekregistratieniveau selecteert u 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 van Azure Portal van uw Computer Vision resource. U vindt deze in de sectie Sleutel en eindpunt voor uw resource.
FACTURERING uw eindpunt-URI Verzamel deze waarde van Azure Portal van uw Computer Vision resource. U vindt deze in de sectie Sleutel en eindpunt voor uw resource.
OVEREENKOMST Accepteren Deze waarde moet worden ingesteld om te accepteren voordat de container kan worden uitgevoerd
WEERGEVEN :1 Deze waarde moet gelijk zijn aan de uitvoer van echo $DISPLAY op de hostcomputer. Azure Stack Edge-apparaten hebben geen beeldscherm. Deze instelling is niet van toepassing
KEY_ENV ASE-versleutelingssleutel Voeg deze omgevingsvariabele toe als Video_URL een verborgen tekenreeks is
IV_ENV Initialisatievector Voeg deze omgevingsvariabele toe als Video_URL een verborgen tekenreeks is

Belangrijk

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

Nadat u het implementatiemanifest voor Azure Stack Edge-apparaten, een desktopcomputer of Azure-VM met GPU hebt bijgewerkt 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 Beschrijving
--hub-name De naam van uw Azure IoT Hub.
--content De naam van het implementatiebestand.
--target-condition Uw IoT Edge apparaatnaam 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 de 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.

Controleren 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 op de Azure Portal. Controleer of de gewenste waarde en gerapporteerde waarde voor de runtimestatusActief zijn.

Voorbeeld van implementatieverificatie

Zodra de implementatie is voltooid en de container wordt uitgevoerd, begint de hostcomputer gebeurtenissen te verzenden 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, genereren de bewerkingen voor ruimtelijke analyse een uitvoerstroom van JSON-berichten, verzonden naar uw exemplaar van Azure IoT Hub.

De uitvoer gebruiken die door de container is gegenereerd

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 de door u gekozen programmeertaal om verbinding te maken met het Azure IoT Hub-eindpunt en de gebeurtenissen te ontvangen. Zie Apparaat-naar-cloud-berichten van het ingebouwde eindpunt lezen 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. Zie IoT Hub Berichtroutering voor meer informatie.

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 hebt met het uitvoeren van een Cognitive Services-container, kunt u de diagnosecontainer van Microsoft gebruiken. Gebruik deze container om veelvoorkomende fouten in uw implementatieomgeving vast te stellen die kunnen verhinderen dat Cognitive Services-containers 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 door {ENDPOINT_URI} uw eindpunt en vervang door {API_KEY} uw sleutel voor 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 spatial analysis-container verzendt factureringsgegevens naar Azure met behulp van een Computer Vision resource in uw Azure-account. Het gebruik van Ruimtelijke analyse in openbare preview is momenteel gratis.

Azure Cognitive Services-containers worden niet in licentie gegeven om te worden uitgevoerd zonder dat ze zijn verbonden met het eindpunt voor meting/facturering. U moet de containers altijd inschakelen om factureringsgegevens te communiceren met het factureringseindpunt. Cognitive Services-containers verzenden geen klantgegevens, zoals de video of afbeelding die wordt geanalyseerd, naar Microsoft.

Samenvatting

In dit artikel hebt u concepten en werkstromen geleerd voor het downloaden, installeren en uitvoeren van de container Spatial Analysis. Samenvatting:

  • Spatial Analysis is een Linux-container voor Docker.
  • Containerinstallatiekopieën worden gedownload uit 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