Skip To Content

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

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

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

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

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

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

Специалист по данным использует обучающие данные, чтобы разработать модели, которые применяют стороннюю среду глубокого обучения.

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

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

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

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

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

Вы можете использовать ArcGIS API for Python, чтобы обучить модель в среде глубокого обучения.

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

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

  • Используйте сверточные нейронные сети для классификации изображений.
  • Используйте модель глубокого обучения для классификации пикселов изображения или обнаружения таких объектов, как самолеты, деревья, транспортные средства, водные объекты и нефтяные скважины.
  • Интегрируйте внешние среды моделей глубокого обучения, включая Keras, TensorFlow, CNTK и PyTorch.
  • Используйте файл определения модели несколько раз для обнаружения изменений во времени или объектов в различных областях интереса.
  • Создайте класс полигональных объектов, показывающий обнаруженные объекты, которые будут использоваться для дополнительного анализа или рабочих процессов.
  • Инструменты могут использовать центральный процессор для распределенной обработки или применять мощный графический процессор на каждом узле сервера, если он доступен.

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

Создание и экспорт обучающих выборок выполняются в ArcGIS опытным аналитиком изображений, так как эта деятельность требует глубоких знаний рабочих процессов классификации изображений. Модель глубокого обучения подвергается обучению не в ArcGIS, а в среде глубокого обучения, это выполняет специалист по данным или другой эксперт в моделях глубокого обучения. После того как модель обучения и определена в файле определения модели Esri .emd, вы публикуете элемент dlpk в Portal for ArcGIS и запускаете элементы растрового анализа, чтобы обнаружить объекты или классифицировать пикселы из Map Viewer, ArcGIS API for Python, ArcGIS REST API или ArcGIS Pro. В некоторых случаях все три шага может выполнить один специалист аналитики, у которого есть компетенции в областях моделей глубокого обучения и классификации изображений ArcGIS.

Вам нужно будет установить соответствующую платформу глубокого обучения ArcGIS API for Python (TensorFlow, CNTK или Keras) в среде ArcGIS Server Python 3; в противном случае при добавлении элемента dlpk в инструмент возникнет ошибка. Получите соответствующую информацию о платформе от создателя файла определения модели Esri.

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

  1. Создайте и экспортируйте обучающие выборки.
    1. Используйте Менеджер обучающих выборок в ArcGIS Pro, чтобы выбрать или создать схему классификации.
    2. Создайте обучающую выборку для категорий классов или интересующих объектов. Сохраните файл обучающей выборки.
    3. Запустите инструмент анализа растров Экспорт обучающих данных для глубокого обучения, чтобы конвертировать исходные изображения и обучающую выборку в обучающие данные глубокого обучения. В качестве исходных изображений может использоваться сервис изображений. Выходные данные инструмента – это строка хранилища данных, в которой будут храниться выходные чипы изображений, надписи и файлы метаданных. Дополнительные выходные данные этого инструмента – это шаблон файла .emd, который будет заполняться специалистом по данным.
  2. Обучите модель глубокого обучения.
    1. Используйте чипы изображений, созданные на шаге 1 выше, для обучения модели с использованием платформы глубокого обучения, такой как TensorFlow, CNTK, PyTorch или Keras.
    2. Обновите файл .emd, указав имя платформы глубокого обучения, конфигурацию модели и другие необязательные свойства. Сведения об обязательных и дополнительных параметрах в файле .emd см. в разделе Файл определения модели Esri.
  3. Запустите инструменты анализа растров, которые выдают результаты, из Map Viewer, ArcGIS API for Python, ArcGIS REST API или ArcGIS Pro.
    1. Используйте инструменты анализа растров Обнаружить объекты, используя глубокое обучение или Классифицировать пикселы, используя глубокое обучение, чтобы обработать ваши снимки. Если обученная модель включила пользовательские растровые функции Python с дополнительными переменными, такими как заполнение или доверительный порог для тонкой настройки чувствительности, эти переменные появятся в диалоговом окне инструмента анализа растров ArcGIS Pro или Map Viewer для пользовательских входных данных. Тип данных, например, string или numeric, задается в функции растра Python. В идеале дополнительные параметры вывода должны быть ограничены двумя.

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

      Примечание:

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

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

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

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

Платформа

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

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

  • TensorFlow
  • CNTK
  • Keras
  • PyTorch

InferenceFunction

ModelConfiguration

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

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

TensorFlow

CNTK

Keras

PyTorch

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

ModelFile

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

ModelType

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

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

InferenceFunction

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

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

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

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

ImageHeight

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

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

ImageWidth

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

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

ExtractBands

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

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

Classes

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

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

Ниже приведен пример файла определения модели (.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.

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