Bereitstellen einer KI-basierten Lösung zur Ermittlung der Kundenfrequenz mithilfe von Azure und Azure Stack Hub

In diesem Artikel wird beschrieben, wie eine KI-basierte Lösung bereitgestellt wird, die mithilfe von Azure, Azure Stack Hub und dem Custom Vision AI Dev Kit Erkenntnisse aus der Praxis generiert.

In diesem Thema lernen Sie Folgendes:

  • Bereitstellen von nativen cloudbasierten Anwendungspaketen (CNAB) auf Edge-Ebene
  • Bereitstellen einer cloudgrenzenübergreifenden App
  • Verwenden des Custom Vision AI Dev Kit für das Rückschließen auf Edge-Ebene

Tipp

Hybridsäulendiagramm Microsoft Azure Stack Hub ist eine Erweiterung von Azure. Mit Azure Stack Hub holen Sie sich die Agilität und Innovation von Cloud Computing in Ihre lokale Umgebung. Sie erhalten die einzige Hybrid Cloud, mit der Sie Hybrid-Apps überall entwickeln und bereitstellen können.

Im Artikel Überlegungen zum Entwurf von Hybrid-Apps werden die wichtigen Aspekte in Bezug auf die Softwarequalität (Platzierung, Skalierbarkeit, Verfügbarkeit, Resilienz, Verwaltbarkeit und Sicherheit) beschrieben, die für das Entwerfen, Bereitstellen und Betreiben von Hybrid-Apps erforderlich sind. Die Überlegungen zum Entwurf dienen als Hilfe beim Optimieren des Designs von Hybrid-Apps, um für Produktionsumgebungen das Auftreten von Problemen zu minimieren.

Voraussetzungen

Schritte vor dem Beginnen mit diesem Bereitstellungsleitfaden:

Bereitstellen der Hybrid Cloud-App

Zuerst generieren Sie mit der Porter CLI einen Satz mit Anmeldeinformationen und stellen dann die Cloud-App bereit.

  1. Klonen Sie das Repository mit dem Projektmappenbeispielcode, oder laden Sie es herunter.

  2. Porter generiert einen Satz mit Anmeldeinformationen, mit dem die Bereitstellung der App automatisiert wird. Bevor Sie den Befehl zur Generierung von Anmeldeinformationen ausführen, stellen Sie sicher, dass Sie über Folgendes verfügen:

    • Einen Dienstprinzipal für den Zugriff auf Azure-Ressourcen, einschließlich Dienstprinzipal-ID, Schlüssels und DNS des Mandanten.
    • Die Abonnement-ID Ihres Azure-Abonnements.
    • Einen Dienstprinzipal für den Zugriff auf Azure Stack Hub-Ressourcen, einschließlich Dienstprinzipal-ID, Schlüssel und DNS des Mandanten.
    • Die Abonnement-ID Ihres Azure Stack Hub-Abonnements.
    • Den Schlüssel für die Azure Cognitive Services-Gesichtserkennungs-API und die Ressourcenendpunkt-URL.
  3. Führen Sie den Porter-Prozess zur Erstellung von Anmeldeinformationen aus, und befolgen Sie die Anweisungen:

    porter creds generate --tag intelligentedge/footfall-cloud-deployment:0.1.0
    
  4. Porter erfordert auch die Ausführung einer Reihe von Parametern. Erstellen Sie eine Parametertextdatei, und geben Sie die folgenden Name-Wert-Paare ein. Fragen Sie Ihren Azure Stack Hub-Administrator, wenn Sie Unterstützung bei den erforderlichen Werten benötigen.

    Hinweis

    Der Wert resource suffix wird verwendet, um sicherzustellen, dass die Ressourcen Ihrer Bereitstellung in Azure eindeutige Namen haben. Es muss sich um eine eindeutige Zeichenfolge aus Buchstaben und Zahlen mit maximal 8 Zeichen handeln.

    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"
    

    Speichern Sie die Textdatei, und notieren Sie sich ihren Pfad.

  5. Sie können die Hybrid Cloud-App jetzt mithilfe von Porter bereitstellen. Führen Sie den Installationsbefehl aus, und beobachten Sie, wie Ressourcen für Azure und Azure Stack Hub bereitgestellt werden:

    porter install footfall-cloud –tag intelligentedge/footfall-cloud-deployment:0.1.0 –creds footfall-cloud-deployment –param-file "path-to-cloud-parameters-file.txt"
    
  6. Notieren Sie sich nach Abschluss der Bereitstellung die folgenden Werte:

    • Die Verbindungszeichenfolge der Kamera
    • Die Verbindungszeichenfolge des Speicherkontos für Bilder
    • Die Ressourcengruppennamen

Vorbereiten des Custom Vision AI Dev Kit

Richten Sie als Nächstes das Custom Vision AI Dev Kit wie im Schnellstart zum Vision AI DevKit gezeigt ein. Sie richten auch Ihre Kamera ein, die Sie mit der im vorherigen Schritt angegebenen Verbindungszeichenfolge testen.

Bereitstellen der Kamera-App

Generieren Sie mit der Porter CLI einen Satz mit Anmeldeinformationen, und stellen Sie dann die Kamera-App bereit.

  1. Porter generiert einen Satz mit Anmeldeinformationen, mit dem die Bereitstellung der App automatisiert wird. Bevor Sie den Befehl zur Generierung von Anmeldeinformationen ausführen, stellen Sie sicher, dass Sie über Folgendes verfügen:

    • Einen Dienstprinzipal für den Zugriff auf Azure-Ressourcen, einschließlich Dienstprinzipal-ID, Schlüssels und DNS des Mandanten.
    • Die Abonnement-ID Ihres Azure-Abonnements.
    • Die beim Bereitstellen der Cloud-App bereitgestellte Verbindungszeichenfolge für das Imagespeicherkonto.
  2. Führen Sie den Porter-Prozess zur Erstellung von Anmeldeinformationen aus, und befolgen Sie die Anweisungen:

    porter creds generate --tag intelligentedge/footfall-camera-deployment:0.1.0
    
  3. Porter erfordert auch die Ausführung einer Reihe von Parametern. Erstellen Sie eine Parametertextdatei, und geben Sie den folgenden Text ein. Fragen Sie Ihren Azure Stack Hub-Administrator, falls Ihnen einige erforderliche Werte nicht vorliegen.

    Hinweis

    Der Wert deployment suffix wird verwendet, um sicherzustellen, dass die Ressourcen Ihrer Bereitstellung in Azure eindeutige Namen haben. Es muss sich um eine eindeutige Zeichenfolge aus Buchstaben und Zahlen mit maximal 8 Zeichen handeln.

    iot_hub_name="Name of the IoT Hub deployed"
    deployment_suffix="Unique string here"
    

    Speichern Sie die Textdatei, und notieren Sie sich ihren Pfad.

  4. Sie können die Kamera-App jetzt mithilfe von Porter bereitstellen. Führen Sie den Installationsbefehl aus, und beobachten Sie, wie die IoT Edge-Bereitstellung erstellt wird.

    porter install footfall-camera –tag intelligentedge/footfall-camera-deployment:0.1.0 –creds footfall-camera-deployment –param-file "path-to-camera-parameters-file.txt"
    
  5. Vergewissern Sie sich, dass die Bereitstellung der Kamera abgeschlossen ist, indem Sie den Kamerafeed bei https://<camera-ip>:3000/ einsehen (<camara-ip> steht für die IP-Adresse der Kamera). Dieser Schritt kann bis zu 10 Minuten dauern.

Konfigurieren von Azure Stream Analytics

Da nun die Daten von der Kamera zu Azure Stream Analytics übertragen werden, müssen wir sie manuell für die Kommunikation mit Power BI autorisieren.

  1. Öffnen Sie im Azure-Portal Alle Ressourcen und dann den Auftrag process-footfall[Ihr_Suffix].

  2. Wählen Sie im Bereich „Stream Analytics-Auftrag“ im Abschnitt Auftragstopologie die Option Ausgaben.

  3. Wählen Sie die Ausgabesenke traffic-output aus.

  4. Wählen Sie Autorisierung erneuern aus, und melden Sie sich bei Ihrem Power BI-Konto an.

    Screenshot der Aufforderung zur Verlängerung der Autorisierung in Power BI.

  5. Speichern Sie die Ausgabeeinstellungen.

  6. Navigieren Sie zum Bereich Übersicht, und klicken Sie auf Starten, um das Senden von Daten an Power BI zu starten.

  7. Wählen Sie als Startzeit für die Auftragsausgabe die Option Jetzt und anschließend Starten. Der Auftragsstatus kann über die Benachrichtigungsleiste angezeigt werden.

Erstellen eines Power BI-Dashboards

  1. Navigieren Sie nach erfolgreichem Abschluss des Auftrags zu Power BI, und melden Sie sich mit Ihrem Geschäfts-, Schul- oder Unikonto an. Wenn die Abfrage des Stream Analytics-Auftrags Ergebnisse ausgibt, befindet sich das von Ihnen erstellte Dataset footfall-dataset auf der Registerkarte Datasets.

  2. Wählen Sie in Ihrem Power BI-Arbeitsbereich die Option + Erstellen aus, um ein neues Dashboard namens Footfall Analysis zu erstellen.

  3. Wählen Sie im oberen Fensterbereich Kachel hinzufügen aus. Wählen Sie dann Benutzerdefinierte Streamingdaten und anschließend Weiter aus. Wählen Sie unter Ihre Datasets das Dataset footfall-dataset aus. Wählen Sie in der Dropdownliste Visualisierungstyp die Option Karte aus, und fügen Sie unter Felder die Option age hinzu. Wählen Sie Weiter aus, um einen Namen für die Kachel einzugeben, und wählen Sie dann Übernehmen aus, um die Kachel zu erstellen.

  4. Sie können nach Wunsch weitere Felder und Karten hinzufügen.

Testen Ihrer Lösung

Beobachten Sie, wie sich die Daten auf den Karten ändern, die Sie in Power BI erstellt haben, wenn verschiedene Personen an der Kamera vorbeigehen. Es kann bis zu 20 Sekunden dauern, bis Rückschlüsse angezeigt werden.

Entfernen der Lösung

Führen Sie in Porter die unten angegebenen Befehle aus, wenn Sie Ihre Lösung entfernen möchten. Verwenden Sie hierbei die gleichen Parameterdateien, die Sie für die Bereitstellung erstellt haben:

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"

Nächste Schritte