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, a następnie są przekształcane do formatu używanego w środowisku Deep Learning. Próbki treningowe są używane do trenowania modelu za pomocą środowiska Deep Learning innej firmy przez naukowców zajmujących się przetwarzaniem danych lub zobrazowaniami. 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, ułatwiają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ą Menedżera próbek treningowych w aplikacji ArcGIS Pro i użycie narzędzia analizy rastrowej Eksportuj dane treningowe dla środowiska Deep Learning w interfejsie ArcGIS REST API lub interfejsie ArcGIS API for Python w celu przygotowania danych dla naukowca zajmującego się przetwarzaniem danych.

Element 2 procedury wykonywania zadań

Naukowiec zajmujący się przetwarzaniem danych używa danych treningowych do opracowania modeli za pomocą środowiska Deep Learning innej firmy.

Element 3 procedury wykonywania zadań

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

Element 4 procedury wykonywania zadań

Utworzenie elementu pakietu środowiska Deep Learning (.dlpk) i udostępnienie go w portalu. Uruchomienie narzędzia Wykrywaj obiekty metodą Deep Learning lub narzędzia Klasyfikuj piksele metodą Deep Learning z użyciem elementu dlpk w celu wygenerowania danych wynikowych.

Element 5 procedury wykonywania zadań

Do trenowania modelu w środowisku Deep Learning można wykorzystać interfejs ArcGIS API for Python.

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.
  • Użycie modelu Deep Learning do klasyfikowania pikseli obrazów lub wykrywania obiektów, takich jak samoloty, drzewa, pojazdy, obiekty wodne i stanowiska odwiertów szybów naftowych.
  • Integracja zewnętrznych środowisk modelu Deep Learning, w tym Keras, TensorFlow, CNTK i PyTorch.
  • Wielokrotne użycie pliku definicji modelu do wykrywania zmian w czasie lub wykrywania 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.

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. Trenowanie modelu Deep Learning poza oprogramowaniem ArcGIS wykonuje naukowiec zajmujący się przetwarzaniem danych za pomocą środowiska Deep Learning albo inna osoba z doświadczeniem w zakresie trenowania modeli Deep Learning. Gdy model jest wytrenowany i zdefiniowany w pliku definicji modelu Esri .emd, udostępnia się element dlpk oprogramowaniu Portal for ArcGIS i uruchamia się narzędzia analizy rastrowej w celu wykrycia obiektów lub sklasyfikowania pikseli z przeglądarki Map Viewer, interfejsu ArcGIS API for Python, interfejsu ArcGIS REST API lub aplikacji ArcGIS Pro. W niektórych przypadkach wszystkie trzy etapy mogą być zrealizowane przez jednego analityka z doświadczeniem w zakresie modeli Deep Learning i klasyfikowania obrazów na platformie ArcGIS.

Należy zainstalować odpowiedni interfejs ArcGIS API for Python środowiska modelu Deep Learning (TensorFlow, CNTK, PyTorch lub Keras) w środowisku Python 3 serwera ArcGIS Server. W przeciwnym razie wystąpi błąd przy próbie dodania elementu dlpk do narzędzia. Informacje o odpowiednim środowisku należy uzyskać od twórcy pliku definicji modelu Esri.

Aby uzyskać pomoc związaną z instalacją, należy skorzystać z dokumentacji środowiska. Pomoc dotyczącą konfigurowania i wdrażania oprogramowania ArcGIS Enterprise na potrzeby analizy rastrowej można znaleźć w dokumentacji.

  1. Utwórz i wyeksportuj próbki treningowe.
    1. Użyj Menedżera próbek treningowych w aplikacji ArcGIS Pro do 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ą środowiska modelu Deep Learning, takiego jak TensorFlow, CNTK, PyTorch lub Keras.
    2. Zaktualizuj plik .emd, podając nazwę środowiska modelu Deep Learning, konfigurację modelu i inne właściwości opcjonalne. 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, interfejsu ArcGIS API for Python, interfejsu ArcGIS REST API lub aplikacji ArcGIS Pro.
    1. Użyj narzędzi analizy rastrowej Wykrywaj obiekty metodą Deep Learning lub Klasyfikuj piksele 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, 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. Najlepiej, gdy używa się maksymalnie dwóch dodatkowych parametrów wnioskowania.

      Wynikiem działania narzędzia Wykrywaj obiekty metodą Deep Learning jest klasa obiektów przedstawiająca obiekty wykryte przez model, a wynikiem działania narzędzia Klasyfikuj piksele metodą Deep Learning jest sklasyfikowany raster.

      Notatka:

      Środowisko modelu Deep Learning musi być zainstalowane na komputerach usługi Analiza rastrowa, 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
  • CNTK
  • Keras
  • PyTorch

InferenceFunction

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

CNTK

Keras

PyTorch

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.

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 CNTK
  • Klasyfikowanie pikseli dla środowiska CNTK
  • Wykrywanie obiektów dla środowiska Keras
  • Wykrywanie 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.

Classes

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

Gdy wszystkie komponenty są gotowe, można spakować wszystkie pliki do pliku .zip, a następnie przesłać plik .zip do portalu jako element dlpk. Więcej informacji zawiera temat Dodawanie plików do komputera. Ponadto można zmienić rozszerzenie pliku .zip na .dlpk, dzięki czemu podczas dodawania elementu typ elementu dlpk zostanie wykryty automatycznie.