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

Сводка

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

Иллюстрация

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

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

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

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

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

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

Синтаксис

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

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

Raster Layer; Image Service; MapServer; 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

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

NameОбъяснениеТип данных
outObjects

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

Набор объектов

Пример кода

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

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

import arcpy

arcpy.ClassifyObjectsUsingDeepLearning_ra(
	"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.ClassifyObjectsUsingDeepLearning_ra(inputRaster, inputFeatures, 
	inputModel, outputName, modelArguments, classLabelField , processingMode)

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

  • Basic: Требуется ArcGIS Image Server
  • Standard: Требуется ArcGIS Image Server
  • Advanced: Требуется ArcGIS Image Server