Disponible avec une licence Image Analyst.
Résumé
Exécute un modèle d’apprentissage profond entraîné sur un raster en entrée afin de générer un raster classé, une étiquette de classe étant attribuée à chaque pixel valide.
Cet outil nécessite un fichier de définition de modèle contenant des informations de modèle entraîné. Le modèle peut être entraîné avec l’outil Préparer le modèle d’apprentissage profond ou par un logiciel d’entraînement tiers tel que TensorFlow, PyTorch ou Keras. Le fichier de définition de modèle peut être un fichier JSON de définition de modèle Esri (.emd) ou un paquetage de modèle d’apprentissage profond et doit contenir le chemin d’accès à la fonction raster Python à appeler pour traiter chaque objet, ainsi que le chemin d’accès au fichier de modèle d’apprentissage profond binaire entraîné.
Utilisation
Vous devez installer l’API Python de structure d’apprentissage profond qui convient (telle que TensorFlow ou PyTorch) dans l’environnement Python de ArcGIS Pro. Si vous ne le faites pas, une erreur se produit lorsque vous ajoutez le fichier de définition du modèle Esri à l’outil. Procurez-vous les informations de structure appropriées auprès de l’auteur du fichier de définition du modèle Esri.
Pour configurer votre machine afin d’utiliser des structures d’apprentissage profond dans ArcGIS Pro, consultez la rubrique Installer les structures d’apprentissage profond pour ArcGIS.
Cet outil appelle une API Python d’apprentissage profond tierce (telle que TensorFlow, PyTorch , ou Keras) et utilise la fonction raster Python spécifiée pour traiter chaque objet.
Des exemples de cas d’utilisation pour cet outil sont disponibles sur la page de la fonction raster Python de Esri dans GitHub. Vous pouvez également écrire des modules Python personnalisés en suivant les exemples et les instructions du référentiel GitHub.
Le paramètre Esri model definition (Définition du modèle Esri) peut être un fichier JSON de définition de modèle Esri (.emd), une chaîne JSON ou un paquetage de modèle d’apprentissage profond (.dlpk). Une chaîne JSON est utile lorsque cet outil est utilisé sur le serveur de sorte qu’il est possible de coller la chaîne JSON au lieu de télécharger le fichier .emd. Le fichier .dlpk doit être stocké localement.
Pour plus d’informations sur l’apprentissage profond, reportez-vous à la rubrique Apprentissage profond dans ArcGIS Pro.
The following code sample uses the Esri model definition file (.emd):
{ "Framework":"TensorFlow", "ModelConfiguration":"deeplab", "ModelFile":"\\Data\\ImgClassification\\TF\\froz_inf_graph.pb", "ModelType":"ImageClassification", "ExtractBands":[0,1,2], "ImageHeight":513, "ImageWidth":513, "Classes" : [ { "Value":0, "Name":"Evergreen Forest", "Color":[0, 51, 0] }, { "Value":1, "Name":"Grassland/Herbaceous", "Color":[241, 185, 137] }, { "Value":2, "Name":"Bare Land", "Color":[236, 236, 0] }, { "Value":3, "Name":"Open Water", "Color":[0, 0, 117] }, { "Value":4, "Name":"Scrub/Shrub", "Color":[102, 102, 0] }, { "Value":5, "Name":"Impervious Surface", "Color":[236, 236, 236] } ] }
Pour plus d’informations sur la configuration requise pour l’exécution de cet outil et les problèmes susceptibles de survenir, reportez-vous au Forum aux questions sur l’apprentissage profond.
Syntaxe
ClassifyPixelsUsingDeepLearning(in_raster, in_model_definition, {arguments}, processing_mode)
Paramètre | Explication | Type de données |
in_raster | Jeu de données raster en entrée à classer. L’entrée peut être un raster ou plusieurs rasters d’un jeu de données mosaïque, un service d’imagerie ou un dossier d’images. | Raster Dataset; Raster Layer; Mosaic Layer; Image Service; MapServer; Map Server Layer; Internet Tiled Layer; Folder |
in_model_definition | La valeur du paramètre in_model_definition peut être un fichier JSON de définition de modèle Esri (.emd), une chaîne JSON ou encore un paquetage de modèle d’apprentissage profond (.dlpk). Une chaîne JSON est utile lorsque cet outil est utilisé sur le serveur de sorte qu’il est possible de coller la chaîne JSON au lieu de télécharger le fichier .emd. Le fichier .dlpk doit être stocké localement. Le paramètre contient le chemin d’accès au fichier du modèle binaire d’apprentissage profond, le chemin d’accès à la fonction raster Python à utiliser et d’autres paramètres, tels que le remplissage ou la taille de préférence des tuiles. | File; String |
arguments [arguments,...] (Facultatif) | Les arguments des fonctions sont définis dans la classe de fonctions raster Python. C’est là que vous répertoriez les paramètres d’apprentissage profond supplémentaires et les arguments des expériences et améliorations, tels qu’un seuil de confiance pour l’ajustement de la sensibilité. Les noms des arguments sont alimentés lors de la lecture du module Python. | Value Table |
processing_mode | Spécifie comment tous les éléments raster figurant dans un jeu de données mosaïque ou un service d’imagerie seront traités. Ce paramètre est appliqué lorsqu’un raster en entrée est un jeu de données mosaïque ou service d’imagerie.
| String |
Valeur renvoyée
Nom | Explication | Type de données |
out_classified_raster | The classified image. Each valid pixel has a class value. The raster has an attribute table with class names, values, and colors. | Raster |
Exemple de code
This example classifies a raster based on a custom pixel classification using the ClassifyPixelsUsingDeepLearning tool.
# Import system modules
import arcpy
from arcpy.ia import *
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
out_classified_raster = ClassifyPixelsUsingDeepLearning
("c:\\classifydata\\moncton_seg.tif", "c:\\classifydata\\moncton_sig.emd",
"padding 0; batch_size 16", "PROCESS_AS_MOSAICKED_IMAGE")
Out_classified_raster.save("c:\\classifydata\\classified_moncton.tif")
This example classifies a raster based on a custom pixel classification using the ClassifyPixelsUsingDeepLearning tool.
# Import system modules
import arcpy
from arcpy.ia import *
"""
Usage: ClassifyPixelsUsingDeepLearning(in_raster,out_classified_raster,
in_classifier_definition, {arguments}, {processing_mode})
"""
# Set local variables
in_raster = "c:\\classifydata\\moncton_seg.tif"
in_model_definition = "c:\\classifydata\\moncton_sig.emd"
model_arguments = "padding 0; batch_size 16"
processing_mode = "PROCESS_AS_MOSAICKED_IMAGE"
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
# Execute
Out_classified_raster = ClassifyPixelsUsingDeepLearning(in_raster,
in_model_definition, model_arguments, processing_mode)
Out_classified_raster.save("c:\\classifydata\\classified_moncton.tif")
Environnements
Informations de licence
- Basic: Requiert Image Analyst
- Standard: Requiert Image Analyst
- Advanced: Requiert Image Analyst
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?