Préparer le Deep Learning
Pour que vous puissiez entraîner un modèle afin de classifier automatiquement l’imagerie satellite, les bibliothèques de Deep Learning appropriées doivent être installées sur votre ordinateur. Vous devez commencer par vérifier que votre système dispose des bibliothèques et paramètres corrects.Vous téléchargez ensuite l’imagerie Landsat 8 et créez des étiquettes d’apprentissage indiquant l’emplacement des mangroves sur l’image. Enfin, vous exporterez ces étiquettes afin d’entraîner un modèle de Deep Learning pour la classification de pixels.
Configurer et télécharger les données du didacticiel
Vérifiez que votre machine est correctement configurée pour le Deep Learning avant de télécharger les données requises pour ce didacticiel. Elles comprennent l’imagerie Landsat 8 et les emplacements des forêts de mangrove fournis par la collaboration Global Mangrove Watch des Nations Unies.
- Pour pouvoir utiliser les outils de Deep Learning, assurez-vous que votre machine est prête.
Remarque :
L’utilisation des outils de Deep Learning de ArcGIS Pro implique que vous ayez installé les bibliothèques de Deep Learning appropriées sur votre ordinateur. Si ces fichiers ne sont pas installés, vérifiez que ArcGIS Pro est fermé et suivez les étapes décrites dans les instructions Se préparer au Deep Learning dans ArcGIS Pro. Dans ces instructions, vous allez également découvrir comment vérifier si votre matériel informatique et vos logiciels peuvent exécuter des processus de Deep Learning et apprendre d’autres conseils utiles. Une fois que vous avez terminé, vous pouvez poursuivre le didacticiel.
- Téléchargez le fichier Classify_Mangroves_Tutorial_Data.zip de ce didacticiel dans un emplacement approprié de votre ordinateur et extrayez son contenu.
- Dans File Explorer (Explorateur de fichiers), ouvrez Classify_Mangroves_Tutorial_Data. Ouvrez Classify Mangroves.
- Double-cliquez sur le fichier de projet ArcGIS Pro Classify Mangroves.
ArcGIS Pro s’ouvre et présente une carte de la région de Mumbai, en Inde.
- Sur le ruban, cliquez sur l'onglet Vue. Dans le groupe Windows (Fenêtres), cliquez sur le bouton Catalog Pane (Fenêtre Catalogue).
La fenêtre Catalogue apparaît.
- Dans la fenêtre Catalog (Catalogue), développez Folders (Dossiers). Développez Classify Mangroves.
Il s’agit du répertoire des fichiers du projet.
- Développez le dossier Landsat 8 imagery ainsi que le dossier Landsat imagery 2016.
L’imagerie Landsat est fournie sous la forme d’une série de fichiers.
Remarque :
Vous pouvez télécharger une imagerie Landsat 8 supplémentaire depuis l’application EarthExplorer de l’USGS (United States Geological Survey). D’autres emplacements de mangrove peuvent également être téléchargés auprès de la collaboration Global Mangrove Watch.
- Développez l’élément LC08_L2SP_148047_20160128_20200907_02_T1_MTL.txt.
Remarque :
Cet élément est le deuxième dans le dossier et se distingue par une icône représentant un satellite.
Les différents produits Landsat sont visibles et peuvent être ajoutés à une carte. Vous allez utiliser Surface Reflectance (Réflectance des surfaces), à savoir les images en couleur.
- Cliquez avec le bouton droit sur Surface Reflectance (Réflectance des surfaces) et choisissez Add To Current Map (Ajouter à la carte actuelle).
- Si la fenêtre Calculate statistics (Calculer les statistiques) s’ouvre, cliquez sur Yes (Oui).
Une fois les statistiques calculées, l’imagerie Landsat est ajoutée à la carte et à la fenêtre Contents (Contenu).
- Dans la fenêtre Contents (Contenu), double-cliquez sur la couche Surface Reflectance_LC08_L2SP_148047_20160128_20200907_02_T1_MT.
La fenêtre Layer Properties (Propriétés de la couche) apparaît. Vous allez renommer la couche pour raccourcir son nom.
- Dans l’onglet General (Général), dans Name (Nom), entrez Surface Reflectance 2016 (Réflectance de surface 2016).
À présent, vous allez observer la résolution de l’imagerie Landsat. La résolution joue un rôle important lorsque vous vous préparez l’entraînement d’un modèle de Deep Learning.
- Dans la fenêtre Layer Properties (Propriétés de la couche), cliquez sur l’onglet Source.
- Développez Raster Information (Informations raster).
À côté de Cell Size X (Taille de cellule X) et Cell Size Y (Taille de cellule Y), vous constatez que la résolution du raster est de 30 x 30. Vous allez maintenant déterminer l’unité de mesure de la taille de cellule.
- Développez Spatial Reference (Référence spatiale).
La valeur du champ Linear Unit (Unité linéaire) est Meters (Mètres). La résolution de ce raster est de 30 mètres. Cela signifie que chaque pixel de l’imagerie Landsat mesure 30 mètres par 30 mètres au sol.
- Cliquez sur OK.
- Dans la barre d’outils Accès rapide, cliquez sur Save (Enregistrer).
Vous avez téléchargé un projet ArcGIS Pro et lui avez ajouté une imagerie Landsat 8. À présent, vous allez utiliser ces jeux de données pour entraîner un modèle qui permettra de classifier automatiquement les forêts de mangrove.
Entraîner un modèle d’apprentissage profond
L’entraînement d’un modèle de Deep Learning requiert la conversion de données SIG dans un format pouvant être utilisé pour classer l’imagerie. Tout d’abord, à l’aide de l’imagerie de 2016, vous allez marquer les emplacements des mangroves manuellement. Ces emplacements marqués sont appelés étiquettes. Ces étiquettes seront utilisées pour entraîner le modèle. Une fois le modèle créé, vous allez l’appliquer à l’imagerie de 2021 pour classer automatiquement les forêts de mangrove.
Remarque :
Les emplacements des mangroves sont fournis par les Nations Unies. Vous pouvez utiliser le jeu de données mis à disposition ou créer vos propres étiquettes en suivant les étapes ci-après. Si vous voulez utiliser le jeu de données fourni pour les mangroves, passez à la section Exporter les données d’entraînement de ce didacticiel.
Préparer les étiquettes d’apprentissage
Tout d’abord, vous allez créer des étiquettes. Ces étiquettes correspondent à des zones dans l’imagerie dans lesquelles vous savez qu’il y a des mangroves. Vous pouvez les créer en numérisant ou en dessinant manuellement des polygones dans l’imagerie.
- Sur le ruban, cliquez sur l’onglet Map (Carte). Dans le groupe Navigate (Naviguer), cliquez sur Bookmarks (Géosignets) et choisissez Mangroves.
Une zone comportant des mangroves apparaît sur la carte.
- Dans le ruban, cliquez sur l’onglet Imagerie. Dans le groupe Image Classification (Classification d'images), cliquez sur Classification Tools (Outils de classification) et sélectionnez Training Samples Manager (Gestionnaire d'échantillons d’apprentissage).
La fenêtre Image Classification (Classification des images) s’ouvre. Elle vous permet de créer différentes classes pour les diverses entités que le modèle doit classer dans l’imagerie. Vous allez ajouter une classe qui sera utilisée pour les mangroves. Cette classe sera stockée dans une structure personnalisée.
- Dans la fenêtre Image Classification (Classification d’images), cliquez sur Create New Schema (Créer une nouvelle structure).
La structure par défaut est retirée.
- Cliquez sur le bouton Add New Class (Ajouter une nouvelle classe).
Remarque :
Si le bouton Add New Class (Ajouter une nouvelle classe) n’est pas visible, élargissez la fenêtre Image Classification (Classification des images).
Pour commencer, vous allez donner un nom à la classe.
- Dans le champ Name (Nom), saisissez mangrove.
Ensuite, vous allez affecter une valeur à la classe. L’ordinateur lira cette valeur lors de l’entraînement du modèle. Les mangroves seront définies par la valeur 1.
- Dans Value (Valeur), saisissez 1.
Enfin, vous allez spécifier une couleur pour la classe. Vous utiliserez cette couleur lors de la numérisation des zones de mangroves dans l’imagerie. Le noir sera facilement visible dans l’imagerie pour ce projet.
- Dans le champ Color (Couleur), choisissez Black (Noir).
- Cliquez sur OK.
À présent, la classe de mangrove est disponible dans votre nouvelle structure. Vous allez enregistrer la modification que vous avez apportée à la structure avant de l’utiliser.
- Au-dessus de New Schema (Nouvelle structure), cliquez sur Save (Enregistrer).
- Dans le champ Name (Nom), saisissez Classification des mangroves.
- Dans le champ Description, saisissez Structure utilisée pour étiqueter les mangroves de l’imagerie Landsat 8.
- Dans le champ Output Location (Emplacement en sortie), sélectionnez le dossier Classify Mangroves et cliquez sur OK.
- Cliquez sur Save (Enregistrer).
La nouvelle structure et la nouvelle classe de mangrove ont été enregistrées.
- Enregistrez votre projet.
La structure est enregistrée et peut être utilisée par d’autres utilisateurs ou pour d’autres projets.
Créer les étiquettes d’apprentissage
Maintenant que vous avez créé une classe d’étiquette, vous allez l’utiliser pour numériser des zones de forêts de mangrove sur la carte.
- Sous Mangrove classification, cliquez sur mangrove.
La classe devient active. Ensuite, choisissez le mode de numérisation des zones de mangroves dans l’imagerie.
- Cliquez sur l’outil Polygone.
Vous avez sélectionné la classe de mangrove et un outil de dessin approprié. À présent, vous allez commencer à marquer les zones de mangroves dans l’imagerie.
- Sur la carte, cliquez une fois pour commencer à délimiter une zone de mangroves. Continuez de cliquer pour ajouter des sommets et créer une zone fermée. Double-cliquez une fois la première zone tracée.
Remarque :
Pour annuler votre polygone lors de la numérisation, appuyez sur la touche Échap.
L’entité terminée présente un contour noir.
Pour que votre modèle final génère les meilleurs résultats, il est recommandé de numériser le plus de zones de mangroves possible. Il est également conseillé de vérifier que les zones que vous numérisez ne contiennent que des forêts de mangrove.
Continuez de délimiter des zones de mangroves dans l’imagerie. Une fois la numérisation des étiquettes terminée, vous devez enregistrer vos résultats dans une géodatabase.
- Dans la fenêtre Image Classification (Classification des images), au-dessus de Class (Classe), cliquez sur Save (Enregistrer).
Vous êtes invité à enregistrer vos polygones en tant que classe d’entités. Vous allez les enregistrer dans la géodatabase par défaut de votre projet.
- Dans la fenêtre Save current training samples (Enregistrer les échantillons d’apprentissage actuels), sous Project (Projet), développez Databases (Bases de données). Cliquez sur Classify Mangroves.gdb.
- Dans le champ Name (Nom), entrez mangrove et cliquez sur Save (Enregistrer).
Les zones que vous avez numérisées sont enregistrées. À présent, vous allez retirer les échantillons d’apprentissage de la carte.
- Fermez la fenêtre Image Classification (Classification d’images).
La fenêtre Training Samples Manager (Gestionnaire d’échantillons d’apprentissage) s’ouvre et vous invite à enregistrer les mises à jour que vous avez effectuées.
- Cliquez sur Oui.
Votre géodatabase doit être actualisée pour que votre nouvelle classe d’entités apparaisse.
- Dans la fenêtre Catalog (Catalogue), développez Databases (Bases de données). Développez Classify Mangroves.gdb.
- Sélectionnez Classify Mangroves.gdb et appuyez sur F5.
Votre géodatabase est actualisée et la couche des mangroves apparaît désormais en tant que classe d’entités. Toutefois, ces données doivent être converties au format approprié pour l’entraînement de modèle.
Exporter les données d’entraînement
Maintenant que les données d’entraînement ont été créées, vous allez utiliser l’outil de géotraitement Exporter les données d’entraînement pour le Deep Learning afin de les convertir dans un format pouvant être utilisé pour le Deep Learning. La sortie de ce processus est composée de fragments d’image. L’imagerie Landsat sera répartie dans ces fragments (ou divisée en petites tuiles), qui seront utilisés pour entraîner le modèle. Ce premier outil de géotraitement détermine comment ces images sont produites.
- Sur le ruban, dans Command Search (Commande de recherche), saisissez Export Training Data For Deep Learning (Exporter les données d’entraînement pour Deep Learning). Dans la liste des résultats de la recherche, choisissez Exporter les données d’apprentissage pour le Deep Learning.
La fenêtre Geoprocessing (Géotraitement) s’affiche. Tout d’abord, choisissez l’imagerie qui sera utilisée pour l’entraînement.
- Dans le champ Input Raster (Raster en entrée), choisissez Surface Reflectance 2016 (Réflectance de surface 2016).
Ensuite, créez un dossier qui contiendra vos données d’entraînement.
- Dans le champ Output Folder (Dossier en sortie), accédez au dossier Classify Mangroves. Cliquez avec le bouton droit de la souris sur le dossier Classify Mangroves et choisissez Folder (Dossier).
- Comme nom de dossier, entrez MangroveTrainingData.
- Sélectionnez le dossier et cliquez sur OK.
Ensuite, choisissez la classe d’entités que vous avez créée précédemment et qui définit les zones de mangroves dans l’imagerie.
- Dans le champ Input Feature Class Or Classified Raster Or Table (Classe d’entités, raster classé ou table en entrée), accédez à la géodatabase Classify Mangroves et choisissez la classe d’entités mangrove.
Remarque :
Si vous n’avez pas créé votre propre classe d’entités mangrove avec le gestionnaire d’échantillons d’apprentissage, choisissez la classe d’entités MangroveForest (ForêtMangrove).
- Cliquez sur OK.
- Pour Class Value Field (Champ de valeur de classe), sélectionnez Classvalue.
Remarque :
Si vous utilisez la classe d’entités MangroveForest (ForêtMangrove), choisissez le champ pxlval.
Les valeurs par défaut du jeu de paramètres suivant, Tile Size (Taille de tuile), seront conservées. Toutefois, ces valeurs peuvent être utilisées pour agrandir ou réduire les fragments créés par cet outil. La taille par défaut est de 256 x 256 pixels. Le champ Stride (Pas) détermine dans quelle mesure les fragments qui sont créés se superposent. Par défaut, chaque fragment se superpose sur 128 pixels ou à 50 pour cent. L’augmentation de la superposition a pour effet d’augmenter le nombre de fragments créés.
Le dernier paramètre pour cet outil est Metadata Format (Format des métadonnées). Il détermine le type de modèle de Deep Learning que vous pouvez créer. Étant donné que vous effectuez une classification de pixels pour les mangroves, vous allez choisir le format Classified Tiles (Tuiles classées).
- Dans le champ Metadata Format (Format des métadonnées), choisissez Classified Tiles (Tuiles classées).
Enfin, définissez 30 mètres comme taille de cellule en sortie des données d’entraînement. Cette résolution est la même que pour l’imagerie Landsat 8.
- Sous Export Training Data For Deep Learning (Exporter les données d’apprentissage pour le Deep Learning), cliquez sur l’onglet Environments (Environnements).
- Sous Raster Analysis (Analyse raster), pour Cell Size (Taille de cellule), entrez 30.
- Cliquez sur Run (Exécuter).
L’outil de géotraitement divisera l’imagerie en fragments en utilisant le format approprié pour la classification de pixels. Cette division est nécessaire car l’imagerie ne peut généralement pas être intégralement contenue en une fois dans la mémoire de la plupart des ordinateurs. L’outil sait également quelles zones dans l’imagerie correspondent à des mangroves en fonction des zones que vous avez numérisées.
À présent, vous allez explorer les sorties de l’outil.
- Dans la fenêtre Catalog (Catalogue), développez le dossier MangroveTrainingData et le dossier images.
Les fichiers image correspondent aux fragments qui ont été créés.
- Cliquez avec le bouton droit de la souris sur le fichier 000000000.tif et choisissez Add To Current Map (Ajouter à la carte actuelle).
- Si la fenêtre Calculate statistics (Calculer les statistiques) s’ouvre, cliquez sur Yes (Oui).
- Dans la fenêtre Contents (Contenu), cliquez avec le bouton droit de la souris sur 000000000.tif et choisissez Zoom To Layer (Zoom sur la couche).
La tuile est visible sur la carte. Il s’agit d’une petite partie de l’imagerie Landsat.
Remarque :
L’image affichée repose sur l’utilisation de la classe d’entités MangrovesForest (ForêtMangrove) comme entrée pour l’outil Exporter les données d’entraînement pour le Deep Learning. Si vous avez choisi de numériser vos propres zones de mangroves, vos fragments seront différents. Vous devrez peut-être ajouter quelques fragments avant d’en trouver un comportant des zones blanches représentant des forêts de mangrove.
Entraîner le modèle
Jusqu’à présent, vous avez numérisé des zones de mangroves et les avez exportées dans un format pouvant être utilisé pour l’entraînement. Maintenant, vous allez entraîner le modèle.
Remarque :
Selon la configuration matérielle de votre ordinateur, l’entraînement du modèle peut prendre plusieurs heures. Il est recommandé d’équiper votre ordinateur d’une unité de traitement graphique (GPU) dédiée. Si vous ne voulez pas entraîner le modèle, un package de Deep Learning est prêt et à votre disposition dans le dossier Classify Mangroves et vous pouvez passer à la section suivante intitulée Déployer le modèle de Deep Learning.
- Sur le ruban, dans Command Search (Recherche de commande), saisissez Train Deep Learning Model (Entraîner le modèle de Deep Learning). Dans la liste des résultats de recherche, choisissez Train Deep Learning Model (Entraîner le modèle de Deep Learning).
La fenêtre Geoprocessing (Géotraitement) s’affiche. Tout d’abord, sélectionnez vos données d’entraînement, puis définissez des paramètres pour le modèle de Deep Learning.
- Dans le champ Input Training Data (Données d’entraînement en entrée), accédez au dossier Classify Mangroves et cliquez sur le dossier MangroveTrainingData. Cliquez sur OK.
Ensuite, choisissez l’emplacement de sauvegarde de votre modèle de Deep Learning.
- Dans le champ Output Model (Modèle en sortie), accédez au dossier Classify Mangroves. Créez un dossier et nommez-le MangroveClassifier.
- Sélectionnez le dossier MangroveClassifier et cliquez sur OK.
À présent, vous allez déterminer le nombre d’itérations, aussi appelées époques, que le modèle exécutera.
- Dans le champ Max Epochs (Nombre maximal d’époques), vérifiez que la valeur est 20.
En fonction du format des données d’entraînement que vous avez exportées précédemment, vous allez définir un type de modèle propre à une classification de pixels.
- Développez Model Parameters (Paramètres de modèle) et vérifiez que la valeur du champ Model Type (Type de modèle) est U-Net (Pixel classification) (U-Net [Classification de pixels]).
U-Net est un modèle de Deep Learning qui classe les pixels dans un raster en utilisant une segmentation sémantique. Ce modèle est utilisé pour la classification d’occupation du sol.
Ensuite, vous allez définir le nombre d’échantillons d’apprentissage à traiter à la fois pour l’entraînement. Si vous augmentez la taille de lot, les données d’apprentissage seront traitées plus rapidement.
- Dans le champ Batch Size (Taille de lot), saisissez 16.
À présent, vous allez modifier un paramètre pour garantir l’exécution de l’entraînement pour l’ensemble des 20 époques.
- Développez Advanced (Avancé) et désélectionnez la case Stop when model stops improving (Arrêter lorsque le modèle ne s’améliore plus).
Pour terminer, si vous disposez d’un GPU, vous allez définir l’outil de manière à l’exécuter sur le GPU de votre ordinateur pour un traitement plus rapide. Dans le cas contraire, passez directement à l’étape suivante.
- Si votre ordinateur est équipé d’un GPU, cliquez sur l’onglet Environments (Environnements). Dans Processor Type (Type de processeur), sélectionnez GPU.
- Cliquez sur Run (Exécuter).
Remarque :
En cas d’échec de l’exécution du modèle, vous devrez peut-être ajuster le paramètre Batch Size (Taille de lot). La possibilité de traiter des tailles de lot plus importantes dépend de l’unité de traitement graphique (GPU) de votre ordinateur. Si vous avez un GPU puissant, vous pouvez traiter jusqu’à 64 échantillons d’apprentissage à la fois. Si vous avez un GPU moins puissant, vous devrez peut-être régler ce paramètre sur 8, 4 ou 2 et exécuter de nouveau l’outil.
Vous pouvez observer la progression de l’entraînement au cours de l’exécution de l’outil.
- Cliquez sur Afficher les détails.
La fenêtre Details (Détails) s’ouvre.
- Cliquez sur l’onglet Messages.
Pour chacune des 20 époques qui s’exécutent, l’onglet Messages affiche les performances du modèle. Vous allez commencer à constater que la précision du modèle augmente ou tend vers 1.
Remarque :
Étant donné que le modèle s’entraîne différemment chaque fois que cet outil s’exécute, les messages de votre modèle diffèrent de l’image illustrée ci-dessus.
- Fermez la fenêtre Train Deep Learning Model (Entraîner le modèle de Deep Learning).
Une fois l’exécution de l’outil de géotraitement terminée, examinez les sorties.
- Dans l’Explorateur de fichiers, accédez au dossier de votre projet. Ouvrez le dossier MangroveClassifier.
Le dossier contient un certain nombre de sorties que vous pouvez utiliser pour classer l’imagerie :
- MangroveClassifier.pth est un modèle entraîné qui est généralement enregistré dans un format PyTorch.
- MangroveClassifier.emd est un fichier de définition de modèle qui contient des informations sur le modèle, comme la taille de tuile, les classes et le type de modèle.
- model_metrics.html contient des renseignements détaillés sur le taux d’apprentissage utilisé et la précision finale du modèle.
- MangroveClassifier.dlpk est un paquetage complet de tous les fichiers stockés dans le dossier en sortie du modèle comprenant le modèle entraîné, le fichier de définition de modèle et le fichier de mesures du modèle. Ce paquetage peut être partagé avec ArcGIS Online et ArcGIS Enterprise sous forme d’élément pour que d’autres utilisateurs puissent y accéder.
Vous allez explorer le fichier model_metrics pour savoir comment votre modèle se comporte.
- Ouvrez le fichier model_metrics.
Votre navigateur Web par défaut s’ouvre. Cette page contient les informations sur votre modèle et indique dans quelle mesure il est parvenu à classer les mangroves à l’aide de vos données d’entraînement en entrée.
La section Training and Validation loss (Perte d’entraînement et de validation) affiche un graphique illustrant le nombre d’erreurs apparaissant dans le modèle entraîné au fil du temps. Lors de l’exécution du modèle, certaines de vos données en entrée ont été utilisées pour entraîner le modèle et d’autres pour valider ou tester le modèle afin de déterminer son exactitude. Idéalement, vous devriez voir ces valeurs diminuer car le nombre d’images traitées augmente au cours des 20 époques.
Le tableau Analysis of the model (Analyse du modèle) indique la précision des classes de données. Techniquement, votre modèle comporte deux classes, l’une pour mangrove et l’autre pour NoData. Une valeur de précision plus élevée signifie que les résultats du modèle sont plus fiables.
Enfin, cette page affiche quelques exemples de fragment qui comparent vos données d’entraînement d’origine sur les mangroves (Ground Truth (Réalité du terrain)), à gauche, aux prévisions du modèle (Predictions (Prévisions)), à droite. Idéalement, la prévision doit être proche de la réalité du terrain d’origine.
- Fermez la page model_metrics dans votre navigateur Web.
- Fermez l’Explorateur de fichiers.
Avant de déployer votre modèle, effacez le cache de votre unité de traitement graphique (GPU) afin que la mémoire disponible soit suffisante pour classifier l’imagerie Landsat 2021. Si votre ordinateur n’est pas équipé d’une unité de traitement graphique (GPU), vous pouvez ignorer cette étape.
- Dans ArcGIS Pro, dans la fenêtre Catalog (Catalogue), développez Toolboxes (Boîtes à outils). Développez Classify Mangroves.tbx.
Le script fourni dans cette boîte à outils ne comporte pas d’entrée.
- Ouvrez le script Clear Cache (Effacer le cache) et cliquez sur Run (Exécuter).
- Enregistrez votre projet.
Vous avez créé un modèle d’entraînement en numérisant des zones de mangroves à partir de l’imagerie Landsat 8 prise en 2016. Ensuite, vous avez converti votre classe d’entités mangrove dans un format adapté à l’entraînement d’un modèle de Deep Learning et vous l’avez utilisée pour créer un paquetage de Deep Learning. À présent, vous allez utiliser votre nouveau modèle pour classer automatiquement les mangroves de l’imagerie Landsat 8 prise en 2021.
Appliquer le modèle
Une fois qu’un modèle de Deep Learning a été créé, il peut être utilisé de manière répétée pour classifier rapidement l’occupation du sol dans une zone d’intérêt. Vous allez vous servir du modèle que vous avez créé pour classifier les mangroves qui se trouvent dans la même zone géographique que vos données d’apprentissage d’origine. Toutefois, l’imagerie Landsat sera plus récente.
Déployer le modèle de Deep Learning
À présent, vous allez prendre l’imagerie Landsat de 2021 et utiliser votre modèle de Deep Learning pour procéder à l’inférence, ou classification de l’imagerie, et déterminer l’étendue des mangroves.
Remarque :
Si vous n’avez pas entraîné de modèle dans le module précédent, un paquetage de Deep Learning est prêt et à votre disposition dans le dossier Classify Mangroves.
La classification de l’imagerie est un processus qui sollicite considérablement l’unité de traitement graphique (GPU) et qui peut durer un certain temps, selon la configuration matérielle de votre ordinateur. Un raster classé des emplacements de mangrove est fourni dans Classify Mangroves.gdb. Si vous choisissez de ne pas classifier l’imagerie, vous pouvez passer directement à la section Explorer les résultats.
- Dans la fenêtre Contents (Contenu), retirez la couche Surface Reflectance 2016 (Réflectance de surface 2016).
- Dans la fenêtre Catalog (Catalogue), développez le dossier Landsat 8 imagery. Développez le dossier Landsat imagery 2021.
- Développez le fichier LC08_L2SP_148047_20201224_20210310_02_T1_MTL.txt.
Remarque :
Cet élément est le deuxième dans le dossier et se distingue par une icône représentant un satellite.
- Ajoutez le raster Surface Reflectance (Réflectance de surface) à la carte. Si vous êtes invité à calculer les statistiques, cliquez sur Yes (Oui).
- Dans la fenêtre Contents (Contenu), renommez la couche Surface Reflectance_LC08_L2SP_148047_20201224_20210310_02_T1_MTL en Surface Reflectance 2021 (Réflectance de surface 2021).
- Cliquez avec le bouton droit de la souris sur la couche Surface Reflectance 2021 (Réflectance de surface 2021) et choisissez Zoom To Layer (Zoom sur la couche).
Votre imagerie 2021 est représentée sur la carte et peut être classifiée. Vous allez utiliser l’outil de géotraitement Classer des pixels à l’aide d’algorithmes de Deep Learning pour appliquer votre modèle de Deep Learning à cette imagerie.
- Sur le ruban, dans Command Search (Commande de recherche), entrez Classer des pixels à l’aide d’algorithmes de Deep Learning. Dans la liste des résultats de recherche, choisissez Classer des pixels à l’aide d’algorithmes de Deep Learning.
- Dans le champ Input Raster (Raster en entrée), choisissez Surface Reflectance 2021 (Réflectance de surface 2021).
- Pour Output Raster Dataset (Jeu de données raster en sortie), saisissez MangroveExtent2021.
- Dans le champ Model Definition (Définition du modèle), sélectionnez le dossier MangroveClassifier. Cliquez sur le paquetage de Deep Learning MangroveClassifier.
Remarque :
Si vous n’avez pas entraîné de modèle de Deep Learning, accédez au dossier Classify Mangroves, puis ouvrez le dossier Deep learning package. Cliquez sur MangroveClassifier.
- Cliquez sur OK.
D’autres arguments de modèle que vous pouvez définir pour améliorer votre modèle, si nécessaire, sont disponibles. Ces paramètres sont issus de l’entraînement du modèle.
- Sous Arguments, dans batch_size, saisissez 16.
Pour terminer, vous allez définir les environnements de l’outil.
- Cliquez sur l'onglet Environnements.
- Sous Raster Analysis (Analyse raster), pour Cell Size (Taille de cellule), entrez 30.
- Sous Processor Type (Type de processeur), définissez Processor Type (Type de processeur) sur GPU.
- Cliquez sur Run (Exécuter).
Remarque :
La possibilité de définir la taille de lot sur 16 dépend de l’unité de traitement graphique (GPU). Si l’exécution de l’outil échoue, remplacez la valeur de ce paramètre par 8, 4 ou 2.
Une fois l’exécution de l’outil terminée, les résultats sont ajoutés à la carte.
Remarque :
Selon l’exactitude de votre modèle, les résultats peuvent varier. La couleur peut également être différente.
Explorer les résultats
Avant de commencer à comparer l’évolution de l’étendue de la mangrove dans le temps, vous allez déterminer dans quelle mesure les résultats de votre modèle sont proches de l’imagerie.
Remarque :
Si vous n’avez pas exécuté l’outil Classify Pixels Using Deep Learning (Classer des pixels à l’aide du Deep Learning) dans la section précédente, les résultats sont automatiquement mis à votre disposition. Dans la fenêtre Catalog (Catalogue), développez Classify Mangroves.gdb. Ajouter le raster MangroveExtent2021 à la carte.
- Accédez au géosignet Mangroves.
- Dans la fenêtre Contents (Contenu), renommez MangroveExtent2021 en Mangrove Extent 2021 (Étendue de la mangrove en 2021) et gardez la couche sélectionnée.
- Sur le ruban, cliquez sur l’onglet Raster Layer (Couche raster). Dans le groupe Compare (Comparer), cliquez sur Swipe (Balayer).
L’outil Balayer vous permet de cliquer sur la carte et de la déplacer pour masquer une couche et révéler la couche qui se trouve dessous.
- Sur la carte, faites glisser la couche Surface Reflectance 2021 (Réflectance de surface 2021) sous la couche Mangrove Extent 2021 (Étendue de la mangrove en 2021).
Le balayage de la carte et la comparaison des deux couches vous aident à visualiser les résultats de votre modèle.
Remarque :
Selon l’endroit où vous placez votre pointeur sur l’écran, vous pouvez effectuer un balayage vertical ou horizontal.
Avant de continuer, revenez à l’outil Explorer, qui vous permet de vous déplacer sur la carte.
- Sur le ruban, cliquez sur l’onglet Map (Carte). Dans le groupe Navigate (Naviguer), cliquez sur le bouton Explore (Explorer).
- Enregistrez votre projet.
Maintenant que vous avez entraîné et utilisé un algorithme de Deep Learning, vous allez comparer ces résultats à l’étendue de la mangrove en 2016.
Détecter les changements
Pour mieux comprendre dans quelle mesure et où les forêts de mangrove sont menacées ou se développent, vous allez effectuer une analyse raster des étendues de mangrove entre 2016 et 2021 afin d’identifier les endroits où les mangroves se développent ou régressent.
Rasteriser les étiquettes d’apprentissage
Pour que vous puissiez identifier les endroits où l’étendue de la mangrove évolue, vos deux couches de mangrove doivent être au format raster. La couche en sortie du modèle de Deep Learning est déjà un raster, mais les données mises à disposition par la collaboration Global Mangrove Watch sur l’étendue de la mangrove en 2016 ne sont pas des données raster. Vous allez convertir la couche surfacique des mangroves de l’année 2016 en raster.
- Dans la fenêtre Contents (Contenu), activez la couche Mangrove Forest (Forêt de mangrove) et désactivez la couche Mangrove Extent 2021 (Étendue de la mangrove en 2021).
Le contour des zones qui étaient couvertes de mangrove en 2016 apparaît.
Il s’agit de la couche que vous allez convertir en raster.
- Dans le ruban, cliquez sur l’onglet Imagerie. Dans le groupe Analysis (Analyse), cliquez sur le bouton Raster Functions (Fonctions raster).
La fenêtre Fonctions raster apparaît. Les fonctions raster permettent de créer et d’analyser des jeux de données raster.
- Dans la zone de recherche, entrez Rasteriser les entités. Appuyez sur la touche Entrée.
- Sous Conversion, cliquez sur Rasterize Features (Rasteriser les entités).
La fonction raster Rasterize Features (Rasteriser les entités) apparaît. Tout d’abord, vous allez choisir un raster qui définit l’étendue et la résolution du raster en sortie.
- Dans le champ Raster, choisissez Surface Reflectance 2021 (Réflectance de surface 2021).
Vous allez ensuite sélectionner la couche surfacique que vous voulez convertir en raster.
- Dans le champ Input Features (Entités en entrée), sélectionnez Mangrove Forest (Forêt de mangrove).
Dans le champ qui classifie chaque entité surfacique en tant que mangrove, définissez la valeur 1.
- Dans le champ Field (Champ), choisissez pxlval.
- Cliquez sur Créer une nouvelle couche.
- Désactivez la couche Mangrove Forest.
Une nouvelle couche raster pour les forêts de mangrove en 2016 est ajoutée à la carte.
- Renommez Rasterize Features_Surface Reflectance 2021 (Rasteriser les entités_Réflectance de surface 2021) en Mangrove Extent 2016 (Étendue de la mangrove en 2016).
Comparer les étendues de mangrove
Maintenant que vous disposez de deux rasters représentant les étendues de la mangrove en 2016 et en 2021, vous allez utiliser une série de fonctions raster dans un modèle préconçu pour comparer les deux étendues de forêt de mangrove afin d’identifier où la mangrove s’est développée, a régressé ou n’a pas évolué. Avant d’exécuter le modèle, vous allez explorer son fonctionnement.
Tout d’abord, vous allez importer le modèle de fonction raster.
- Dans la fenêtre Raster Functions (Fonctions raster), effacez la recherche.
- Cliquez sur l’onglet Custom (Personnalisé).
- Pointez sur Custom1 (Personnalisé1) et cliquez sur Import functions (Importer des fonctions).
- Accédez au dossier Classify Mangroves. Sélectionnez le modèle de fonction raster Compute Mangrove Cover Change (Calculer l’évolution de l’étendue de la mangrove). Cliquez sur OK.
Le modèle est ajouté sous Custom1 (Personnalisé1).
- Sous Custom1 (Personnalisé1), cliquez avec le bouton droit de la souris sur Compute Mangrove Cover Change (Calculer l’évolution de l’étendue de la mangrove). Cliquez sur Modifier.
La fenêtre Function Editor (Éditeur de fonctions) s’ouvre et présente le modèle Compute Mangrove Cover Change (Calculer l’évolution de l’étendue de la mangrove).
Le modèle commence par les éléments verts à gauche. Ceux-ci représentent vos deux rasters de mangrove à comparer. Ces deux rasters sont liés à la fonction raster Is Null (Est nul). Il lit les rasters en entrée et identifie les zones qui ont été classées sous mangrove et celles qui ont été classées sous NoData. Ensuite, la fonction raster Con convertit les zones de la classe NoData pour les associer à la valeur 0. Les mangroves conservent la valeur 1 que vous avez définie lorsque vous avez créé vos échantillons d’apprentissage précédemment dans ce didacticiel. À ce stade, il existe toujours deux rasters, un pour 2016 et un pour 2021, mais il s’agit désormais de rasters binaires dans lesquels les zones couvertes par la mangrove sont associées à la valeur 1 et les zones sans mangrove à la valeur 0. La dernière fonction, Compute Change (Calculer l’évolution), soustrait le raster de la mangrove de 2021 du raster de la mangrove de 2016. Comme les zones couvertes par la mangrove et les zones sans mangrove ont été converties en 0 et 1, la sortie révèle les zones où la mangrove s’est étendue (valeur 1), les zones où la mangrove a régressé (valeur -1) et les zones qui n’ont pas évolué (valeur 0).
- Fermez la fenêtre Function Editor (Éditeur de fonctions).
- Dans la fenêtre Raster Functions (Fonctions raster), cliquez sur le modèle Compute Mangrove Cover Change (Calculer l’évolution de l’étendue de la mangrove).
La fonction raster apparaît. Vous allez configurer cet outil pour qu’il s’exécute comme un outil de géotraitement.
- Sous Is Null (Est nul), pour 2016 Mangroves (Mangroves 2016), définissez Mangrove Extent 2016 (Étendue de la mangrove en 2016).
- Sous Is Null (Est nul), pour 2021 Mangroves (Mangroves 2021), définissez Mangrove Extent 2021 (Étendue de la mangrove en 2021).
- Cliquez sur Créer une nouvelle couche.
Une nouvelle couche s'ajoute à la carte. Elle représente en violet les zones où la mangrove s’est développée et en vert les zones où la mangrove a régressé. Les zones qui n’ont pas évolué sont représentées en blanc. Vous allez ajuster la symbologie pour la rendre plus claire.
Remarque :
Vos résultats varient en fonction des résultats de votre modèle de Deep Learning.
- Dans la fenêtre Contents (Contenu), renommez Compute Mangrove Cover Change_Mangrove Extent 2016_Mangrove Extent 2021 (Calculer l’évolution de l’étendue de la mangrove_Étendue de la mangrove en 2016_Étendue de la mangrove en 2021) en Mangrove Cover Change (Évolution de l’étendue de la mangrove).
- Cliquez avec le bouton droit sur la couche Mangrove Cover Change (Évolution de l’étendue de la mangrove), puis cliquez sur Symbology (Symbologie).
La fenêtre Symbology (Symbologie) apparaît. Ensuite, vous allez configurer la symbologie et retirer les zones blanches associées à la valeur 0.
- Cliquez sur l’onglet Mask (Masque).
- Sélectionnez la case Display background value (Afficher la valeur d’arrière-plan).
La symbologie de la carte est mise à jour.
- Dans la fenêtre Contents (Contenu), désactivez la couche Mangrove Extent 2016 (Étendue de la mangrove en 2016).
Les résultats finaux sont disponibles mais difficiles à voir dans l’imagerie. Vous allez changer la transparence de l’imagerie pour rendre les résultats plus clairs.
- Dans la sous-fenêtre Contents (Contenu), sélectionnez la couche Surface Reflectance 2021 (Réflectance de surface 2021).
- Sur le ruban, cliquez sur l’onglet Raster Layer (Couche raster). Dans le groupe Effects (Effets), dans le champ Transparency (Transparence), entrez 50 et appuyez sur Entrée.
Les résultats finaux sont maintenant plus faciles à voir.
Les résultats de cette analyse indique où la mangrove s’est développée et où elle a régressé entre 2016 et 2021. En choisissant la symbologie appropriée, vous révélez ces schémas et rendez l’évolution de l’occupation du sol dans le temps plus visible.
Remarque :
Vous pouvez également procéder à l’exportation d’échantillons, à l’entraînement de modèles et au déploiement de modèles de Deep Learning à l’aide de ArcGIS Notebooks avec ArcGIS API for Python et le module arcgis.learn. Pour des exemples d’utilisation de ces outils de géotraitement afin de traiter l’imagerie dans un environnement Notebook, accédez à la fenêtre Catalog (Catalogue) et développez le dossier Notebooks. Celui-ci contient quatre exemples de notebook qui utilisent les processus que vous avez découverts dans ce didacticiel.
Au cours de ce didacticiel, vous avez utilisé l’imagerie pour créer un modèle de Deep Learning, que vous avez ensuite appliqué. Tout d’abord, vous avez créé un jeu de données d’apprentissage qui a été converti dans un format de classification de pixels. Vous avez entraîné un modèle pour reconnaître les mangroves dans l’imagerie Landsat 8. Ensuite, vous avez appliqué le modèle à une imagerie plus récente. Enfin, l’évolution des forêts de mangrove a été illustrée sur la carte pour afficher clairement les endroits où cette espèce d’arbre se développe ou régresse. Ces résultats peuvent être utilisés dans le cadre d’un programme de restauration et de conservation de la mangrove. De plus, votre modèle de Deep Learning peut être utilisé pour classer les habitats de mangroves dans le monde.
Outre la classification des mangroves, Esri met à disposition plusieurs modèles préalablement entraînés dans ArcGIS Living Atlas pour accélérer le processus de classification de l’imagerie et de détection des objets. Vous pouvez télécharger ces modèles gratuitement et les déployer directement sur des entrées d’imagerie compatibles. Vous pouvez aussi adapter ces modèles préalablement entraînés avec vos propres données d’entraînement au lieu d’entraîner un modèle à partir de zéro ; ainsi, vous gagnerez du temps.
Vous trouverez d’autres didacticiels dans la bibliothèque des didacticiels.