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

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

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

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

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

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

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

      Примечание:

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

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

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

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

Рабочая среда

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

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

  • TensorFlow
  • Keras
  • PyTorch

InferenceFunction

ModelConfiguration

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

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

TensorFlow

  • ObjectDetectionAPI
  • DeepLab

Keras

  • MaskRCNN
  • KerasClassifier

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

ModelFile

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

ModelType

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

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

InferenceFunction

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

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

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

  • Обнаружить объекты для TensorFlow
  • Классифицировать пикселы для Tensor Flow
  • Обнаружить объекты для Keras
  • Обнаружить объекты для PyTorch
  • Классифицировать объекты для 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.

Примечание:

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