Доступно с лицензией Image Analyst.
Сводка
Запускает обученную модель глубокого обучения на входном растре для создания классифицированного растра, где каждому пикселу назначается класс надписей.
Для этого инструмента требуется файл определения модели, содержащий обученную информацию о модели. Модели могут быть обучены с помощью инструмента Тренировать модель глубокого обучения или с помощью сторонних программных средств обучения, таких как TensorFlow, PyTorch или Keras. Файл определения модели может быть файлом JSON определения модели Esri (.emd) или пакетом модели глубокого обучения, и он должен содержать путь к растровой функции Python, вызываемой для обработки каждого объекта, и путь к обученному двоичному файлу модели глубокого обучения.
Использование
Необходимо установить соответствующую среду глубокого обучения Python API (например, TensorFlow или CNTK) в среду Python ArcGIS Pro; в противном случае при добавлении файла определения модели Esri в инструмент появится сообщение об ошибке. Получите соответствующую информацию о платформе от создателя файла определения модели Esri.
Чтобы настроить компьютер на работу в среде глубокого обучения в ArcGIS Pro, см. раздел Установка сред глубокого обучения для ArcGIS.
Этот инструмент вызывает сторонний API для глубокого обучения Python (такой как TensorFlow, PyTorch или Keras) и использует указанную функцию растра Python для обработки каждого объекта.
Примеры использования этого инструмента доступны на странице GitHub Растровые функции Esri Python. Вы также можете написать пользовательские модули Python, следуя примерам и инструкциям в репозитории GitHub.
Значением параметра Определение модели Esri может быть JSON файл определения модели Esri (.emd), строка JSON или пакет модели глубокого обучения (.dlpk). Строка JSON полезна при использовании инструмента на сервере, чтобы вы могли вставить необходимую строку JSON, вместо загрузки файла .emd . Файл .dlpk должен быть сохранен локально.
Дополнительную информацию о глубоком обучении см. в разделе Глубокое обучение в ArcGIS Pro.
The following code sample uses the Esri model definition file (.emd):
{ "Framework":"TensorFlow", "ModelConfiguration":"deeplab", "ModelFile":"\\Data\\ImgClassification\\TF\\froz_inf_graph.pb", "ModelType":"ImageClassification", "ExtractBands":[0,1,2], "ImageHeight":513, "ImageWidth":513, "Classes" : [ { "Value":0, "Name":"Evergreen Forest", "Color":[0, 51, 0] }, { "Value":1, "Name":"Grassland/Herbaceous", "Color":[241, 185, 137] }, { "Value":2, "Name":"Bare Land", "Color":[236, 236, 0] }, { "Value":3, "Name":"Open Water", "Color":[0, 0, 117] }, { "Value":4, "Name":"Scrub/Shrub", "Color":[102, 102, 0] }, { "Value":5, "Name":"Impervious Surface", "Color":[236, 236, 236] } ] }
Информацию о требованиях к запуску этого инструмента и проблемах, с которыми вы можете столкнуться, см. в разделе Часто задаваемые вопросы по глубокому обучению.
Синтаксис
ClassifyPixelsUsingDeepLearning(in_raster, in_model_definition, {arguments}, processing_mode, {out_classified_folder})
Parameter | Объяснение | Тип данных |
in_raster | Входной набор растровых данных для классификации. Входными данными может быть единичный растр или несколько растров из набора данных мозаики, сервис изображений или папка с изображениями. | Raster Dataset; Raster Layer; Mosaic Layer; Image Service; MapServer; Map Server Layer; Internet Tiled Layer; Folder |
in_model_definition | Значением параметра in_model_definition может быть JSON файл определения модели Esri (.emd), строка JSON или пакет модели глубокого обучения (.dlpk). Строка JSON полезна при использовании инструмента на сервере, чтобы вы могли вставить необходимую строку JSON, вместо загрузки файла .emd . Файл .dlpk должен быть сохранен локально. Он содержит путь к файлу двоичной модели глубокого обучения, путь к используемой растровой функции Python и другие параметры, такие как предпочтительный размер листа или отступы. | File; String |
arguments [arguments,...] (Дополнительный) | Аргументы функции определяются в классе функции растра Python. Там перечисляются дополнительные параметры глубокого обучения и аргументы для экспериментов и улучшения, например, порог достоверности для настройки чувствительности. Названия аргументов заполняются при чтении модуля Python. | Value Table |
processing_mode | Задает как будут обработаны все растровые элементы в наборе данных мозаики или сервисе изображений. Этот параметр применяется только в том случае, если в качестве входных данных используется наборы данных мозаики или сервис изображений.
| String |
out_classified_folder (Дополнительный) | The folder where the output classified rasters will be stored. A mosaic dataset will be generated using the classified rasters in this folder. This parameter is required when the input raster is a folder of images or a mosaic dataset in which all items are to be processed separately. The default is a folder in your project folder. | Folder |
Значение отраженного сигнала
Name | Объяснение | Тип данных |
out_classified_raster | The name of the classified raster or the mosaic dataset containing the classified rasters. | Raster |
Пример кода
This example classifies a raster based on a custom pixel classification using the ClassifyPixelsUsingDeepLearning tool.
# Import system modules
import arcpy
from arcpy.ia import *
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
out_classified_raster = ClassifyPixelsUsingDeepLearning
("c:\\classifydata\\moncton_seg.tif", "c:\\classifydata\\moncton_sig.emd",
"padding 0; batch_size 16", "PROCESS_AS_MOSAICKED_IMAGE")
Out_classified_raster.save("c:\\classifydata\\classified_moncton.tif")
This example classifies a raster based on a custom pixel classification using the ClassifyPixelsUsingDeepLearning tool.
# Import system modules
import arcpy
from arcpy.ia import *
"""
Usage: ClassifyPixelsUsingDeepLearning(in_raster,out_classified_raster,
in_classifier_definition, {arguments}, {processing_mode})
"""
# Set local variables
in_raster = "c:\\classifydata\\moncton_seg.tif"
in_model_definition = "c:\\classifydata\\moncton_sig.emd"
model_arguments = "padding 0; batch_size 16"
processing_mode = "PROCESS_AS_MOSAICKED_IMAGE"
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
# Execute
Out_classified_raster = ClassifyPixelsUsingDeepLearning(in_raster,
in_model_definition, model_arguments, processing_mode)
Out_classified_raster.save("c:\\classifydata\\classified_moncton.tif")
Environments
Информация о лицензиях
- Basic: Требуется Image Analyst
- Standard: Требуется Image Analyst
- Advanced: Требуется Image Analyst