Préparer le classificateur de machines à vecteurs de support (Image Analyst)

Disponible avec une licence Spatial Analyst.

Disponible avec une licence Image Analyst.

Résumé

Génère un fichier de définition de classificateur Esri (.ecd) grâce à la définition de classification de la machine à vecteurs de support (SVM).

Utilisation

  • Le classificateur de machines à vecteurs de support est une méthode de classification assistée. Elle est parfaitement adaptée aux rasters segmentés en entrée, mais peut également gérer des images standard. C'est une méthode de classification souvent utilisée par les chercheurs.

  • Pour les entrées d’image standard, l’outil accepte les images multicanales de n’importe quelle profondeur de couleurs et réalise la classification de machines à vecteurs de support par pixel, en fonction du fichier d’entités d’apprentissage en entrée.

  • Pour les rasters segmentés, dont la propriété de clé est définie sur Segmenté, l'outil calcule l'image d'index et les attributs de segments associés à partir du raster segmenté RVB. Les attributs sont calculés pour générer le fichier de définition de classificateur à utiliser dans un outil de classification distinct. Les attributs de chaque segment peuvent être calculés à partir de toute image prise en charge par Esri.

  • Le classificateur de machines à vecteurs de support présente plusieurs avantages par rapport à la méthode de classification de vraisemblance maximale :

    • Le classificateur de machines à vecteurs de support a besoin d’un moins grand nombre d’échantillons, qui n’ont pas besoin d’être normalement distribués.
    • Il est moins sensible au bruit, aux canaux corrélés et au nombre ou à la taille non équilibrés de sites d'apprentissage au sein de chaque classe.

  • Tout raster pris en charge par Esri est accepté en entrée, y compris les produits raster, les rasters segmentés, les mosaïques, les services d'imagerie ou les jeux de données raster génériques. Les rasters segmentés doivent être des rasters 8 bits à 3 canaux.

  • Pour créer un fichier d’échantillon d’entraînement, accédez à la fenêtre Training Samples Manager (Gestionnaire d’échantillons d’apprentissage) à partir du menu déroulant Classification Tools (Outils de classification).

  • Le paramètre Attributs de segment est activé uniquement si l'une des entrées de la couche raster est une image segmentée.

  • Pour classer une série chronologique de données raster à l’aide de l’algorithme CCDC (Continuous Change Detection and Classification), exécutez d’abord l’outil Analyze Changes Using CCDC (Analyser les modifications avec l’algorithme CCDC) et utilisez le raster d’analyse des changements en sortie comme raster en entrée pour cet outil d’entraînement.

    Les données fournies à titre d’échantillons d’apprentissage doivent être collectées à plusieurs reprises à l’aide du Gestionnaire d’échantillons d’apprentissage. La valeur de dimension de chaque exemple est répertoriée dans un champ figurant dans la classe d’entités des échantillons d’entraînement comme indiqué dans le paramètre Dimension Value Field (Champ de valeur de dimension).

Syntaxe

TrainSupportVectorMachineClassifier(in_raster, in_training_features, out_classifier_definition, {in_additional_raster}, {max_samples_per_class}, {used_attributes}, {dimension_value_field})
ParamètreExplicationType de données
in_raster

Jeu de données raster à classer.

Il est recommandé d’utiliser en entrée un jeu de données raster segmenté de 8 bits, à 3 canaux, dans lequel tous les pixels appartenant à un segment possèdent la même couleur. Vous pouvez également faire appel à un raster segmenté monocanal de 8 bits, en nuances de gris. Si aucun raster segmenté n'est disponible, vous pouvez utiliser n'importe quel jeu de données raster pris en charge par Esri.

Raster Layer; Mosaic Layer; Image Service; String
in_training_features

Fichier d’échantillons d’apprentissage ou couche délimitant les sites d’entraînement.

Il peut s’agir de shapefiles ou de classes d’entités qui contiennent vos échantillons d'apprentissage. Les noms de champ suivants sont requis dans le fichier d’échantillons d'apprentissage :

  • classname : zone de texte indiquant le nom de la catégorie de classe.
  • classvalue : champ d’entier long contenant la valeur entière de chaque catégorie de classe.

Feature Layer
out_classifier_definition

Fichier JSON en sortie qui contient des informations sur les attributs, des statistiques, des vecteurs hyperplans et d'autres informations pour le classificateur. Un fichier .ecd est créé.

File
in_additional_raster
(Facultatif)

Des jeux de données raster auxiliaires, comme une image multispectrale ou un MNE, sont incorporés pour la génération des attributs et d’autres informations requises par la classification. Ce paramètre est facultatif.

Raster Layer; Mosaic Layer; Image Service; String
max_samples_per_class
(Facultatif)

Nombre maximal d'échantillons à utiliser pour définir chaque classe.

La valeur par défaut 500 est recommandée si les entrées sont des rasters non segmentés. Une valeur inférieure ou égale à zéro signifie que le système utilisera tous les échantillons des sites d’apprentissage pour former le classificateur.

Long
used_attributes
[used_attributes;used_attributes,...]
(Facultatif)

Spécifie les attributs à inclure dans la table attributaire associée au raster en sortie.

  • COLORLes valeurs de couleurs RVB découlent du raster en entrée, segment par segment.
  • MEANNombre numérique (DN) moyen dérivé de l’image de pixels facultative, segment par segment.
  • STDÉcart type dérivé de l’image en pixels facultative, segment par segment.
  • COUNTNombre de pixels qui composent le segment, segment par segment.
  • COMPACTNESSDegré auquel un segment est compact ou circulaire, segment par segment. Les valeurs autorisées sont comprises entre 0 et 1, où 1 correspond à un cercle.
  • RECTANGULARITYDegré auquel le segment est rectangulaire, segment par segment. Les valeurs autorisées sont comprises entre 0 et 1, où 1 correspond à un rectangle.

Ce paramètre est activé uniquement si la propriété de clé Segmented est vraie (définie sur True) dans le raster en entrée. Si la seule sortie de l’outil est une image segmentée, les attributs par défaut sont COLOR, COUNT, COMPACTNESS et RECTANGULARITY. Si un in_additional_raster est inclus comme entrée avec une image segmentée, les attributs MEAN et STD sont également disponibles.

String
dimension_value_field
(Facultatif)

Contient les valeurs de dimension dans la classe d’entités des échantillons d’apprentissage en entrée.

Ce paramètre est nécessaire pour classer une série chronologique de données raster à l’aide de la sortie du raster d’analyse des changements produite par l’outil Analyser les modifications avec l’algorithme CCDC.

Field

Exemple de code

Exemple 1 d’utilisation de l’outil TrainSupportVectorMachineClassifier (fenêtre Python)

Cet exemple Python utilise le classificateur de machines à vecteurs de support pour classer un raster segmenté.

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")
Exemple 2 d’utilisation de l’outil TrainSupportVectorMachineClassifier (script autonome)

Ce script Python utilise le classificateur de machines à vecteurs de support pour classer un raster segmenté.

# 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)
Exemple 3 d’utilisation de l’outil TrainSupportVectorMachineClassifier (script autonome)

Ce script Python utilise le classificateur de machines à vecteurs de support pour classer un raster multidimensionnel de séries chronologiques à l’aide de la sortie de l’outil Analyser les modifications avec l’algorithme 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)

Informations de licence

  • Basic: Requiert Image Analyst or Spatial Analyst
  • Standard: Requiert Image Analyst or Spatial Analyst
  • Advanced: Requiert Image Analyst or Spatial Analyst

Rubriques connexes