Skip to main content

Classer des objets à l’aide du Deep Learning (Outils Image Analyst)

Résumé

Exécute un modèle de Deep Learning entraîné sur un raster en entrée et une classe d’entités facultative afin de générer une classe d’entités ou une table dans laquelle un objet ou une entité en entrée a une catégorie ou une étiquette de classe attribuée.

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 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. Les informations sur la structure appropriée doivent être fournies par la personne ayant créé le fichier de définition de modèle Esri.

    Pour configurer votre machine afin d’utiliser des structures de Deep Learning dans ArcGIS Pro, reportez-vous à la rubrique Installer des structures de Deep Learning pour ArcGIS.

  • Cet outil appelle une API Python de Deep Learning tierce 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.

  • 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 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.

  • La propriété CropSizeFixed définit le mode de rognage de la tuile raster autour de chaque objet. La valeur 1 signifie qu’une tuile raster fixe, définie par les propriétés ImageHeight et ImageWidth dans le fichier .emd, est utilisée. L’objet est centré dans la taille de tuile fixe. La valeur 0 signifie qu’une taille de tuile variable est utilisée, où la tuile raster est rognée en fonction de la plus petite emprise autour de l’objet.

  • La propriété BlackenAroundFeature indique si les pixels qui se trouvent à l’extérieur de chaque objet sont masqués. La valeur 0 signifie que les pixels à l’extérieur de l’objet ne sont pas masqués. La valeur 1 signifie que les pixels à l’extérieur de l’objet sont masqués.

  • L’outil peut traiter l’imagerie en entrée existant dans l’espace cartographique ou la résolution. L’imagerie dans l’espace cartographique se trouve dans un système de coordonnées basé sur une carte. L’imagerie dans l’espace pixel repose sur des lignes et des colonnes, sans rotation ni distorsion. Le système de référence peut être spécifié lors de la génération des données d’entraînement dans l’outil Export Training Data for Deep Learning (Exporter les données d’entraînement pour le Deep Learning) à l’aide du paramètre Reference System (Système de référence). Si le modèle est entraîné dans un logiciel d’entraînement tiers, le système de référence doit être spécifié dans le fichier .emd à l’aide du paramètre ImageSpaceUsed, qui peut être défini sur MAP_SPACE ou PIXEL_SPACE.

  • 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.

  • Certains modèles de Deep Learning prennent en charge la méthode Grad-CAM (carte d’activation de classe pondérée par le gradient). La méthode Grad-CAM recherche l’inclinaison de la logique la plus dominante par rapport à la dernière carte d’activation dans le modèle. Elle met en évidence les pixels les plus influents de l’image qui ont permis au modèle de déterminer la classification de l’image.

    Lorsque la prise en charge de Grad-CAM est définie sur true dans la définition de modèle, chaque entité dans la classe d’entités en sortie présente une pièce jointe qui montre les pixels influents.

  • 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).

Paramètres

Etiqueter Explication Type de données

Raster en entrée

Image en entrée utilisée pour classer les objets.

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

Classe d’entités des objets classés en sortie

Classe d’entités en sortie qui contient les géométries entourant les objets ou l’entité de la classe d’entités en entrée, ainsi qu’un champ pour stocker l’étiquette de catégorisation.

Si la classe d’entités existe déjà, les résultats sont ajoutés à la classe d’entités existante.

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 de Deep Learning, le chemin d’accès à la fonction raster Python à utiliser et d’autres paramètres, tels que la marge intérieure ou la taille de tuile privilégiée.

File; String

Entités en entrée

(Facultatif)

Classe d’entités ponctuelles, linéaires ou surfaciques en entrée qui identifie la localisation de chaque objet ou entité à classer et étiqueter. Chaque ligne dans la classe d’entités en entrée représente un objet ou une entité unique.

Si aucune classe d’entités en entrée n’est fournie, on suppose que chaque image en entrée contient un seul objet à classer. Si l’image ou les images en entrée utilisent une référence spatiale, la sortie de l’outil est une classe d’entités dans laquelle l’étendue de chaque image est utilisée comme zone de délimitation géométrique pour chaque classe d’entités étiquetée. Si l’image ou les images en entrée ne sont pas référencées spatialement, la sortie de l’outil est une table contenant les valeurs d’ID des images et les étiquettes de classe de chaque image.

Feature Class; Feature Layer

Champ d’étiquette de classe

(Facultatif)

Nom du champ allant contenir l’étiquette de classe ou de catégorie dans la classe d’entités en sortie.

Si aucun nom de champ n’est fourni, un champ ClassLabel est généré dans la classe d’entités en sortie.

String

Mode de traitement

(Facultatif)

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éeTous 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émentTous 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

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.

Colonnes de la table de valeurs :

  • NameThe name of the function argument.

  • ValueThe value of the function argument.

    • batch sizeThe number of image tiles processed in each step of the model inference. This depends on the memory of your graphics card. The argument is available for all model architectures.

    • time test augmentationPerforms test time augmentation while predicting. If true, predictions of flipped and rotated variants of the input image will be merged into the final output. The argument is available for all model architectures.

    • score thresholdThe predictions above this confidence score are included in the result. The allowed values range from 0 to 1.0. The argument is available for all model architectures. This argument tends to be used in models trained prior to ArcGIS Pro 3.5.

    • thresholdThe predictions above this confidence score are included in the result. The allowed values range from 0 to 1.0. The argument is available for all model architectures. This argument tends to be used in models trained in ArcGIS Pro 3.5 and later.

Value Table

Légende

(Facultatif)

Nom du champ contenant le texte ou la légende dans la classe d’entités en sortie. Ce paramètre est pris en charge uniquement lorsqu’un modèle Créateur de légende d’image est utilisé.

Si aucun nom de champ n’est fourni, un champ Caption est généré dans la classe d’entités en sortie.

Remarque :

Ce paramètre n’apparaît pas dans la fenêtre Geoprocessing (Géotraitement). Pour changer le nom de champ par défaut, utilisez le paramètre Class Label Field (Champ d’étiquette de classe).

String

Environnements

Système de coordonnées en sortie, Transformations géographiques, Étendue, Taille de cellule, Type de processeur, ID GPU, Facteur de traitement parallèle

Informations de licence

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