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

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

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

Иллюстрация

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

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

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

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

  • Параметр Input Model будет использовать только элемент пакета глубокого обучения (.dlpk) из портала.

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

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

  • Дополнительную информацию о глубоком обучении см. в разделе Глубокое обучение в ArcGIS Pro.

Параметры

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

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

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

Входной моделью может быть файл или URL элемента пакета глубокого обучения (.dlpk) из портала.

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

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

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

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

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

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

  • Не отмечено – в выходной класс объектов будут помещены все обнаруженные объекты. Это значение по умолчанию
  • Отмечено – дубликаты обнаруженных объектов будут удалены.

Boolean
Поле балла достоверности
(Дополнительный)

Поле сервиса пространственных объектов, содержащее баллы достоверности, которые будут использоваться в качестве выходных данных при выявлении объектов.

Данный параметр необходим, если Немаксимальное подавление параметр отмечен.

String
Поле значений класса
(Дополнительный)

Имя поля значений класса в сервисе объектов.

Если имя поля не задано, будет использоваться поле Classvalue или Value. Если эти поля отсутствуют, все записи будут считаться принадлежащими одному классу.

String
Коэффициент максимального перекрытия
(Дополнительный)

Коэффициент максимального перекрытия для двух перекрывающихся объектов, который определяется как отношение площади пересечения к площади объединения. По умолчанию - 0.

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

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

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

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

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

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

Feature Class

arcpy.ra.DetectObjectsUsingDeepLearning(inputRaster, inputModel, outputName, {modelArguments}, {runNMS}, {confidenceScoreField}, {classValueField}, {maxOverlapRatio}, {processingMode})
ИмяОписаниеТип данных
inputRaster

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

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

Входной моделью может быть файл или URL элемента пакета глубокого обучения (.dlpk) из портала.

File
outputName

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

String
modelArguments
[modelArguments,...]
(Дополнительный)

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

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

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

  • NO_NMSВ выходной класс объектов будут помещены все обнаруженные объекты. Это значение по умолчанию
  • NMSДубликаты обнаруженных объектов будут удалены.
Boolean
confidenceScoreField
(Дополнительный)

Поле сервиса пространственных объектов, содержащее баллы достоверности, которые будут использоваться в качестве выходных данных при выявлении объектов.

Данный параметр необходим, если для параметра NMS используется ключевое слово runNMS.

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

Имя поля значений класса в сервисе объектов.

Если имя поля не задано, будет использоваться поле Classvalue или Value. Если эти поля отсутствуют, все записи будут считаться принадлежащими одному классу.

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

Коэффициент максимального перекрытия для двух перекрывающихся объектов, который определяется как отношение площади пересечения к площади объединения. По умолчанию - 0.

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

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

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

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

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

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

Feature Class

Пример кода

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

В этом примере создается размещенный векторный слой на портале на основе обнаружения объектов с помощью инструмента DetectObjectsUsingDeepLearning.

import arcpy
arcpy.DetectObjectsUsingDeepLearning_ra(
        "https://myserver/rest/services/Farm/ImageServer",
        "https://myportal/sharing/rest/content/items/itemId", "detectedTrees",
"score_threshold 0.6;padding 0", "NO_NMS")
DetectObjectsUsingDeepLearning, пример 2 (автономный скрипт)

В этом примере создается размещенный векторный слой на портале на основе обнаружения объектов с помощью инструмента DetectObjectsUsingDeepLearning.

#---------------------------------------------------------------------------
# Name: DetectObjectsUsingDeepLearning_example02.py
# Requirements: ArcGIS Image Server
# Import system modules
import arcpy
# Set local variables
inImage = "https://myserver/rest/services/coconutFarmImage/ImageServer"
inModel = "https://myportal/sharing/rest/content/items/itemId"
outName = "detectedTrees"
modelArgs = "score_threshold 0.6;padding 0"
runNMS = "NMS"
confScoreField = "Confidence"
classVField = "Class"
maxOverlapRatio = 0.15 
# Execute Detect Objects Using raster analysis tool
arcpy.DetectObjectsUsingDeepLearning_ra(inImage, inModel, outName, modelArgs,
runNMS, confScoreField, ClassVField, maxOverlapRatio)

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

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

Связанные разделы