Подпись | Описание | Тип данных |
Входной растр | Набор растровых данных для классификации. Можно использовать любой поддерживаемый Esri набор растровых данных. Допустимым является 3-х канальный 8-битный сегментированный набор растровых данных, в котором все пикселы в том же сегменте имеют тот же цвет. Входными данными может также являться одноканальный 8-битный сегментированный растр в шкале серых оттенков. | Raster Layer; Mosaic Layer; Image Service; String |
Входной файл обучающей выборки | Файл обучающей выборки или слой, который определяет районы обучающей выборки. Это могут быть либо шейп-файлы, либо классы объектов, которые содержат обучающие выборки. В файле обучающей выборки должны быть поля со следующими именами:
| Feature Layer |
Выходной файл определения классификатора | Файл JSON, который содержит информацию об атрибутах, статистику и другую информацию, необходимую для классификатора. Создан файл .ecd. | File |
Дополнительный входной растр (Дополнительный) | Вспомогательные наборы растровых данных, такие как мультиспектральный снимок или ЦМР, будут добавлены для создания атрибутов и другой необходимой для классификатора информации. Это дополнительный параметр. | Raster Layer; Mosaic Layer; Image Service; String |
Максимальное число деревьев (Дополнительный) | Максимальное количество деревьев в лесу. Увеличение числа деревьев приведет к большей точности оценки, но в какой-то момент эти улучшения сойдут на нет. Число деревьев пропорционально увеличивает время обработки. | Long |
Максимальная глубина дерева (Дополнительный) | Максимальная глубина каждого дерева в лесу. Глубина – другой способ задания количества правил, допустимых для каждого создаваемого дерева, с целью принятия решения. Деревья не будут расти глубже этого параметра. | Long |
Максимальное число образцов в классе (Дополнительный) | Максимальное число образцов в классе, которые будут использоваться для определения каждого класса. Когда входными данными являются несегментированные растры, то рекомендуется использовать значение по умолчанию 1000. Значение, которое меньше или равно 0, означает, что система будет использовать все образцы из обучающих местоположений для обучения классификатора. | Long |
Атрибуты сегмента (Дополнительный) | Укажите атрибуты, которые будут включены в связанную с выходным растром таблицу атрибутов. Это параметр активен только в тех случаях, когда для входного растра выбран ключевой параметр Сегментированный. Если для входных данных инструмента используется только сегментированное изображение, то атрибутами по умолчанию будут Converged color, Count of pixels, Compactness и Rectangularity. Если в качестве входных данных вместе с сегментированным изображением также используется значение Дополнительный входной растр, то тогда также будут доступны атрибуты Среднее число и Стандартное отклонение.
| String |
Поле значения измерения (Дополнительный) | Содержит значения измерений во входном классе объектов обучающей выборки. Этот параметр требуется для классификации растровых данных временных рядов с помощью выходного растра анализа изменений из инструмента Анализ изменений с помощью CCDC в наборе инструментов Image Analyst. | Field |
Доступно с лицензией Spatial Analyst.
Доступно с лицензией Image Analyst.
Краткая информация
Создает файл определения классификатора Esri (.ecd) с использованием метода классификации произвольных деревьев.
Классификатор произвольных деревьев – мощный механизм классификации изображений, устойчивый к чрезмерной подгонке и способный работать с сегментированными изображениями и другими дополнительными наборами растровых данных. В качестве стандартных входных изображений инструмент принимает многоканальные изображения любой битовой глубины и выполняет классификацию методом произвольных деревьев по пикселам или сегментам на основе входного файла обучающих объектов.
Использование
Метод классификации Произвольные деревья - это набор отдельных деревьев решений, в котором каждое дерево создается на основе разных выборок и поднаборов обучающих данных. В основе идеи названия этих решений деревьями лежит то, что для каждого классифицируемого пиксела число решений производится в порядке важности. В графическом представлении для пиксела это выглядит как ветвь. При классификации всего набора данных, эти ветви формируют дерево. Этот метод называется произвольными деревьями, поскольку набор данных классифицируется несколько раз на базе случайного поднабора пикселов для обучения, это приводит к появлению нескольких деревьев решений. Для принятия окончательного решения каждому дереву присваиваются баллы. Это делается во избежание чрезмерной подгонки. Метод классификации Произвольные деревья - это алгоритм классификации изображений с обучением, основанный на создании множества деревьев решений, выборе случайных поднаборов переменных каждого дерева и использовании наиболее часто встречающегося дерева в качестве выходных данных классификации. Метод классификации Произвольные деревья корректирует склонность деревьев решений к переобучению своими обучающими выборками. В этом методе, по аналогии с лесом, число построенных деревьев и различия между ними получаются путем проецирования обучающих данных в случайное подпространство перед созданием каждого дерева. Решение для каждого узла оптимизируется случайной процедурой.
Для сегментированных растров, ключевое свойство которых задано как Сегментированный, инструмент вычисляет индексное изображение и связанные атрибуты сегмента из сегментированного растра RGB. Атрибуты вычисляются для создания файла определения классификатора, который должен быть использован в отдельном инструменте классификации. Атрибуты для каждого сегмента могут быть вычислены для любого, поддерживаемого Esri изображения.
Любой поддерживаемый Esri растр принимается в качестве входных данных, включая растровые продукты, сегментированные растры, мозаики, сервисы изображений или наборы растровых данных в общих форматах. Сегментированные растры должны быть 8-битными с 3 каналами.
Чтобы создать файл обучающей выборки, используйте панель Менеджер обучающей выборки в раскрывающемся меню Инструменты классификации.
Параметр Атрибуты сегмента активен только в том случае, когда одним из входных растровых слоёв является сегментированное изображение.
Необходим двухшаговый процесс, чтобы классифицировать растровые данные временных рядов с помощью алгоритма Непрерывное определение и классификаций изменений (CCDC). Сначала запустите инструмент Анализировать изменения с помощью CCDC, который доступен с лицензией дополнительного модуля Image Analyst. Далее используйте результаты как входные данные для этого инструмента обучения.
Образец обучающих данных должен быть собран несколько раз с помощью Менеджера обучающей выборки. Значения измерения для каждого образца будут указаны в поле в классе объектов обучающей выборки, которое указано в параметре Поле значения измерения.
Параметры
TrainRandomTreesClassifier(in_raster, in_training_features, out_classifier_definition, {in_additional_raster}, {max_num_trees}, {max_tree_depth}, {max_samples_per_class}, {used_attributes}, {dimension_value_field})
Имя | Описание | Тип данных |
in_raster | Набор растровых данных для классификации. Можно использовать любой поддерживаемый Esri набор растровых данных. Допустимым является 3-х канальный 8-битный сегментированный набор растровых данных, в котором все пикселы в том же сегменте имеют тот же цвет. Входными данными может также являться одноканальный 8-битный сегментированный растр в шкале серых оттенков. | Raster Layer; Mosaic Layer; Image Service; String |
in_training_features | Файл обучающей выборки или слой, который определяет районы обучающей выборки. Это могут быть либо шейп-файлы, либо классы объектов, которые содержат обучающие выборки. В файле обучающей выборки должны быть поля со следующими именами:
| Feature 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, COUNT, COMPACTNESS и RECTANGULARITY. Если в качестве входных данных вместе с сегментированным изображением также используется in_additional_raster, то тогда также будут доступны атрибуты MEAN и STD. | String |
dimension_value_field (Дополнительный) | Содержит значения измерений во входном классе объектов обучающей выборки. Этот параметр требуется для классификации растровых данных временных рядов с помощью выходного растра анализа изменений из инструмента Анализ изменений с помощью CCDC в наборе инструментов Image Analyst. | Field |
Пример кода
Пример скрипта 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")
Это пример скрипта 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)
Этот пример показывает, как обучить классификатор с помощью растра анализа изменений, полученного с помощью инструмента Image Analyst Анализировать изменения с помощью CCDC.
# Import system modules
import arcpy
from arcpy.sa import *
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Set local variables
in_changeAnalysisRaster = "c:/test/LandsatCCDC.crf"
train_features = "c:/test/train.gdb/train_features"
out_definition = "c:/output/change_detection.ecd"
additional_raster = ''
maxNumTrees = 50
maxTreeDepth = 30
maxSampleClass = 1000
attributes = None
dimension_field = "DateTime"
# Execute
arcpy.sa.TrainRandomTreesClassifier(
in_changeAnalysisRaster, train_features,
out_definition, additional_raster, maxNumTrees,
maxTreeDepth, maxSampleClass, attributes, dimension_field)
Параметры среды
Информация о лицензиях
- Basic: Обязательно Spatial Analyst или Image Analyst
- Standard: Обязательно Spatial Analyst или Image Analyst
- Advanced: Обязательно Spatial Analyst или Image Analyst