Skip To Content

Metoda Deep Learning w analizie rastrowej

Serwer ArcGIS Image Server umożliwia używanie metod klasyfikacji statystycznej lub samouczenia się maszyn do klasyfikowania zobrazowań teledetekcji. Deep Learning jest typem samouczenia się maszyn, który bazuje na wielu warstwach przetwarzania nieliniowego na potrzeby identyfikacji obiektów i rozpoznawania wzorców opisanych w modelu. Modele Deep Learning można zintegrować z serwerem ArcGIS Image Server na potrzeby wykrywania obiektów i klasyfikowania obrazów. Próbki treningowe obiektów zainteresowania są generowane w aplikacji ArcGIS Pro z użyciem narzędzi do zarządzania próbkami treningowymi klasyfikacji, oznaczane etykietą za pomocą narzędzia Oznacz obiekty etykietą na potrzeby metody Deep Learning i przekształcane do formatu używanego w środowisku Deep Learning. Te próbki treningowe są używane do trenowania modelu za pomocą narzędzia analizy rastrowej Przeprowadź trening modelu Deep Learning lub ArcGIS API for Python. Model po procesie trenowania wraz z plikiem definicji modelu (i opcjonalnie z plikiem skryptu Python funkcji rastrowej) są pakowane i udostępniane w postaci elementu pakietu Deep Learning (.dlpk), który jest następnie używany na potrzeby narzędzi wnioskowania analizy rastrowej. Narzędzia wnioskowania wydzielają konkretne obiekty lub klasyfikują piksele w zobrazowaniach. Elementu .dlpk można używać wielokrotnie jako danych wejściowych dla narzędzi analizy rastrowej, umożliwiając ocenę wielu obrazów w różnych lokalizacjach i okresach czasu po trenowaniu modelu.

Procedura wykonywania zadań Deep Learning

Element 1 procedury wykonywania zadań

Utworzenie próbek treningowych za pomocą narzędzia Oznacz obiekty etykietą na potrzeby metody Deep Learning w aplikacji ArcGIS Pro i użycie narzędzia analizy rastrowej Eksportuj dane treningowe na potrzeby metody Deep Learning w interfejsie ArcGIS REST API lub ArcGIS API for Python w celu przygotowania danych dla badacza zajmującego się przetwarzaniem danych.

Element 2 procedury wykonywania zadań

Przeprowadzenie treningu metodą Deep Learning za pomocą narzędzia analizy rastrowej Przeprowadź trening modelu Deep Learning. Do trenowania modelu w środowisku Deep Learning można użyć interfejsu ArcGIS REST API. Wynikowy pakiet Deep Learning (*.dlpk) składający się z pliku definicji modelu i wytrenowanego modelu Deep Learning lub skryptu w języku Python jest udostępniany w portalu jako element .dlpk.

Element 3 procedury wykonywania zadań

Specjalista zajmujący się przetwarzaniem danych dostarcza pakiet środowiska Deep Learning składający się z pliku definicji modelu i wytrenowanego modelu lub skryptu Python z powrotem do środowiska analizy rastrowej serwera ArcGIS Image Server.

Uruchomienie narzędzia Wykrywaj obiekty metodą Deep Learning, narzędzia Klasyfikuj piksele metodą Deep Learning lub narzędzia Klasyfikuj obiekty metodą Deep Learning z użyciem elementu .dlpk w portalu w celu wygenerowania danych wynikowych.

Funkcje i możliwości

Narzędzia analizy rastrowej Deep Learning umożliwiają więcej niż standardowe techniki klasyfikowania samouczenia się maszyn.

  • Użycie splotu sieci neuronowych na potrzeby klasyfikowania obrazów i wykrywania obiektów.
  • Użycie modelu Deep Learning do klasyfikowania pikseli obrazów, wykrywania lub klasyfikowania obiektów, takich jak samoloty, drzewa, pojazdy, obiekty wodne, budynki i stanowiska odwiertów szybów naftowych.
  • Integracja zewnętrznych środowisk modelu Deep Learning, w tym PyTorch, Keras i TensorFlow.
  • Przetwarzanie zbioru rastrów podczas przeprowadzania wnioskowania w ramach modelu w celu wykrycia zmian w czasie lub obiektów w różnych obszarach zainteresowania.
  • Wygenerowanie klasy obiektów poligonowych przedstawiającej wykryte obiekty do użycia na potrzeby dodatkowej analizy lub procedur wykonywania zadań.
  • Narzędzia wnioskowania Deep Learning mogą używać procesorów na potrzeby przetwarzania rozproszonego lub używać wydajnych procesorów graficznych w każdym węźle serwera, jeśli są dostępne.
  • Wiele procesorów graficznych na jednym węźle serwera można wykorzystać do uruchomienia zadania wnioskowania Deep Learning ze wstępnie zdefiniowanymi w systemie ArcGIS konfiguracjami modeli, w tym interfejsem API wykrywania obiektów TensorFlow i DeepLab, Keras MaskRCNN, PyTorch fastai Single Shot Detector.
  • Jeśli raster wejściowy zawiera odpowiednią przestrzeń mapy do transformacji przestrzeni obrazu, elementy obrazu treningowego można wyeksportować w przestrzeni obrazu w narzędziu Eksportuj dane treningowe na potrzeby metody Deep Learning.

Rozpoczęcie pracy z modelem Deep Learning

Operacje tworzenia i eksportowania próbek treningowych w oprogramowaniu ArcGIS wykonuje analityk obrazów z odpowiednią wiedzą, ponieważ wymagana jest gruntowna wiedza na temat procedur wykonywania zadań związanych z klasyfikowaniem obrazów. Model Deep Learning można trenować w systemie ArcGIS za pomocą narzędzia analizy rastrowej Przeprowadź trening modelu Deep Learning lub biblioteki arcgis.learn interfejsu ArcGIS API for Python. Inną możliwością jest trening modelu Deep Learning poza oprogramowaniem ArcGIS z użyciem interfejsu API Deep Learning innej firmy. Po wyuczeniu modelu, do portalu ArcGIS Enterprise zostaje dodany element .dlpk, który jest gotowy do wnioskowania w ramach modelu. Uruchomienie narzędzi analizy rastrowej w celu wykrywania i klasyfikowania obiektów lub klasyfikowania pikseli pochodzących z przeglądarki Map Viewer Classic, interfejsu ArcGIS API for Python, interfejsu ArcGIS REST API lub aplikacji ArcGIS Pro. Cała procedura wykonywania zadań może być zrealizowana przez jednego analityka z doświadczeniem w zakresie modeli Deep Learning i klasyfikowania obrazów na platformie ArcGIS.

Została udostępniona również oddzielna aplikacja do konfiguracji. Zainstaluje ona odpowiednie interfejsy API środowiska Deep Learning (TensorFlow, Keras, PyTorch i inne wymagane biblioteki języka Python) w domyślnym środowisku arcgispro-py3 serwera ArcGIS Image Server. Uruchomienie zadań Deep Learning na serwerze ArcGIS Image Server jest wymaganiem wstępnym.

Pomoc dotyczącą konfigurowania i wdrażaniaArcGIS Enterprise na potrzeby analizy rastrowej można znaleźć w dokumentacji. Dodatkowe etapy zawierają informacje o konfigurowaniu serwera Raster Analysis pod kątem użycia wielu procesorów graficznych w jednym węźle serwera.

  1. Utwórz i wyeksportuj próbki treningowe.
    1. Użyj narzędzia Oznacz obiekty etykietą na potrzeby metody Deep Learning w aplikacji ArcGIS Pro w celu wybrania lub utworzenia schematu klasyfikacji.
    2. Utwórz próbki treningowe dla kategorii klas lub obiektów zainteresowania. Zapisz plik próbek treningowych.
    3. Uruchom narzędzie analizy rastrowej Eksportuj dane treningowe dla modelu Deep Learning, aby dokonać konwersji zobrazowań źródłowych i próbek treningowych w dane treningowe modelu Deep Learning. Zobrazowaniami źródłowymi może być usługa rastrowa. Danymi wynikowymi narzędzia jest ciąg znakowy magazynu danych, w którym zostaną zapisane wynikowe elementy obrazu, etykiety i pliki metadanych. Dodatkowymi danymi wynikowymi narzędzia jest plik .emd szablonu, który zostanie zapełniony przez naukowca zajmującego się przetwarzaniem danych.
  2. Przeprowadź trening modelu Deep Learning.
    1. Użyj elementów obrazu wygenerowanych w etapie 1 powyżej, aby przeprowadzić trening modelu za pomocą narzędzia analizy rastrowej Przeprowadź trening modelu Deep Learning. Użytkownicy mogą ewentualnie trenować modele Deep Learning za pomocą biblioteki arcgis.learn interfejsu ArcGIS API for Python albo interfejsów API środowiska Deep Learning innej firmy.
    2. Jeśli model Deep Learning jest trenowany za pomocą narzędzia analizy rastrowej Przeprowadź trening modelu Deep Learning, dane wynikowe będą elementem pakietu modelu Deep Learning opublikowanym w portalu. Pakiet modelu Deep Learning (.dlpk) może zostać bezpośrednio wykorzystany w następnym etapie.
    3. Jeśli do trenowania modelu jest używany interfejs API środowiska Deep Learning innej firmy, użytkownicy muszą zaktualizować plik .emd, wpisując nazwę środowiska Deep Learning, konfigurację modelu, inne opcjonalne właściwości i opcjonalnie niestandardową funkcję rastrową w języku Python na potrzeby wnioskowania w ramach modelu. Informacje dotyczące wymaganych i opcjonalnych parametrów w pliku .emd zawiera sekcja Plik definicji modelu Esri znajdująca się poniżej.
  3. Uruchom narzędzia wnioskowania analizy rastrowej z poziomu przeglądarki Map Viewer Classic, interfejsu ArcGIS API for Python, interfejsuArcGIS REST API lub aplikacji ArcGIS Pro.
    1. Użyj narzędzia analizy rastrowej Wykrywaj obiekty metodą Deep Learning, Klasyfikuj piksele metodą Deep Learning lub Klasyfikuj obiekty metodą Deep Learning do przetworzenia zobrazowań. Jeśli trenowany model zawierał niestandardowe funkcje rastrowe Python z dodatkowymi zmiennymi, takimi jak dopełnianie lub próg zaufania na potrzeby doprecyzowania czułości, zmienne te zostaną wyświetlone w oknie dialogowym narzędzia analizy rastrowej aplikacji ArcGIS Pro lub przeglądarki map Map Viewer Classic, aby użytkownik mógł wprowadzić odpowiednie dane. Typ danych, taki jak ciąg znakowy lub wartości liczbowe, jest określony w funkcji rastrowej Python.
      Notatka:

      Środowisko modelu Deep Learning musi być zainstalowane na komputerach usługi Raster Analysis, aby można było uruchamiać narzędzia wnioskowania, ponieważ logika wnioskowania jest wbudowana w środowisko interfejsu Python API i jest wymagana na potrzeby obliczeń.

Plik definicji modelu Esri

Plik .emd jest plikiem JSON, który opisuje wytrenowany model Deep Learning. Zawiera on parametry definicji modelu, które są wymagane do uruchamiania narzędzi wnioskowania. Plik ten powinien być modyfikowany przez naukowca zajmującego się przetwarzaniem danych, który wytrenował model. W poniższej tabeli przedstawiono parametry wymagane i opcjonalne w tym pliku.

Parametr pliku definicji modeluObjaśnienie

Framework

Nazwa środowiska modelu Deep Learning użytego do trenowania modelu.

Obsługiwane są następujące środowiska modelu Deep Learning:

  • TensorFlow
  • Keras
  • PyTorch

PythonInferenceFunctionPython

ModelConfiguration

Nazwa konfiguracji modelu.

Konfiguracja modelu definiuje dane wejściowe i wynikowe modelu, logikę wnioskowania i przyjęte założenia dotyczące danych wejściowych i wynikowych modelu. Istnieją procedury wykonywania zadań modelu Deep Learning dostępne w trybie Open Source, które definiują standardową konfigurację danych wejściowych i wynikowych oraz logikę wnioskowania. Platforma ArcGIS obsługuje zestaw predefiniowanych konfiguracji:

TensorFlow

  • ObjectDetectionAPI
  • DeepLab

Keras

  • MaskRCNN
  • KerasClassifier

Jeśli została użyta jedna z tych predefiniowanych konfiguracji, wpisz nazwę konfiguracji w pliku .emd. Jeśli model Deep Learning został wytrenowany z użyciem konfiguracji niestandardowej, należy w pełni opisać dane wejściowe i wynikowe w pliku .emd lub w niestandardowym pliku Python.

ModelFile

Ścieżka do pliku wytrenowanego modelu Deep Learning. Wiele formatów plików środowiska modelu jest opartych na buforach protokołu (Protocol Buffers), tak więc wytrenowanym modelem Deep Learning jest plik .pb, ale obsługiwane są inne formaty plików.

ModelType

Typ modelu. Typem może być jedna z następujących wartości:

  • ImageClassification — na potrzeby klasyfikowania pikseli.
  • ObjectDetection — na potrzeby wykrywania obiektów lub charakterystyk.
  • ObjectClassification — na potrzeby klasyfikowania obiektów lub charakterystyk

InferenceFunction

(Opcjonalne)

Ścieżka do funkcji wnioskowania.

Funkcja wnioskowania rozumie plik danych wytrenowanego modelu i udostępnia logikę wnioskowania. Istnieje sześć funkcji wnioskowania obsługiwanych przez narzędzia analizy rastrowej modelu Deep Learning na platformie ArcGIS:

  • Wykrywanie obiektów dla środowiska TensorFlow
  • Klasyfikowanie pikseli dla środowiska TensorFlow
  • Wykrywanie obiektów dla środowiska Keras
  • Wykrywanie obiektów dla środowiska PyTorch
  • Klasyfikowanie obiektów dla środowiska PyTorch
Jeśli użyto jednej z powyższych funkcji wnioskowania, nie trzeba jej podawać w pliku .emd. Jeśli Twój model został wytrenowany z użyciem konfiguracji modelu Deep Learning, która jeszcze nie jest obsługiwana lub wymaga specjalnej logiki wnioskowania, wymagana jest niestandardowa funkcja wnioskowania (moduł Python) wraz z wytrenowanym modelem. W takim przypadku skonfiguruj parametr InferenceFunction na ścieżkę modułu Python.

ImageHeight

(Opcjonalne)

Liczba wierszy w obrazie, który jest klasyfikowany lub przetwarzany.

ImageWidth

(Opcjonalne)

Liczba kolumn w obrazie, który jest klasyfikowany lub przetwarzany.

ExtractBands

(Opcjonalne)

Indeksy pasm lub nazwy pasm do wydzielenia z zobrazowania wejściowego.

Klasy

(Opcjonalne)

Informacja o kategoriach lub obiektach klasy wynikowej.

Poniżej przedstawiono przykład pliku definicji modelu (.emd), w którym zastosowano standardową konfigurację modelu:

{
    "Framework": "TensorFlow",
    "ModelConfiguration": "ObjectDetectionAPI",
    "ModelFile":"tree_detection.pb",
    "ModelType":"ObjectionDetection",
    "ImageHeight":850,
    "ImageWidth":850,
    "ExtractBands":[0,1,2],
    "Classes" : [
      {
        "Value": 0,
        "Name": "Tree",
        "Color": [0, 255, 0]
      }
    ]
}

Element pakietu modelu Deep Learning (.dlpk)

Narzędzia analizy rastrowej modelu Deep Learning wymagają na wejściu pakietu modelu Deep Learning (.dlpk). Pakiet modelu Deep Learning składa się z pliku JSON definicji modelu Esri (.emd), pliku modelu binarnego Deep Learning i opcjonalnie funkcji rastrowej w języku Python, która ma być używana.

Pakiet Deep Learning można udostępnić bezpośrednio z aplikacji ArcGIS Pro. Alternatywnie, gdy wszystkie komponenty są gotowe, można spakować pliki do pliku .zip, a następnie przesłać plik .zip do portalu jako element .dlpk. Więcej informacji zawiera temat Dodawanie plików jako elementów. Ponadto można zmienić rozszerzenie pliku .zip na .dlpk, dzięki czemu podczas dodawania elementu typ elementu .dlpk zostanie wykryty automatycznie.

Notatka:

Należy skompresować wszystkie pliki dołączone do pakietu modelu Deep Learning na poziomie katalogu głównego.