Installieren und Ausführen des Containers für räumliche Analyse (Vorschau)
Wichtig
Die räumliche Analyse von Azure KI Vision wird am 30. März 2025 eingestellt. Wechseln Sie vor dem angegebenen Datum zu Azure KI Video Indexer oder einer anderen Open-Source-Lösung. Wir empfehlen Ihnen jedoch, den Wechsel früher zu vollziehen, um die Vorteile von Azure KI Video Indexer zu nutzen. Zusätzlich zu den vertrauten Features, die Sie bereits verwenden, finden Sie hier einen kurzen Vergleich zwischen der räumlichen Analyse von Azure KI Vision und Azure KI Video Indexer.
Funktion | Azure KI Vision Räumliche Analyse | Azure KI Video Indexer |
---|---|---|
Edge-Unterstützung: | Ja | Ja |
Objekterkennung | Nur Personen- und Fahrzeugerkennung | Erkennt mehr als 1.000 Objekte. |
Audio-/Sprachverarbeitung | Nicht unterstützt | Unterstützt (einschließlich Sprachtranskription, Übersetzung und Zusammenfassung) Unterstützt >(einschließlich Sprachtranskription und Stimmungsanalyse) |
Ereigniserkennung und -nachverfolgung | Unterstützt (Nachverfolgen von Personen und Fahrzeugen, Ereigniserkennung) | Noch keine Unterstützung am Edge. Teilweise in der Cloud unterstützt. |
Azure Arc-Unterstützung | Nicht unterstützt | Native Unterstützung |
Schwerpunkt | Visuelle Analyse mit spezieller Nachverfolgung | Umfassende Analyse von Audioinhalten und visuellen Inhalten |
Ab jetzt bis zum 30. März 2025 können Sie die räumliche Analyse von Azure KI Vision weiterhin verwenden oder vor dem angegebenen Datum zu Azure KI Video Indexer wechseln. Nach dem 30. März 2025 wird der Container für räumliche Analyse nicht mehr unterstützt und verarbeitet keine neuen Streams mehr.
Mit dem Container für räumliche Analyse können Sie in Echtzeit gestreamte Videodaten analysieren, um räumliche Bezüge zwischen Personen, ihre Bewegungen und ihre Interaktionen mit Objekten in physischen Umgebungen zu verstehen. Container helfen Ihnen dabei, bestimmte Sicherheits- und Datengovernanceanforderungen zu erfüllen.
Voraussetzungen
- Azure-Abonnement – Erstellen eines kostenlosen Kontos
- Wenn Sie über Ihr Azure-Abonnement verfügen, erstellen Sie im Azure-Portal eine Ressource für maschinelles Sehen für den Tarif Standard S1, um Ihren Schlüssel und Endpunkt abzurufen. Wählen Sie nach Abschluss der Bereitstellung Zu Ressource wechseln aus.
- Sie benötigen den Schlüssel und den Endpunkt der Ressource, die Sie erstellen, um den Container für die räumliche Analyse auszuführen. Sie benötigen Ihren Schlüssel und den Endpunkt zu einem späteren Zeitpunkt des Prozesses.
Anforderungen an einen Container für räumliche Analyse
Zum Ausführen des Containers für die räumliche Analyse benötigen Sie ein Computegerät mit einer NVIDIA CUDA-GPU mit Compute Capability 6.0 oder höher (z. B. NVIDIA Tesla T4, A2, 1080Ti oder 2080Ti). Wir empfehlen Ihnen die Verwendung von Azure Stack Edge mit GPU-Beschleunigung. Der Container kann aber auch auf allen anderen Desktopcomputern ausgeführt werden, die die Mindestanforderungen erfüllen. Dieses Gerät wird als Hostcomputer bezeichnet.
Azure Stack Edge ist eine Hardware-as-a-Service-Lösung und ein KI-fähiges Edgecomputinggerät mit Netzwerkfunktionen für die Datenübertragung. Eine ausführliche Anleitung zur Vorbereitung und Einrichtung finden Sie in der Azure Stack Edge-Dokumentation.
Anforderung | Beschreibung |
---|---|
Kamera | Der Container für die räumliche Analyse ist nicht an eine bestimmte Kameramarke gebunden. Für das Kameragerät müssen die folgenden Bedingungen erfüllt sein: Unterstützung des Real-Time Streaming-Protokolls (RTSP) und der H.264-Codierung, Zugriff auf den Hostcomputer und Streaming mit einer Auflösung von 15 Bilder/Sek. und 1080p. |
Linux-Betriebssystem | Ubuntu Desktop 18.04 LTS muss auf dem Hostcomupter installiert sein. |
Einrichten des Hostcomputers
Es wird empfohlen, ein Azure Stack Edge-Gerät für Ihren Hostcomputer zu verwenden. Wählen Sie Desktopcomputer aus, wenn Sie ein anderes Gerät konfigurieren, oder Virtueller Computer, wenn Sie eine VM verwenden.
Konfigurieren von Compute im Azure Stack Edge-Portal
Bei der räumlichen Analyse werden die Computefeatures von Azure Stack Edge zum Ausführen einer KI-Lösung verwendet. Stellen Sie Folgendes sicher, um die Computefeatures zu aktivieren:
- Sie haben Ihr Azure Stack Edge-Gerät verbunden und aktiviert.
- Sie verfügen über ein Windows-Clientsystem mit PowerShell 5.0 oder höher, um auf das Gerät zuzugreifen.
- Zum Bereitstellen eines Kubernetes-Clusters müssen Sie Ihr Azure Stack Edge-Gerät über die lokale Benutzeroberfläche im Azure-Portal konfigurieren:
- Aktivieren Sie das Computefeature auf Ihrem Azure Stack Edge-Gerät. Navigieren Sie zum Aktivieren von Compute auf der Weboberfläche Ihres Geräts zur Seite Compute.
- Wählen Sie eine Netzwerkschnittstelle aus, die Sie für Compute aktivieren möchten, und wählen Sie dann Aktivieren aus. Auf Ihrem Gerät wird für diese Netzwerkschnittstelle ein virtueller Switch erstellt.
- Lassen Sie die Felder für die IP-Adressen der Kubernetes-Testknoten und der externen Kubernetes-Dienste leer.
- Wählen Sie Übernehmen. Dieser Vorgang kann ungefähr zwei Minuten dauern.
Einrichten einer Azure Stack Edge-Rolle und Erstellen einer IoT Hub-Ressource
Navigieren Sie im Azure-Portal zu Ihrer Azure Stack Edge-Ressource. Wählen Sie auf der Seite Übersicht oder in der Navigationsliste die Schaltfläche Erste Schritte für das Edgecomputing aus. Wählen Sie auf der Kachel Edgecomputing konfigurieren die Option Konfigurieren aus.
Wählen Sie auf der Seite Edgecomputing konfigurieren eine vorhandene IoT Hub-Ressource aus, oder entscheiden Sie sich für die Neuerstellung. Standardmäßig wird zum Erstellen einer IoT Hub-Ressource ein Standard-Tarif (S1) verwendet. Wenn Sie eine IoT Hub-Ressource im Free-Tarif verwenden möchten, müssen Sie sie erstellen und anschließend auswählen. Für die IoT Hub-Ressource wird jeweils dasselbe Abonnement und dieselbe Ressourcengruppe wie für die Azure Stack Edge-Ressource genutzt.
Klicken Sie auf Erstellen. Die Erstellung einer IoT Hub-Ressource kann einige Minuten dauern. Nachdem die IoT Hub-Ressource erstellt wurde, wird die Kachel Edgecomputing konfigurieren aktualisiert, um die neue Konfiguration anzuzeigen. Wählen Sie auf der Kachel Compute konfigurieren die Option Konfiguration anzeigen aus, um sich zu vergewissern, dass die Edge-Computerolle konfiguriert wurde.
Wenn die Edge-Computerolle auf dem Edge-Gerät eingerichtet ist, werden zwei Geräte erstellt: ein IoT-Gerät und ein IoT Edge-Gerät. Beide Geräte können in der IoT Hub-Ressource angezeigt werden. Die Azure IoT Edge-Runtime wird auf dem IoT Edge-Gerät bereits ausgeführt.
Hinweis
- Derzeit wird nur die Linux-Plattform für IoT Edge-Geräte unterstützt. Informationen zur Problembehandlung für das Azure Stack Edge-Gerät finden Sie im Artikel Protokollierung und Problembehandlung.
- Weitere Informationen zum Konfigurieren eines IoT Edge-Geräts für die Kommunikation über einen Proxyserver finden Sie unter Konfigurieren eines IoT Edge-Geräts für die Kommunikation über einen Proxyserver.
Aktivieren von MPS auf Azure Stack Edge
Befolgen Sie die folgenden Schritte, um eine Remoteverbindung von einem Windows-Client aus herzustellen.
Führen Sie eine Windows PowerShell-Sitzung als Administrator aus.
Stellen Sie sicher, dass der Dienst Windows-Remoteverwaltung auf dem Client ausgeführt wird. Geben Sie an der Eingabeaufforderung Folgendes ein:
winrm quickconfig
Weitere Informationen finden Sie unter Installation und Konfiguration für die Windows-Remoteverwaltung.
Weisen Sie der in der Datei
hosts
verwendeten Verbindungszeichenfolge eine Variable zu.$Name = "<Node serial number>.<DNS domain of the device>"
Ersetzen Sie
<Node serial number>
und<DNS domain of the device>
durch die Seriennummer des Knotens und die DNS-Domäne Ihres Geräts. Sie können die Werte für die Seriennummer des Knotens von der Seite Zertifikate und die DNS-Domäne von der Seite Gerät in der lokalen Webbenutzeroberfläche Ihres Geräts abrufen.Geben Sie den folgenden Befehl ein, um der Liste der vertrauenswürdigen Hosts des Clients die Verbindungszeichenfolge für Ihr Gerät hinzuzufügen:
Set-Item WSMan:\localhost\Client\TrustedHosts $Name -Concatenate -Force
Starten Sie eine Windows PowerShell-Sitzung auf dem Gerät:
Enter-PSSession -ComputerName $Name -Credential ~\EdgeUser -ConfigurationName Minishell -UseSSL
Wenn ein Fehler im Zusammenhang mit der Vertrauensstellung auftritt, überprüfen Sie, ob die Signaturkette des Knotenzertifikats, das auf Ihr Gerät hochgeladen wurde, auch auf dem Client installiert ist, der auf Ihr Gerät zugreift.
Geben Sie das Kennwort an, wenn Sie dazu aufgefordert werden. Verwenden Sie dasselbe Kennwort wie für die Anmeldung bei der lokalen Webbenutzeroberfläche. Das Standardkennwort für die lokale Webbenutzeroberfläche lautet
Password1
. Wenn Sie mithilfe von PowerShell eine Verbindung mit dem Gerät herstellen konnten, wird die folgende Beispielausgabe angezeigt:Windows PowerShell Copyright (C) Microsoft Corporation. All rights reserved. PS C:\WINDOWS\system32> winrm quickconfig WinRM service is already running on this machine. PS C:\WINDOWS\system32> $Name = "1HXQG13.wdshcsso.com" PS C:\WINDOWS\system32> Set-Item WSMan:\localhost\Client\TrustedHosts $Name -Concatenate -Force PS C:\WINDOWS\system32> Enter-PSSession -ComputerName $Name -Credential ~\EdgeUser -ConfigurationName Minishell -UseSSL WARNING: The Windows PowerShell interface of your device is intended to be used only for the initial network configuration. Please engage Microsoft Support if you need to access this interface to troubleshoot any potential issues you may be experiencing. Changes made through this interface without involving Microsoft Support could result in an unsupported configuration. [1HXQG13.wdshcsso.com]: PS>
IoT-Bereitstellungsmanifest
Zum Optimieren der Containerbereitstellung auf mehreren Hostcomputern können Sie eine Bereitstellungsmanifestdatei erstellen, um die Optionen für die Containererstellung und die Umgebungsvariablen anzugeben. Beispiele für ein Bereitstellungsmanifest für Azure Stack Edge, andere Desktopcomputer und Azure-VMs mit GPU finden Sie auf GitHub.
In der folgenden Tabelle sind die verschiedenen Umgebungsvariablen aufgeführt, die vom IoT Edge-Modul verwendet werden. Sie können sie auch im oben verlinkten Bereitstellungsmanifest festlegen, indem Sie das Attribut env
in spatialanalysis
verwenden:
Einstellungsname | Wert | Beschreibung |
---|---|---|
ARCHON_LOG_LEVEL | Info, Verbose (Information, Ausführlich) | Protokolliergrad: Wählen Sie einen der beiden Werte aus. |
ARCHON_SHARED_BUFFER_LIMIT | 377487360 | Nicht ändern |
ARCHON_PERF_MARKER | false | Legen Sie diese Einstellung auf „true“ fest, wenn Sie die Leistungsprotokollierung verwenden möchten, und andernfalls auf „false“. |
ARCHON_NODES_LOG_LEVEL | Info, Verbose (Information, Ausführlich) | Protokolliergrad: Wählen Sie einen der beiden Werte aus. |
OMP_WAIT_POLICY | PASSIVE | Nicht ändern |
QT_X11_NO_MITSHM | 1 | Nicht ändern |
APIKEY | Ihr API-Schlüssel | Ermitteln Sie diesen Wert im Azure-Portal unter Ihrer Vision-Ressource. Sie finden ihn im Abschnitt Schlüssel und Endpunkt für Ihre Ressource. |
ABRECHNUNG | Ihr Endpunkt-URI | Ermitteln Sie diesen Wert im Azure-Portal unter Ihrer Vision-Ressource. Sie finden ihn im Abschnitt Schlüssel und Endpunkt für Ihre Ressource. |
ENDBENUTZER-LIZENZVERTRAG | accept (Akzeptieren) | Sie müssen diesen Wert auf accept (Akzeptieren) festlegen, damit der Container ausgeführt werden kann. |
DISPLAY | :1 | Dieser Wert muss der Ausgabe von echo $DISPLAY auf dem Hostcomputer entsprechen. Azure Stack Edge-Geräte haben kein Display. Diese Einstellung ist nicht anwendbar. |
KEY_ENV | ASE-Verschlüsselungsschlüssel | Fügen Sie diese Umgebungsvariable hinzu, wenn der Wert für „VIDEO_URL“ eine verschleierte Zeichenfolge ist. |
IV_ENV | Initialisierungsvektor | Fügen Sie diese Umgebungsvariable hinzu, wenn der Wert für „VIDEO_URL“ eine verschleierte Zeichenfolge ist. |
Wichtig
Die Optionen Eula
, Billing
und ApiKey
müssen angegeben werden, um den Container auszuführen, andernfalls wird der Container nicht gestartet. Weitere Informationen finden Sie unter Abrechnung.
Sobald Sie das Bereitstellungsmanifest für Azure Stack Edge-Geräte, einen Desktopcomputer oder eine Azure-VM mit GPU mit Ihren eigenen Einstellungen und Ihrer Auswahl von Vorgängen aktualisiert haben, können Sie mit dem unten dargestellten Azure CLI-Befehl den Container auf dem Hostcomputer als IoT Edge-Modul bereitstellen.
sudo az login
sudo az extension add --name azure-iot
sudo az iot edge set-modules --hub-name "<iothub-name>" --device-id "<device-name>" --content DeploymentManifest.json --subscription "<name or ID of Azure Subscription>"
Parameter | Beschreibung |
---|---|
--hub-name |
Der Name Ihrer Azure IoT Hub-Instanz. |
--content |
Der Name der Bereitstellungsdatei. |
--target-condition |
Der Name Ihres IoT Edge-Geräts für den Hostcomputer. |
-–subscription |
Abonnement-ID oder -name. |
Mit diesem Befehl wird die Bereitstellung gestartet. Navigieren Sie im Azure-Portal zur Seite mit Ihrer Azure IoT Hub-Instanz, um den Bereitstellungsstatus anzuzeigen. Als Status wird möglicherweise 417: Die Bereitstellungskonfiguration des Geräts ist nicht festgelegt angezeigt, bis das Gerät das Herunterladen der Containerimages abgeschlossen hat und gestartet wird.
Überprüfen der erfolgreichen Bereitstellung
Es gibt mehrere Möglichkeiten zu überprüfen, ob ein Container aktiv ist. Suchen Sie im Azure-Portal in den Einstellungen des IoT Edge-Moduls für die räumliche Analyse in Ihrer Azure IoT Hub-Instanz nach dem Laufzeitstatus. Vergewissern Sie sich, dass Gewünschter Wert und Gemeldeter Wert für Laufzeitstatus auf Wird ausgeführt festgelegt sind.
Nach Abschluss der Bereitstellung und dem Ausführen des Containers beginnt der Hostcomputer damit, Ereignisse an Azure IoT Hub zu senden. Wenn Sie die .debug
-Version der Vorgänge verwendet haben, wird ein Visualisierungsfenster für jede Kamera angezeigt, die Sie im Bereitstellungsmanifest konfiguriert haben. Sie können jetzt die zu überwachenden Linien und Zonen im Bereitstellungsmanifest definieren und die Anleitung zur erneuten Bereitstellung befolgen.
Konfigurieren der von der räumlichen Analyse durchgeführten Vorgänge
Sie müssen die Vorgänge der räumlichen Analyse nutzen, um den Container für die Verwendung von vernetzten Kameras zu konfigurieren, die Vorgänge zu konfigurieren usw. Für jedes konfigurierte Kameragerät wird über die Vorgänge der räumlichen Analyse ein Ausgabestream mit JSON-Nachrichten generiert, die an Ihre Instanz von Azure IoT Hub gesendet werden.
Verwenden der vom Container generierten Ausgabe
Falls Sie die vom Container generierte Ausgabe nutzen möchten, helfen Ihnen die Informationen in den folgenden Artikeln weiter:
- Verwenden Sie das Azure Event Hub-SDK für Ihre gewählte Programmiersprache, um eine Verbindung mit dem Azure IoT Hub-Endpunkt herstellen und die Ereignisse empfangen zu können. Weitere Informationen finden Sie unter Lesen von Nachrichten, die von Geräten an die Cloud gesendet werden, vom integrierten Endpunkt.
- Richten Sie das Nachrichtenrouting auf Ihrer Azure IoT Hub-Instanz ein, um Ereignisse an andere Endpunkte zu senden, die Ereignisse unter Azure Blob Storage zu speichern usw.
Problembehandlung
Falls beim Starten oder Ausführen des Containers Probleme auftreten, helfen Ihnen die Lösungsschritte für häufige Probleme im Artikel Telemetrie und Problembehandlung weiter. Dieser Artikel enthält auch Informationen zum Generieren und Erfassen von Protokollen und zur Erfassung der Systemintegrität.
Wenn Sie Probleme beim Ausführen eines Azure KI Services-Containers haben, können Sie versuchen, den Microsoft-Diagnosecontainer zu verwenden. Verwenden Sie diesen Container zum Diagnostizieren häufiger Fehler in Ihrer Bereitstellungsumgebung, die ggf. verhindern, dass Azure KI-Container wie erwartet funktionieren.
Zum Abrufen des Containers verwenden Sie den folgenden Befehl: docker pull
docker pull mcr.microsoft.com/azure-cognitive-services/diagnostic
Führen Sie dann den Container aus. Ersetzen Sie {ENDPOINT_URI}
durch Ihren Endpunkt, und ersetzen Sie {API_KEY}
durch den Schlüssel für Ihre Ressource:
docker run --rm mcr.microsoft.com/azure-cognitive-services/diagnostic \
eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}
Der Container überprüft die Netzwerkkonnektivität mit dem Abrechnungsendpunkt.
Abrechnung
Der Container für räumliche Analyse sendet Abrechnungsinformationen an Azure und verwendet dafür eine Vision-Ressource in Ihrem Azure-Konto. Die Verwendung der räumlichen Analyse im Rahmen der öffentlichen Vorschauversion ist derzeit kostenlos.
Für die Ausführung von Azure KI-Containern besteht keine Lizenz, wenn sie nicht mit dem Verbrauchsmessungs- und/oder Abrechnungsendpunkt verbunden sind. Sie müssen sicherstellen, dass die Container jederzeit Abrechnungsinformationen an den Abrechnungsendpunkt übermitteln können. Azure KI-Container senden keine Kundendaten, wie z. B. das analysierte Video oder Bild, an Microsoft.
Zusammenfassung
In diesem Artikel wurden die Konzepte und der Workflow zum Herunterladen, Installieren und Ausführen des Containers für die räumliche Analyse beschrieben. Zusammenfassung:
- Bei der räumlichen Analyse handelt es sich um einen Linux-Container für Docker.
- Containerimages werden aus Microsoft Container Registry heruntergeladen.
- Containerimages werden als IoT-Module in Azure IoT Edge ausgeführt.
- Konfigurieren Sie den Container, und stellen Sie ihn auf einem Hostcomputer bereit.