Instalowanie i uruchamianie kontenera analizy przestrzennej (wersja zapoznawcza)
Ważne
30 marca 2025 r. analiza przestrzenna usługi Azure AI Vision zostanie wycofana. Przed określoną datą przejdź do usługi Azure AI Video Indexer lub innego rozwiązania typu open source. Zachęcamy do przejścia wcześniej, aby uzyskać bogatsze korzyści z usługi Azure AI Video Indexer. Oprócz znanych funkcji, których używasz, poniżej przedstawiono szybkie porównanie usługi Azure AI Vision Spatial Analysis i usługi Azure AI Video Indexer.
Funkcja | Analiza przestrzenna usługi Azure AI Vision | Azure AI Video Indexer |
---|---|---|
Obsługa przeglądarki Microsoft Edge | Tak | Tak |
Wykrywanie obiektów | Tylko wykrywanie osób i pojazdów | Wykrywa 1000 obiektów i więcej |
Przetwarzanie dźwięku/mowy | Nieobsługiwane | Obsługiwane (obejmuje transkrypcję mowy, tłumaczenie i podsumowanie) Obsługiwane >(obejmuje transkrypcję mowy i analizę tonacji) |
Wykrywanie zdarzeń i śledzenie | Obsługiwane (śledzenie osób i pojazdów, wykrywanie zdarzeń) | Nieobsługiwane jeszcze w przeglądarce Edge. Jest częściowo obsługiwana w chmurze. |
Obsługa usługi Azure Arc | Nieobsługiwane | Natywna obsługa |
Obszar, na którym się skupiasz | Analiza wizualna z wyspecjalizowanym śledzeniem | Kompleksowa analiza zawartości audio i wizualnej |
Od teraz do 30 marca 2025 r. możesz nadal używać usługi Azure AI Vision Spatial Analysis lub przejść do usługi Azure AI Video Indexer przed określoną datą. Po 30 marca 2025 r. kontener analizy przestrzennej nie będzie już obsługiwany i przestanie przetwarzać nowe strumienie.
Kontener analizy przestrzennej umożliwia analizowanie wideo przesyłanego strumieniowo w czasie rzeczywistym w celu zrozumienia relacji przestrzennych między osobami, ich ruchem i interakcjami z obiektami w środowiskach fizycznych. Kontenery pomagają spełnić określone wymagania dotyczące zabezpieczeń i ładu danych.
Wymagania wstępne
- Subskrypcja platformy Azure — utwórz bezpłatnie
- Po utworzeniu subskrypcji platformy Azure utwórz zasób przetwarzanie obrazów dla warstwy Standardowa S1 w witrynie Azure Portal, aby uzyskać klucz i punkt końcowy. Po wdrożeniu wybierz pozycję Przejdź do zasobu.
- Potrzebny będzie klucz i punkt końcowy z utworzonego zasobu, aby uruchomić kontener Analizy przestrzennej. Później użyjesz klucza i punktu końcowego.
Wymagania dotyczące kontenera analizy przestrzennej
Aby uruchomić kontener analizy przestrzennej, potrzebujesz urządzenia obliczeniowego z procesorem GPU obsługującym obliczenia NVIDIA CUDA 6.0 lub nowszym (na przykład NVIDIA Tesla T4, A2, 1080Ti lub 2080Ti). Zalecamy używanie usługi Azure Stack Edge z przyspieszeniem procesora GPU, jednak kontener działa na dowolnej innej maszynie stacjonarnej spełniającej minimalne wymagania. To urządzenie nazywamy komputerem hosta.
Azure Stack Edge to rozwiązanie sprzętowe jako usługa i urządzenie do przetwarzania brzegowego z obsługą sztucznej inteligencji z funkcjami transferu danych sieciowych. Aby uzyskać szczegółowe instrukcje dotyczące przygotowywania i konfigurowania, zobacz dokumentację usługi Azure Stack Edge.
Wymaganie | opis |
---|---|
Kamera | Kontener analizy przestrzennej nie jest powiązany z określoną marką aparatu. Urządzenie aparatu musi: obsługiwać kodowanie PROTOKOŁU przesyłania strumieniowego w czasie rzeczywistym (RTSP) i H.264, być dostępne dla komputera hosta i mieć możliwość przesyłania strumieniowego przy rozdzielczości 15FPS i 1080p. |
System operacyjny Linux | Na komputerze hosta musi być zainstalowany system Ubuntu Desktop 18.04 LTS . |
Konfigurowanie komputera hosta
Zalecamy używanie urządzenia Azure Stack Edge dla komputera hosta. Wybierz pozycję Maszyna klasyczna, jeśli konfigurujesz inne urządzenie lub Maszynę wirtualną, jeśli używasz maszyny wirtualnej.
Konfigurowanie zasobów obliczeniowych w portalu usługi Azure Stack Edge
Analiza przestrzenna używa funkcji obliczeniowych usługi Azure Stack Edge do uruchamiania rozwiązania sztucznej inteligencji. Aby włączyć funkcje obliczeniowe, upewnij się, że:
- Nawiązano połączenie i aktywowano urządzenie Azure Stack Edge.
- Masz system kliencki z systemem Windows z programem PowerShell 5.0 lub nowszym, aby uzyskać dostęp do urządzenia.
- Aby wdrożyć klaster Kubernetes, musisz skonfigurować urządzenie Azure Stack Edge za pośrednictwem lokalnego interfejsu użytkownika w witrynie Azure Portal:
- Włącz funkcję obliczeniową na urządzeniu Azure Stack Edge. Aby włączyć obliczenia, przejdź do strony Obliczenia w interfejsie internetowym urządzenia.
- Wybierz interfejs sieciowy, który chcesz włączyć dla obliczeń, a następnie wybierz pozycję Włącz. Spowoduje to utworzenie przełącznika wirtualnego na urządzeniu w tym interfejsie sieciowym.
- Pozostaw puste adresy IP węzła testowego rozwiązania Kubernetes i adresy IP usług zewnętrznych Kubernetes.
- Wybierz Zastosuj. Ta operacja może potrwać około dwóch minut.
Konfigurowanie roli usługi Azure Stack Edge i tworzenie zasobu usługi IoT Hub
W witrynie Azure Portal przejdź do zasobu usługi Azure Stack Edge. Na stronie Przegląd lub na liście nawigacji wybierz przycisk Wprowadzenie do obliczeń brzegowych. Na kafelku Konfigurowanie obliczeń usługi Edge wybierz pozycję Konfiguruj.
Na stronie Konfigurowanie obliczeń usługi Edge wybierz istniejącą usługę IoT Hub lub wybierz opcję utworzenia nowego. Domyślnie warstwa cenowa Standardowa (S1) służy do tworzenia zasobu usługi IoT Hub. Aby użyć zasobu usługi IoT Hub w warstwie Bezpłatna, utwórz go, a następnie wybierz go. Zasób usługi IoT Hub używa tej samej subskrypcji i grupy zasobów, która jest używana przez zasób usługi Azure Stack Edge
Wybierz pozycję Utwórz. Tworzenie zasobów usługi IoT Hub może potrwać kilka minut. Po utworzeniu zasobu usługi IoT Hub kafelek Konfigurowanie obliczeń usługi Edge zostanie zaktualizowany, aby wyświetlić nową konfigurację. Aby potwierdzić, że rola obliczeniowa edge została skonfigurowana, wybierz pozycję Wyświetl konfigurację na kafelku Konfigurowanie obliczeń .
Po skonfigurowaniu roli funkcji obliczeniowej Edge na urządzeniu Edge tworzone są dwa urządzenia: urządzenie IoT i urządzenie IoT Edge. Oba urządzenia można wyświetlić w zasobie usługi IoT Hub. Środowisko uruchomieniowe usługi Azure IoT Edge będzie już uruchomione na urządzeniu usługi IoT Edge.
Uwaga
- Obecnie tylko platforma Linux jest obsługiwana dla urządzeń usługi IoT Edge. Aby uzyskać pomoc dotyczącą rozwiązywania problemów z urządzeniem Azure Stack Edge, zobacz artykuł dotyczący rejestrowania i rozwiązywania problemów.
- Aby dowiedzieć się więcej o sposobie konfigurowania urządzenia usługi IoT Edge do komunikowania się za pośrednictwem serwera proxy, zobacz Konfigurowanie urządzenia usługi IoT Edge w celu komunikowania się za pośrednictwem serwera proxy
Włączanie usługi MPS w usłudze Azure Stack Edge
Wykonaj następujące kroki, aby zdalnie nawiązać połączenie z klienta systemu Windows.
Uruchom sesję programu Windows PowerShell jako administrator.
Upewnij się, że usługa zdalnego zarządzania systemem Windows jest uruchomiona na kliencie. W wierszu polecenia wpisz:
winrm quickconfig
Aby uzyskać więcej informacji, zobacz Instalacja i konfiguracja zarządzania zdalnego systemu Windows.
Przypisz zmienną do parametry połączenia używanej
hosts
w pliku.$Name = "<Node serial number>.<DNS domain of the device>"
Zastąp
<Node serial number>
wartości i<DNS domain of the device>
numerem seryjnym węzła i domeną DNS urządzenia. Wartości numeru seryjnego węzła można uzyskać na stronie Certyfikaty i domenie DNS na stronie Urządzenie w lokalnym internetowym interfejsie użytkownika urządzenia.Aby dodać tę parametry połączenia dla urządzenia do listy zaufanych hostów klienta, wpisz następujące polecenie:
Set-Item WSMan:\localhost\Client\TrustedHosts $Name -Concatenate -Force
Uruchom sesję programu Windows PowerShell na urządzeniu:
Enter-PSSession -ComputerName $Name -Credential ~\EdgeUser -ConfigurationName Minishell -UseSSL
Jeśli zostanie wyświetlony błąd związany z relacją zaufania, sprawdź, czy łańcuch podpisywania certyfikatu węzła przekazany do urządzenia jest również zainstalowany na kliencie, który uzyskuje dostęp do urządzenia.
Po wyświetleniu monitu podaj hasło. Użyj tego samego hasła, które jest używane do logowania się do lokalnego internetowego interfejsu użytkownika. Domyślne lokalne hasło internetowego interfejsu użytkownika to
Password1
. Po pomyślnym nawiązaniu połączenia z urządzeniem przy użyciu zdalnego programu PowerShell zobaczysz następujące przykładowe dane wyjściowe: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>
Manifest wdrożenia IoT
Aby usprawnić wdrażanie kontenerów na wielu komputerach hosta, można utworzyć plik manifestu wdrożenia, aby określić opcje tworzenia kontenera i zmienne środowiskowe. Przykład manifestu wdrożenia dla usługi Azure Stack Edge, innych maszyn stacjonarnych i maszyn wirtualnych platformy Azure z procesorem GPU można znaleźć w witrynie GitHub.
W poniższej tabeli przedstawiono różne zmienne środowiskowe używane przez moduł usługi IoT Edge. Można je również ustawić w manifeście wdrożenia połączonym powyżej, używając atrybutu env
w pliku spatialanalysis
:
Nazwa ustawienia | Wartość | Opis |
---|---|---|
ARCHON_LOG_LEVEL | Informacji; Gadatliwy | Poziom rejestrowania, wybierz jedną z dwóch wartości |
ARCHON_SHARED_BUFFER_LIMIT | 377487360 | Nie modyfikuj |
ARCHON_PERF_MARKER | fałsz | Ustaw wartość true dla rejestrowania wydajności. W przeciwnym razie powinna to być wartość false |
ARCHON_NODES_LOG_LEVEL | Informacji; Gadatliwy | Poziom rejestrowania, wybierz jedną z dwóch wartości |
OMP_WAIT_POLICY | BIERNY | Nie modyfikuj |
QT_X11_NO_MITSHM | 1 | Nie modyfikuj |
APIKEY | klucz interfejsu API | Zbierz tę wartość z witryny Azure Portal z zasobu usługi Vision. Możesz go znaleźć w sekcji Klucz i punkt końcowy zasobu. |
ROZLICZENIA | identyfikator URI punktu końcowego | Zbierz tę wartość z witryny Azure Portal z zasobu usługi Vision. Możesz go znaleźć w sekcji Klucz i punkt końcowy zasobu. |
EULA | akceptuj | Ta wartość musi być ustawiona tak, aby akceptowała uruchamianie kontenera |
WYŚWIETLANIE | 1. | Ta wartość musi być taka sama jak dane wyjściowe echo $DISPLAY na komputerze hosta. Urządzenia usługi Azure Stack Edge nie mają wyświetlacza. To ustawienie nie ma zastosowania |
KEY_ENV | Klucz szyfrowania środowiska ASE | Dodaj tę zmienną środowiskową, jeśli Video_URL jest zaciemnionym ciągiem |
IV_ENV | Initialization vector | Dodaj tę zmienną środowiskową, jeśli Video_URL jest zaciemnionym ciągiem |
Ważne
Aby Eula
uruchomić kontener, należy określić opcje , Billing
i ApiKey
. W przeciwnym razie kontener nie zostanie uruchomiony. Aby uzyskać więcej informacji, zobacz Rozliczenia.
Po zaktualizowaniu manifestu wdrożenia dla urządzeń usługi Azure Stack Edge, komputera stacjonarnego lub maszyny wirtualnej platformy Azure z procesorem GPU przy użyciu własnych ustawień i wyboru operacji możesz użyć poniższego polecenia interfejsu wiersza polecenia platformy Azure, aby wdrożyć kontener na komputerze hosta jako moduł usługi IoT Edge.
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>"
Parametr | Opis |
---|---|
--hub-name |
Nazwa usługi Azure IoT Hub. |
--content |
Nazwa pliku wdrożenia. |
--target-condition |
Nazwa urządzenia usługi IoT Edge dla komputera hosta. |
-–subscription |
Identyfikator subskrypcji lub nazwa. |
To polecenie spowoduje uruchomienie wdrożenia. Przejdź do strony wystąpienia usługi Azure IoT Hub w witrynie Azure Portal, aby wyświetlić stan wdrożenia. Stan może być wyświetlany jako 417 — konfiguracja wdrożenia urządzenia nie zostanie ustawiona , dopóki urządzenie nie zakończy pobierania obrazów kontenerów i zacznie działać.
Sprawdzanie, czy wdrożenie zakończyło się pomyślnie
Istnieje kilka sposobów sprawdzania, czy kontener jest uruchomiony. Znajdź stan środowiska uruchomieniowego w ustawieniach modułu usługi IoT Edge dla modułu Analizy przestrzennej w wystąpieniu usługi Azure IoT Hub w witrynie Azure Portal. Sprawdź, czy wartość żądana i zgłoszona dla stanu środowiska uruchomieniowego jest uruchomiona.
Po zakończeniu wdrażania i uruchomieniu kontenera komputer hosta rozpocznie wysyłanie zdarzeń do usługi Azure IoT Hub. Jeśli użyto .debug
wersji operacji, zobaczysz okno wizualizatora dla każdej kamery skonfigurowanej w manifeście wdrożenia. Teraz można zdefiniować wiersze i strefy, które mają być monitorowane w manifeście wdrożenia, i postępować zgodnie z instrukcjami, aby wdrożyć ponownie.
Konfigurowanie operacji wykonywanych przez analizę przestrzenną
Należy użyć operacji analizy przestrzennej, aby skonfigurować kontener do korzystania z połączonych kamer, skonfigurować operacje i nie tylko. Dla każdego konfigurowanego urządzenia aparatu operacje analizy przestrzennej generują strumień wyjściowy komunikatów JSON wysyłanych do wystąpienia usługi Azure IoT Hub.
Używanie danych wyjściowych wygenerowanych przez kontener
Jeśli chcesz rozpocząć korzystanie z danych wyjściowych wygenerowanych przez kontener, zobacz następujące artykuły:
- Użyj zestawu SDK usługi Azure Event Hubs dla wybranego języka programowania, aby nawiązać połączenie z punktem końcowym usługi Azure IoT Hub i odebrać zdarzenia. Aby uzyskać więcej informacji, zobacz Odczytywanie komunikatów z urządzenia do chmury z wbudowanego punktu końcowego.
- Skonfiguruj routing komunikatów w usłudze Azure IoT Hub, aby wysyłać zdarzenia do innych punktów końcowych lub zapisywać zdarzenia w usłudze Azure Blob Storage itp.
Rozwiązywanie problemów
Jeśli wystąpią problemy podczas uruchamiania lub uruchamiania kontenera, zobacz Telemetria i rozwiązywanie problemów, aby uzyskać instrukcje dotyczące typowych problemów. Ten artykuł zawiera również informacje na temat generowania i zbierania dzienników oraz zbierania kondycji systemu.
Jeśli masz problem z uruchomieniem kontenera usług Azure AI, możesz spróbować użyć kontenera diagnostyki firmy Microsoft. Ten kontener służy do diagnozowania typowych błędów w środowisku wdrażania, które mogą uniemożliwić działanie kontenerów usługi Azure AI zgodnie z oczekiwaniami.
Aby uzyskać kontener, użyj następującego docker pull
polecenia:
docker pull mcr.microsoft.com/azure-cognitive-services/diagnostic
Następnie uruchom kontener. Zastąp {ENDPOINT_URI}
ciąg swoim punktem końcowym i zastąp {API_KEY}
ciąg kluczem do zasobu:
docker run --rm mcr.microsoft.com/azure-cognitive-services/diagnostic \
eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}
Kontener będzie testować łączność sieciową z punktem końcowym rozliczeń.
Rozliczenia
Kontener Analizy przestrzennej wysyła informacje rozliczeniowe na platformę Azure przy użyciu zasobu przetwarzania obrazów na koncie platformy Azure. Korzystanie z analizy przestrzennej w publicznej wersji zapoznawczej jest obecnie bezpłatne.
Kontenery usługi Azure AI nie są licencjonowane do uruchamiania bez połączenia z punktem końcowym pomiarów/rozliczeń. Należy zawsze umożliwić kontenerom komunikowanie informacji rozliczeniowych z punktem końcowym rozliczeń. Kontenery sztucznej inteligencji platformy Azure nie wysyłają do firmy Microsoft danych klientów, takich jak wideo lub obraz analizowany.
Podsumowanie
W tym artykule przedstawiono pojęcia i przepływ pracy dotyczące pobierania, instalowania i uruchamiania kontenera analizy przestrzennej. Podsumowując:
- Spatial Analysis to kontener systemu Linux dla platformy Docker.
- Obrazy kontenerów są pobierane z usługi Microsoft Container Registry.
- Obrazy kontenerów działają jako moduły IoT w usłudze Azure IoT Edge.
- Skonfiguruj kontener i wdróż go na maszynie hosta.