Étiquette | Explication | Type de données |
Raster d’origine | Raster en entrée avant la modification. | Raster Dataset; Raster Layer; Mosaic Layer; Image Service; Map Server; Map Server Layer; Internet Tiled Layer |
Raster de destination | Raster en entrée après la modification. | Raster Dataset; Raster Layer; Mosaic Layer; Image Service; Map Server; Map Server Layer; Internet Tiled Layer |
Raster classé en sortie | Raster classé en sortie qui illustre le changement. | Raster Dataset |
Définition de modèle | La valeur du paramètre Model Definition (Définition du modèle) peut être un fichier JSON de définition de modèle Esri (.emd), une chaîne JSON ou un paquetage de modèle de Deep Learning (.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. Contient le chemin d’accès au fichier binaire de modèle Deep Learning, le chemin d’accès à la fonction raster Python à utiliser et d’autres paramètres, tels que la taille de tuile préférée ou l’ajout de zéros. | File; String |
Arguments (Facultatif) | Les informations du paramètre Model Definition (Définition du modèle) sont utilisées pour renseigner ce paramètre. Ces arguments varient en fonction de l’architecture de modèle. Les arguments de modèle suivants sont pris en charge pour les modèles entraînés dans ArcGIS. Les modèles pré-entraînés ArcGIS et les modèles de Deep Learning personnalisés peuvent comporter des arguments supplémentaires pris en charge par l’outil.
| Value Table |
Disponible avec une licence Image Analyst.
Synthèse
Exécute un modèle de Deep Learning entraîné pour détecter les changements entre deux rasters.
Cet outil nécessite un fichier de définition de modèle contenant des informations de modèle entraîné. 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 de Deep Learning 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 de Deep Learning binaire entraîné.
Utilisation
Les entrées de cet outil sont deux images : une image dans le passé et une image plus récente. La sortie est un jeu de données raster classé qui montre les changements entre les deux entrées du raster.
Vous devez installer l’API Python de structure de Deep Learning appropriée (telle que TensorFlow ou PyTorch) dans l’environnement Python de ArcGIS AllSource. Si vous ne le faites pas, une erreur se produit lorsque vous ajoutez le fichier de définition de modèle Esri à l’outil. Procurez-vous les informations de structure appropriées auprès de l’auteur du fichier de définition de modèle Esri.
Pour configurer votre machine afin d’utiliser des structures d’apprentissage profond dans ArcGIS AllSource, consultez la rubrique Installer les structures d’apprentissage profond pour ArcGIS.
Cet outil appelle une API Python de Deep Learning tierce (telle que TensorFlow, PyTorch ou Keras) et utilise la fonction raster Python spécifiée pour traiter chaque objet.
La valeur du paramètre Model Definition (Définition du modèle) peut être un fichier JSON de définition de modèle Esri (.emd), une chaîne JSON ou un paquetage de modèle de Deep Learning (.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.
Des paramètres en entrée supplémentaires peuvent être nécessaires, comme la taille des lots miniatures, la taille de la marge intérieure, etc.
Consultez l’exemple ci-dessous pour un fichier JSON de définition de modèle (.emd).
Exemple de fichier JSON de définition de modèle
{ "Framework": "", "ModelConfiguration":" ", "ModelFile":"", "InferenceFunction":"", "ModelType":"", "ImageHeight":256, "ImageWidth":256, "ExtractBands":[0,1,2], "CropSizeFixed": 1, "BlackenAroundFeature": 1, "Classes": [ { "Value": 0, "Name": "Building", "Color": [255, 0, 0] } ] }
L’augmentation de la taille du lot peut améliorer les performances de l’outil. Cependant, plus la taille augmente, plus la mémoire utilisée est importante. Si une erreur se produit en raison d’une mémoire insuffisante, utillisez une taille de lot plus petite. La valeur batch_size peut être ajustée à l’aide du paramètre Arguments.
Les tailles de lot correspondent à des carrés tels que 1, 4, 9, 16, 25, 64, etc. Si la valeur en entrée ne correspond pas à un carré parfait, la valeur au carré la plus élevée possible est utilisée. Par exemple, si la valeur 6 est spécifiée, cela signifie que la taille de lot est définie sur 4.
Cet outil prend en charge et utilise plusieurs GPU s’ils sont disponibles. Pour utiliser un GPU spécifique, spécifiez l’environnement GPU ID (ID de GPU). Si l’ID de GPU n’est pas défini, l’outil utilise tous les GPU disponibles. Il s’agit de l’option par défaut.
Pour en savoir plus sur les exigences relatives à l’exécution de cet outil ainsi que sur les problèmes que vous pouvez rencontrer, consultez la FAQ sur le Deep Learning.
Pour plus d’informations sur le Deep Learning, reportez-vous à la rubrique Apprentissage profond dans ArcGIS AllSource.
Paramètres
DetectChangeUsingDeepLearning(from_raster, to_raster, out_classified_raster, in_model_definition, {arguments})
Nom | Explication | Type de données |
from_raster | Raster en entrée avant la modification. | Raster Dataset; Raster Layer; Mosaic Layer; Image Service; Map Server; Map Server Layer; Internet Tiled Layer |
to_raster | Raster en entrée après la modification. | Raster Dataset; Raster Layer; Mosaic Layer; Image Service; Map Server; Map Server Layer; Internet Tiled Layer |
out_classified_raster | Raster classé en sortie qui illustre le changement. | Raster Dataset |
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 un paquetage de modèle de Deep Learning (.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. Contient le chemin d’accès au fichier binaire de modèle Deep Learning, le chemin d’accès à la fonction raster Python à utiliser et d’autres paramètres, tels que la taille de tuile préférée ou l’ajout de zéros. | File; String |
arguments [arguments,...] (Facultatif) | Les informations du paramètre in_model_definition sont utilisées pour définir les valeurs par défaut de ce paramètre. Ces arguments varient en fonction de l’architecture de modèle. Les arguments de modèle suivants sont pris en charge pour les modèles entraînés dans ArcGIS. Les modèles pré-entraînés ArcGIS et les modèles de Deep Learning personnalisés peuvent comporter des arguments supplémentaires pris en charge par l’outil.
| Value Table |
Exemple de code
Cet exemple exécute un modèle de Deep Learning pour rechercher la différence entre deux images.
# Import system modules
import arcpy
from arcpy.ia import *
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
DetectChangeUsingDeepLearning("c://detectchange//input_image1.tif",
"c://detectchange//input_image2.tif", "c://detectchange//output_difference.tif",
"c://detectchange/detectBuilding.emd", "padding 0;score_threshold 0.6;batch_size 4")
Cet exemple exécute un modèle de Deep Learning pour rechercher la différence entre deux images.
# Import system modules
import arcpy
from arcpy.ia import *
"""
Usage: DetectObjectsUsingDeepLearning(from_raster, to_raster, out_classified_raster,
in_model_definition, {model_arguments})
"""
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
# Set local variable
from_raster = r"c:/detectchange/input_image1.tif"
to_raster = r"c:/detectchange/input_image2.tif"
out_classified_raster = r"c:/detectchange/output_difference.tif"
in_model_definition = r"c:/ detectchange/detectbuilding.emd"
# arcpy.env.processorType = "GPU"
# arcpy.env.gpuId = 0
# Execute
DetectChangeUsingDeepLearning(from_raster, to_raster, out_classified_raster,
in_model_definition, "padding 0;score_threshold 0.6;batch_size 4")
Environnements
Rubriques connexes
- Vue d’ensemble du jeu d’outils Deep Learning
- Installer des structures d’apprentissage profond pour ArcGIS
- Entraîner le modèle de Deep Learning
- Arguments de Deep learning
- Architectures des modèles de Deep Learning
- Rechercher un outil de géotraitement
- Calculer le raster de changements
- Détecter des objets à l’aide du Deep Learning
Vous avez un commentaire à formuler concernant cette rubrique ?