Дополнительный модуль ArcGIS Image Server позволяет использовать статистические методы или методы классификации машинного обучения для классификации изображений дистанционного зондирования. Глубокое обучение – это тип машинного обучения, который опирается на несколько уровней нелинейной обработки для идентификации объектов и распознавания образов, описанных в модели. Модели глубокого обучения могут быть интегрированы с дополнительным модулем ArcGIS Image Server для обнаружения объектов и классификации изображений. Обучающие выборки пространственных объектов или объектов интереса генерируются в ArcGIS Pro с помощью инструментов управления обучающими выборками, затем конвертируются в формат для использования в среде глубокого обучения. Эти обучающие выборки работают для обучения модели с использованием сторонней среды глубокого обучения, построенной специалистом по данным или изображениям. Обученная модель вместе с файлом определения модели (и, возможно, файлом скрипта функции растра python) упаковывается и публикуется как элемент пакета глубокого обучения (dlpk), который затем используется для запуска инструментов анализа растров. Инструменты вывода либо извлекают определенные объекты, либо классифицируют пикселы в изображении. Элемент dlpk можно использовать несколько раз в качестве входных данных в инструментах анализа растров, что упрощает доступ к большому объему изображений для различных местоположений и временных периодов, после того как модель будет обучена.
Создайте обучающие выборки в Менеджере обучающих выборок в ArcGIS Pro и используйте инструмент анализа растров Экспорт обучающих данных для глубокого обучения в ArcGIS REST API или ArcGIS API for Python, чтобы подготовить эти данные для специалиста по данным. | |
Специалист по данным использует обучающие данные, чтобы разработать модели, которые применяют стороннюю среду глубокого обучения. | |
Специалист по данным предоставляет пакет глубокого обучения, состоящий из файла определения модели и обученной модели и/или скрипта Python, обратно в параметры среды анализа растров дополнительного модуля ArcGIS Image Server. | |
Создайте пакет глубокого обучения (.dlpk) и опубликуйте его на портал. С применением элемента dlpk запустите инструмент Обнаружить объекты, используя глубокое обучение или Классифицировать пикселы, используя глубокое обучение, чтобы создать выходные данные. | |
Вы можете использовать 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 для растровой аналитики.
- Создайте и экспортируйте обучающие выборки.
- Используйте Менеджер обучающих выборок в ArcGIS Pro, чтобы выбрать или создать схему классификации.
- Создайте обучающую выборку для категорий классов или интересующих объектов. Сохраните файл обучающей выборки.
- Запустите инструмент анализа растров Экспорт обучающих данных для глубокого обучения, чтобы конвертировать исходные изображения и обучающую выборку в обучающие данные глубокого обучения. В качестве исходных изображений может использоваться сервис изображений. Выходные данные инструмента – это строка хранилища данных, в которой будут храниться выходные чипы изображений, надписи и файлы метаданных. Дополнительные выходные данные этого инструмента – это шаблон файла .emd, который будет заполняться специалистом по данным.
- Обучите модель глубокого обучения.
- Используйте чипы изображений, созданные на шаге 1 выше, для обучения модели с использованием платформы глубокого обучения, такой как TensorFlow, CNTK, PyTorch или Keras.
- Обновите файл .emd, указав имя платформы глубокого обучения, конфигурацию модели и другие необязательные свойства. Сведения об обязательных и дополнительных параметрах в файле .emd см. в разделе Файл определения модели Esri.
- Запустите инструменты анализа растров, которые выдают результаты, из Map Viewer, ArcGIS API for Python, ArcGIS REST API или ArcGIS Pro.
- Используйте инструменты анализа растров Обнаружить объекты, используя глубокое обучение или Классифицировать пикселы, используя глубокое обучение, чтобы обработать ваши снимки. Если обученная модель включила пользовательские растровые функции Python с дополнительными переменными, такими как заполнение или доверительный порог для тонкой настройки чувствительности, эти переменные появятся в диалоговом окне инструмента анализа растров ArcGIS Pro или Map Viewer для пользовательских входных данных. Тип данных, например, string или numeric, задается в функции растра Python. В идеале дополнительные параметры вывода должны быть ограничены двумя.
Выходные данные инструмента Обнаружить объекты, используя глубокое обучение – это класс пространственных объектов, показывающий объекты, обнаруженные моделью, а инструмент Классифицировать пикселы, используя глубокое обучение выводит классифицированный растр.
Примечание:
Среда модели глубокого обучения должна быть установлена на компьютере для Растрового анализа для запуска инструментов вывода данных, поскольку логика вывода встроена в API Python платформы и требуется для вычислений.
- Используйте инструменты анализа растров Обнаружить объекты, используя глубокое обучение или Классифицировать пикселы, используя глубокое обучение, чтобы обработать ваши снимки. Если обученная модель включила пользовательские растровые функции Python с дополнительными переменными, такими как заполнение или доверительный порог для тонкой настройки чувствительности, эти переменные появятся в диалоговом окне инструмента анализа растров ArcGIS Pro или Map Viewer для пользовательских входных данных. Тип данных, например, string или numeric, задается в функции растра Python. В идеале дополнительные параметры вывода должны быть ограничены двумя.
Файл определения модели Esri
Файл .emd – это файл JSON, который описывает обученную модель глубокого обучения. Он содержит параметры определения модели, необходимые для запуска инструментов вывода, и должен быть изменен специалистом по данным, который обучал модель. В файле есть обязательные и необязательные параметры, как описано в таблице ниже.
Параметр файла определения модели | Объяснение |
---|---|
Платформа | Имя платформы глубокого обучения, используемой для обучения модели. Поддерживаются три платформы глубокого обучения:
|
ModelConfiguration | Имя конфигурации модели. Конфигурация модели определяет входные и выходные данные модели, логику выходных данных и предположения для входных и выходных данных. Существуют рабочие процессы глубокого обучения с открытым исходным кодом, которые определяют стандартную конфигурацию ввода –вывода данных и логику вывода. ArcGIS поддерживает набор предопределенных конфигураций: TensorFlow CNTK Keras PyTorch Если используется одна из предопределенных конфигураций, введите имя конфигурации в файле .emd. При обучении модели глубокого обучения с использованием пользовательской конфигурации потребуется полностью описать входные и выходные данные в файле .emd или в пользовательском файле Python. |
ModelFile | Путь к файлу обученной модели глубокого обучения. Многие форматы файлов платформы модели основаны на буферах протокола, поэтому обученная модель глубокого обучения является файлом .pb, но поддерживаются и другие форматы файлов. |
ModelType | Тип модели. Поддерживаются следующие типы:
|
InferenceFunction (Дополнительный) | Путь к функции вывода данных. Функция вывода понимает обученный файл данных модели и предоставляет логику вывода данных. В инструментах анализа растров с помощью глубокого обучения ArcGIS поддерживаются шесть функций вывода:
|
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.