Nasazení webové aplikace Spatial Analysis

V tomto článku se dozvíte, jak nasadit webovou aplikaci, která shromažďuje data a přehledy prostorové analýzy ze služby IoT Hub a vizualizuje je. To může mít užitečné aplikace v široké škále scénářů a odvětví. Pokud například společnost chce optimalizovat využití svého prostoru nemovitostí, může rychle vytvořit řešení s různými scénáři.

V tomto kurzu se naučíte:

  • Nasazení kontejneru Spatial Analysis
  • Konfigurace operace a kamery
  • Konfigurace připojení ioT Hubu ve webové aplikaci
  • Nasazení a otestování webové aplikace

Aplikace předvede následující scénáře:

  • Počet lidí, kteří zacházejí a opouštějí prostor nebo obchod
  • Počet lidí, kteří zacházejí do oblasti nebo zóny pokladny a čas strávený v řádku rezervace (doba pobytu)
  • Počet lidí, kteří mají obličejovou masku
  • Počet lidí, kteří porušují pokyny pro sociální distancování

Požadavky

Nasazení kontejneru Spatial Analysis

Podle instalačního programu hostitelského počítače nakonfigurujte hostitelský počítač a připojte zařízení IoT Edge ke službě Azure IoT Hub.

Nasazení služby Azure IoT Hub ve vašem předplatném

Nejprve vytvořte instanci služby Azure IoT Hub s cenovou úrovní Standard (S1) nebo úrovní Free (S0). Podle těchto pokynů vytvořte tuto instanci pomocí Azure CLI.

Vyplňte požadované parametry:

  • Předplatné: Název nebo ID vašeho předplatného Azure
  • Skupina prostředků: Vytvoření názvu skupiny prostředků
  • Název iot Hubu: Vytvoření názvu pro ioT Hub
  • Název IoTHubu: Název ioT Hubu, který jste vytvořili
  • Název zařízení Edge: Vytvoření názvu pro zařízení Edge
az login
az account set --subscription <name or ID of Azure Subscription>
az group create --name "<Resource Group Name>" --location "WestUS"

az iot hub create --name "<IoT Hub Name>" --sku S1 --resource-group "test-resource-group"

az iot hub device-identity create --hub-name "<IoT Hub Name>" --device-id "<Edge Device Name>" --edge-enabled

Nasazení kontejneru v Azure IoT Edge na hostitelském počítači

Dalším krokem je nasazení kontejneru prostorové analýzy jako modulu IoT na hostitelském počítači pomocí Azure CLI. Proces nasazení vyžaduje soubor manifestu nasazení, který popisuje požadované kontejnery, proměnné a konfigurace pro vaše nasazení. Ukázkový manifest nasazení najdete v DeploymentManifest.json , která zahrnuje předem připravené konfigurace pro všechny scénáře.

Nastavení proměnných prostředí

Většina proměnných prostředí pro modul IoT Edge je již nastavená v ukázkových DeploymentManifest.json souborech propojených výše. V souboru vyhledejte ENDPOINT proměnné prostředí a APIKEY viz níže. Nahraďte hodnoty identifikátorem URI koncového bodu a klíčem rozhraní API, který jste vytvořili dříve. Ujistěte se, že je hodnota EULA nastavená na "accept".

"EULA": { 
    "value": "accept"
},
"BILLING":{ 
    "value": "<Use the endpoint from your Vision resource>"
},
"APIKEY":{
    "value": "<Use a key from your Vision resource>"
}

Konfigurace parametrů operace

Pokud používáte ukázkovou DeploymentManifest.json , která už má všechny požadované konfigurace (operace, zaznamenané adresy URL videosouborů a zóny atd.), můžete přeskočit na část Spuštění nasazení .

Po dokončení počáteční konfigurace kontejneru prostorové analýzy je dalším krokem konfigurace parametrů operací a jejich přidání do nasazení.

Prvním krokem je aktualizace ukázkového DeploymentManifest.json a konfigurace požadované operace. Například konfigurace pro cognitiveservices.vision.spatialanalysis-personcount je znázorněná níže:

"personcount": {
    "operationId": "cognitiveservices.vision.spatialanalysis-personcount",
    "version": 1,
    "enabled": true,
    "parameters": {
        "VIDEO_URL": "<Replace RTSP URL here>",
        "VIDEO_SOURCE_ID": "<Replace with friendly name>",
        "VIDEO_IS_LIVE":true,
        "DETECTOR_NODE_CONFIG": "{ \"gpu_index\": 0 }",
        "SPACEANALYTICS_CONFIG": "{\"zones\":[{\"name\":\"queue\",\"polygon\":[<Replace with your values>], \"events\": [{\"type\":\"count\"}], \"threshold\":<use 0 for no threshold.}]}"
    }
},

Po aktualizaci manifestu nasazení nainstalujte kameru podle pokynů výrobce fotoaparátu, nakonfigurujte adresu URL fotoaparátu a nakonfigurujte uživatelské jméno a heslo.

Dále nastavte VIDEO_URL adresu URL RTSP fotoaparátu a přihlašovací údaje pro připojení k fotoaparátu.

Pokud má hraniční zařízení více než jeden GPU, vyberte GPU, na kterém chcete tuto operaci spustit. Ujistěte se, že vyrovnáváte zatížení operací, ve kterých na jednom GPU současně neběží více než 8 operací.

Dále nakonfigurujte zónu, ve které chcete spočítat lidi. Pokud chcete nakonfigurovat mnohoúhelník zóny, nejprve postupujte podle pokynů výrobce a načtěte rám z fotoaparátu. Pokud chcete určit každý vrchol mnohoúhelníku, vyberte bod na snímku, vezměte souřadnice x,y pixelů bodu vzhledem k levému, hornímu rohu rámce a vydělte odpovídajícími rozměry rámu. Nastavte výsledky jako souřadnice x,y vrcholu. V poli můžete nastavit konfiguraci SPACEANALYTICS_CONFIG mnohoúhelníku zóny.

Toto je ukázkový videorámeček, který ukazuje, jak se souřadnice vrcholů vypočítají pro rámec velikosti 1920/1080. Sample video frame

Můžete také vybrat prahovou hodnotu spolehlivosti pro případy, kdy jsou zjištění lidé počítání a generují se události. Pokud chcete, aby všechny události byly výstupem, nastavte prahovou hodnotu na 0.

Spuštění nasazení

Teď, když je manifest nasazení dokončený, použijte tento příkaz v Azure CLI k nasazení kontejneru do hostitelského počítače jako modulu IoT Edge.

az login
az extension add --name azure-iot
az iot edge set-modules --hub-name "<IoT Hub name>" --device-id "<IoT Edge device name>" --content DeploymentManifest.json -–subscription "<subscriptionId>"

Vyplňte požadované parametry:

  • Název služby IoT Hub: Název služby Azure IoT Hub
  • DeploymentManifest.json: Název souboru nasazení
  • Název zařízení IoT Edge: Název zařízení IoT Edge vašeho hostitelského počítače
  • Předplatné: ID nebo název předplatného

Tento příkaz zahájí nasazení a stav nasazení můžete zobrazit v instanci služby Azure IoT Hub na webu Azure Portal. Stav se může zobrazit jako 417 – Konfigurace nasazení zařízení se nenastaví , dokud zařízení nedokončí stahování imagí kontejneru a nespustí se do spuštění.

Ověření úspěšného nasazení

Na webu Azure Portal vyhledejte stav modulu runtime v modulu IoT Edge Nastavení modulu prostorové analýzy. Desired Value and Reported Value for the Runtime Status should say Running. Podívejte se níže, jak to bude vypadat na webu Azure Portal.

Example deployment verification

V tomto okamžiku kontejner prostorové analýzy spouští operaci. Generuje přehledy AI pro operace a tyto přehledy směruje jako telemetrii do vaší instance Azure IoT Hubu. Pokud chcete nakonfigurovat další kamery, můžete aktualizovat soubor manifestu nasazení a spustit nasazení znovu.

Sestavení webové aplikace

Webová aplikace Spatial Analysis umožňuje vývojářům rychle nakonfigurovat ukázkovou webovou aplikaci, hostovat ji v prostředí Azure a použít ji k ověření událostí E2E.

Sestavení image Dockeru

Podle pokynů sestavte a nasdílejte image do služby Azure Container Registry ve vašem předplatném.

Nastavení kontejneru Dockeru

Pokud chcete kontejner nainstalovat, vytvořte novou službu Aplikace Azure Service a vyplňte požadované parametry. Pak přejděte na kartu Dockeru a vyberte Jeden kontejner a pak Azure Container Registry. Použijte instanci služby Azure Container Registry, ve které jste nasdílili výše uvedenou image.

Enter image details

Po zadání výše uvedených parametrů vyberte Zkontrolovat a vytvořit aplikaci.

Konfigurace aplikace

Počkejte, až se instalace dokončí, a přejděte k prostředku na webu Azure Portal. Přejděte do části konfigurace a přidejte následující dvě nastavení aplikace.

  • EventHubConsumerGroup – Název řetězce skupiny příjemců ze služby Azure IoT Hub, můžete ve službě IoT Hub vytvořit novou skupinu příjemců nebo použít výchozí skupinu.
  • IotHubConnectionString– připojovací řetězec do služby Azure IoT Hub, můžete ji načíst z oddílu klíčů vašeho prostředku služby Azure IoT Hub.Configure Parameters

Po přidání těchto 2 nastavení vyberte Uložit. Potom v levé navigační nabídce vyberte Ověřování nebo autorizace a aktualizujte ji požadovanou úrovní ověřování. Doporučujeme Microsoft Entra ID express.

Otestování aplikace

Přejděte do služby Azure a ověřte, že nasazení proběhlo úspěšně a webová aplikace je spuštěná. Přejděte na nakonfigurovanou adresu URL: <yourapp>.azurewebsites.net pro zobrazení spuštěné aplikace.

Test the deployment

Získání zdrojového kódu PersonCount

Pokud chcete zobrazit nebo upravit zdrojový kód pro tuto aplikaci, najdete ho na GitHubu.

Další kroky