Instalowanie i uruchamianie kontenera analizy przestrzennej (wersja zapoznawcza)

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
  • Twoje konto platformy Azure musi mieć przypisaną Cognitive Services Contributor rolę, aby wyrazić zgodę na warunki odpowiedzialnego używania sztucznej inteligencji i utworzyć zasób. Aby uzyskać przypisaną tę rolę do konta, wykonaj kroki opisane w dokumentacji Przypisywanie ról lub skontaktuj się z administratorem.
  • 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:
    1. Włącz funkcję obliczeniową na urządzeniu Azure Stack Edge. Aby włączyć obliczenia, przejdź do strony Obliczenia w interfejsie internetowym urządzenia.
    2. 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.
    3. Pozostaw puste adresy IP węzła testowego rozwiązania Kubernetes i adresy IP usług zewnętrznych Kubernetes.
    4. Wybierz Zastosuj. Ta operacja może potrwać około dwóch minut.

Configure compute

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.

Link

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

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.

  1. Uruchom sesję programu Windows PowerShell jako administrator.

  2. 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.

  3. 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.

  4. 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
    
  5. 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.

  6. 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; Pełne 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; Pełne Poziom rejestrowania, wybierz jedną z dwóch wartości
OMP_WAIT_POLICY PASYWNE 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 Eulauruchomić kontener, należy określić opcje , Billingi 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 module usługi IoT Edge Ustawienia 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.

Example deployment verification

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.

Następne kroki