Freigeben über


Erstellen einer Lösung zur Personenzählung mit Azure Percept Vision

Wichtig

Einstellung von Azure Percept DK:

Update vom 9. November 2022: Ein Firmwareupdate, mit dem Vision SoM und Audio SOM ihre Funktionalität mit dem DK über das Ausmusterungsdatum hinaus beibehalten können, wird vor dem Ausmusterungsdatum zur Verfügung gestellt.

Die Public Preview von Azure Percept wird weiterentwickelt und soll neue Edgegeräteplattformen und Entwicklerfunktionen unterstützen. Im Rahmen dieser Weiterentwicklung werden Azure Percept DK und Audio Accessory sowie die zugehörigen unterstützenden Azure-Dienste für Percept DK am 30. März 2023 eingestellt.

Ab dem 30. März 2023 werden Azure Percept DK und Audio Accessory von keinem Azure-Dienst mehr unterstützt, einschließlich Azure Percept Studio, Betriebssystemupdates, Containerupdates, Anzeige von Webstreams und Custom Vision-Integration. Ab diesem Zeitpunkt bietet Microsoft keinen Kundenerfolgssupport und keine unterstützenden Dienste mehr. Weitere Informationen finden Sie im Blogbeitrag zur Außerbetriebnahme.

Dieser Leitfaden konzentriert sich auf das Erkennen und Zählen von Personen mit Azure Percept DK-Hardware, Azure IoT Hub, Azure Stream Analytics und Power BI-Dashboard.

In diesem Tutorial werden ausführliche Schritte zum Erstellen, Konfigurieren und Implementieren der grundlegenden Komponenten dieser Lösung erläutert. Benutzer können das Tutorial einfach erweitern und zusätzliche Möglichkeiten zum Visualisieren von Personenzählungsdaten erstellen.

Top-Kundenszenarien:

  • Personenzählungsintelligenz: Aggregation der Personenzählung über einen bestimmten Tag, eine bestimmte Woche oder einen bestimmten Zeitraum hinweg.
  • Auslastung: Bestimmen, wann ein Bereich frei und zur Verwendung verfügbar ist. Quantifizieren, wie lange der Bereich leer und unbenutzt ist.
  • Grundsätzliche Informationen über Spitzenbelegungen und die Zeiten ihres Auftretens.
  • Personenzählung nach Geschäftszeiten: Anzahl der Personen im Bereich außerhalb der Geschäftszeiten.

In diesem Tutorial lernen Sie Folgendes:

  • Einrichten Ihres KI-Modells für Azure Percept DK und Vision
  • Erstellen einer Container Registry-Ressource
  • Erstellen Ihrer Edge-Lösung und Pushen in die Containerregistrierung
  • Bereitstellen einer Edge-Lösung auf dem Gerät
  • Hinzufügen einer Consumergruppe zu Ihrem IoT Hub
  • Erstellen eines Stream Analytics-Auftrags
  • Erstellen und Veröffentlichen eines Power BI-Berichts zum Visualisieren der Daten

Lösungsarchitektur

Lösungsarchitektur

  • Eingabe: Videostream aus Azure Percept DK

  • Ausgabe: Anzahl der Personen in Power BI-Dashboard

Power BI

  • Azure-Abonnement: (Kostenloses Testkonto)

  • Power BI-Abonnement: (Kostenlose Power BI-Testversion)

  • Power BI-Arbeitsbereich: (Erstellen Sie die neuen Arbeitsbereiche in Power BI).

  • Azure Percept DK-Setup: Sie haben Ihr DevKit mit einem WLAN verbunden, eine IoT Hub-Instanz erstellt und das DevKit mit der IoT Hub-Instanz verbunden.

  • Herunterladen und Installieren von VS Code

  • Herunterladen und Installieren von Git

  • Installieren der IoT Hub-Erweiterung in VS Code

  • Installieren der Azure IoT Tools-Erweiterung in VS Code

  • Herunterladen und Installieren von Docker Desktop (erfordert einen Neustart des PCs)

  • (Nur für Windows Benutzer) Installieren von WSL2 durch Ausführung der folgenden Befehle in Windows PowerShell oder Terminal (unter macOS) (erfordert einen PC-Neustart)

    wsl --install

    wsl --set-default-version 2

Schritt 0: Einrichten Ihres KI-Modells für Azure Percept DK und Vision

Das Einrichten des Azure Percept DK ist der erste Schritt im Tutorial. Im Folgenden finden Sie die zu befolgenden Schritte und Links zu weiteren Anleitungen.

  1. Befolgen Sie Schnellstart: Auspacken und Zusammensetzen der Komponenten Ihres Azure Percept DK und die nächsten Schritte.

  2. Verbinden Sie das Kameramodul über das USB-C-Kabel mit dem Azure Percept DK.

  3. Öffnen Sie die Eingabeaufforderung (für Windows) oder das Terminal (unter macOS), und führen Sie den Befehl aus:

    git clone https://github.com/microsoft/Azure-Percept-Reference-Solutions.git

    Wechseln Sie im geklonten Repository zum people-counting-with-azure-percept-vision-Verzeichnis.

Schritt 1: Erstellen einer Container Registry-Ressource

Azure Container Registry ist ein verwalteter, privater Docker-Registrierungsdienst, der auf der Open-Source-Docker-Registrierung basiert. Containerregistrierungen werden verwendet, um Ihre privaten Docker-Containerimages und zugehörigen Artefakte zu verwalten und zu speichern.

  1. Melden Sie sich beim Azure-Portal https://portal.azure.com/ an.

  2. Um eine Containerregistrierung zu erstellen, wechseln Sie zu Containerregistrierung erstellen – Microsoft Azure.

    a. Wählen Sie Ihr Azure-Abonnement im Dropdownfeld Subscription aus.

    b. Wählen Sie im Dropdownmenü Resource group Ihre bevorzugte Ressourcengruppe aus. Sie sollten die Resource group verwenden, die den mit dem Azure Percept DK verbundenen IoT-Hub enthält.

    c. Geben Sie einen eindeutigen Registry Name an.

    d. Wählen Sie unter Location die Region aus, in der Ressourcen bereitgestellt werden sollen (wir empfehlen West US).

    e. Availability Zones – deaktiviert

    f. Wählen Sie Standard für SKU aus.

    g. Behalten Sie auf allen anderen Registerkarten die Standardeinstellungen bei, und klicken Sie am unteren Rand des Bildschirms auf Review + create. Sobald die Überprüfung erfolgreich ist, klicken Sie auf Create. Damit wird Ihre Containerregistrierung erstellt.

    Erstellen von Container Registry

  3. Wechseln Sie nach erfolgreicher Ressourcenbereitstellung zu Ihrer Containerregistrierungsressource. Wählen Sie im linken Scrollbereich Access Keys unter Settings aus, und enable Sie Admin userEinstellung für den Zugriffsschlüssel der Containerregistrierung

  4. Notieren Sie sich Login Server, Username und passwordContainerregistrierungsanmeldung

  5. Wechseln Sie zum Git-Repository und zum people-counting-with-azure-percept-vision-Verzeichnis, und benennen Sie envtemplate in .env um. Öffnen Sie die Datei, und geben Sie die folgenden Details ein:

    a. CONTAINER_REGISTRY_USERNAME= Ihr Containerregistrierungs-Benutzername

    b. CONTAINER_REGISTRY_PASSWORD= Ihr Containerregistrierungs-Kennwort

    c. CONTAINER_REGISTRY_LOGINSERVER= Ihr Containerregistrierungs-Anmeldeserver

    Umgebung

Schritt 2: Erstellen Ihrer Edge-Lösung und Pushen in die Containerregistrierung

In diesem Abschnitt erfahren Benutzer, wie sie das geklonte Personenzählungs-Repository mit ihren individuellen Bereitstellungsinformationen ändern, das Modellimage erstellen und es in die Containerregistrierung pushen.

  1. Öffnen Sie VS Code, und vergewissern Sie sich am unteren Bildschirmrand, dass Sie arm64v8 als Default Platform for IoT Edge Solution ausgewählt haben (falls nicht, klicken Sie, und wählen Sie „arm64v8“ in der Liste aus).

    Auswählen von arm64v8

  2. Wechseln Sie innerhalb des people-counting-with-azure-percept-vision-Verzeichnisses zum modules/CountModule/-Verzeichnis, und öffnen Sie module.json. Geben Sie Ihre Container registry address (identisch mit dem zuvor gespeicherten Login server) ein, gefolgt von einem repository nameContainer registry address.

    "repository": "<Your container registry login server/repository name>"

    ändert sich wie folgt, z. B.

    "repository": "visiontrainingacr.azurecr.io/countmodule"

    Beispiel für das Zählmodul

  3. Nun erstellen Sie das Modulimage und pushen es in Ihre Containerregistrierung. Öffnen Sie das in Visual Studio Code integrierte Terminal, indem Sie View > Terminal auswählen.

  4. Melden Sie sich bei Docker mit den Anmeldeinformationen für die Azure Container Registry (ACR) an, die Sie gespeichert haben, nachdem Sie die Registrierung mithilfe des folgenden Befehls im Terminal erstellt haben. Beachten Sie, dass dieser Befehl eine Warnung mit dem Hinweis ausgibt, dass die Verwendung von --password oder -p über die CLI unsicher ist. Wenn Sie daher für die Entwicklung künftiger Lösung eine sicherere Anmeldung wünschen, verwenden Sie stattdessen --password-stdin, indem Sie dieser Anleitung folgen.

    docker login -u <ACR username> -p <ACR password> <ACR login server>

  5. Visual Studio Code hat jetzt Zugriff auf Ihre Containerregistrierung. In den nächsten Schritten wandeln Sie den Projektmappencode in ein Containerimage um. Klicken Sie im Visual Studio Code-Explorer mit der rechten Maustaste auf die deployment.template.json-Datei, und wählen Sie Build and Push IoT Edge Solution aus.

    Erstellen und Übertragen der IoT Edge-Projektmappe per Push

    Der Befehl zum Erstellen und Übertragen per Push startet drei Vorgänge. Zuerst erstellt er in der Projektmappe einen neuen Ordner mit dem Namen config. Darin ist das vollständige Bereitstellungsmanifest gespeichert, das aus Informationen in der Bereitstellungsvorlage und anderen Projektmappendateien erstellt wurde. Anschließend wird docker build zum Erstellen des Containerimages ausgeführt, das auf der entsprechenden Docker-Datei für Ihre Zielarchitektur basiert. Und schließlich führt er docker push aus, um das Imagerepository per Push in Ihre Containerregistrierung zu übertragen. Dieser Vorgang kann beim ersten Mal einige Minuten dauern, aber er ist bei der nächsten Ausführung von Befehlen schon schneller.

  6. Öffnen Sie die deployment.arm64v8.json-Datei im neu erstellten Konfigurationsordner. Der Dateiname spiegelt die Zielarchitektur wider und weicht daher ab, wenn Sie eine andere Architektur wählen.

  7. Beachten Sie Folgendes: Die beiden Parameter, die über Platzhalter verfügt haben, wurden jetzt durch die entsprechenden Werte ersetzt. Der Abschnitt registryCredentials enthält Ihren Benutzernamen und das zugehörige Kennwort für die Registrierung aus der ENV-Datei. Das CountModule verfügt über das vollständige Imagerepository mit name-, version- und architecture-Tag aus der module.json-Datei.

  8. Sie können noch genauer überprüfen, was mit dem Befehl zum Erstellen und Pushen durchgeführt wurde, indem Sie im Azure-Portal zu Ihrer Containerregistrierung navigieren. Wählen Sie in Ihrer Containerregistrierung Repositories und dann countmodule aus.

    Auswählen von „Repositorys“

Schritt 3: Bereitstellen einer Edge-Lösung auf dem Gerät

Schritt 3 leitet Benutzer durch das Erstellen und Bereitstellen eines Manifests im Azure Percept Dev Kit. Diese Bereitstellung erstellt ein neues Edge-Modul „CountModule“ und überschreibt alle vorherigen Bereitstellungen von „CountModule“.

  1. Erweitern Sie im Visual Studio Code-Explorer Devices im Abschnitt Azure IoT Hub, um Ihre IoT-Geräteliste anzuzeigen.

  2. Klicken Sie mit der rechten Maustaste auf das IoT Edge-Gerät, auf dem Sie die Bereitstellung durchführen möchten, und wählen Sie dann Create Deployment for Single Device aus.

    Erstellen einer Bereitstellung für ein einzelnes Gerät

  3. Navigieren Sie im Datei-Explorer zum Ordner config, wählen Sie die Datei deployment.arm64v8.json aus, und klicken Sie auf Select Edge Deployment Manifest.

    Verwenden Sie nicht die Datei „deployment.template.json“, da sie nicht die Anmeldeinformationen für die Containerregistrierung bzw. die Modulimagewerte enthält.

  4. Erweitern Sie unter Ihrem Gerät Modules, um eine Liste mit bereitgestellten und ausgeführten Modulen anzuzeigen. Klicken Sie auf die Schaltfläche „Aktualisieren“. Sie sollten sehen, dass CountModule auf Ihrem Gerät ausgeführt wird.

    Anzeigen des Zählmoduls

  5. Wechseln Sie zu Azure Percept Studio, und wählen Sie im linken Bereich „Geräte“ und dann Ihr Azure Percept-Gerät aus.

    Auswählen von „Geräte“

  6. Stellen Sie sicher, dass Ihr Gerät Connected ist. Klicken Sie auf Vision.

    Überprüfen, ob das Gerät verbunden ist

  7. Klicken Sie auf View your device stream .

    Anzeigen des Gerätestreams

  8. Im vorherigen Schritt werden Module auf Ihrem Gerät bereitgestellt. Klicken Sie auf der Registerkarte Notifications auf View Stream. Dadurch wird eine neue Registerkarte in Ihrem Browser geöffnet. Vergewissern Sie sich, dass der Videostream angezeigt wird. Wenn Sie das Kameramodul auf eine Person richten, wird die Personenerkennung mit Begrenzungsrahmen angezeigt.

    Überprüfen des Videostreams

  9. Nachdem Sie den Videostream und die Begrenzungsrahmen überprüft haben, schließen Sie die Registerkarte des Webstreambrowsers.

  10. Um sicherzustellen, dass das Zählmodul ordnungsgemäß eingerichtet ist, wechseln Sie im Azure-Portal zu Ihrem IoT-Hub. Wählen Sie im linken Bereich IoT Edge unter Device management aus.

    Auswählen von IoT Edge

  11. Klicken Sie in der IoT-Geräteliste auf Ihr Azure Percept DK-Gerät.

    Azure Percept DK-Gerät

  12. Scrollen Sie nach unten, um zu überprüfen, ob sich alle bereitgestellten Module im Status running befinden.

    Überprüfen des Ausführungsstatus

  13. Klicken Sie auf Troubleshoot.

    Auswählen der Problembehandlung

  14. Wählen Sie in der Dropdownliste CountModule aus.

    Anzeigen des Zählmoduls

  15. Stellen Sie sicher, dass die People_Count-Protokolle wie folgt angezeigt werden:

    Aktivieren Sie das Kontrollkästchen.

Schritt 4: Hinzufügen einer Consumergruppe zu Ihrer IoT Hub-Instanz

Consumergruppen bieten unabhängige Ansichten des Ereignisstreams, die Apps und Azure-Diensten ermöglichen, unabhängig Daten zu nutzen. Diese Consumergruppe wird von dem in Schritt 5 erstellten Stream Analytics-Auftrag verwendet.

  1. Navigieren Sie im Azure-Portal zu dem IoT-Hub, der mit Ihrem Azure Percept DK verbunden ist.

  2. Wählen Sie im linken Bereich Hub settings > Built-in endpoints aus. Geben Sie im Textfeld unter Consumer Groups einen Namen für Ihre neue Consumergruppe ein.

    Neue Consumergruppe

  3. Klicken Sie auf eine beliebige Stelle außerhalb des Textfelds, um die Consumergruppe zu speichern.

Schritt 5: Erstellen eines Stream Analytics-Auftrags

Schritt 5 führt Benutzer durch das Erstellen, Konfigurieren und Ausführen eines Stream Analytics-Auftrags. Stream Analytics ist der langsamste Pfad, um Daten aus einem Azure IoT-Hub in Echtzeit in einen Power BI-Arbeitsbereich zu streamen. Wir erstellen eine Abfrage, sodass nur Telemetriedaten zur Personenzählung gestreamt wird. Sobald sich die Personenzählungsdaten in unserem Power BI-Arbeitsbereich befinden, ist es einfach, sie mit einem Power BI-Bericht zu rendern.

  1. Navigieren Sie zu Neuer Stream Analytics-Auftrag – Microsoft Azure.

  2. Geben Sie die folgenden Informationen für den Auftrag ein:

    • Job name: Der Name des Auftrags. Der Name muss global eindeutig sein.

    • Resource group: Verwenden Sie dieselbe Ressourcengruppe wie für Ihren IoT Hub.

    • Location: Verwenden Sie denselben Speicherort wie für Ihre Ressourcengruppe.

    Neuer Stream Analytics-Auftrag

  3. Klicken Sie auf Create.

Hinzufügen einer Eingabe zum Stream Analytics-Auftrag

  1. Öffnen Sie den zuvor erstellten Stream Analytics Auftrag. Wählen Sie unter Job topology die Option Inputs aus.

  2. Wählen Sie im Inputs-Bereich Add stream input aus, und wählen Sie dann IoT Hub in der Dropdownliste aus.

    Hinzufügen einer Eingabe

  3. Geben Sie im neuen Eingabebereich die folgenden Informationen ein:

    • Input alias: Geben Sie einen eindeutigen Alias für die Eingabe ein.

    • Select IoT Hub from your subscription: Wählen Sie dieses Optionsfeld aus.

    • Subscription: Wählen Sie das Azure-Abonnement aus, das Sie für dieses Lab verwenden.

    • IoT Hub: Wählen Sie den IoT-Hub aus, den Sie für dieses Tutorial verwenden.

    • Consumer group: Wählen Sie die Consumergruppe aus, die Sie zuvor erstellt haben.

    • Shared access policy name: Wählen Sie den Namen der SAS-Richtlinie aus, die vom Stream Analytics-Auftrag für Ihren IoT Hub verwendet werden soll. Für dieses Lab können Sie den Dienst auswählen.

    • Shared access policy key: Dieses Feld wird auf Grundlage des von Ihnen ausgewählten Namens der SAS-Richtlinie automatisch ausgefüllt.

    • Endpoint: Wählen Sie Messaging aus.

    Übernehmen Sie für alle anderen Felder die Standardeinstellungen.

    Beispielhafte Eingabefelder

  4. Klicken Sie auf Save.

Hinzufügen einer Ausgabe zum Stream Analytics-Auftrag

  1. Erstellen Sie einen Gruppenarbeitsbereich, und gehen Sie dabei wie folgt vor:

    a. Öffnen Sie auf einer neuen Webbrowserregisterkarte Power BI.

    b. Klicken Sie im linken Bereich auf Workspaces > Create a workspace.

    c. Geben Sie Ihrem Arbeitsbereich einen Namen und eine Beschreibung (optional), und klicken Sie auf Save .

    d. Wechseln Sie wieder zurück zum Azure-Portal und dem Stream Analytics-Auftrag.

  2. Wählen Sie unter Job topology die Option Outputs aus.

  3. Wählen Sie im Outputs-Bereich Add aus, und wählen Sie dann Power BI in der Dropdownliste aus.

    Hinzufügen einer Ausgabe

  4. Geben Sie die folgenden Informationen ein:

    • Output alias: Ein eindeutiger Alias für die Ausgabe

    • Select Group workspace from your subscriptions: Wählen Sie dieses Optionsfeld aus.

    • Group workspace: Wählen Sie den Zielgruppen-Arbeitsbereich aus.

    • Dataset name: Geben Sie einen Datasetnamen ein.

    • Table name: Geben Sie einen Tabellennamen ein.

    • Authentication mode: Benutzertoken

    Neue Ausgabefelder von Power BI

  5. Wählen Sie im Power BI - New output-Bereich Authorize aus, und folgen Sie den Aufforderungen, um sich bei Ihrem Power BI-Konto anzumelden.

  6. Klicken Sie auf Save .

Konfigurieren der Abfrage des Stream Analytics-Auftrags

  1. Wählen Sie unter Job topology die Option Query aus.

  2. Ersetzen Sie [YourInputAlias] durch den Eingabealias des Auftrags.

  3. Ersetzen Sie [YourOutputAlias] durch den Ausgabealias des Auftrags.

  4. Fügen Sie als letzte Zeile der Abfrage die folgende WHERE-Klausel ein. Diese Zeile stellt sicher, dass nur Nachrichten mit der Eigenschaft People_Count an Power BI weitergeleitet werden.

    WHERE People_Count IS NOT NULL

  5. In diesem Fall sieht die Abfrage wie folgt aus:

    Anzeigen der Abfrage

  6. Klicken Sie auf Save Query.

    Hinweis: Die Eigenschaft wird vom countmodule an den IoT-Hub gesendet und wird an den Stream Analytics-Auftrag weitergeleitet.

Ausführen des Stream Analytics-Auftrags

  1. Wählen Sie im Stream Analytics-Auftrag Overview und dann Start > Now > Start aus.

    Starten des Stream Analytics-Auftrags

  2. Sobald der Auftrag erfolgreich gestartet wurde, ändert sich der Status des Auftrags von Stopped in Running.

    Anzeigen des Status „Wird ausgeführt“

Schritt 6: Erstellen und Veröffentlichen eines Power BI-Berichts zum Visualisieren der Daten

In diesem Schritt erfahren Benutzer, wie sie aus den Telemetriedaten der Personenzählung einen Power BI-Bericht erstellen können. In diesem Tutorial werden die ersten Schritte zum Visualisieren der Personenzählungsdaten beschrieben. Benutzer, die daran interessiert sind, mehr Möglichkeiten zum Transformieren, Aggregieren und Visualisieren ihrer Daten zu erfahren, finden Ideen und Vorlagen auf der Power BI-Produktseite.

  1. Melden Sie sich bei Power BI an, und wählen Sie Ihren Arbeitsbereich aus (dies ist derselbe Gruppenarbeitsbereich, den Sie bei der Erstellung der Stream Analytics-Auftragsausgabe verwendet haben).

    Auswählen des Arbeitsbereichs

  2. Vergewissern Sie sich, dass Ihr Dataset vorhanden ist.

    Überprüfen des Power BI-Datasets

  3. Wählen Sie im linken Scrollbereich die Option + Create aus, und klicken Sie dann auf Pick a published dataset.

    Veröffentlichen des Datasets

  4. Wählen Sie Ihr Dataset aus, und klicken Sie auf Create .

  5. Erweitern Sie auf der rechten Seite die Fields-Dropdownliste, und wählen Sie EventEnqueuedUtcTime und ΣPeople_Count aus.

  6. Wählen Sie unter Visualizations die Option Line and clustered column chart aus.

    Auswählen des richtigen Spaltendiagramms

  7. Dadurch wird ein Diagramm wie folgt generiert:

    Diagramm wird generiert

  8. Klicken Sie regelmäßig auf Refresh, um das Diagramm zu aktualisieren.

    Aktualisieren des Diagramms

Schritt 7: Bereinigen der Ressourcen

Falls Sie diese Anwendung nicht weiterverwenden möchten, löschen Sie die Azure-Ressourcen wie folgt:

  1. Melden Sie sich beim Azure-Portal an, und wechseln Sie zu der für dieses Tutorial verwendeten . Wählen Sie die erstellte Stream Analytics Job-Ressource aus, beenden Sie die Ausführung des Auftrags, und löschen Sie ihn dann.

  2. Melden Sie sich bei Power BI an, und wählen Sie Ihren Arbeitsbereich aus (dies ist derselbe Gruppenarbeitsbereich, den Sie bei der Erstellung der Stream Analytics-Auftragsausgabe verwendet haben). Löschen Sie den Arbeitsbereich.

Nächste Schritte

Sehen Sie sich das zweite Tutorial im Abschnitt „Erweiterte Prototyperstellung mit Azure Percept“ für Ihr Azure Percept DK-Gerät an.