Disponible avec une licence Spatial Analyst.
Résumé
Outil qui génère un fichier (.ecd) de définition de classificateur Esri 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 très efficace 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 multicanaux d'une profondeur des couleurs quelconque 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 nombre bien moindre 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'apprentissage, utilisez Gestionnaire d'échantillons d'apprentissage de la barre d'outils Classification d'image. Pour en savoir plus sur l'utilisation de la barre d'outils Classification d'image, reportez-vous à la rubrique Présentation de la classification des images
Le paramètre Attributs de segment est activé uniquement si l'une des entrées de la couche raster est une image segmentée.
Syntaxe
TrainSupportVectorMachineClassifier (in_raster, in_training_features, out_classifier_definition, {in_additional_raster}, {max_samples_per_class}, {used_attributes})
Paramètre | Explication | Type de données |
in_raster | Sélectionnez le 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 | Sélectionnez le fichier d'échantillon d'apprentissage ou la couche qui délimite vos sites d'apprentissage. Il peut s'agir de fichiers de formes ou de classes d'entités contenant vos échantillons d'apprentissage. | Feature Layer; Raster Catalog Layer |
out_classifier_definition | Fichier JSON qui contient des informations sur des attributs, des statistiques, des vecteurs d'hyperplan et d'autres informations nécessaires pour le classificateur. Un fichier portant l'extension .ecd est créé. | File |
in_additional_raster (Facultatif) | Ce paramètre permet notamment d'incorporer des jeux de données raster auxiliaires, à savoir une image multispectrale ou un MNT, par exemple, pour générer des attributs et d'autres informations requises pour la classification. | Raster Layer; Mosaic Layer; Image Service; String |
max_samples_per_class (Facultatif) | Nombre maximal d'échantillons à utiliser pour définir chaque classe. Il est conseillé d'utiliser la valeur par défaut 500 lorsque les entrées sont des rasters non segmentés. Lorsque la valeur est inférieure ou égale à 0, le système utilise tous les échantillons des sites d'apprentissage pour préparer le classificateur. | Long |
used_attributes [used_attributes;used_attributes,...] (Facultatif) | Permet de spécifier les attributs à inclure dans la table attributaire associée au raster en sortie.
Ce paramètre est activé uniquement si la propriété de clé Segmented (Segmentée) est vraie (définie sur True) dans le raster en entrée. Si la seule entrée dans l'outil est une image segmentée, les attributs par défaut sont COLOR, COUNT, COMPACTNESS et RECTANGULARITY. Si un in_additional_raster est également inclus en entrée avec une image segmentée, les attributs MEAN et STD sont alors disponibles. | String |
Exemple de code
Exemple 1 d'utilisation de l'outil TrainSupportVectorClassifier (fenêtre Python)
Cet exemple Python utilise le classificateur de machines à vecteurs de support pour classer un raster segmenté.
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")
Exemple 2 d'utilisation de l'outil TrainSupportVectorClassifier (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.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)
Environnements
Informations de licence
- ArcGIS Desktop Basic: Requiert Spatial Analyst
- ArcGIS Desktop Standard: Requiert Spatial Analyst
- ArcGIS Desktop Advanced: Requiert Spatial Analyst