Подпись | Описание | Тип данных |
Входной растр | Входное изображение, которое будет использоваться для классификации объектов. Входными данными может быть единичный растр или несколько растров из набора данных мозаики, сервис изображений или папка с изображениями, либо класс пространственных объектов со вложениями изображений. | Raster Dataset; Raster Layer; Mosaic Layer; Image Service; Map Server; Map Server Layer; Internet Tiled Layer; Folder; Feature Layer; Feature Class |
Выходной класс классифицированных объектов | Выходной класс объектов, который будет содержать геометрию, окружающую объекты, или пространственные объекты из входного класса, а также поле для хранения меток категорий. | Feature Class |
Определение модели | Значением параметра Определение модели может быть файл JSON определения модели Esri (.emd), строка JSON или пакет модели глубокого обучения (.dlpk). Строка JSON полезна при использовании инструмента на сервере, чтобы вы могли вставить необходимую строку JSON, вместо загрузки файла .emd. Файл .dlpk должен быть сохранен локально. Он содержит путь к файлу двоичной модели глубокого обучения, путь к используемой растровой функции Python и другие параметры, такие как предпочтительный размер листа или отступы. | File; String |
Входные объекты (Дополнительный) | Входной класс объектов точек, линий или полигонов, определяющий местоположения всех объектов, которые будут классифицироваться и помечаться. Каждая строка входного класса объектов представляет отдельный пространственный или непространственный объект. Если входной класс объектов не указан, считается, что каждое входное изображение содержит один объект для классификации. Если у входного изображения или изображений есть пространственная привязка, то на выходе этого инструмента будет получен класс пространственных объектов, в котором экстент каждого изображения используется в качестве ограничивающей геометрии для любого класса объектов с метками. Если входное изображение или изображения не имеют пространственной привязки, то на выходе инструмента будет получена таблица, содержащая значения ID изображений и метки классов для каждого изображения. | Feature Class; Feature Layer |
Поле метки класса (Дополнительный) | Имя поля, которое будет содержать метку класса или категории в выходном классе пространственных объектов. Если имя поля не указано, то в выходном классе объектов будет сгенерировано поле ClassLabel. | String |
Режим обработки (Дополнительный) | Задает как будут обработаны все растровые элементы в наборе данных мозаики или сервисе изображений. Этот параметр применяется только в том случае, если в качестве входных данных используется наборы данных мозаики или сервис изображений.
| String |
Аргументы (Дополнительный) | Информация из параметра Определение модели используется для заполнения этого параметра. Аргументы различаются в зависимости от архитектуры модели. Ниже перечислены поддерживаемые аргументы модели для моделей, обученных с помощью ArcGIS. Предварительно обученные модели ArcGIS и пользовательские модели глубокого обучения могут включать дополнительные аргументы, которые поддерживаются инструментом.
| Value Table |
Заголовок (Дополнительный) |
Имя поля, содержащего текст или заголовок в выходном классе объектов. Этот параметр поддерживается, только если используется модель Image Captioner. Если имя поля не указано, то в выходном классе объектов будет сгенерировано поле Caption. Примечание:Этот параметр не отображается на панели Геообработка. Чтобы изменить имя поля по умолчанию, используйте параметр Поле метки класса. | String |
Доступно с лицензией Image Analyst.
Краткая информация
Запускает обученную модель глубокого обучения на входном растре и дополнительном классе пространственных объектов для создания класса объектов или таблицы, где у каждого входного объекта имеется назначенный класс или надпись категории.
Для этого инструмента требуется файл определения модели, содержащий обученную информацию о модели. Модели могут быть обучены с помощью инструмента Тренировать модель глубокого обучения или с помощью сторонних программных средств обучения, таких как TensorFlow, PyTorch или Keras. Файл определения модели может быть файлом JSON определения модели Esri (.emd) или пакетом модели глубокого обучения, и он должен содержать путь к растровой функции Python, вызываемой для обработки каждого объекта, и путь к обученному двоичному файлу модели глубокого обучения.
Использование
Необходимо установить соответствующую среду глубокого обучения Python API (PyTorch или Keras) в среду ArcGIS AllSource Python; в противном случае при добавлении файла определения модели Esri в инструмент появится сообщение об ошибке. Соответствующую информацию о нужной среде должен предоставить автор файла определения модели Esri.
Чтобы настроить компьютер на работу в среде глубокого обучения в ArcGIS AllSource, см. раздел Установка сред глубокого обучения для ArcGIS.
Этот инструмент вызывает сторонний API для глубокого обучения Python (такой, как PyTorch или Keras) и использует указанную функцию растра Python для обработки каждого объекта.
Примеры использования этого инструмента доступны на странице GitHub растровой функции Esri Python. Вы также можете написать пользовательские модули Python, следуя примерам и инструкциям.
Значением параметра Определение модели может быть файл JSON определения модели Esri (.emd), строка JSON или пакет модели глубокого обучения (.dlpk). Строка JSON полезна при использовании инструмента на сервере, чтобы вы могли вставить необходимую строку JSON, вместо загрузки файла .emd. Файл .dlpk должен быть сохранен локально.
Следующий пример предназначен для файла .emd:
{ "Framework": "Keras", "ModelConfiguration":"KerasClassifier", "ModelFile":"C:\\DeepLearning\\Damage_Classification_Model_V7.h5", "ModelType":"ObjectClassification", "ImageHeight":256, "ImageWidth":256, "ExtractBands":[0,1,2], "CropSizeFixed": 1, "BlackenAroundFeature": 1, "ImageSpaceUsed": "MAP_SPACE", "Classes": [ { "Value": 0, "Name": "Damaged", "Color": [255, 0, 0] }, { "Value": 1, "Name": "Undamaged", "Color": [76, 230, 0] } ] }
Свойство CropSizeFixed задает режим кадрирования растрового листа вокруг каждого объекта. Значение 1 означает использование фиксированного растрового листа, заданного свойствами ImageHeight и ImageWidth в файле .emd. Объект центрируется внутри листа фиксированного размера. Значение 0 означает использование переменного размера листов, где лист растра кадрируется с помощью минимального ограничивающего прямоугольника вокруг объекта.
Свойство BlackenAroundFeature определяет, будут ли маскироваться пикселы вне каждого объекта. Значение 0 определяет, что пикселы вне каждого объекта не будут маскироваться. Значение 1 определяет, что пикселы вне каждого объекта будут маскироваться.
Инструмент может обрабатывать входные изображения, которые находятся в пространстве карты или в пространстве пикселов. Изображения в пространстве карты находятся в картографической системе координат. Изображения в пиксельном пространстве находятся в необработанном пространстве изображений без вращения и искажений. Система привязки может быть задана при формировании обучающих данных в инструменте Экспорт обучающих данных для глубокого обучения в параметре Система привязки. Если модель обучается в стороннем обучающем программном обеспечении, система привязки должна быть указана в файле .emd с помощью параметра ImageSpaceUsed, который может задан как MAP_SPACE или PIXEL_SPACE.
Входной растр может быть одним растром, несколькими растрами или классом пространственных объектов с прикрепленными изображениями. Дополнительные сведения о вложениях см. в разделе Добавление и удаление вложений файлов.
Увеличение размера пакета может улучшить производительность инструмента, но при этом увеличение размера пакета приводит к расходованию большего объема памяти. Если возникает ошибка нехватки памяти, используйте меньший размер пакета. Значение batch_size может быть выровнено с использованием параметра Аргумент.
Размерами пакета являются результаты возведения в квадрат, например 1, 4, 9, 16, 25, 64 и т.д. Если входное значение не четкий квадрат, используется максимально возможный квадрат. Например, если указано значение 6, размер пакета будет равен 4.
Информацию о требованиях к запуску этого инструмента и проблемах, с которыми вы можете столкнуться, см. в разделе Часто задаваемые вопросы по глубокому обучению.
Дополнительную информацию о глубоком обучении см. в разделе Глубокое обучение с помощью дополнительного модуля ArcGIS Image Analyst.
Параметры
ClassifyObjectsUsingDeepLearning(in_raster, out_feature_class, in_model_definition, {in_features}, {class_label_field}, {processing_mode}, {model_arguments}, {caption_field})
Имя | Описание | Тип данных |
in_raster | Входное изображение, которое будет использоваться для классификации объектов. Входными данными может быть единичный растр или несколько растров из набора данных мозаики, сервис изображений или папка с изображениями, либо класс пространственных объектов со вложениями изображений. | Raster Dataset; Raster Layer; Mosaic Layer; Image Service; Map Server; Map Server Layer; Internet Tiled Layer; Folder; Feature Layer; Feature Class |
out_feature_class | Выходной класс объектов, который будет содержать геометрию, окружающую объекты, или пространственные объекты из входного класса, а также поле для хранения меток категорий. | Feature Class |
in_model_definition | Значением параметра in_model_definition может быть файл JSON определения модели Esri (.emd), строка JSON или пакет модели глубокого обучения (.dlpk). Строка JSON полезна при использовании инструмента на сервере, чтобы вы могли вставить необходимую строку JSON, вместо загрузки файла .emd. Файл .dlpk должен быть сохранен локально. Он содержит путь к файлу двоичной модели глубокого обучения, путь к используемой растровой функции Python и другие параметры, такие как предпочтительный размер листа или отступы. | File; String |
in_features (Дополнительный) | Входной класс объектов точек, линий или полигонов, определяющий местоположения всех объектов, которые будут классифицироваться и помечаться. Каждая строка входного класса объектов представляет отдельный пространственный или непространственный объект. Если входной класс объектов не указан, считается, что каждое входное изображение содержит один объект для классификации. Если у входного изображения или изображений есть пространственная привязка, то на выходе этого инструмента будет получен класс пространственных объектов, в котором экстент каждого изображения используется в качестве ограничивающей геометрии для любого класса объектов с метками. Если входное изображение или изображения не имеют пространственной привязки, то на выходе инструмента будет получена таблица, содержащая значения ID изображений и метки классов для каждого изображения. | Feature Class; Feature Layer |
class_label_field (Дополнительный) | Имя поля, которое будет содержать метку класса или категории в выходном классе пространственных объектов. Если имя поля не указано, то в выходном классе объектов будет сгенерировано поле ClassLabel. | String |
processing_mode (Дополнительный) | Задает как будут обработаны все растровые элементы в наборе данных мозаики или сервисе изображений. Этот параметр применяется только в том случае, если в качестве входных данных используется наборы данных мозаики или сервис изображений.
| String |
model_arguments [model_arguments,...] (Дополнительный) | Информация из параметра in_model_definition будет использована для установки значений по умолчанию для этого параметра. Аргументы различаются в зависимости от архитектуры модели. Ниже перечислены поддерживаемые аргументы модели для моделей, обученных с помощью ArcGIS. Предварительно обученные модели ArcGIS и пользовательские модели глубокого обучения могут включать дополнительные аргументы, которые поддерживаются инструментом.
| Value Table |
caption_field (Дополнительный) |
Имя поля, содержащего текст или заголовок в выходном классе объектов. Этот параметр поддерживается, только если используется модель Image Captioner. Если имя поля не указано, то в выходном классе объектов будет сгенерировано поле Caption. | String |
Пример кода
В этом примере создается новый класс объектов с полем меток для классификации поврежденных и неповрежденных домов на изображении.
# Import system modules
import arcpy
from arcpy.ia import *
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
# Execute
ClassifyObjectsUsingDeepLearning("C:/Data/Input_Image.tif",
"C:/Data/MyProject.gdb/Classified_Results", "C:/Data/BuildingDamageClassifier.emd",
"C:/Data/building_footprints.shp","Class_Label",
"PROCESS_AS_MOSAICKED_IMAGE", "padding 0;batch_size 4")
В этом примере создается новый класс объектов с полем меток для классификации поврежденных и неповрежденных домов на изображении.
# Import system modules
import arcpy
from arcpy.ia import *
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
# Define input parameters
in_raster = "C:/Classify_Objects/input_image.tif"
out_feature_class = "C:/Classify_Objects/MyProject.gdb/classified_results"
in_model_definition = "C:/Classify_Objects/BuildingDanmageClassifier.emd"
in_features = "C:/Classify_Objects/building_footprints.shp"
class_label_field = "Damaged_or_Undamaged"
model_arguments = "padding 0;batch_size 4"
process_all_raster_items = "PROCESS_AS_MOSAICKED_IMAGE"
# Execute
ClassifyObjectsUsingDeepLearning(in_raster, out_feature_class, in_model_definition,
in_features, class_label_field,
process_all_raster_items, model_arguments)