Skip to main content

Détecter 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 afin de générer une classe d’entités contenant les objets qu’il trouve. Les entités peuvent correspondre à des emprises ou des polygones autour des objets trouvés ou encore des points situés aux centres des objets.

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.

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

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

  • Pour les couches d’imagerie orientée, le traitement s’effectue toujours dans l’espace pixel. Lorsque l’espace pixel est utilisé pour le traitement, les détections dans l’espace pixel sont conservées dans la table en sortie dans le champ IShape.

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

  • Utilisez le paramètre Non Maximum Suppression (Suppression non maximale) pour identifier et supprimer les entités en double de la détection des objets. Pour en savoir plus sur ce paramètre, reportez-vous à la section relative à l’utilisation de l’outil Non Maximum Suppression (Suppression non maximale). Lorsque les entrées sont des couches d’imagerie orientée, les doublons sont conservés avec des géométries au sol nulles.

  • Utilisez l’option Process candidate items only (Traiter les éléments candidats uniquement) pour le paramètre Processing Mode (Mode de traitement) afin de détecter les objets uniquement sur les images sélectionnées dans le jeu de données mosaïque. Vous pouvez utiliser l’outil Compute Mosaic Candidates (Calculer les candidats du jeu de données mosaïque) pour trouver dans un jeu de données mosaïque et un service d’imagerie les images candidates qui représentent le mieux la zone de mosaïquage.

  • 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).
  • Le raster en entrée peut être un raster unique, plusieurs rasters dans un jeu de données mosaïque, une couche ou un jeu de données d’imagerie orientée, un service d’imagerie, un dossier d’images ou une classe d’entités avec des images jointes. Pour plus d’informations sur les pièces jointes, reportez-vous à la rubrique Ajouter ou supprimer des fichiers joints.

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

  • Pour plus d’informations sur le Deep Learning, reportez-vous à la rubrique Deep Learning à l’aide de l’extension ArcGIS Image Analyst.

Paramètres

Etiqueter Explication Type de données

Raster en entrée

Image en entrée utilisée pour détecter les objets. L’entrée peut être un raster, plusieurs rasters d’un jeu de données mosaïque, un service d’imagerie, un dossier d’images, une classe d’entités avec des images en pièces jointes, ou un jeu de données ou une couche d’imagerie orientée.

Raster Dataset; Raster Layer; Mosaic Layer; Image Service; Map Server; Map Server Layer; Internet Tiled Layer; Folder; Feature Layer; Feature Class; Oriented Imagery Layer

Objets détectés en sortie

Classe d’entités en sortie qui contient les géométries encerclant l’objet ou les objets détectés dans l’image en entrée.

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

Ce paramètre 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

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.

  • Padding (Marge intérieure) : 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.

  • Confidence Threshold (Seuil de confiance) : les détections dont le score de confiance sont supérieures à ce seuil sont incluses dans le résultat. Les valeurs autorisées varient entre 0 et 1,0. L’argument est disponible pour toutes les architectures de modèle.

  • Batch Size (Taille de lot) : 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.

  • NMS Overlap (Superposition NMS) : ratio de superposition maximale de deux entités se chevauchant, défini comme le rapport entre la zone d’intersection sur la zone d’union. La valeur par défaut est 0.1. L’argument est disponible pour toutes les architectures de modèle.

  • Exclude Padding Detections (Exclure les détections en marge intérieure) : si cette option est activée, les détections potentiellement tronquées à proximité des bords se trouvant dans la zone de marge intérieure des fragments d’image sont filtrées. L’argument est disponible pour SSD, RetinaNet, YOLOv3, DETReg, MMDetection et Faster RCNN uniquement.

  • TTA Scales (Échelles d’allongement de la durée de test) : allonge la durée de test en utilisant différentes échelles. Le bloc de pixels sera traité avec les échelles fournies. L’échelle par défaut est 1, où aucune mise à l’échelle n’est effectuée. Les différentes échelles sont séparées par une virgule, par exemple 0.9,1,1.1. Dans ce cas, le bloc de pixels sera traité trois fois, d’abord à l’échelle 0.9, puis sans changement d’échelle, et enfin à l’échelle 1.1.

  • Test Time Augmentation (Augmentation du temps de test) : allonge la durée de test lors de la prévision. Si la valeur est vraie, les prévisions des orientations inversées et pivotées de l’image en entrée sont fusionnées dans la sortie finale et la moyenne de leurs valeurs de fiabilité est calculée. Ainsi, il est possible que les valeurs de fiabilité passent en dessous du seuil pour les objets qui ne sont détectés que dans un petit nombre d’orientations de l’image. L’argument est disponible pour toutes les architectures de modèle.

  • Tile Size (Taille de tuile) : largeur et hauteur des tuiles d’image selon lesquelles l’imagerie est fractionnée en vue de la prévision. L’argument est disponible uniquement pour MaskRCNN.

  • Merge Policy (Règle de fusion) : règle pour la fusion des prévisions augmentées. Les options disponibles sont mean (moyenne), max et min. Ce paramètre est seulement applicable si l’augmentation du temps de test est utilisée. L’argument est disponible uniquement pour MaskRCNN.

  • Output Classified Raster (Raster classé en sortie) : chemin vers le raster en sortie. L’argument est disponible uniquement pour MaXDeepLab.

Colonnes de la table de valeurs :

  • NameThe name of the function argument.

  • ValueThe value of the function argument.

Value Table

Suppression non maximale

(Facultatif)

Spécifie si la suppression non maximale est réalisée, auquel cas les d’objets dupliqués sont identifiés et les entités dupliquées dont la valeur de confiance est la plus faible sont supprimées.

  • ActivéLa suppression non maximale est réalisée et les objets dupliqués qui sont détectés seront supprimés. Lorsque les entrées sont des couches d’imagerie orientée, les doublons sont conservés avec des géométries au sol nulles.

  • DécochéLa suppression non maximale n’est pas réalisée. Tous les objets détectés seront intégrés dans la classe d’entités en sortie. Il s’agit de l’option par défaut.

Boolean

Champ de score de confiance

(Facultatif)

Nom du champ dans la classe d’entités qui contient les scores de confiance utilisés en sortie par la méthode de détection des objets.

Ce paramètre est requis lorsque le paramètre Non Maximum Suppression (Suppression non maximale) est activé.

String

Champ de valeur de classe

(Facultatif)

Nom du champ de valeur de classe dans la classe d’entités en entrée.

Si aucun nom de champ n’est fourni, un champ Classvalue ou Value est utilisé. Si ces champs n’existent pas, tous les enregistrements sont identifiés comme appartenant à une classe.

String

Ratio de superposition maximale

(Facultatif)

Ratio de superposition maximale de deux entités se chevauchant, défini comme le rapport entre la zone d’intersection et la zone d’union. La valeur par défaut est 0.

Double

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.

  • Traiter les éléments candidats uniquementSeuls les éléments raster dont la valeur est 1 ou 2 dans le champ Candidate de la table attributaire du jeu de données mosaïque cible seront traités.

String

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 effectuée dans l’espace pixel et la sortie est retransformée dans l’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

Objets d’intérêt

(Facultatif)

Indique les noms des objets détectés par l’outil. Les options disponibles dépendent de la valeur du paramètre Model Definition (Définition de modèle).

Ce paramètre est actif uniquement si le modèle détecte plusieurs types d’objets.

String

Sortie dérivée

Etiqueter Explication Type de données

Raster classé en sortie

Raster classé en sortie utilisé pour la classification de pixels. Le nom du jeu de données raster est identique à la valeur du paramètre Output Detected Objects (Objets détectés en sortie).

Ce paramètre est applicable uniquement lorsque le type de modèle est Panoptic Segmentation (Segmentation panoptique).

Raster Dataset

Environnements

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

Informations de licence

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