Classer des pixels à l’aide du Deep Learning (Outils 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é à l’aide de l’outil Train Deep Learning Model (Entraîner le modèle de Deep Learning) ou par un logiciel d’entraînement tiers tel que PyTorch. 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
Vous devez installer l’API Python de structure de Deep Learning appropriée (par exemple, PyTorch) dans l’environnement Python d’ArcGIS Pro. Autrement, 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.
Cet outil appelle une API Python de Deep Learning tierce (telle que PyTorch) et utilise la fonction raster Python spécifiée pour traiter chaque objet.
Des exemples de cas d’utilisation de cet outil sont disponibles sur la page de la fonction raster Python d’Esri dans GitHub. Vous pouvez également écrire des modules Python personnalisés en suivant les exemples et les instructions disponibles dans le référentiel GitHub.
La valeur du paramètre Model Definition (Définition de 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 pour que vous puissiez coller la chaîne JSON au lieu de télécharger le fichier .emd. Le fichier .dlpk doit être stocké localement.
Le raster en entrée peut consister en un raster unique, en plusieurs rasters ou en une classe d’entités avec des images rattachées. Pour plus d’informations sur les pièces jointes, reportez-vous à la rubrique Ajouter ou supprimer des fichiers joints.
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, la taille de lot est définie sur 4.
Cet outil prend en charge et utilise plusieurs GPU le cas échéant. 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.
Si l’environnement Processor Type (Type processeur) est défini sur CPU et que l’environnement Parallel Processing Factor (Facteur de traitement parallèle) n’est pas spécifié, l’outil utilise une valeur de 50 % pour Parallel Processing Factor (Facteur de traitement parallèle).
Pour des informations sur les exigences relatives à l’exécution de cet outil ainsi que sur les problèmes qui peuvent survenir, reportez-vous à la rubrique Forum aux questions sur le Deep Learning.
L’entrée peut être un raster ou plusieurs rasters d’un jeu de données mosaïque, un service d’imagerie, un dossier d’images ou une classe d’entités avec des images en pièces jointes.
Raster Dataset; Raster Layer; Mosaic Layer; Image Service; Map Server; Map Server Layer; Internet Tiled Layer; Folder; Feature Layer; Feature Class
Définition de modèle
La valeur du paramètre Model Definition (Définition de 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 pour que vous puissiez 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
(Facultatif)
Les informations du paramètre Model Definition (Définition de 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.
batch_size—Nombre de tuiles d’image traitées à chaque étape de l’inférence du modèle. Ce nombre dépend de la mémoire de la carte graphique. L’argument est disponible pour toutes les architectures de modèle.
direction—L’image est convertie d’un domaine à un autre. Les options sont AtoB et BtoA. L’argument est uniquement disponible pour l’architecture CycleGAN. Pour plus d’informations sur cet argument, reportez-vous à la rubrique How CycleGAN works.
merge_policy—La stratégie utilisée pour fusionner les prévisions augmentées. Les options disponibles sont mean, max et min. Applicable uniquement si l’augmentation du temps de test est utilisée. L’argument est disponible pour les architectures Extracteur de routes multitâche et ConnectNet. Si IsEdgeDetection figure dans le fichier .emd du modèle, les architectures Détecteur de contours BDCN, Détecteur de contours HED et MMSegmentation sont également disponibles.
n_timestep—Nombre d’intervalles temporels à utiliser. La valeur par défaut est 200. Vous pouvez l’augmenter ou la diminuer en fonction de la qualité des générations. L’argument est pris en charge uniquement pour l’architecture du modèle Super-résolution avec backbone SR3.
padding—Le nombre de pixels en bordure des tuiles d’image à partir duquel les prévisions sont fusionnées pour les tuiles adjacentes. Pour lisser la sortie tout en réduisant les artefacts, augmentez la valeur. La valeur maximale de marge de remplissage peut être égale à la moitié de la valeur de taille de tuile. L’argument est disponible pour toutes les architectures de modèle.
predict_background—Indique si la classe d’arrière-plan est classée. S’il est défini sur Vrai, la classe d’arrière-plan est également classée. L’argument est disponible pour les architectures UNET, PSPNET, DeepLab, MMSegmentation et SAMLoRA.
return_probability_raster—Indique si la sortie est un raster de probabilité. S’il est défini sur la valeur Vrai la sortie est un raster de probabilité. S’il est défini sur Faux, la sortie est un raster classé binaire. Par défaut, cette propriété est définie sur faux. Si la version de ArcGISLearnVersion est 1.8.4 ou une version ultérieure dans le fichier .emd du modèle, les architectures Extracteur de routes multitâche et ConnectNet sont disponibles. Si la version de ArcGISLearnVersion est 1.8.4 ou une version ultérieure et que IsEdgeDetection figure dans le fichier .emd du modèle, les architectures Détecteur de contours BDCN, Détecteur de contours HED et MMSegmentation sont également disponibles.
sampling_type—Type d’échantillonnage à utiliser. Deux types d’échantillonnage sont disponibles : ddim et ddpm. La valeur par défaut est ddim. Elle génère des résultats comportant moins d’intervalles temporels que ddpm. L’argument est pris en charge uniquement pour l’architecture du modèle Super-résolution avec backbone SR3.
schedule—Chaîne facultative qui définit le type de planification. La planification par défaut est la même que celle du modèle d’entraînement. L’argument est pris en charge uniquement pour l’architecture du modèle Super-résolution avec backbone SR3.
test_time_augmentation—Spécifie si l’augmentation du temps de test doit être effectuée lors de la prévision. Si la valeur est vraie, les prévisions des variants inversés et pivotés de l’image en entrée sont fusionnées dans la sortie finale. L’argument est disponible pour les architectures UNET, PSPNET, DeepLab, Détecteur de contours HED, Détecteur de contours BDCN, ConnectNet, MMSegmentation, Extracteur de routes multitâche et SAMLoRA.
tile_size—Largeur et hauteur des tuiles d’image de fractionnement de l’imagerie en vue de la prévision. L’argument est uniquement disponible pour l’architecture CycleGAN.
thinning—Indique si les tronçons prédits sont affinés ou grossiers. Les options sont True et False. Si IsEdgeDetection figure dans le fichier .emd du modèle, les architectures Détecteur de contours BDCN, Détecteur de contours HED et MMSegmentation sont disponibles.
threshold—Les prévisions dont le score de confiance est supérieure à ce seuil sont incluses dans le résultat. Les valeurs autorisées varient entre 0 et 1,0. Si la version de ArcGISLearnVersion est 1.8.4 ou une version ultérieure dans le fichier .emd du modèle, les architectures Extracteur de routes multitâche et ConnectNet sont disponibles. Si la version de ArcGISLearnVersion est 1.8.4 ou une version ultérieure et que IsEdgeDetection figure dans le fichier .emd du modèle, les architectures Détecteur de contours BDCN, Détecteur de contours HED et MMSegmentation sont également disponibles.
Colonnes de la table de valeurs :
Name—The name of the function argument.
Value—The value of the function argument.
Value Table
Mode de traitement
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.
Traiter en tant qu’image mosaïquée—Tous les éléments raster figurant dans le jeu de données mosaïque ou le service d’imagerie seront mosaïqués ensemble, puis traités. Il s’agit de l’option par défaut.
Traiter tous les éléments raster séparément—Tous les éléments raster figurant dans le jeu de données mosaïque ou le service d’imagerie seront traités en tant qu’images séparées.
String
Dossier en sortie
(Facultatif)
Dossier dans lequel les rasters classés en sortie sont stockés. Un jeu de données mosaïque est généré à l’aide des rasters classés dans ce dossier.
Ce paramètre est requis lorsque le raster en entrée est un dossier d’images ou un jeu de données mosaïque dans lequel tous les éléments doivent être traités séparément. Par défaut, il s’agit d’un dossier du dossier de projet.
Folder
Entités en sortie
(Facultatif)
Classe d’entités dans laquelle les rasters classés en sortie sont stockés.
Ce paramètre est requis si le raster en entrée est une classe d’entités d’images.
Si la classe d’entités existe déjà, les résultats sont ajoutés à la classe d’entités existante.
Feature Class
Remplacer les pièces jointes
(Facultatif)
Indique si les images jointes existantes sont remplacées.
Ce paramètre est valide uniquement lorsque la valeur du paramètre Input Raster (Raster en entrée) est une classe d’entités avec des images en pièces jointes.
Activé—La classe d’entités existante est remplacée par les nouvelles pièces jointes mises à jour.
Décoché—Les images jointes existantes ne sont pas remplacées et les nouvelles images jointes sont stockées dans une nouvelle classe d’entités. Lorsque cette option est spécifiée, le paramètre Output Features (Entités en sortie) doit être renseigné. Il s’agit de l’option par défaut.
Boolean
Utiliser l’espace pixel
(Facultatif)
Indique si l’inférence est exécutée sur les images de l’espace pixel.
Activé—L’inférence est exécutée dans l’espace pixel et la sortie est à retransformée en espace cartographique. Cette option est utile si vous utilisez une imagerie oblique ou une imagerie à l’échelle des rues, où les entités sont susceptibles d’être déformées dans l’espace cartographique.
Décoché—L’inférence est exécutée dans l’espace cartographique. Il s’agit de l’option par défaut.
Boolean
Valeur de retour
Etiqueter
Explication
Type de données
Jeu de données raster en sortie
Nom du jeu de données mosaïque ou raster contenant le résultat.
L’entrée peut être un raster ou plusieurs rasters d’un jeu de données mosaïque, un service d’imagerie, un dossier d’images ou une classe d’entités avec des images en pièces jointes.
Raster Dataset; Raster Layer; Mosaic Layer; Image Service; Map Server; Map Server Layer; Internet Tiled Layer; Folder; Feature Layer; Feature Class
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 pour que vous puissiez 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 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.
batch_size—Nombre de tuiles d’image traitées à chaque étape de l’inférence du modèle. Ce nombre dépend de la mémoire de la carte graphique. L’argument est disponible pour toutes les architectures de modèle.
direction—L’image est convertie d’un domaine à un autre. Les options sont AtoB et BtoA. L’argument est uniquement disponible pour l’architecture CycleGAN. Pour plus d’informations sur cet argument, reportez-vous à la rubrique How CycleGAN works.
merge_policy—La stratégie utilisée pour fusionner les prévisions augmentées. Les options disponibles sont mean, max et min. Applicable uniquement si l’augmentation du temps de test est utilisée. L’argument est disponible pour les architectures Extracteur de routes multitâche et ConnectNet. Si IsEdgeDetection figure dans le fichier .emd du modèle, les architectures Détecteur de contours BDCN, Détecteur de contours HED et MMSegmentation sont également disponibles.
n_timestep—Nombre d’intervalles temporels à utiliser. La valeur par défaut est 200. Vous pouvez l’augmenter ou la diminuer en fonction de la qualité des générations. L’argument est pris en charge uniquement pour l’architecture du modèle Super-résolution avec backbone SR3.
padding—Le nombre de pixels en bordure des tuiles d’image à partir duquel les prévisions sont fusionnées pour les tuiles adjacentes. Pour lisser la sortie tout en réduisant les artefacts, augmentez la valeur. La valeur maximale de marge de remplissage peut être égale à la moitié de la valeur de taille de tuile. L’argument est disponible pour toutes les architectures de modèle.
predict_background—Indique si la classe d’arrière-plan est classée. S’il est défini sur Vrai, la classe d’arrière-plan est également classée. L’argument est disponible pour les architectures UNET, PSPNET, DeepLab, MMSegmentation et SAMLoRA.
return_probability_raster—Indique si la sortie est un raster de probabilité. S’il est défini sur la valeur Vrai la sortie est un raster de probabilité. S’il est défini sur Faux, la sortie est un raster classé binaire. Par défaut, cette propriété est définie sur faux. Si la version de ArcGISLearnVersion est 1.8.4 ou une version ultérieure dans le fichier .emd du modèle, les architectures Extracteur de routes multitâche et ConnectNet sont disponibles. Si la version de ArcGISLearnVersion est 1.8.4 ou une version ultérieure et que IsEdgeDetection figure dans le fichier .emd du modèle, les architectures Détecteur de contours BDCN, Détecteur de contours HED et MMSegmentation sont également disponibles.
sampling_type—Type d’échantillonnage à utiliser. Deux types d’échantillonnage sont disponibles : ddim et ddpm. La valeur par défaut est ddim. Elle génère des résultats comportant moins d’intervalles temporels que ddpm. L’argument est pris en charge uniquement pour l’architecture du modèle Super-résolution avec backbone SR3.
schedule—Chaîne facultative qui définit le type de planification. La planification par défaut est la même que celle du modèle d’entraînement. L’argument est pris en charge uniquement pour l’architecture du modèle Super-résolution avec backbone SR3.
test_time_augmentation—Spécifie si l’augmentation du temps de test doit être effectuée lors de la prévision. Si la valeur est vraie, les prévisions des variants inversés et pivotés de l’image en entrée sont fusionnées dans la sortie finale. L’argument est disponible pour les architectures UNET, PSPNET, DeepLab, Détecteur de contours HED, Détecteur de contours BDCN, ConnectNet, MMSegmentation, Extracteur de routes multitâche et SAMLoRA.
tile_size—Largeur et hauteur des tuiles d’image de fractionnement de l’imagerie en vue de la prévision. L’argument est uniquement disponible pour l’architecture CycleGAN.
thinning—Indique si les tronçons prédits sont affinés ou grossiers. Les options sont True et False. Si IsEdgeDetection figure dans le fichier .emd du modèle, les architectures Détecteur de contours BDCN, Détecteur de contours HED et MMSegmentation sont disponibles.
threshold—Les prévisions dont le score de confiance est supérieure à ce seuil sont incluses dans le résultat. Les valeurs autorisées varient entre 0 et 1,0. Si la version de ArcGISLearnVersion est 1.8.4 ou une version ultérieure dans le fichier .emd du modèle, les architectures Extracteur de routes multitâche et ConnectNet sont disponibles. Si la version de ArcGISLearnVersion est 1.8.4 ou une version ultérieure et que IsEdgeDetection figure dans le fichier .emd du modèle, les architectures Détecteur de contours BDCN, Détecteur de contours HED et MMSegmentation sont également disponibles.
Colonnes de la table de valeurs :
Name—The name of the function argument.
Value—The value of the function argument.
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.
PROCESS_AS_MOSAICKED_IMAGE—Tous les éléments raster figurant dans le jeu de données mosaïque ou le service d’imagerie seront mosaïqués ensemble, puis traités. Il s’agit de l’option par défaut.
PROCESS_ITEMS_SEPARATELY—Tous les éléments raster figurant dans le jeu de données mosaïque ou le service d’imagerie seront traités en tant qu’images séparées.
String
out_classified_folder
(Facultatif)
Dossier dans lequel les rasters classés en sortie sont stockés. Un jeu de données mosaïque est généré à l’aide des rasters classés dans ce dossier.
Ce paramètre est requis lorsque le raster en entrée est un dossier d’images ou un jeu de données mosaïque dans lequel tous les éléments doivent être traités séparément. Par défaut, il s’agit d’un dossier du dossier de projet.
Folder
out_featureclass
(Facultatif)
Classe d’entités dans laquelle les rasters classés en sortie sont stockés.
Ce paramètre est requis si le raster en entrée est une classe d’entités d’images.
Si la classe d’entités existe déjà, les résultats sont ajoutés à la classe d’entités existante.
Feature Class
overwrite_attachments
(Facultatif)
Indique si les images jointes existantes sont remplacées.
Ce paramètre est valide uniquement lorsque la valeur du paramètre in_raster est une classe d’entités avec des images en pièces jointes.
OVERWRITE—La classe d’entités existante est remplacée par les nouvelles pièces jointes mises à jour.
NO_OVERWRITE—Les images jointes existantes ne sont pas remplacées et les nouvelles images jointes sont stockées dans une nouvelle classe d’entités. Lorsque cette option est spécifiée, le paramètre out_featureclass doit être renseigné. Il s’agit de l’option par défaut.
Boolean
use_pixelspace
(Facultatif)
Indique si l’inférence est exécutée sur les images de l’espace pixel.
PIXELSPACE—L’inférence est exécutée dans l’espace pixel et la sortie est à retransformée en espace cartographique. Cette option est utile si vous utilisez une imagerie oblique ou une imagerie à l’échelle des rues, où les entités sont susceptibles d’être déformées dans l’espace cartographique.
NO_PIXELSPACE—L’inférence est exécutée dans l’espace cartographique. Il s’agit de l’option par défaut.
Boolean
Valeur de retour
Nom
Explication
Type de données
out_classified_raster
Nom du jeu de données mosaïque ou raster contenant le résultat.
Raster
Exemple de code
Exemple 1 d’utilisation de la fonction ClassifyPixelsUsingDeepLearning (fenêtre Python)
Cet exemple classe un raster en fonction d’une classification de pixels personnalisée à l’aide de la fonction ClassifyPixelsUsingDeepLearning.