Skip To Content

Affiner le modèle

Vous pouvez optimiser le modèle Prithvi - Segmentation des zones brûlées en fonction de votre zone géographique, de votre imagerie ou de vos entités d’intérêt. L’optimisation d’un modèle demande moins de données d’entraînement, de ressources de calcul et de temps par rapport à l’entraînement d’un nouveau modèle.

Il est recommandé d’optimiser le modèle si vous n’êtes pas satisfait des résultats obtenus avec les modèles de Deep Learning pré-entraînés ArcGIS disponibles. Cela peut se produire si votre zone d’intérêt se trouve en dehors des géographies concernées pour les modèles ou si les propriétés de votre imagerie (la résolution, l’échelle et la saisonnalité, par exemple) sont différentes.

Vous pouvez préparer les données d’entraînement à l’aide de l’outil Export Training Data For Deep Learning (Exporter les données d’apprentissage pour Deep Learning). Ensuite, vous pouvez optimiser ce modèle sur vos données à l’aide de l’outil Train Deep Learning Model (Entraîner le modèle de Deep Learning) dans ArcGIS Pro. Suivez la procédure ci-dessous pour optimiser le modèle.

Préparer les données d’entraînement

Ce modèle est entraîné sur six canaux composés de Harmonized Landsat 8 (HLSL30) ou de Harmonized Sentinel 2 (HLSS30) et d’étiquettes de zones brûlées. Utilisez l’outil Export Training Data For Deep Learning (Exporter les données d’entraînement pour Deep Learning) pour préparer les données d’entraînement pour l’optimisation du modèle.

  1. Accédez à Tools (Outils) sous l’onglet Analysis (Analyse).
    Icône des outils
  2. Cliquez sur l’onglet Toolboxes (Boîtes à outils) dans le panneau Geoprocessing (Géotraitement), sélectionnez Image Analyst Tools (Outils Image Analyst) et accédez à l’outil Export Training Data For Deep Learning (Exporter les données d’entraînement pour Deep Learning) dans le jeu d’outils Deep Learning.
    Outil Exporter les données d’apprentissage pour l'apprentissage en profondeur
  3. Définissez les variables sous l’onglet Parameters (Paramètres) comme suit :
    1. Input Raster (Raster en entrée) : sélectionnez l’imagerie 6 bandes. Pour plus d’informations relatives au raster en entrée, voir Configuration de l’imagerie recommandée.
    2. Output Folder (Dossier en sortie) : répertoire de votre choix sur votre poste.
    3. Input Feature Class Or Classified Raster Or Table (Classe d’entités, raster classé ou table en entrée) : sélectionnez la classe d’entités étiquetée ou le raster classé représentant les zones brûlées. Une classe d’entités doit inclure une zone de texte intitulée ClassName contenant le nom et un autre champ intitulé ClassValue.
    4. Class Value Field (Champ de valeur de classe) : si une classe d’entités est utilisée à l’étape précédente, ajoutez le champ ClassValue qui référence la valeur de classe attribuée à la zone brûlée dans la classe d’entités mentionnée.
    5. Image Format (Format d’image) : format TIFF
    6. Tile Size X (Taille de tuile X) : 224
    7. Tile Size Y (Taille de tuile Y) : 224
    8. Stride X (Pas X) : 0
    9. Stride Y (Pas Y) : 0
    10. Metadata Format (Format de métadonnées) : tuiles classées
      Paramètres de l’outil Exporter les données d’entraînement pour Deep Learning
  4. Définissez les variables sous l’onglet Environments (Environnements).
    1. Processing Extent (Étendue de traitement) - Sélectionnez Current Display Extent (Étendue d’affichage actuelle) ou toute autre option dans le menu déroulant, comme il convient.
    2. Cell Size (Taille de cellule) : attribuez la valeur de votre choix à la taille de cellule.
      Paramètres de l’outil Exporter les données d’entraînement pour Deep Learning
  5. Cliquez sur Run (Exécuter). À l’issue du traitement, les données d’entraînement exportées sont sauvegardées dans le répertoire spécifié.

Optimiser le modèle Prithvi - Segmentation des zones brûlées

Pour optimiser le modèle à l’aide du module d’apprentissage d’ArcGIS API for Python, procédez comme suit :

  1. Ouvrez l’invite de commande Python avec l’environnement composé des dépendances de Deep Learning, accédez au répertoire de votre choix, puis saisissez jupyter-notebook.
    Invite de commande Python
  2. Dans le navigateur, cliquez sur New (Nouveau), puis sélectionnez Python 3 (ipykernel) pour créer un notebook.
    jupyter notebook
  3. Pour optimiser le modèle, utilisez les fonctions suivantes :
    1. import arcgis.learn module.
    2. prepare_data : préparez un objet de données à partir du modèle d’entraînement exporté par l’outil Export Training Data For Deep Learning (Exporter les données d’entraînement pour Deep Learning) ou à partir des modèles d’entraînement dans les formats de jeu de données pris en charge.

      1. path : indiquez le chemin d’accès à vos données d’entraînement exportées à l’étape précédente.
      2. batch_size : spécifiez le nombre de tuiles d’image traitées à chaque étape de l’inférence de modèle, ce nombre étant fonction de la mémoire de votre carte graphique.

    3. Initialisez un modèle MMSegmentation et attribuez-lui un nom de variable (model, par exemple)

      1. data : indiquez l’objet de données créé à l’aide de la fonction prepare_data.
      2. model : indiquez le nom de modèle prithivi100m_crop_classification.

    4. fit : entraînez le modèle pour le nombre spécifié d’époques en utilisant la vitesse d’apprentissage générée automatiquement à l’aide de la méthode fit.
    5. save : enregistrez le modèle entraîné dans un fichier de paquetage Deep Learning (.dlpk) à l’aide de la méthode save. Le format du fichier de paquetage Deep Learning est le format standard utilisé pour déployer les modèles Deep Learning sur la plateforme ArcGIS. Par défaut, il sera enregistré dans le sous-dossier models du dossier des données d’entraînement.
    6. per_class_metrics : calculez la précision, le rappel et le score F1 par classe sur le jeu de validation à l’aide de la méthode « per_class_metrics ».
      Entraîner le modèle à l’aide d’ArcGIS API for Python
  4. Vous pouvez à présent utiliser le modèle enregistré pour exécuter l’inférence en fonction de votre imagerie.