Классификация объектов с использованием глубокого обучения (Анализ растра)

Краткая информация

Запускает обученную модель глубокого обучения на входном растре и дополнительном классе пространственных объектов для создания класса объектов или таблицы, где у каждого входного объекта имеется назначенный класс или надпись категории.

Иллюстрация

Иллюстрация инструмента Классифицировать объекты при помощи глубокого обучения

Использование

  • Параметры среды сервера анализа растров Python должны быть настроены с соответствующим API среды глубокого обучения Python, таким как Tensorflow, CNTK и т.п.

  • Когда этот инструмент запущен, сервер анализа растров вызывает сторонний API глубокого обучения Python (например, TensorFlow или CNTK) и использует указанную растровую функцию Python для обработки каждого растрового листа.

  • Входная модель данного инструмента будет брать элемент пакета глубокого обучения (файл .dlpk) с портала.

  • После выбора или указания входной модели инструмент получит информацию о аргументах модели с сервера анализа растров. Инструмент может не получить такую информацию, если входная модель недействительна или сервер анализа растров неправильно настроен для работы со средой глубокого обучения.

Параметры

ПодписьОписаниеТип данных
Входной растр

Входное изображение для классификации. В качестве изображения может использоваться URL сервиса изображений, растровый слой, сервис изображений, слой картографического сервера или веб-слой, разделенный на листы.

Raster Layer; Image Service; Map Server; Map Server Layer; Internet Tiled Layer; String
Входная модель

Модель глубокого обучения, которая будет использоваться для классификации объектов на входном изображении. В качестве входных данных используется URL пакета глубокого обучения (.dlpk), который содержит путь к файлу двоичной модели глубокого обучения, путь к используемой растровой функции Python и другие параметры, такие как предпочтительный размер листа или отступы.

File
Выходное имя

Имя сервиса объектов, содержащего классифицированные объекты.

String
Входные объекты
(Дополнительный)

Сервис объектов, определяющий местоположение каждого объекта или объекта, подлежащего классификации и надписыванию. Каждая строка входного сервиса объектов представляет отдельный пространственный или непространственный объект.

Если входной сервис объектов не задан, то каждое входное изображение будет классифицировано как отдельный объект. Если у входного изображения или изображений есть пространственная привязка, то на выходе этого инструмента будет получен класс векторных объектов, в котором экстент каждого изображения используется в качестве ограничивающей геометрии для любого подписанного класса векторных объектов. Если входное изображение или изображения не имеют пространственной привязки, то на выходе инструмента будет получена таблица, содержащая значения ID изображений и надписи классов для каждого изображения.

Feature Layer; Map Server Layer; String
Аргументы модели
(Дополнительный)

Аргументы функций модели, используемые для классификации. Они задаются в классе растровой функции Python, на который ссылается входная модель. Там перечисляются дополнительные параметры глубокого обучения и аргументы для экспериментов и улучшения, например, порог достоверности для настройки чувствительности. Названия аргументов заполняются инструментом из модуля Python на сервере Аналитики растра.

Value Table
Поле класса надписи
(Дополнительный)

Имя поля, которое будет содержать надпись класса или категории в выходном классе пространственных объектов.

Если имя поля не указано, то в выходном классе пространственных объектов будет сгенерировано новое поле с именем ClassLabel.

String
Режим обработки
(Дополнительный)

Задает как будут обработаны все растровые элементы в наборе данных мозаики или сервисе изображений. Этот параметр применяется только в том случае, если в качестве входных данных используется наборы данных мозаики или сервис изображений.

  • Обработка как мозаики изображенийВсе растровые элементы в наборе данных мозаики или сервисе изображений будут объединены в мозаику и обработаны. Используется по умолчанию.
  • Обработка всех растровых элементов отдельноВсе растровые элементы в наборе данных мозаики или сервисе изображений будут обработаны как отдельные изображения.
String

Производные выходные данные

ПодписьОписаниеТип данных
Выходные объекты

Выходной набор объектов.

Feature Set

arcpy.ra.ClassifyObjectsUsingDeepLearning(inputRaster, inputModel, outputName, {inputFeatures}, {modelArguments}, {classLabelField}, {processingMode})
ИмяОписаниеТип данных
inputRaster

Входное изображение для классификации. В качестве изображения может использоваться URL сервиса изображений, растровый слой, сервис изображений, слой картографического сервера или веб-слой, разделенный на листы.

Raster Layer; Image Service; Map Server; Map Server Layer; Internet Tiled Layer; String
inputModel

Модель глубокого обучения, которая будет использоваться для классификации объектов на входном изображении. В качестве входных данных используется URL пакета глубокого обучения (.dlpk), который содержит путь к файлу двоичной модели глубокого обучения, путь к используемой растровой функции Python и другие параметры, такие как предпочтительный размер листа или отступы.

File
outputName

Имя сервиса объектов, содержащего классифицированные объекты.

String
inputFeatures
(Дополнительный)

Сервис объектов, определяющий местоположение каждого объекта или объекта, подлежащего классификации и надписыванию. Каждая строка входного сервиса объектов представляет отдельный пространственный или непространственный объект.

Если входной сервис объектов не задан, то каждое входное изображение будет классифицировано как отдельный объект. Если у входного изображения или изображений есть пространственная привязка, то на выходе этого инструмента будет получен класс векторных объектов, в котором экстент каждого изображения используется в качестве ограничивающей геометрии для любого подписанного класса векторных объектов. Если входное изображение или изображения не имеют пространственной привязки, то на выходе инструмента будет получена таблица, содержащая значения ID изображений и надписи классов для каждого изображения.

Feature Layer; Map Server Layer; String
modelArguments
[modelArguments,...]
(Дополнительный)

Аргументы функций модели, используемые для классификации. Они задаются в классе растровой функции Python, на который ссылается входная модель. Там перечисляются дополнительные параметры глубокого обучения и аргументы для экспериментов и улучшения, например, порог достоверности для настройки чувствительности. Названия аргументов заполняются инструментом из модуля Python на сервере Аналитики растра.

Value Table
classLabelField
(Дополнительный)

Имя поля, которое будет содержать надпись класса или категории в выходном классе пространственных объектов.

Если имя поля не указано, то в выходном классе пространственных объектов будет сгенерировано новое поле с именем ClassLabel.

String
processingMode
(Дополнительный)

Задает как будут обработаны все растровые элементы в наборе данных мозаики или сервисе изображений. Этот параметр применяется только в том случае, если в качестве входных данных используется наборы данных мозаики или сервис изображений.

  • PROCESS_AS_MOSAICKED_IMAGEВсе растровые элементы в наборе данных мозаики или сервисе изображений будут объединены в мозаику и обработаны. Используется по умолчанию.
  • PROCESS_ITEMS_SEPARATELYВсе растровые элементы в наборе данных мозаики или сервисе изображений будут обработаны как отдельные изображения.
String

Производные выходные данные

ИмяОписаниеТип данных
outObjects

Выходной набор объектов.

Feature Set

Пример кода

ClassifyObjectsUsingDeepLearning, пример 1 (окно Python)

Этот пример классифицирует объекты в растре на основе модели классификации с использованием глубокого обучения в развертывании анализа растров и публикует растр в качестве размещенного слоя изображений на вашем портале.

import arcpy

arcpy.ra.ClassifyObjectsUsingDeepLearning(
	"https://myserver/rest/services/Buildings/ImageServer", 
	"https://myserver/rest/services/Hosted/BuildingFootprints/FeatureServer/0",
	"https://myportal/sharing/rest/content/items/itemId", "BuildingDamage",
	"batch_size 4", "ClassLabel","PROCESS_AS_MOSAICKED_IMAGE")
ClassifyObjectsUsingDeepLearning, пример 2 (автономный скрипт)

Этот пример классифицирует объекты в растре на основе модели классификации с использованием глубокого обучения в развертывании анализа растров и публикует растр в качестве размещенного слоя изображений на вашем портале.

#---------------------------------------------------------------------------
# Name: ClassifyObjectsUsingDeepLearning_example02.py
# Requirements: ArcGIS Image Server
# Import system modules
import arcpy

# Set local variables
inputRaster = "https://myserver/rest/services/Buildings/ImageServer"
inputFeatures = "https://myserver/rest/services/Hosted/BuildingFootprints/FeatureServer/0"
inputModel = "https://myportal/sharing/rest/content/items/itemId"
outputName = "BuildingDamage"
modelArguments = "batch_size 4"
classLabelField = "ClassLabel"
processingMode = "PROCESS_AS_MOSAICKED_IMAGE"

# Execute Classify Objects Using Deep Learning 
arcpy.ra.ClassifyObjectsUsingDeepLearning(inputRaster, inputFeatures, 
	inputModel, outputName, modelArguments, classLabelField , processingMode)

Информация о лицензиях

  • Basic: Обязательно ArcGIS Image Server
  • Standard: Обязательно ArcGIS Image Server
  • Advanced: Обязательно ArcGIS Image Server