Een op AI gebaseerde oplossing voor voetvaldetectie 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 uit echte acties 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 beslaat.
- Gebruik de Custom Vision AI Dev Kit voor deductie 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 wordt ingeschakeld waarmee u overal hybride apps kunt bouwen en implementeren.
In het artikel Overwegingen bij het ontwerpen van hybride apps worden de pijlers van softwarekwaliteit (plaatsing, schaalbaarheid, beschikbaarheid, tolerantie, beheerbaarheid en beveiliging) beoordeeld voor het ontwerpen, implementeren en gebruiken van hybride apps. De ontwerpoverwegingen helpen bij het optimaliseren van het ontwerp van hybride apps, waardoor uitdagingen in productieomgevingen worden geminimaliseerd.
Vereisten
Voordat u aan de slag gaat met deze implementatiehandleiding, moet u het volgende doen:
- Bekijk de architectuur voor Footfall-detectie.
- Verkrijg gebruikerstoegang tot een azure Stack Development Kit (ASDK) of een geïntegreerd azure Stack Hub-systeemexemplaren met:
- De Azure-app-service op de Azure Stack Hub-resourceprovider is geïnstalleerd. U hebt operatortoegang nodig tot uw Azure Stack Hub-exemplaar of werk samen met uw beheerder om deze te installeren.
- Een abonnement op een aanbieding die App Service- en Opslagquotum biedt. U hebt operatortoegang nodig om een aanbieding te maken.
- Verkrijg toegang tot een Azure-abonnement.
- Als u geen Azure-abonnement hebt, meldt u zich aan voor een gratis proefaccount voordat u begint.
- Maak twee service-principals in uw directory:
- Eén instelling voor gebruik met Azure-resources, met toegang tot het Azure-abonnementsbereik.
- Eén instelling voor gebruik met Azure Stack Hub-resources, met toegang tot het 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. Als u liever Azure CLI gebruikt, raadpleegt u Een Azure-service-principal maken met Azure CLI.
- Azure Cognitive Services implementeren in Azure of Azure Stack Hub.
- Lees eerst meer over Cognitive Services.
- Ga vervolgens naar Azure Cognitive Services implementeren in Azure Stack Hub om Cognitive Services te implementeren in Azure Stack Hub. U moet zich eerst registreren voor toegang tot de preview.
- Kloon of download een niet-geconfigureerde Azure Custom Vision AI Dev Kit. Zie de 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 van Try Cognitive Services . Of volg de instructies in Een Cognitive Services-account maken.
- Installeer de volgende ontwikkelbronnen:
- Azure CLI 2.0
- Docker CE
- Porter. U gebruikt Porter om cloud-apps te implementeren met CNAB-bundelmanifesten die voor u beschikbaar zijn.
- Visual Studio Code
- Azure IoT Tools voor Visual Studio Code
- Python-extensie voor Visual Studio Code
- Python
De hybride cloud-app implementeren
Eerst gebruikt u de Porter CLI om een referentiesset te genereren en implementeert u vervolgens de cloud-app.
Kloon of download de opslagplaats met de voorbeeldcode van de oplossing.
Porter genereert een set referenties waarmee de implementatie van de app wordt geautomatiseerd. Voordat u de opdracht voor het genereren van referenties uitvoert, moet u het volgende beschikbaar hebben:
- Een service-principal voor toegang tot Azure-resources, waaronder 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 Face-API-sleutel en de URL van uw Face-API voor Azure Cognitive Services.
Voer het proces voor het genereren van referenties van Porter uit en volg de aanwijzingen:
porter creds generate --tag intelligentedge/footfall-cloud-deployment:0.1.0
Porter vereist ook een set parameters die moeten worden uitgevoerd. Maak een parametertekstbestand en voer de volgende naam/waardeparen in. Vraag uw Azure Stack Hub-beheerder of u hulp nodig hebt bij een van de vereiste waarden.
Notitie
De
resource suffix
waarde wordt gebruikt om ervoor te zorgen dat de resources van uw implementatie unieke namen hebben in Azure. Het moet een unieke tekenreeks met 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 Porter. 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 is verbindingsreeks.
- Het opslagaccount van de installatiekopieën verbindingsreeks.
- De namen van de resourcegroepen.
De Custom Vision AI DevKit voorbereiden
Stel vervolgens de Custom Vision AI Dev Kit in, zoals wordt weergegeven in de quickstart voor Vision AI DevKit. U stelt uw camera ook in en test deze met behulp van de verbindingsreeks in de vorige stap.
De camera-app implementeren
Gebruik de Porter CLI om een referentieset te genereren en implementeer vervolgens de camera-app.
Porter genereert een set referenties waarmee de implementatie van de app wordt geautomatiseerd. Voordat u de opdracht voor het genereren van referenties uitvoert, moet u het volgende beschikbaar hebben:
- Een service-principal voor toegang tot Azure-resources, waaronder de service-principal-id, sleutel en tenant-DNS.
- De abonnements-id voor uw Azure-abonnement.
- Het opslagaccount voor installatiekopieën verbindingsreeks opgegeven bij het implementeren van de cloud-app.
Voer het proces voor het genereren van referenties van Porter uit en volg de aanwijzingen:
porter creds generate --tag intelligentedge/footfall-camera-deployment:0.1.0
Porter vereist ook een set parameters die moeten 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
deployment suffix
waarde wordt gebruikt om ervoor te zorgen dat de resources van uw implementatie unieke namen hebben in Azure. Het moet een unieke tekenreeks met 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 Porter. Voer de installatieopdracht uit en kijk hoe de 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/
, waar<camara-ip>
is het IP-adres van de camera. Deze stap kan tot 10 minuten duren.
Azure Stream Analytics configureren
Nu gegevens vanaf de camera naar Azure Stream Analytics stromen, moeten we deze handmatig autoriseren om te communiceren met Power BI.
Open vanuit Azure Portal alle resources en de taak process-footfall[yoursuffix].
Selecteer in de sectie Taaktopologie van het deelvenster van de Stream Analytics-taak de optie Uitvoer.
Selecteer de sink voor uitvoer van de verkeersuitvoer .
Selecteer Autorisatie verlengen en meld u aan bij uw Power BI-account.
Sla de uitvoerinstellingen op.
Ga naar het deelvenster Overzicht en selecteer Starten om gegevens naar Power BI te verzenden.
Selecteer Nu voor de starttijd van de taakuitvoer en selecteer Starten. U kunt de taakstatus bekijken in de meldingsbalk.
Een Power BI-dashboard maken
Zodra de taak is voltooid, gaat u naar Power BI en meldt u zich aan met uw werk- of schoolaccount. Als de Stream Analytics-taakquery resultaten uitvoert, bestaat de gegevensset voor de voetgegevensset die u hebt gemaakt, op het tabblad Gegevenssets .
Selecteer + Maken in uw Power BI-werkruimte 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 voet-gegevensset onder Uw gegevenssets. Selecteer Kaart in de vervolgkeuzelijst 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 desgewenst extra velden en kaarten toevoegen.
Uw oplossing testen
Bekijk hoe de gegevens in de kaarten die u in Power BI hebt gemaakt, veranderen wanneer verschillende personen voor de camera lopen. Het kan tot 20 seconden duren voordat de deducties worden weergegeven nadat ze zijn opgenomen.
Uw oplossing verwijderen
Als u uw oplossing wilt verwijderen, voert u de volgende opdrachten uit met Behulp van Porter, 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 overwegingen bij het ontwerpen van hybride apps
- Bekijk en stel verbeteringen voor de code voor dit voorbeeld op GitHub voor.
- Zie Overzicht van een hybride workload in Azure Well-Architected Framework.
- Bekijk het scenario voor hybride en multicloud in Azure Cloud Adoption Framework.
Verwante resources
- Hybride cloudconnectiviteit configureren met Azure en Azure Stack Hub
- Hybride cloudidentiteit configureren voor Azure- en Azure Stack Hub-apps
- Een Kubernetes-cluster met hoge beschikbaarheid implementeren in Azure Stack Hub
- Een hybride app implementeren met on-premises gegevens waarmee cross-clouds worden geschaald
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor