Een oplossing voor voetvaldetectie op basis van AI implementeren met behulp van Azure en Azure Stack Hub
In dit artikel wordt beschreven hoe u een op AI gebaseerde oplossing implementeert die inzichten genereert op basis van acties uit de echte wereld met behulp van Azure, Azure Stack Hub en de Custom Vision AI Dev Kit.
In deze oplossing leert u het volgende:
- Implementeer Cloud Native Application Bundles (CNAB) aan de rand.
- Implementeer een app die cloudgrenzen overspant.
- Gebruik de Custom Vision AI Dev Kit voor de deferie aan de rand.
Tip

Microsoft Azure Stack Hub is een uitbreiding van Azure. Azure Stack Hub brengt de flexibiliteit en innovatie van cloud-computing naar uw on-premises omgeving, waardoor de enige hybride cloud waarmee u hybride apps overal kunt bouwen en implementeren.
Het artikel Ontwerpoverwegingen voor hybride apps bespreekt de pijlers van softwarekwaliteit (plaatsing, schaalbaarheid, beschikbaarheid, tolerantie, beheersbaarheid en beveiliging) voor het ontwerpen, implementeren en gebruiken van hybride apps. De ontwerpoverwegingen helpen bij het optimaliseren van het ontwerp van hybride apps, waardoor de uitdagingen in productieomgevingen worden geminimim hetzelfde.
Vereisten
Voordat u aan de slag gaat met deze implementatiehandleiding, moet u het volgende doen:
- Lees het onderwerp Footfall detection pattern (Patroon Voetvaldetectie).
- Verkrijg gebruikerstoegang tot een Azure Stack Development Kit (ASDK) of Azure Stack Hub integrated system instance, met:
- De Azure App Service op Azure Stack Hub resourceprovider geïnstalleerd. U hebt operatortoegang tot uw Azure Stack Hub nodig of werk samen met uw beheerder om deze te installeren.
- Een abonnement op een aanbieding met een App Service en Storage quotum. U hebt operatortoegang nodig om een aanbieding te maken.
- Toegang verkrijgen tot een Azure-abonnement.
- Als u nog geen abonnement op Azure hebt, kunt u zich aanmelden voor een gratis proefaccount voordat u begint.
- Maak twee service-principals in uw directory:
- Eén set voor gebruik met Azure-resources, met toegang op het bereik van het Azure-abonnement.
- Eén set voor gebruik met Azure Stack Hub resources, met toegang op Azure Stack Hub abonnementsbereik.
- Zie Een app-identiteit gebruiken voor toegang tot resources voor meer informatie over het maken van service-principals en het autoriseren van toegang. Zie Een Azure-service-principalmaken met Azure CLI als u liever Azure CLI gebruikt.
- Implementeer Azure Cognitive Services in Azure of Azure Stack Hub.
- Lees eerst meer over Cognitive Services.
- Ga vervolgens naar Deploy Azure Cognitive Services to Azure Stack Hub to deploy Cognitive Services on Azure Stack Hub. U moet zich eerst aanmelden voor toegang tot de preview.
- Kloon of download een niet-geconfigureerde Azure Custom Vision AI Dev Kit. Zie Vision AI DevKit voor meer informatie.
- Meld u aan voor een Power BI account.
- Een Azure Cognitive Services face-API-abonnementssleutel en eindpunt-URL. U kunt beide krijgen met de gratis proefversie Cognitive Services proberen. Of volg de instructies in Een Cognitive Services maken.
- Installeer de volgende ontwikkelingsbronnen:
- Azure CLI 2.0
- Docker CE
- Voor . U gebruikt Hebto om cloud-apps te implementeren met behulp van CNAB-bundelmanifests die voor u zijn opgegeven.
- Visual Studio Code
- Azure IoT-hulpprogramma's voor Visual Studio Code
- Python-extensie voor Visual Studio Code
- Python
De hybride cloud-app implementeren
Eerst gebruikt u de Cli om een referentieset te genereren en vervolgens implementeert u de cloud-app.
Kloon of download de opslagplaats met de voorbeeldcode van de oplossing: https://github.com/Azure-Samples/azure-intelligent-edge-patterns/tree/master/footfall-analysis .
Er wordt een set referenties gegenereerd waarmee de implementatie van de app wordt automatiseren. Voordat u de opdracht voor het genereren van referenties gaat uitvoeren, moet u ervoor zorgen dat het volgende beschikbaar is:
- Een service-principal voor toegang tot Azure-resources, met inbegrip van de service-principal-id, sleutel en tenant-DNS.
- De abonnements-id voor uw Azure-abonnement.
- Een service-principal voor toegang tot Azure Stack Hub resources, waaronder de service-principal-id, sleutel en tenant-DNS.
- De abonnements-id voor uw Azure Stack Hub abonnement.
- Uw Azure Cognitive Services Face-API-sleutel en resource-eindpunt-URL.
Voer het proces voor het genereren van Uw referenties uit en volg de aanwijzingen:
porter creds generate --tag intelligentedge/footfall-cloud-deployment:0.1.0Ook moet er een set parameters worden uitgevoerd. Maak een parametertekstbestand en voer de volgende naam/waarde-paren in. Vraag uw Azure Stack Hub beheerder of u hulp nodig hebt met een van de vereiste waarden.
Notitie
De waarde wordt gebruikt om ervoor te zorgen dat de resources van uw
resource suffiximplementatie unieke namen hebben in Azure. Het moet een unieke reeks letters en cijfers zijn, niet langer dan 8 tekens.azure_stack_tenant_arm="Your Azure Stack Hub tenant endpoint" azure_stack_storage_suffix="Your Azure Stack Hub storage suffix" azure_stack_keyvault_suffix="Your Azure Stack Hub keyVault suffix" resource_suffix="A unique string to identify your deployment" azure_location="A valid Azure region" azure_stack_location="Your Azure Stack Hub location identifier" powerbi_display_name="Your first and last name" powerbi_principal_name="Your Power BI account email address"Sla het tekstbestand op en noteer het pad.
U bent nu klaar om de hybride cloud-app te implementeren met behulp van Now. Voer de installatieopdracht uit en kijk hoe resources worden geïmplementeerd in Azure en Azure Stack Hub:
porter install footfall-cloud –tag intelligentedge/footfall-cloud-deployment:0.1.0 –creds footfall-cloud-deployment –param-file "path-to-cloud-parameters-file.txt"Zodra de implementatie is voltooid, noteert u de volgende waarden:
- De camera's connection string.
- Het opslagaccount voor de connection string.
- De namen van de resourcegroep.
De Custom Vision AI DevKit voorbereiden
Stel vervolgens de ai Dev Kit Custom Vision zoals wordt weergegeven in de quickstart voor Vision AI DevKit. U kunt uw camera ook instellen en testen met behulp van de connection string die u in de vorige stap hebt opgegeven.
De camera-app implementeren
Gebruik de Cli voor het genereren van een referentieset en implementeer vervolgens de camera-app.
Er wordt een set referenties gegenereerd waarmee de implementatie van de app wordt automatiseren. Voordat u de opdracht voor het genereren van referenties gaat uitvoeren, moet u ervoor zorgen dat het volgende beschikbaar is:
- Een service-principal voor toegang tot Azure-resources, met inbegrip van de service-principal-id, sleutel en tenant-DNS.
- De abonnements-id voor uw Azure-abonnement.
- Het opslagaccount voor de connection string opgegeven tijdens de geïmplementeerde cloud-app.
Voer het proces voor het genereren van Uw referenties uit en volg de aanwijzingen:
porter creds generate --tag intelligentedge/footfall-camera-deployment:0.1.0Ook moet er een set parameters worden uitgevoerd. Maak een parametertekstbestand en voer de volgende tekst in. Vraag uw Azure Stack Hub beheerder of u een aantal van de vereiste waarden niet weet.
Notitie
De waarde wordt gebruikt om ervoor te zorgen dat de resources van uw
deployment suffiximplementatie unieke namen hebben in Azure. Het moet een unieke reeks letters en cijfers zijn, niet langer dan 8 tekens.iot_hub_name="Name of the IoT Hub deployed" deployment_suffix="Unique string here"Sla het tekstbestand op en noteer het pad.
U bent nu klaar om de camera-app te implementeren met behulp van Wilt. Voer de installatieopdracht uit en kijk hoe IoT Edge implementatie wordt gemaakt.
porter install footfall-camera –tag intelligentedge/footfall-camera-deployment:0.1.0 –creds footfall-camera-deployment –param-file "path-to-camera-parameters-file.txt"Controleer of de implementatie van de camera is voltooid door de camerafeed te bekijken op
https://<camera-ip>:3000/, waarbij<camara-ip>het IP-adres van de camera is. Deze stap kan maximaal 10 minuten duren.
Een Azure Stream Analytics
Nu de gegevens vanaf de camera Azure Stream Analytics, moeten we deze handmatig autoreren om te communiceren met Power BI.
Open Azure Portal alle resources en de [ ] yoursuffix-taak voor de procesvoetval.
Selecteer in de sectie Taaktopologie van het deelvenster van de Stream Analytics-taak de optie Uitvoer.
Selecteer de uitvoer-sink traffic-output.
Selecteer Autorisatie vernieuwen en meld u aan bij Power BI account.

Sla de uitvoerinstellingen op.
Ga naar het deelvenster Overzicht en selecteer Beginnen om te beginnen met het verzenden van gegevens naar Power BI.
Selecteer Nu voor de starttijd van de taakuitvoer en selecteer Starten. U kunt de taakstatus bekijken in de meldingsbalk.
Een dashboard Power BI maken
Zodra de taak is geslaagd, gaat u naar Power BI en meld u zich aan met uw werk- of schoolaccount. Als de Stream Analytics query resultaten uitvoert, bestaat de gegevensset footfall-dataset die u hebt gemaakt, op het tabblad Gegevenssets.
Selecteer in Power BI werkruimte + Maken om een nieuw dashboard te maken met de naam Footfall Analysis.
Selecteer boven in het venster de optie Tegel toevoegen. Selecteer Aangepaste streaminggegevens en Volgende. Kies de gegevensset voor voetval onder Uw gegevenssets. Selecteer Kaart in de vervolgkeuzekeuze selecteren Visualisatietype en voeg leeftijd toe aan Velden. Selecteer Volgende om een naam voor de tegel in te voeren en selecteer vervolgens Toepassen om het bestand te maken.
U kunt naar wens extra velden en kaarten toevoegen.
Uw oplossing testen
U ziet hoe de gegevens in de kaarten die u in Power BI, veranderen wanneer verschillende personen voor de camera lopen. Het kan tot 20 seconden duren voordat de deferenties worden weergegeven nadat deze zijn vastgelegd.
Uw oplossing verwijderen
Als u uw oplossing wilt verwijderen, voert u de volgende opdrachten uit met behulp van Remove, met behulp van dezelfde parameterbestanden die u hebt gemaakt voor implementatie:
porter uninstall footfall-cloud –tag intelligentedge/footfall-cloud-deployment:0.1.0 –creds footfall-cloud-deployment –param-file "path-to-cloud-parameters-file.txt"
porter uninstall footfall-camera –tag intelligentedge/footfall-camera-deployment:0.1.0 –creds footfall-camera-deployment –param-file "path-to-camera-parameters-file.txt"
Volgende stappen
- Meer informatie over ontwerpoverwegingen voor hybride apps
- Bekijk en stel verbeteringen in de code voor dit voorbeeld voor op GitHub.