Краткая информация
Создает файл определения классификатора Esri (.ecd) с использованием определения классификации Метода опорных векторов (SVM).
Использование
Классификатор SVM обеспечивает мощный, современный метод контролируемой классификации, который способен обрабатывать сегментированные растровые входные данные или стандартное изображение. Это сравнительно новый метод классификации, который широко используется исследователями.
Для стандартных входных изображений, инструмент принимает многоканальные изображения любой битовой глубины и выполняет попиксельную классификацию SVM на основе входного файла обучающего класса пространственных объектов.
Для сегментированных растров, ключевое свойство которых установлено как Сегментированный, инструмент вычисляет индексное изображение и связанные атрибуты сегмента из сегментированного растра RGB. Атрибуты вычисляются для создания файла определения классификатора, который должен быть использован в отдельном инструменте классификации. Атрибуты для каждого сегмента могут быть вычислены для любого, поддерживаемого Esri изображения.
Есть несколько преимуществ в использовании инструмента классификатора метода SVM вместо традиционных методов классификации:
- Классификатор SVM может обрабатывать очень большие сегментированные изображения, таблица атрибутов которых может стать довольно большой, что особенно полезно при обработке изображений высокого разрешения.
- Данный метод менее восприимчив к шуму, коррелированным каналам и несбалансированному количеству и размеру обучающих местоположений в пределах каждого класса.
Любой поддерживаемый Esri растр принимается в качестве входных данных, включая растровые продукты, сегментированный растр, мозаики, сервисы изображений или наборы растровых данных в общих форматах. Сегментированные растры должны быть 8-битными с 3 каналами.
Атрибуты сегмента доступны в том случае, когда одним из входных растровых слоёв является сегментированное изображение.
Синтаксис
TrainSupportVectorMachineClassifier (in_raster, in_training_features, out_classifier_definition, {in_additional_raster}, {max_samples_per_class}, {used_attributes})
Параметр | Объяснение | Тип данных |
in_raster | Выберите набор растровых данных, который вы хотите классифицировать. Предпочтительными входными данными является 3-х канальный 8-битный сегментированный набор растровых данных, в котором все пикселы в том же сегменте имеют тот же цвет. Входными данными может также являться одноканальный 8-битный сегментированный растр в шкале серых оттенков. Если сегментированный растр недоступен, то вы можете использовать любой поддерживаемый Esri набор растровых данных. | Raster Dataset | Mosaic Dataset | Raster Layer | Mosaic Layer | Image Service Layer |
in_training_features | Класс объектов обучающей выборки должен быть создан в ArcMap. Не существует методов их создания в Python. | Feature Layer | Raster Catalog Layer |
out_classifier_definition | Это файл JSON, который содержит информацию об атрибутах, статистику, гиперплоскостные векторы и другую информацию, необходимую для классификатора. Создаётся файл с расширением .ecd. | File |
in_additional_raster (дополнительно) | Дополнительно включите вспомогательные наборы растровых данных, такие как сегментированное изображение, мультиспектральное изображение или DEM, для создания атрибутов и другой необходимой для классификации информации. | Raster Dataset | Mosaic Dataset | Raster Layer | Mosaic Layer | Image Service Layer |
max_samples_per_class (дополнительно) | Максимальное количество образцов для определения каждого класса. Когда входными данными являются несегментированные растры, то рекомендуется использовать значение по умолчанию 100. Значение, которое меньше или равно 0, означает, что система будет использовать все образцы из обучающих местоположений для обучения классификатора. | Long |
used_attributes used_attributes;used_attributes (дополнительно) | Укажите атрибуты, которые будут включены в связанную с выходным растром таблицу атрибутов. Это параметр активен только в тех случаях, когда ключевое свойство SEGMENTED для входного растра установлено в значение истины. Если для входных данных инструмента используется только сегментированное изображение, то атрибутами по умолчанию будут COLOR, COUNT, COMPACTNESS и RECTANGULARITY. Если в качестве входных данных вместе с сегментированным изображением также используется in_additional_raster, то тогда MEAN и STD будут доступны как опции.
| String |
Пример кода
TrainSupportVectorClassifier, пример 1 (окно Python)
Данный пример окна Python использует классификатор SVM для классификации сегментированного растра.
import arcpy
from arcpy.sa import *
arcpy.gp.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")
TrainSupportVectorClassifier, пример 2 (автономный скрипт)
Данный скрипт Python использует классификатор SVM для классификации сегментированного растра.
# Import system modules
import arcpy
from arcpy.sa import *
# 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 Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
#Execute
arcpy.gp.TrainSupportVectorMachineClassifier(
inSegRaster, train_features, out_definition,
in_additional_raster, maxNumSamples, attributes)
Параметры среды
- Сжатие (Compression)
- Текущая рабочая область (Current Workspace)
- Экстент (Extent)
- NoData
- Выходное ключевое слово CONFIG (Output CONFIG Keyword)
- Выходная система координат (Output Coordinate System)
- Коэффициент параллельной обработки (Parallel Processing Factor)
- Пирамидные слои (Pyramid)
- Статистика растра (Raster Statistics)
- Временная рабочая область (Scratch Workspace)
- Растр привязки (Snap Raster)