ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Справка
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Картографическая платформа вашей организации

ArcGIS Desktop

Полноценная профессиональная ГИС

ArcGIS Enterprise

ГИС предприятия

ArcGIS for Developers

Инструменты для встраивания приложений с местоположениями

ArcGIS Solutions

Бесплатные шаблоны карт и приложений для отрасли

ArcGIS Marketplace

Получение приложения и данных для вашей организации.

  • Документация
  • Поддержка
Esri
  • Войти
user
  • Мой профиль
  • Выход

ArcMap

  • На главную
  • Начало работы
  • Карта
  • Анализ
  • Управление данными
  • Инструменты
  • Дополнительные модули

Классификатор произвольных деревьев с обучением

Доступно с лицензией Spatial Analyst.

  • Сводка
  • Использование
  • Синтаксис
  • Пример кода
  • Environments
  • Информация о лицензиях

Сводка

Создает файл определения классификатора Esri (.ecd) с использованием метода классификации Случайных деревьев.

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

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

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

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

  • Любой поддерживаемый Esri растр принимается в качестве входных данных, включая растровые продукты, сегментированные растры, мозаики, сервисы изображений или наборы растровых данных в общих форматах. Сегментированные растры должны быть 8-битными с 3 каналами.

  • Чтобы создать файл обучающей выборки, используйте Менеджер обучающей выборки на панели инструментов Классификация изображений. Более подробную информацию об использовании панели инструментов Классификация изображений см. в разделе Что такое классификация изображений?

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

Синтаксис

TrainRandomTreesClassifier(in_raster, in_training_features, out_classifier_definition, {in_additional_raster}, {max_num_trees}, {max_tree_depth}, {max_samples_per_class}, {used_attributes})
ParameterОбъяснениеТип данных
in_raster

Набор растровых данных для классификации.

Можно использовать любой поддерживаемый Esri набор растровых данных. Допустимым является 3-х канальный 8-битный сегментированный набор растровых данных, в котором все пикселы в том же сегменте имеют тот же цвет. Входными данными может также являться одноканальный 8-битный сегментированный растр в шкале серых оттенков.

Raster Layer; Mosaic Layer; Image Service; String
in_training_features

Выберите файл обучающей выборки или слой, который определяет районы обучающей выборки.

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

  • classname – текстовое поле с указанием имени категории класса.
  • classvalue – поле типа long integer, содержащее целочисленное значение для каждой категории класса.

Feature Layer; Raster Catalog Layer
out_classifier_definition

Файл JSON, который содержит информацию об атрибутах, статистику и другую информацию, необходимую для классификатора. Создается файл с расширением .ecd.

File
in_additional_raster
(Дополнительный)

Добавьте вспомогательные наборы растровых данных, такие как спектрозональное изображение или ЦМР, для создания атрибутов и другой необходимой для классификатора информации. Это дополнительный параметр.

Raster Layer; Mosaic Layer; Image Service; String
max_num_trees
(Дополнительный)

Максимальное количество деревьев в лесу. Увеличение числа деревьев приведет к большей точности оценки, но в какой-то момент эти улучшения сойдут на нет. Число деревьев пропорционально увеличивает время обработки.

Long
max_tree_depth
(Дополнительный)

Максимальная глубина каждого дерева в лесу. Глубина – другой способ задания количества правил, допустимых для каждого создаваемого дерева, с целью принятия решения. Деревья не будут расти глубже этого параметра.

Long
max_samples_per_class
(Дополнительный)

Максимальное количество образцов для определения каждого класса.

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

Long
used_attributes
[used_attributes;used_attributes,...]
(Дополнительный)

Укажите атрибуты, которые будут включены в связанную с выходным растром таблицу атрибутов.

  • COLOR —Значения цвета RGB , полученные их входного растра на основе каждого сегмента.
  • MEAN —Средний цифровой номер (DN), выведенный из дополнительного пиксельного изображения, на основе каждого сегмента.
  • STD —Среднеквадратическое отклонение, полученное из дополнительного пиксельного изображения, на основе каждого сегмента.
  • COUNT —Число пикселов, составляющих сегмент, на основе каждого сегмента.
  • COMPACTNESS —Соединяет сегменты, которые были разрезаны границами листов в процессе сегментации. Значения находятся в диапазоне от 0 до 1, где 1 соответствует кругу.
  • RECTANGULARITY —Степень, определяющая, насколько сегмент является прямоугольным, на основе каждого сегмента. Значения находятся в диапазоне от 0 до 1, где 1 соответствует прямоугольнику.

Это параметр активен только в тех случаях, когда для входного растра выбран ключевой параметр Сегментированный (Segmented). Если для входных данных инструмента используется только сегментированное изображение, то атрибутами по умолчанию будут COLOR, COUNT, COMPACTNESS и RECTANGULARITY. Если в качестве входных данных вместе с сегментированным изображением также используется in_additional_raster, то тогда также будут доступны атрибуты MEAN и STD.

String

Пример кода

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

Пример скрипта Python для инструмента TrainRandomTreesClassifier.

import arcpy
from arcpy.sa import *

TrainRandomTreesClassifier("c:/test/moncton_seg.tif",
                           "c:/test/train.gdb/train_features",
                           "c:/output/moncton_sig_SVM.ecd",
                           "c:/test/moncton.tif", "50", "30", "1000",
                           "COLOR;MEAN;STD;COUNT;COMPACTNESS;RECTANGULARITY")
TrainRandomTreesClassifier, пример 2 (автономный скрипт)

Это пример скрипта Python для инструмента TrainRandomTreesClassifier.

# Import system modules
import arcpy
from arcpy.sa import *

# Set local variables
inSegRaster = "c:/test/cities_seg.tif"
train_features = "c:/test/train.gdb/train_features"
out_definition = "c:/output/cities_sig.ecd"
in_additional_raster = "c:/cities.tif"
maxNumTrees = "50"
maxTreeDepth = "30"
maxSampleClass = "1000"
attributes = "COLOR;MEAN;STD;COUNT;COMPACTNESS;RECTANGULARITY"

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

# Execute
TrainRandomTreesClassifier(inSegRaster, train_features,
                           out_definition, in_additional_raster, maxNumTrees,
                           maxTreeDepth, maxSampleClass, attributes)

Environments

  • Текущая рабочая область
  • Экстент
  • Географические преобразования
  • Выходная система координат
  • Временная рабочая область
  • Растр привязки

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

  • Basic: Требуется Spatial Analyst
  • Standard: Требуется Spatial Analyst
  • Advanced: Требуется Spatial Analyst

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

  • Обзор группы инструментов Сегментация и классификация
  • Что такое классификация изображений?

ArcGIS Desktop

  • На главную
  • Документация
  • Поддержка

ArcGIS Platform

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Об Esri

  • О нас
  • Карьера
  • Блог Esri
  • Конференция пользователей
  • Саммит разработчиков
Esri
Расскажите нам, что вы думаете.
Copyright © 2019 Esri. | Конфиденциальность | Правовая информация