Подпись | Описание | Тип данных |
Из растра | Входной растр до изменений. | Raster Dataset; Raster Layer; Mosaic Layer; Image Service; Map Server; Map Server Layer; Internet Tiled Layer |
В растр | Входной растр после изменений. | Raster Dataset; Raster Layer; Mosaic Layer; Image Service; Map Server; Map Server Layer; Internet Tiled Layer |
Выходной классифицированный растр | Выходной классифицированный растр с отображением изменений. | Raster Dataset |
Определение модели | Значением параметра Определение модели может быть файл JSON определения модели Esri (.emd), строка JSON или пакет модели глубокого обучения (.dlpk). Строка JSON полезна при использовании инструмента на сервере, чтобы вы могли вставить необходимую строку JSON, вместо загрузки файла .emd. Файл .dlpk должен быть сохранен локально. Он содержит путь к бинарному файлу модели глубокого обучения, используемой функции растра Python и другим параметрам, таким как предпочитаемый размер листа или отступ. | File; String |
Аргументы (Дополнительный) | Информация из параметра Определение модели будет использоваться для заполнения этого параметра. Эти аргументы меняются в зависимости от архитектуры модели. Ниже приведены поддерживаемые аргументы для моделей, обученных в ArcGIS. Предварительно обученные модели ArcGIS и пользовательские модели глубокого обучения могут иметь дополнительные аргументы, поддерживаемые инструментом.
| Value Table |
Доступно с лицензией Image Analyst.
Краткая информация
Запускает обученную модель глубокого обучения для выявления изменений между двумя растрами.
Для этого инструмента требуется файл определения модели, содержащий обученную информацию о модели. Файл определения модели может быть файлом JSON определения модели Esri (.emd) или пакетом модели глубокого обучения, и он должен содержать путь к растровой функции Python, вызываемой для обработки каждого объекта, и путь к обученному двоичному файлу модели глубокого обучения.
Использование
Входными данными для этого инструмента являются два изображения: более раннее и более позднее. Результатом является классифицированный набор растровых данных, который показывает разницу между двумя входными растрами.
Необходимо установить соответствующую среду глубокого обучения Python API (например, TensorFlow или CNTK) в среду ArcGIS AllSource Python; в противном случае при добавлении файла определения модели Esri в инструмент появится сообщение об ошибке. Получите соответствующую информацию о платформе от создателя файла определения модели Esri.
Чтобы настроить компьютер на работу в среде глубокого обучения в ArcGIS AllSource, см. раздел Установка сред глубокого обучения для ArcGIS.
Этот инструмент вызывает сторонний API Python для глубокого обучения (такой, как TensorFlow, PyTorch или Keras) и использует указанную функцию растра Python для обработки каждого объекта.
Значением параметра Определение модели может быть файл JSON определения модели Esri (.emd), строка JSON или пакет модели глубокого обучения (.dlpk). Строка JSON полезна при использовании инструмента на сервере, чтобы вы могли вставить необходимую строку JSON, вместо загрузки файла .emd. Файл .dlpk должен быть сохранен локально.
Могут потребоваться дополнительные входные параметры, такие как размер mini-batch, размер заполнения и т.д.
Используйте пример ниже для файла JSON определения модели (.emd).
Пример файла JSON определения модели.
{ "Framework": "", "ModelConfiguration":" ", "ModelFile":"", "InferenceFunction":"", "ModelType":"", "ImageHeight":256, "ImageWidth":256, "ExtractBands":[0,1,2], "CropSizeFixed": 1, "BlackenAroundFeature": 1, "Classes": [ { "Value": 0, "Name": "Building", "Color": [255, 0, 0] } ] }
Увеличение размера пакета может повысить производительность инструмента, но по мере его увеличения используется все больше памяти. При появлении ошибки переполнения памяти задайте меньший размер пакета. Значение batch_size можно уточнить с помощью параметра Аргументы.
Размеры пакета указываются в квадратах целых чисел: 1, 4, 9, 16, 25, 64 и т.д. Если входное значение не является квадратом числа, будет использоваться максимальный квадрат целого числа. К примеру, если задано значение 6, размер пакета будет равен 4.
Этот инструмент поддерживает и использует несколько графических процессоров, если они имеются. Чтобы использовать определенный графический процессор, задайте параметр среды GPU ID. Если GPU ID не задан, инструмент использует все доступные графические процессоры. Эта опция используется по умолчанию.
Информацию о требованиях к запуску этого инструмента и проблемах, с которыми вы можете столкнуться, см. в разделе Часто задаваемые вопросы по глубокому обучению.
Дополнительную информацию о глубоком обучении см. в разделе Глубокое обучение в ArcGIS AllSource.
Параметры
DetectChangeUsingDeepLearning(from_raster, to_raster, out_classified_raster, in_model_definition, {arguments})
Имя | Описание | Тип данных |
from_raster | Входной растр до изменений. | Raster Dataset; Raster Layer; Mosaic Layer; Image Service; Map Server; Map Server Layer; Internet Tiled Layer |
to_raster | Входной растр после изменений. | Raster Dataset; Raster Layer; Mosaic Layer; Image Service; Map Server; Map Server Layer; Internet Tiled Layer |
out_classified_raster | Выходной классифицированный растр с отображением изменений. | Raster Dataset |
in_model_definition | Значением параметра in_model_definition может быть файл JSON определения модели Esri (.emd), строка JSON или пакет модели глубокого обучения (.dlpk). Строка JSON полезна при использовании инструмента на сервере, чтобы вы могли вставить необходимую строку JSON, вместо загрузки файла .emd. Файл .dlpk должен быть сохранен локально. Он содержит путь к бинарному файлу модели глубокого обучения, используемой функции растра Python и другим параметрам, таким как предпочитаемый размер листа или отступ. | File; String |
arguments [arguments,...] (Дополнительный) | Информация из параметра in_model_definition будет использоваться для установки значений по умолчанию для этого параметра. Эти аргументы меняются в зависимости от архитектуры модели. Ниже приведены поддерживаемые аргументы для моделей, обученных в ArcGIS. Предварительно обученные модели ArcGIS и пользовательские модели глубокого обучения могут иметь дополнительные аргументы, поддерживаемые инструментом.
| Value Table |
Пример кода
В этом примере запускается модель глубокого обучения для обнаружения изменений между двумя изображениями.
# Import system modules
import arcpy
from arcpy.ia import *
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
DetectChangeUsingDeepLearning("c://detectchange//input_image1.tif",
"c://detectchange//input_image2.tif", "c://detectchange//output_difference.tif",
"c://detectchange/detectBuilding.emd", "padding 0;score_threshold 0.6;batch_size 4")
В этом примере запускается модель глубокого обучения для обнаружения изменений между двумя изображениями.
# Import system modules
import arcpy
from arcpy.ia import *
"""
Usage: DetectObjectsUsingDeepLearning(from_raster, to_raster, out_classified_raster,
in_model_definition, {model_arguments})
"""
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
# Set local variable
from_raster = r"c:/detectchange/input_image1.tif"
to_raster = r"c:/detectchange/input_image2.tif"
out_classified_raster = r"c:/detectchange/output_difference.tif"
in_model_definition = r"c:/ detectchange/detectbuilding.emd"
# arcpy.env.processorType = "GPU"
# arcpy.env.gpuId = 0
# Execute
DetectChangeUsingDeepLearning(from_raster, to_raster, out_classified_raster,
in_model_definition, "padding 0;score_threshold 0.6;batch_size 4")