Skip To Content

Глубокое обучение в аналитике растров

ArcGIS Image Server позволяет использовать статистические методы или методы классификации машинного обучения для классификации изображений дистанционного зондирования. Глубокое обучение – это тип машинного обучения, который опирается на несколько уровней нелинейной обработки для идентификации объектов и распознавания образов, описанных в модели. Модели глубокого обучения могут быть интегрированы с ArcGIS Image Server для обнаружения объектов и классификации изображений. Обучающие выборки или объекты интереса генерируются в ArcGIS Pro с помощью инструментов менеджера обучающих выборок классификации, затем размечаются с помощью инструмента Отметить объекты для глубокого обучения и преобразуются в формат для использования в среде глубокого обучения. Эти обучающие выборки используются для обучения модели с применением инструмента анализа растра Обучить модель глубокого обучения или ArcGIS API for Python. Обученная модель вместе с файлом определения модели (и, возможно, файлом скрипта функции растра Python) упаковывается и публикуется как элемент пакета глубокого обучения (.dlpk), который затем используется для запуска инструментов анализа растров. Инструменты вывода либо извлекают определенные объекты, либо классифицируют пикселы в изображении. Элемент .dlpk можно использовать несколько раз в качестве входных данных в инструментах анализа растров, что упрощает доступ к большому объему изображений для различных местоположений и временных периодов, после того как модель будет обучена.

Рабочий процесс глубокого обучения

Элемент рабочего процесса 1

Создайте обучающие выборки с помощью инструмента Отметить объекты для глубокого обучения в ArcGIS Pro и используйте инструмент анализа растров Экспорт обучающих данных для глубокого обучения в ArcGIS REST API или ArcGIS API for Python, чтобы подготовить эти данные для специалиста по данным.

Элемент рабочего процесса 2

Тренируйте глубокое обучение, используя инструмент растрового анализа Обучить модель глубокого обучения. Вы можете также использовать ArcGIS REST API, чтобы обучить модель в среде глубокого обучения. Выходной пакет глубокого обучения (*.dlpk), состоящий из файла определения модели и обученной модели глубокого обучения или скрипта Python, публикуется на портале как элемент .dlpk.

Элемент рабочего процесса 3

Специалист по данным предоставляет пакет глубокого обучения, состоящий из файла определения модели и обученной модели и скрипта Python, обратно в параметры среды анализа растров ArcGIS Image Server.

С помощью элемента .dlpk на портале запустите инструмент выявить объекты при помощи глубокого обучения, инструмент Классифицировать пикселы при помощи глубокого обучения, или инструмент Классифицировать объекты при помощи глубокого обучения, чтобы сгенерировать выходные данные.

Свойства и возможности

Инструменты анализа растров с глубоким обучением позволяют использовать больше, чем стандартные методы классификации машинного обучения:

  • Использовать сверхточные нейронные сети для классификации изображений и обнаружения объектов.
  • Использовать модель глубокого обучения для классификации пикселов изображения, обнаружения или классификации таких объектов, как самолеты, деревья, транспортные средства, водные объекты и нефтяные скважины.
  • Интегрировать внешние среды моделей глубокого обучения, включая PyTorch и Keras.
  • Обрабатывать коллекцию растров во время вывода модели, чтобы обнаружить изменения во времени или обнаружить объекты в различных областях, представляющих интерес.
  • Создать класс полигональных объектов, показывающий обнаруженные объекты, который будет использоваться для дополнительного анализа или рабочих процессов.
  • Инструменты могут использовать центральный процессор для распределенной обработки или применять графический процессор на каждом узле сервера, если он доступен.
  • Для выполнения задания глубокого обучения можно использовать несколько графических процессоров на один узел сервера с конфигурациями моделей, предопределенными в ArcGIS, включая DeepLab, Keras MaskRCNN и PyTorch fastai Single Shot Detector.
  • Если входной растр поставляется с соответствующим пространством карты для преобразования пространства изображений, фрагменты обучающих изображений можно экспортировать в пространство изображений в Экспорт обучающих данных для глубокого обучения.

Начало работы с глубоким обучением

Создание и экспорт обучающих выборок в ArcGIS требует глубоких знаний рабочих процессов классификации изображений и должно выполняться опытным аналитиком изображений. Модель глубокого обучения можно обучить в ArcGIS с помощью инструмента анализа растров Обучить модель глубокого обучения или ArcGIS API for Python arcgis.learn. В качестве альтернативы, модель глубокого обучения может быть обучена вне ArcGIS с использованием стороннего API глубокого обучения. Как только модель обучена, элемент .dlpk добавляется к порталу ArcGIS Enterprise и готов к задачам вывода модели. Запустите инструменты растрового анализа, чтобы обнаружить и классифицировать объекты или классифицировать пикселы из Map Viewer Classic, ArcGIS API for Python, ArcGIS REST API или ArcGIS Pro. Весь рабочий процесс глубокого обучения может выполнять один аналитик, который имеет опыт работы с моделями глубокого обучения и классификацией изображений ArcGIS.

Также предоставляется отдельное приложение для настройки глубокого обучения, которое установит соответствующие API-интерфейсы среды глубокого обучения (Keras, PyTorch и все другие необходимые библиотеки Python) в стандартной среде ArcGIS Image Server по умолчанию arcgispro-py3. См. манифест включенных пакетов для полного списка библиотек, которые будут установлены. Запуск приложения настройки является обязательным условием для выполнения задач глубокого обучения на ArcGIS Image Server.

Обратитесь к документации по настройке и развертыванию ArcGIS Enterprise для растровой аналитики. См. дополнительные шаги по настройке сервера Анализ растров для использования нескольких графических процессоров на один узел сервера.

  1. Создайте и экспортируйте обучающие выборки.
    1. Используйте инструмент Отметить объекты для глубокого обучения в ArcGIS Pro для выбора или создания схемы классификации.
    2. Создайте обучающую выборку для категорий классов или интересующих объектов. Сохраните файл обучающей выборки.
    3. Запустите инструмент анализа растров Экспорт обучающих данных для глубокого обучения, чтобы конвертировать исходные изображения и обучающую выборку в обучающие данные глубокого обучения. В качестве исходных изображений может использоваться сервис изображений. Выходные данные инструмента – это строка хранилища данных, в которой будут храниться выходные фрагменты изображений, метки и файлы метаданных. Дополнительные выходные данные этого инструмента – это шаблон файла .emd, который будет заполняться специалистом по данным.
  2. Обучите модель глубокого обучения.
    1. Используйте фрагменты изображений, сгенерированные на шаге 1 выше, чтобы обучить модель с помощью инструмента растрового анализа Обучить модель глубокого обучения. Или обучите модели глубокого обучения, используя ArcGIS API for Python arcgis.learn или сторонние API-интерфейсы среды глубокого обучения.

      Если модель глубокого обучения обучается с использованием инструмента растрового анализа модели глубокого обучения, результатом будет элемент пакета модели глубокого обучения, опубликованный на портале. Пакет модели глубокого обучения (.dlpk) может быть непосредственно использован на следующем шаге.

    2. Если для обучения модели используется сторонний API инфраструктуры глубокого обучения, обновите файл .emd с именем инфраструктуры глубокого обучения, конфигурацию модели, другие необязательные свойства и, возможно, пользовательскую растровую функцию Python для вывода модели. Сведения об обязательных и дополнительных параметрах в файле .emd см. в разделе Файл определения модели Esri ниже.
  3. Запустите инструменты анализа растров из Map Viewer Classic, ArcGIS API for Python, ArcGIS REST API или ArcGIS Pro.
    1. Используйте инструменты растрового анализа Выявить объекты при помощи глубокого обучения, Классифицировать пикселы при помощи глубокого обучения или Классифицировать объекты при помощи глубокого обучения для обработки ваших изображений.

      Если обученная модель включила пользовательские растровые функции Python с дополнительными переменными, такими как заполнение или доверительный порог для тонкой настройки чувствительности, эти переменные появятся в ArcGIS Pro или диалоговом окне инструмента анализа растров для пользовательских входных данных Map Viewer Classic. Тип данных, например, string или numeric, задается в функции растра Python.

      Примечание:

      Среда модели глубокого обучения должна быть установлена на компьютере сервиса Анализ растров для запуска инструментов вывода данных, поскольку логика вывода встроена в API Python платформы и требуется для вычислений.

Файл определения модели Esri

Файл .emd – это файл JSON, который описывает обученную модель глубокого обучения. Он содержит параметры определения модели, необходимые для запуска инструментов вывода, и должен быть изменен специалистом по данным, который обучал модель. В файле есть обязательные и необязательные параметры, как описано в таблице ниже.

Параметр файла определения моделиОбъяснение

Среда

Имя платформы глубокого обучения, используемой для обучения модели.

Поддерживаются следующие платформы глубокого обучения:

  • Keras
  • PyTorch

PythonInferenceFunctionPython

ModelConfiguration

Имя конфигурации модели.

Конфигурация модели определяет входные и выходные данные модели, логику выходных данных и предположения для входных и выходных данных. Существуют рабочие процессы глубокого обучения с открытым исходным кодом, которые определяют стандартную конфигурацию ввода –вывода данных и логику вывода. ArcGIS поддерживает набор предопределенных конфигураций:

Keras

  • MaskRCNN
  • KerasClassifier

Если используется одна из предопределенных конфигураций, введите имя конфигурации в файле .emd. При обучении модели глубокого обучения с использованием пользовательской конфигурации потребуется полностью описать входные и выходные данные в файле .emd или в пользовательском файле Python Python.

ModelFile

Путь к файлу обученной модели глубокого обучения. Многие форматы файлов платформы модели основаны на буферах протокола, поэтому обученная модель глубокого обучения является файлом .pb, но поддерживаются и другие форматы файлов.

ModelType

Тип модели. Поддерживаются следующие типы:

  • ImageClassification – для классификации пикселов
  • ObjectDetection – для обнаружения объектов
  • ObjectClassification – для классификации объектов

InferenceFunction

(Дополнительный)

Путь к функции вывода данных.

Функция вывода понимает обученный файл данных модели и предоставляет логику вывода данных. В инструментах анализа растров с помощью глубокого обучения ArcGIS поддерживаются шесть функций вывода:

  • Обнаружить объекты для Keras
  • Обнаружить объекты для PyTorch
  • Классифицировать объекты для PyTorch
Если вы использовали одну из приведенных выше функций вывода, нет необходимости указывать ее в файле .emd. Если модель обучается с использованием конфигурации модели глубокого обучения, которая еще не поддерживается, или требует специальной логики вывода, то вместе с обученной моделью требуется пользовательская функция вывода (модуль Python). В этом случае задайте InferenceFunction в пути к модулю Python.

ImageHeight

(Дополнительный)

Число строк в классифицируемом или обрабатываемом изображении.

ImageWidth

(Дополнительный)

Количество столбцов в классифицируемом или обрабатываемом изображении.

ExtractBands

(Дополнительный)

Индексы каналов или имена каналов для извлечения из входного изображения.

Классы

(Дополнительный)

Информация о категориях или объектах выходного класса.

Ниже приведен пример файла определения модели (.emd), который использует конфигурацию стандартной модели:

{
    "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]
      }
    ]
}

Элемент пакета Глубокое обучение (.dlpk)

Инструменты анализа растров с помощью глубокого обучения требуют в качестве входных данных пакет модели глубокого обучения (.dlpk). Пакет модели глубокого обучения состоит из JSON-файла определения модели Esri (.emd), двоичного файла модели глубокого обучения и, при необходимости, растровой функции Python Python.

Вы можете опубликовать пакет глубокого обучения напрямую из ArcGIS Pro. Или, когда все компоненты будут готовы, можно сжать все файлы в файл .zip и загрузить файл .zip на портал как элемент .dlpk. Более подробно см. Добавление файлов в качестве элементов. Вы также можете изменить расширение файла .zip на .dlpk, чтобы при добавлении элемента автоматически обнаруживались элементы типа .dlpk.

Примечание:

Необходимо сжать все файлы, включенные в пакет модели глубокого обучения, на уровне корневой папки.