Доступно с лицензией Spatial Analyst.
Доступно с лицензией Image Analyst.
Сводка
Создает файл определения классификатора Esri (.ecd) с использованием определения классификации Метода опорных векторов (SVM).
Использование
Классификатор SVM - мощный способ классификации с обучением. Он отлично подходит для сегментированных входных растров, но может работать и со стандартными изображениями. Это метод классификации, который широко используется исследователями.
Для стандартных входных изображений, инструмент принимает многоканальные изображения любой битовой глубины и выполняет попиксельную классификацию SVM на основе входного файла обучающего класса пространственных объектов.
Для сегментированных растров, ключевое свойство которых задано как Сегментированный, инструмент вычисляет индексное изображение и связанные атрибуты сегмента из сегментированного растра RGB. Атрибуты вычисляются для создания файла определения классификатора, который должен быть использован в отдельном инструменте классификации. Атрибуты для каждого сегмента могут быть вычислены для любого, поддерживаемого Esri изображения.
У классификатора SVM есть ряд преимуществ по сравнению с классификатором методом максимального правдоподобия:
- Для классификатора SVM необходимо гораздо меньше выборок, и для него не требуется нормальное распределение выборок.
- Данный метод менее восприимчив к шуму, коррелированным каналам и несбалансированному количеству и размеру обучающих местоположений в пределах каждого класса.
Любой поддерживаемый Esri растр принимается в качестве входных данных, включая растровые продукты, сегментированные растры, мозаики, сервисы изображений или наборы растровых данных в общих форматах. Сегментированные растры должны быть 8-битными с 3 каналами.
Чтобы создать файл обучающей выборки, используйте панель Менеджер обучающей выборки в раскрывающемся меню Инструменты классификации.
Параметр Атрибуты сегмента включен только в том случае, когда одним из входных растровых слоев является сегментированное изображение.
Чтобы классифицировать серии растровых данных с помощью алгоритма Выявление непрерывных изменений и классификация (CCDC), сначала запустите инструмент Анализировать изменения с помощью CCDC и используйте выходной растр анализа изменений в качестве входного набора данных для этого инструмента обучения.
Образец обучающих данных должен быть собран несколько раз с помощью Менеджера обучающей выборки. Значения измерения для каждого образца будут указаны в поле в классе объектов обучающей выборки, которое указано в параметре Поле значения измерения.
Синтаксис
TrainSupportVectorMachineClassifier(in_raster, in_training_features, out_classifier_definition, {in_additional_raster}, {max_samples_per_class}, {used_attributes}, {dimension_value_field})
Parameter | Объяснение | Тип данных |
in_raster | Набор растровых данных для классификации. Предпочтительными входными данными является 3-х канальный 8-битный сегментированный набор растровых данных, в котором все пикселы в том же сегменте имеют тот же цвет. Входными данными может также являться одноканальный 8-битный сегментированный растр в шкале серых оттенков. Если сегментированный растр недоступен, то вы можете использовать любой поддерживаемый Esri набор растровых данных. | 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_samples_per_class (Дополнительный) | Максимальное количество образцов для определения каждого класса. Когда входными данными являются несегментированные растры, то рекомендуется использовать значение по умолчанию 500. Значение, которое меньше или равно 0, означает, что система будет использовать все образцы из обучающих местоположений для обучения классификатора. | Long |
used_attributes [used_attributes;used_attributes,...] (Дополнительный) | Укажите атрибуты, которые будут включены в связанную с выходным растром таблицу атрибутов.
Это параметр активен только в тех случаях, когда для входного растра выбран ключевой параметр Сегментированный (Segmented). Если для входных данных инструмента используется только сегментированное изображение, то атрибутами по умолчанию будут COLOR, COUNT, COMPACTNESS и RECTANGULARITY. Если в качестве входных данных вместе с сегментированным изображением также используется in_additional_raster, то тогда также будут доступны атрибуты MEAN и STD. | String |
dimension_value_field (Дополнительный) | Содержит значения измерений во входном классе объектов обучающей выборки. Этот параметр необходим для классификации временных серий растровых данных с использованием выходного растра анализа изменений, полученного в результате работы инструмента Анализировать изменения с помощью CCDC. | Field |
Пример кода
Данный пример окна Python использует классификатор SVM для классификации сегментированного растра.
import arcpy
from arcpy.ia import *
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
TrainSupportVectorMachineClassifier("c:/test/moncton_seg.tif", "c:/test/train.gdb/train_features", "c:/output/moncton_sig_SVM.ecd", "c:/test/moncton.tif",
"10", "COLOR;MEAN;STD;COUNT;COMPACTNESS;RECTANGULARITY")
Данный скрипт Python использует классификатор SVM для классификации сегментированного растра.
# Import system modules
import arcpy
from arcpy.ia import *
""" 'TrainSupportVectorMachineClassifier(in_raster, in_training_features, out_classifier_definition, {in_additional_raster},
{max_num_samples_per_class}, {used_attributes})
"""
# Set local variables
inSegRaster = "c:/test/moncton_seg.tif"
train_features = "c:/test/train.gdb/train_features"
out_definition = "c:/output/moncton_sig.ecd"
in_additional_raster = "c:/moncton.tif"
maxNumSamples = "10"
attributes = "COLOR;MEAN;STD;COUNT;COMPACTNESS;RECTANGULARITY"
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
#Execute
TrainSupportVectorMachineClassifier(inSegRaster, train_features, out_definition, in_additional_raster,
maxNumSamples, attributes)
Этот скрипт Python использует классификатор SVM для классификации многомерных растров временных серий с использованием результата работы инструмента Анализировать изменения с помощью CCDC.
# Import system modules
import arcpy
from arcpy.ia import *
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
# Define input parameters
in_changeAnalysisRaster = "c:/test/LandsatCCDC.crf"
train_features = "c:/test/train.gdb/train_features"
out_definition = "c:/output/change_detection.ecd"
additional_raster = ''
attributes = None
dimension_field = "DateTime"
# Execute
arcpy.ia.TrainSupportVectorMachineClassifier(
in_changeAnalysisRaster, train_features, out_definition,
additional_raster, attributes, dimension_field)
Environments
Информация о лицензиях
- Basic: Требуется Image Analyst or Spatial Analyst
- Standard: Требуется Image Analyst or Spatial Analyst
- Advanced: Требуется Image Analyst or Spatial Analyst