Подпись | Описание | Тип данных |
Входной растр | Входное изображение, которое будет использоваться для классификации объектов. Входными данными может быть единичный растр или несколько растров из набора данных мозаики, сервис изображений или папка с изображениями, либо класс пространственных объектов со вложениями изображений. | 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 Pro Python; в противном случае при добавлении файла определения модели Esri в инструмент появится сообщение об ошибке. Соответствующую информацию о нужной среде должен предоставить автор файла определения модели Esri.
Чтобы настроить компьютер на работу в среде глубокого обучения в ArcGIS Pro, см. раздел Установка сред глубокого обучения для 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.
Этот инструмент поддерживает и использует несколько графических процессоров, если они имеются. Чтобы использовать определенный графический процессор, задайте параметр среды GPU ID. Если GPU ID не задан, инструмент использует все доступные графические процессоры. Эта опция используется по умолчанию.
Информацию о требованиях к запуску этого инструмента и проблемах, с которыми вы можете столкнуться, см. в разделе Часто задаваемые вопросы по глубокому обучению.
Дополнительную информацию о глубоком обучении см. в разделе Глубокое обучение с помощью дополнительного модуля 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)
Параметры среды
Информация о лицензиях
- Basic: Обязательно Image Analyst
- Standard: Обязательно Image Analyst
- Advanced: Обязательно Image Analyst
Связанные разделы
- Обзор группы инструментов Глубокое обучение
- Установка среды глубокого обучения для ArcGIS
- Тренировать модель глубокого обучения
- Аргументы глубокого обучения
- Архитектура моделей глубокого обучения
- Поиск инструмента геообработки
- Выявить объекты при помощи глубокого обучения
- Экспорт обучающих данных для глубокого обучения
- Классификация объектов