Disponible con una licencia de Spatial Analyst.
Disponible con licencia de Image Analyst.
Resumen
Genera un archivo de definición de clasificador de Esri (.ecd) utilizando la definición de clasificación de Máquina de vectores de soporte (SVM).
Uso
El clasificador SVM es un potente método de clasificación supervisado. Es idóneo para entradas de ráster segmentadas, pero también permite manejar imágenes estándar. Es un método de clasificación que se suele utilizar en la comunidad de investigación.
Para las entradas de imagen estándar, la herramienta acepta imágenes de varias bandas con cualquier profundidad de bit y realiza la clasificación de SVM por píxel, según el archivo de entidades de entrenamiento de entrada.
Para los rásteres segmentados, que tienen establecida la propiedad clave en Segmentada, la herramienta calcula la imagen de índice y los atributos de segmento asociados del ráster segmentado RGB. Se calculan los atributos para generar el archivo de definición de clasificador que se va a utilizar en una herramienta de clasificación aparte. Los atributos de cada segmento se pueden calcular desde cualquier imagen compatible con Esri.
El uso del clasificador SVM en lugar del método de clasificación de máxima probabilidad supone varias ventajas:
- El clasificador SVM necesita menos muestras y no requiere que las muestras estén distribuidas normalmente.
- Es menos susceptible al ruido, a las bandas correlacionadas y al desequilibrio entre la cantidad o el tamaño de los sitios de entrenamiento dentro de cada clase.
Se acepta como entrada cualquier ráster compatible con Esri, incluidos productos de ráster, rásteres segmentados, mosaicos, servicios de imágenes o datasets ráster genéricos. Los rásteres segmentados deben tener 8 bits y 3 bandas.
Para crear el archivo de muestra de entrenamiento, utilice el panel Administrador de muestras de entrenamiento del menú desplegable Herramientas de clasificación.
El parámetro Atributos de segmento solo está habilitado si una de las entradas de capa ráster es una imagen segmentada.
Se requiere un proceso de dos pasos para clasificar datos ráster de series temporales utilizando el algoritmo Clasificación y detección de cambios continuas (CCDC). Primero, ejecute la herramienta Analizar cambios usando CCDC, que está disponible con una licencia de extensión de Image Analyst. A continuación, utilice esos resultados como entrada de esta herramienta de entrenamiento.
Los datos de muestra de entrenamiento se deben haber recopilado en varios momentos mediante el Administrador de muestras de entrenamiento. El valor de dimensión de cada muestra aparece en un campo de la clase de entidad de muestra de entrenamiento, que se especifica en el parámetro Campo de valor de dimensión.
Sintaxis
TrainSupportVectorMachineClassifier(in_raster, in_training_features, out_classifier_definition, {in_additional_raster}, {max_samples_per_class}, {used_attributes}, {dimension_value_field})
Parámetro | Explicación | Tipo de datos |
in_raster | El dataset ráster a clasificar. La entrada preferente es un dataset ráster segmentado de 3 bandas y 8 bits en el cual todos los píxeles del mismo segmento tienen el mismo color. La entrada también puede ser un ráster segmentado en escala de grises de 1 banda y 8 bits. Si no hay disponible ningún ráster segmentado, puede utilizar cualquier dataset ráster compatible con Esri. | Raster Layer; Mosaic Layer; Image Service; String |
in_training_features | La capa o archivo de muestra de entrenamiento que delinea los sitios de entrenamiento. Estos pueden ser shapefiles o clases de entidad que contengan las muestras de entrenamiento. Los siguientes nombres de campo son obligatorios en el archivo de muestra de entrenamiento:
| Feature Layer |
out_classifier_definition | El archivo JSON de salida que contiene información de atributos, estadísticas, vectores de hiperplano y otra información requerida por el clasificador. Se crea un archivo .ecd. | File |
in_additional_raster (Opcional) | Se incorporan datasets ráster secundarios, como una imagen multiespectral o un DEM, para generar atributos y otra información requerida por la clasificación. Este parámetro es opcional. | Raster Layer; Mosaic Layer; Image Service; String |
max_samples_per_class (Opcional) | El número máximo de muestras que se van a utilizar para definir cada clase. Se recomienda el valor predeterminado de 500 cuando las entradas son rásteres no segmentados. Un valor igual o menor que 0 significa que el sistema siempre utilizará todas las muestras de los sitios de entrenamiento para preparar el clasificador. | Long |
used_attributes [used_attributes;used_attributes,...] (Opcional) | Especifica los atributos a incluir en la tabla de atributos asociada con el ráster de salida.
Este parámetro solo está habilitado si la propiedad clave Segmentado se establece en true en el ráster de entrada. Si la única entrada en la herramienta es una imagen segmentada, los atributos predeterminados son COLOR, COUNT, COMPACTNESS y RECTANGULARITY. Si se incluye un in_additional_raster como entrada junto a la imagen segmentada, también están disponibles los atributos MEAN y STD. | String |
dimension_value_field (Opcional) | Contiene valores de dimensión de la clase de entidad de muestra de entrenamiento de entrada. Este parámetro es necesario para clasificar una serie temporal de datos ráster con la salida ráster de análisis de cambios de la herramienta Analizar cambios usando CCDC de la caja de herramientas Image Analyst. | Field |
Muestra de código
En este ejemplo de Python se utiliza el clasificador de SVM para clasificar un ráster segmentado.
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")
En este script de Python se utiliza el clasificador de SVM para clasificar un ráster segmentado.
# 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"
#Execute
arcpy.gp.TrainSupportVectorMachineClassifier(
inSegRaster, train_features, out_definition,
in_additional_raster, maxNumSamples, attributes)
Este script de Python utiliza el clasificador SVM para clasificar un ráster multidimensional de serie temporal utilizando la salida de la herramienta Analizar cambios usando 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 = ''
attributes = None
dimension_field = "DateTime"
# Execute
arcpy.sa.TrainSupportVectorMachineClassifier(
in_changeAnalysisRaster, train_features, out_definition,
additional_raster, attributes, dimension_field)
Entornos
Información de licenciamiento
- Basic: Requiere Spatial Analyst o Image Analyst
- Standard: Requiere Spatial Analyst o Image Analyst
- Advanced: Requiere Spatial Analyst o Image Analyst