Installera och kör containern Spatial Analysis (förhandsversion)

Med containern Spatial Analysis kan du analysera strömmande video i realtid för att förstå rumsliga relationer mellan personer, deras rörelse och interaktioner med objekt i fysiska miljöer. Containrar hjälper dig att uppfylla specifika krav för säkerhet och datastyrning.

Förutsättningar

  • Azure-prenumeration – Skapa en kostnadsfritt
  • Ditt Azure-konto måste ha en Cognitive Services Contributor tilldelad roll för att du ska kunna godkänna de ansvarsfulla AI-villkoren och skapa en resurs. Om du vill tilldela den här rollen till ditt konto följer du stegen i dokumentationen Tilldela roller eller kontaktar administratören.
  • När du har din Azure-prenumeration skapar du en Visuellt innehåll resurs för Standard S1-nivån i Azure-portalen för att hämta din nyckel och slutpunkt. När den har distribuerats väljer du Gå till resurs.
    • Du behöver nyckeln och slutpunkten från den resurs som du skapar för att köra containern Spatial Analysis. Du använder din nyckel och slutpunkt senare.

Krav för spatial analyscontainer

För att köra containern Spatial Analysis behöver du en beräkningsenhet med en NVIDIA CUDA Compute Capable GPU 6.0 eller senare (till exempel NVIDIA Tesla T4, A2, 1080Ti eller 2080Ti). Vi rekommenderar att du använder Azure Stack Edge med GPU-acceleration, men containern körs på andra stationära datorer som uppfyller minimikraven. Vi refererar till den här enheten som värddator.

Azure Stack Edge är en maskinvaru-som-en-tjänst-lösning och en AI-aktiverad gränsberäkningsenhet med funktioner för nätverksdataöverföring. Detaljerade anvisningar för förberedelse och konfiguration finns i Dokumentationen om Azure Stack Edge.

Krav Beskrivning
Kamera Containern Spatial Analysis är inte kopplad till ett specifikt kameramärke. Kameraenheten måste: stödja RTSP (Real-Time Streaming Protocol) och H.264-kodning, vara tillgänglig för värddatorn och kunna strömmas med 15FPS- och 1080p-upplösning.
Linux OS Ubuntu Desktop 18.04 LTS måste vara installerat på värddatorn.

Konfigurera värddatorn

Vi rekommenderar att du använder en Azure Stack Edge-enhet för värddatorn. Välj Stationär dator om du konfigurerar en annan enhet eller virtuell dator om du använder en virtuell dator.

Konfigurera beräkning på Azure Stack Edge-portalen

Spatial Analysis använder beräkningsfunktionerna i Azure Stack Edge för att köra en AI-lösning. Om du vill aktivera beräkningsfunktionerna kontrollerar du att:

  • Du har anslutit och aktiverat din Azure Stack Edge-enhet.
  • Du har ett Windows-klientsystem som kör PowerShell 5.0 eller senare för att få åtkomst till enheten.
  • Om du vill distribuera ett Kubernetes-kluster måste du konfigurera din Azure Stack Edge-enhet via det lokala användargränssnittetAzure-portalen:
    1. Aktivera beräkningsfunktionen på din Azure Stack Edge-enhet. Om du vill aktivera beräkning går du till sidan Beräkning i webbgränssnittet för enheten.
    2. Välj ett nätverksgränssnitt som du vill aktivera för beräkning och välj sedan Aktivera. Detta skapar en virtuell växel på enheten i det nätverksgränssnittet.
    3. Lämna IP-adresserna för Kubernetes-testnoden och Ip-adresserna för Kubernetes-externa tjänster tomma.
    4. Välj Använd. Den här åtgärden kan ta ungefär två minuter.

Configure compute

Konfigurera Azure Stack Edge-rollen och skapa en IoT Hub-resurs

I Azure-portalen navigerar du till din Azure Stack Edge-resurs. På sidan Översikt eller navigeringslistan väljer du knappen Kom igång med Edge-beräkning. I panelen Konfigurera Edge-beräkning väljer du Konfigurera.

Link

På sidan Konfigurera Edge-beräkning väljer du en befintlig IoT Hub eller väljer att skapa en ny. Som standard används en standardprisnivå (S1) för att skapa en IoT Hub-resurs. Om du vill använda en IoT Hub-resurs på den kostnadsfria nivån skapar du en och väljer den. IoT Hub-resursen använder samma prenumeration och resursgrupp som används av Azure Stack Edge-resursen

Välj Skapa. Det kan ta några minuter att skapa IoT Hub-resursen. När IoT Hub-resursen har skapats uppdateras panelen Konfigurera Edge-beräkning för att visa den nya konfigurationen. Bekräfta att Edge-beräkningsrollen har konfigurerats genom att välja Visa konfiguration på panelen Konfigurera beräkning .

När Edge-beräkningsrollen har konfigurerats på Edge-enheten så skapas två enheter: en IoT-enhet och en IoT Edge-enhet. Bägge enheter kan visas i IoT Hub-resursen. Azure IoT Edge-körningen körs redan på IoT Edge-enheten.

Kommentar

Aktivera MPS på Azure Stack Edge

Följ dessa steg för att fjärransluta från en Windows-klient.

  1. Kör en Windows PowerShell-session som administratör.

  2. Kontrollera att Windows Remote Management-tjänsten körs på klienten. Skriv i kommandotolken:

    winrm quickconfig
    

    Mer information finns i Installation och konfiguration för Windows Fjärrhantering.

  3. Tilldela en variabel till den anslutningssträng som används i hosts filen.

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

    Ersätt <Node serial number> och <DNS domain of the device> med enhetens nodserienummer och DNS-domän. Du kan hämta värdena för nodserienumret från sidan Certifikat och DNS-domän från sidan Enhet i enhetens lokala webbgränssnitt.

  4. Om du vill lägga till den här anslutningssträng för enheten i klientens lista över betrodda värdar skriver du följande kommando:

    Set-Item WSMan:\localhost\Client\TrustedHosts $Name -Concatenate -Force
    
  5. Starta en Windows PowerShell-session på enheten:

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

    Om du ser ett fel som rör förtroenderelation kontrollerar du om signeringskedjan för nodcertifikatet som laddats upp till enheten också är installerad på klienten som har åtkomst till enheten.

  6. Ange lösenordet när du uppmanas att göra det. Använd samma lösenord som används för att logga in på det lokala webbgränssnittet. Standardlösenordet för lokalt webbgränssnitt är Password1. När du ansluter till enheten med hjälp av fjärransluten PowerShell visas följande exempelutdata:

    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-distributionsmanifest

Om du vill effektivisera containerdistributionen på flera värddatorer kan du skapa en distributionsmanifestfil för att ange alternativen för att skapa containrar och miljövariabler. Du hittar ett exempel på ett distributionsmanifest för Azure Stack Edge, andra stationära datorer och en virtuell Azure-dator med GPU på GitHub.

I följande tabell visas de olika miljövariabler som används av IoT Edge-modulen. Du kan också ange dem i distributionsmanifestet som är länkat ovan med hjälp av env attributet i spatialanalysis:

Namn Värde beskrivning
ARCHON_LOG_LEVEL Information om; Utförlig Loggningsnivå, välj ett av de två värdena
ARCHON_SHARED_BUFFER_LIMIT 377487360 Ändra inte
ARCHON_PERF_MARKER falskt Ange detta till sant för prestandaloggning, annars bör detta vara falskt
ARCHON_NODES_LOG_LEVEL Information om; Utförlig Loggningsnivå, välj ett av de två värdena
OMP_WAIT_POLICY PASSIV Ändra inte
QT_X11_NO_MITSHM 1 Ändra inte
APIKEY din API-nyckel Samla in det här värdet från Azure-portalen från visionsresursen. Du hittar den i avsnittet Nyckel och slutpunkt för din resurs.
FAKTURERING din slutpunkts-URI Samla in det här värdet från Azure-portalen från visionsresursen. Du hittar den i avsnittet Nyckel och slutpunkt för din resurs.
EULA acceptera Det här värdet måste anges för att containern ska kunna köras
VISA 1: Det här värdet måste vara samma som utdata echo $DISPLAY från på värddatorn. Azure Stack Edge-enheter har ingen visning. Den här inställningen är inte tillämplig
KEY_ENV ASE-krypteringsnyckel Lägg till den här miljövariabeln om Video_URL är en dold sträng
IV_ENV Initialization vector Lägg till den här miljövariabeln om Video_URL är en dold sträng

Viktigt!

Alternativen Eula, Billingoch ApiKey måste anges för att köra containern. Annars startar inte containern. Mer information finns i Fakturering.

När du har uppdaterat distributionsmanifestet för Azure Stack Edge-enheter, en stationär dator eller en virtuell Azure-dator med GPU med dina egna inställningar och val av åtgärder kan du använda azure CLI-kommandot nedan för att distribuera containern på värddatorn som en IoT Edge-modul.

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 Ditt Azure IoT Hub-namn.
--content Namnet på distributionsfilen.
--target-condition Ditt IoT Edge-enhetsnamn för värddatorn.
-–subscription Prenumerations-ID eller namn.

Det här kommandot startar distributionen. Gå till sidan för din Azure IoT Hub-instans i Azure-portalen för att se distributionsstatusen. Statusen kan visas som 417 – Enhetens distributionskonfiguration har inte angetts förrän enheten har laddat ned containeravbildningarna och börjar köra.

Kontrollera att distributionen har slutförts

Det finns flera sätt att verifiera att containern körs. Leta upp Körningsstatus i IoT Edge-modulen Inställningar för modulen Rumslig analys i din Azure IoT Hub-instans på Azure-portalen. Kontrollera att önskat värde och rapporterat värde för körningsstatusen körs.

Example deployment verification

När distributionen är klar och containern körs börjar värddatorn skicka händelser till Azure IoT Hub. Om du använde .debug versionen av åtgärderna visas ett visualiseringsfönster för varje kamera som du konfigurerade i distributionsmanifestet. Nu kan du definiera de rader och zoner som du vill övervaka i distributionsmanifestet och följa anvisningarna för att distribuera igen.

Konfigurera de åtgärder som utförs av spatial analys

Du måste använda spatiala analysåtgärder för att konfigurera containern att använda anslutna kameror, konfigurera åtgärderna med mera. För varje kameraenhet som du konfigurerar genererar åtgärderna för rumslig analys en utdataström med JSON-meddelanden som skickas till din instans av Azure IoT Hub.

Använda utdata som genereras av containern

Om du vill börja använda utdata som genereras av containern kan du läsa följande artiklar:

  • Använd Azure Event Hubs SDK för ditt valda programmeringsspråk för att ansluta till Azure IoT Hub-slutpunkten och ta emot händelserna. Mer information finns i Läsa meddelanden från enhet till moln från den inbyggda slutpunkten.
  • Konfigurera meddelanderoutning på din Azure IoT Hub för att skicka händelserna till andra slutpunkter eller spara händelserna i Azure Blob Storage osv.

Felsökning

Om du stöter på problem när du startar eller kör containern kan du läsa Telemetri och felsökning för steg för vanliga problem. Den här artikeln innehåller också information om hur du genererar och samlar in loggar och samlar in systemhälsa.

Om du har problem med att köra en Azure AI-tjänstcontainer kan du prova att använda Microsofts diagnostikcontainer. Använd den här containern för att diagnostisera vanliga fel i distributionsmiljön som kan förhindra att Azure AI-containrar fungerar som förväntat.

Använd följande docker pull kommando för att hämta containern:

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

Kör sedan containern. Ersätt {ENDPOINT_URI} med slutpunkten och ersätt {API_KEY} med nyckeln till resursen:

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

Containern testar nätverksanslutningen till faktureringsslutpunkten.

Fakturering

Containern Spatial Analysis skickar faktureringsinformation till Azure med hjälp av en Vision-resurs på ditt Azure-konto. Användningen av Rumslig analys i offentlig förhandsversion är för närvarande kostnadsfri.

Azure AI-containrar är inte licensierade att köras utan att vara anslutna till slutpunkten för mätning/fakturering. Du måste alltid aktivera containrarna för att kommunicera faktureringsinformation med faktureringsslutpunkten. Azure AI-containrar skickar inte kunddata, till exempel videon eller bilden som analyseras, till Microsoft.

Sammanfattning

I den här artikeln har du lärt dig begrepp och arbetsflöden för att ladda ned, installera och köra containern Spatial Analysis. Sammanfattningsvis:

  • Spatial Analysis är en Linux-container för Docker.
  • Containeravbildningar laddas ned från Microsoft Container Registry.
  • Containeravbildningar körs som IoT-moduler i Azure IoT Edge.
  • Konfigurera containern och distribuera den på en värddator.

Nästa steg