Extraire des entités à l’aide de modèles IA (GeoAI)

Disponible avec une licence Image Analyst.

Synthèse

Exécute un ou plusieurs modèles de Deep Learning pré-entraînés sur un raster en entrée pour extraire des entités et automatiser le post-traitement des sorties inférées.

En savoir plus sur le fonctionnement de l’outil Extraire des entités à l’aide de modèles IA

Utilisation

  • Cet outil requiert des modèles pré-entraînés ArcGIS issus d’ArcGIS Living Atlas of the World ou des paquetages de modèle de Deep Learning personnalisés (.dlpk).

  • Vous devez installer la structure de Deep Learning correspondant à Python dans ArcGIS AllSource.

    Découvrir comment installer des structures de Deep Learning pour ArcGIS

  • Le temps nécessaire à l’outil pour produire les sorties dépend des éléments suivants :

    • La zone d’intérêt utilisée pour l’inférence
    • Le nombre de modèles sélectionnés

  • Pour exécuter cet outil, une machine équipée d’une unité de traitement graphique (GPU) est nécessaire. Si vous avez plusieurs unités de traitement graphique, spécifiez plutôt le paramètre ID de GPU.

  • Les cas d’usage potentiels de l’outil sont notamment la création d’un fond de carte avec plusieurs modèles et le post-traitement de sorties de modèle à l’aide d’algorithmes pour nettoyer les entités extraites.

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

Paramètres

ÉtiquetteExplicationType de données
Raster en entrée

Raster en entrée sur lequel le traitement est réalisé.

Si le paramètre Mode est défini sur Post-traitement uniquement, un raster avec une classification binaire est requis pour ce paramètre.

Raster Layer; Raster Dataset; Mosaic Layer
Mode

Indique le mode utilisé pour le traitement du raster en entrée.

  • Inférence et post-traitementLes entités sont extraites de l’imagerie et post-traitées. Il s’agit de l’option par défaut.
  • Post-traitement uniquementLe raster en entrée est post-traité directement. Un raster monobande à classification binaire est requis pour cette option.
String
Emplacement en sortie

Géodatabase fichier dans laquelle la sortie intermédiaire des modèles et la sortie post-traitée finale sont stockées.

Workspace
Préfixe en sortie

Préfixe ajouté au nom des sorties qui sont enregistrées à l’emplacement en sortie. Le préfixe sert également de nom pour un groupe de couches qui permet d’afficher toutes les sorties.

String
Zone d’intérêt
(Facultatif)

Étendue géographique utilisée pour extraire des entités. Seules les entités se trouvant dans la zone d’intérêt sont extraites.

Feature Set
Modèles pré-entraînés
(Facultatif)

Modèles pré-entraînés ArcGIS issus d’ArcGIS Living Atlas of the World pouvant être utilisés sur le raster en entrée fourni. Ce paramètre requiert une connexion Internet pour télécharger les modèles pré-entraînés.

String
Modèles supplémentaires
(Facultatif)

Modèles de Deep Learning pouvant être utilisés sur le raster en entrée fourni et processus de post-traitement utilisé pour les fichiers des modèles supplémentaires (.dlpk et .emd). Les processus de post-traitement disponibles sont les suivants :

  • Régularisation linéaire : le processus de post-traitement extrait des entités linéaires d’un raster monobande à classification binaire et génère une classe d’entités polylignes après son optimisation. Ce processus prend également en charge les modèles Deep Learning qui génèrent des classes d’entités polylignes.
  • Régularisation parcellaire : le processus de post-traitement extrait des parcelles d’un raster monobande à classification binaire et génère une classe d’entités surfaciques après son optimisation.
  • Régularisation surfacique : le processus de post-traitement génère une classe d’entités surfaciques après son optimisation. Ce processus est compatible uniquement avec les modèles de détection d’objets.
  • Segmentation des polygones : le processus de post-traitement génère une classe d’entités surfaciques contenant les objets détectés à l’aide de leur centroïde ou de leur emprise. Le paramètre Prompt permet d’indiquer la méthode de segmentation.
  • Aucun : aucun processus de post-traitement n’est appliqué. Il s’agit de l’option par défaut.

Value Table
Seuil de confiance
(Facultatif)

Confiance minimale du modèle de Deep Learning utilisé lors de la détection d’objets. La valeur doit être comprise entre 0 et 1.

Double
Enregistrer la sortie intermédiaire
(Facultatif)

Indique si les sorties intermédiaires sont enregistrées dans l’emplacement en sortie. Le terme de sorties intermédiaires désigne les résultats générés une fois le modèle inféré.

  • Activé : les sorties intermédiaires sont enregistrées dans l’emplacement en sortie.
  • Désactivé : les sorties intermédiaires ne sont pas enregistrées. Il s’agit de l’option par défaut.
Boolean
Augmentation du temps de test
(Facultatif)

Indique si les prévisions des variantes inversées et pivotées de l’image en entrée sont fusionnées dans la sortie finale.

  • Activé : les prévisions des variantes inversées et pivotées de l’image en entrée sont fusionnées dans la sortie finale.
  • Désactivé : les prévisions des variantes inversées et pivotées de l’image en entrée ne sont pas fusionnées dans la sortie finale. Il s’agit de l’option par défaut.

Boolean
Distance de la zone tampon
(Facultatif)

Distance utilisée pour buffériser les entités polylignes avant de les utiliser dans le post-traitement. La valeur par défaut est de 15 mètres.

Linear Unit
Longueur de prolongement
(Facultatif)

Distance maximale à laquelle un segment de ligne est prolongé jusqu’à une entité d’intersection. La valeur par défaut est de 25 mètres.

Linear Unit
Tolérance de lissage
(Facultatif)

Tolérance utilisée par l’algorithme PAEK (approximation polynomiale avec noyau exponentiel). La valeur par défaut est de 30 mètres.

Linear Unit
Longueur d’arc pendant
(Facultatif)

Longueur à laquelle les segments de ligne qui ne touchent pas une autre ligne aux deux extrémités (arcs pendants) sont tronqués. La valeur par défaut est de 5 mètres.

Linear Unit
Entités route en entrée
(Facultatif)

Classe d’entités route utilisée pour affiner les parcelles. L’entrée peut être une classe d’entités surfaciques ou polylignes.

Feature Layer; Feature Class
Largeur de la zone tampon des routes
(Facultatif)

Distance de la zone tampon utilisée pour les entités route en entrée. La valeur par défaut est de 5 mètres pour les entités polylignes et de 0 mètre pour les entités surfaciques.

Linear Unit
Régulariser les parcelles
(Facultatif)

Indique si les parcelles extraites sont normalisées en éliminant les artefacts indésirables dans leur géométrie.

  • Activé : les parcelles extraites sont normalisées. Il s’agit de l’option par défaut.
  • Désactivé : les parcelles extraites ne sont pas normalisées.
Boolean
Processus de post-traitement
(Facultatif)

Indique le processus de post-traitement utilisé.

  • Régularisation linéaireLes entités linéaires sont extraites d’un raster monobande à classification binaire et une classe d’entités polylignes est générée après son optimisation.
  • Régularisation parcellaireLes parcelles sont extraites d’un raster monobande à classification binaire et une classe d’entités surfaciques est générée après son optimisation.
  • Régularisation surfaciqueUne classe d’entités surfaciques est générée après son optimisation. Ce processus est compatible uniquement avec les modèles de détection d’objets.
String
Entités en sortie
(Facultatif)

Classe d’entités contenant la sortie post-traitée.

Feature Class
Tolérance entre des parcelles adjacentes
(Facultatif)

Distance minimale entre des coordonnées avant qu’elles ne soient considérées comme identiques. Ce paramètre permet de réduire les micropolygones entre les parcelles extraites. La valeur par défaut est de 3 mètres.

Linear Unit
Méthode de régularisation
(Facultatif)

Indique la méthode de régularisation utilisée pour le post-traitement.

  • Angles droitsDes formes composées d’angles à 90° entre des segments adjacents sont créées. Il s’agit de l’option par défaut.
  • Angles droits et diagonalesDes formes composées d’angles à 45° et 90° entre des segments adjacents sont créées.
  • Tous les anglesDes formes qui dessinent des angles quelconques entre des segments adjacents sont créées.
  • CercleLa distance maximale à partir de la limite de l’entité en cours de traitement est utilisée.
String
Tolérance
(Facultatif)

Distance maximale selon laquelle l’emprise régularisée peut s’écarter de la limite de son entité d’origine. La valeur par défaut est de 1 mètre.

Linear Unit
Prompt
(Facultatif)

Spécifie la méthode de segmentation utilisée lorsque le paramètre Modèles supplémentaires est défini sur Segmentation des polygones.

  • CentroïdeLe centroïde des détections indique au modèle de segmentation des polygones ce qu’il faut segmenter dans le raster en entrée.
  • EmpriseL’emprise des détections indique au modèle de segmentation des polygones ce qu’il faut segmenter dans le raster en entrée.
  • AucunAucune méthode de segmentation n’est utilisée. Il s’agit du paramètre par défaut.
String
Entités en entrée
(Facultatif)

Classe d’entités sur laquelle le post-traitement est effectué. Ce paramètre est pris en charge uniquement lorsque le paramètre Processus de post-traitement est défini sur Régularisation linéaire ou sur Régularisation surfacique.

Classe d’entités sur laquelle le post-traitement est effectué. Ce paramètre n’est pris en charge que lorsque le paramètre post_processing_workflow est défini sur Line Regularization ou sur Polygon Regularization.

Feature Layer; Feature Class
Synthèse en sortie
(Facultatif)

La table contient une liste des sorties générées ainsi que leurs chemins d’accès respectifs.

Table

arcpy.geoai.ExtractFeaturesUsingAIModels(in_raster, mode, out_location, out_prefix, {area_of_interest}, {pretrained_models}, {additional_models}, {confidence_threshold}, {save_intermediate_output}, {test_time_augmentation}, {buffer_distance}, {extend_length}, {smoothing_tolerance}, {dangle_length}, {in_road_features}, {road_buffer_width}, {regularize_parcels}, {post_processing_workflow}, {out_features}, {parcel_tolerance}, {regularization_method}, {poly_tolerance}, {prompt}, {in_features}, {out_summary})
NomExplicationType de données
in_raster

Raster en entrée sur lequel le traitement est réalisé.

Si le paramètre mode est défini sur Only Postprocess, un raster avec une classification binaire est requis pour ce paramètre.

Raster Layer; Raster Dataset; Mosaic Layer
mode

Indique le mode utilisé pour le traitement du raster en entrée.

  • Infer and PostprocessLes entités sont extraites de l’imagerie et post-traitées. Il s’agit de l’option par défaut.
  • Only PostprocessLe raster en entrée est post-traité directement. Un raster monobande à classification binaire est requis pour cette option.
String
out_location

Géodatabase fichier dans laquelle la sortie intermédiaire des modèles et la sortie post-traitée finale sont stockées.

Workspace
out_prefix

Préfixe ajouté au nom des sorties qui sont enregistrées à l’emplacement en sortie. Le préfixe sert également de nom pour un groupe de couches qui permet d’afficher toutes les sorties.

String
area_of_interest
(Facultatif)

Étendue géographique utilisée pour extraire des entités. Seules les entités se trouvant dans la zone d’intérêt sont extraites.

Feature Set
pretrained_models
[pretrained_models,...]
(Facultatif)

Modèles pré-entraînés ArcGIS issus d’ArcGIS Living Atlas of the World pouvant être utilisés sur le raster en entrée fourni. Ce paramètre requiert une connexion Internet pour télécharger les modèles pré-entraînés.

String
additional_models
[additional_models,...]
(Facultatif)

Modèles de Deep Learning pouvant être utilisés sur le raster en entrée fourni et processus de post-traitement utilisé pour les fichiers des modèles supplémentaires (.dlpk et .emd). Les processus de post-traitement disponibles sont les suivants :

  • Line Regularization : le processus de post-traitement extrait des entités linéaires d’un raster monobande à classification binaire et génère une classe d’entités polylignes après son optimisation. Ce processus prend également en charge les modèles Deep Learning qui génèrent des classes d’entités polylignes.
  • Parcel Regularization : le processus de post-traitement extrait des parcelles d’un raster monobande à classification binaire et génère une classe d’entités surfaciques après son optimisation.
  • Polygon Regularization : le processus de post-traitement génère une classe d’entités surfaciques après son optimisation. Ce processus est compatible uniquement avec les modèles de détection d’objets.
  • Polygon Segmentation : le processus de post-traitement génère une classe d’entités surfaciques contenant les objets détectés à l’aide de leur centroïde ou de leur emprise. Le paramètre prompt permet d’indiquer la méthode de segmentation.
  • None : aucun processus de post-traitement n’est appliqué. Il s’agit de l’option par défaut.

Value Table
confidence_threshold
(Facultatif)

Confiance minimale du modèle de Deep Learning utilisé lors de la détection d’objets. La valeur doit être comprise entre 0 et 1.

Double
save_intermediate_output
(Facultatif)

Indique si les sorties intermédiaires sont enregistrées dans l’emplacement en sortie. Le terme de sorties intermédiaires désigne les résultats générés une fois le modèle inféré.

  • TRUELes sorties intermédiaires sont enregistrées dans l’emplacement en sortie.
  • FALSELes sorties intermédiaires ne sont pas enregistrées. Il s’agit de l’option par défaut.
Boolean
test_time_augmentation
(Facultatif)

Indique si les prévisions des variantes inversées et pivotées de l’image en entrée sont fusionnées dans la sortie finale.

  • TRUELes prévisions des variantes inversées et pivotées de l’image en entrée sont fusionnées dans la sortie finale.
  • FALSELes prévisions des variantes inversées et pivotées de l’image en entrée ne sont pas fusionnées dans la sortie finale. Il s’agit de l’option par défaut.
Boolean
buffer_distance
(Facultatif)

Distance utilisée pour buffériser les entités polylignes avant de les utiliser dans le post-traitement. La valeur par défaut est de 15 mètres.

Linear Unit
extend_length
(Facultatif)

Distance maximale à laquelle un segment de ligne est prolongé jusqu’à une entité d’intersection. La valeur par défaut est de 25 mètres.

Linear Unit
smoothing_tolerance
(Facultatif)

Tolérance utilisée par l’algorithme PAEK (approximation polynomiale avec noyau exponentiel). La valeur par défaut est de 30 mètres.

Linear Unit
dangle_length
(Facultatif)

Longueur à laquelle les segments de ligne qui ne touchent pas une autre ligne aux deux extrémités (arcs pendants) sont tronqués. La valeur par défaut est de 5 mètres.

Linear Unit
in_road_features
(Facultatif)

Classe d’entités route utilisée pour affiner les parcelles. L’entrée peut être une classe d’entités surfaciques ou polylignes.

Feature Layer; Feature Class
road_buffer_width
(Facultatif)

Distance de la zone tampon utilisée pour les entités route en entrée. La valeur par défaut est de 5 mètres pour les entités polylignes et de 0 mètre pour les entités surfaciques.

Linear Unit
regularize_parcels
(Facultatif)

Indique si les parcelles extraites sont normalisées en éliminant les artefacts indésirables dans leur géométrie.

  • TRUELes parcelles extraites sont normalisées. Il s’agit de l’option par défaut.
  • FALSELes parcelles extraites ne sont pas normalisées.
Boolean
post_processing_workflow
(Facultatif)

Indique le processus de post-traitement utilisé.

  • Line RegularizationLes entités linéaires sont extraites d’un raster monobande à classification binaire et une classe d’entités polylignes est générée après son optimisation.
  • Parcel RegularizationLes parcelles sont extraites d’un raster monobande à classification binaire et une classe d’entités surfaciques est générée après son optimisation.
  • Polygon RegularizationUne classe d’entités surfaciques est générée après son optimisation. Ce processus est compatible uniquement avec les modèles de détection d’objets.
String
out_features
(Facultatif)

Classe d’entités contenant la sortie post-traitée.

Feature Class
parcel_tolerance
(Facultatif)

Distance minimale entre des coordonnées avant qu’elles ne soient considérées comme identiques. Ce paramètre permet de réduire les micropolygones entre les parcelles extraites. La valeur par défaut est de 3 mètres.

Linear Unit
regularization_method
(Facultatif)

Indique la méthode de régularisation utilisée pour le post-traitement.

  • Right AnglesDes formes composées d’angles à 90° entre des segments adjacents sont créées. Il s’agit de l’option par défaut.
  • Right Angles and DiagonalsDes formes composées d’angles à 45° et 90° entre des segments adjacents sont créées.
  • Any AnglesDes formes qui dessinent des angles quelconques entre des segments adjacents sont créées.
  • CircleLa distance maximale à partir de la limite de l’entité en cours de traitement est utilisée.
String
poly_tolerance
(Facultatif)

Distance maximale selon laquelle l’emprise régularisée peut s’écarter de la limite de son entité d’origine. La valeur par défaut est de 1 mètre.

Linear Unit
prompt
(Facultatif)

Spécifie la méthode de segmentation utilisée lorsque le paramètre additional_models est défini sur Polygon Segmentation.

  • CentroidLe centroïde des détections indique au modèle de segmentation des polygones ce qu’il faut segmenter dans le raster en entrée.
  • Bounding BoxL’emprise des détections indique au modèle de segmentation des polygones ce qu’il faut segmenter dans le raster en entrée.
  • NoneAucune méthode de segmentation n’est utilisée. Il s’agit du paramètre par défaut.
String
in_features
(Facultatif)

Classe d’entités sur laquelle le post-traitement est effectué. Ce paramètre n’est pris en charge que lorsque le paramètre post_processing_workflow est défini sur Line Regularization ou sur Polygon Regularization.

Feature Layer; Feature Class
out_summary
(Facultatif)

La table contient une liste des sorties générées ainsi que leurs chemins d’accès respectifs.

Table

Exemple de code

ExtractFeaturesUsingAIModels (fenêtre Python)

Cet exemple montre comment utiliser la fonction ExtractFeaturesUsingAIModels.

# Name: ExtractFeaturesUsingAIModels.py
# Description: Extract features using pretrained deep learning models on imagery data.
  
# Import system modules
import arcpy

# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")

# Set local variables
datapath = "path_to_training_data" 
out_gdb = "path_to_gdb"
predictions = "output_prefix"

# Run Extract Features Using AI Models
arcpy.geoai.ExtractFeaturesUsingAIModels(
    in_raster=datapath,
    mode="Infer and Postprocess", 
    out_location=out_gdb, 
    out_prefix=predictions, 
    pretrained_models="'Building Footprint Extraction - USA'", 
    save_intermediate_output="TRUE", 
    buffer_distance="15 Meters", 
    extend_length="25 Meters", 
    smoothing_tolerance="30 Meters", 
    dangle_length="5 Meters",
    regularization_method="Right Angles",
    poly_tolerance="1 Meters",
    prompt="Bounding Box")