Webinaire « Automatiser l’analyse d’images : IAG et apprentissage profond » – Questions et réponses
Pour faire suite au webinaire « Automatiser l’analyse d’images avec des flux de travaux d’IAG et d’apprentissage profond », nous répondons à vos questions sur les outils et exigences de traitement, l’entraînement de modèles et l’apprentissage profond avancé.
L’intelligence artificielle géospatiale (IAG), l’apprentissage automatique et profond… oh là là! Voilà qui semble intimidant, mais sachez qu’ArcGIS Pro permet d’automatiser les tâches d’imagerie en un tour de main.
Lors de notre récent webinaire, Jeff Petillion et moi-même avons chassé la peur de l’inconnu en faisant la démonstration de certaines applications d’imagerie de l’apprentissage automatique et profond dans ArcGIS Pro, notamment la classification d’images, l’entraînement d’un modèle personnalisé et l’utilisation de modèles d’apprentissage profond préentraînés pour effectuer des tâches courantes. Si vous l’avez manqué, consultez-en l’enregistrement pour découvrir les sujets que nous avons abordés.
Maintenant que le rideau est tiré, nous répondons à certaines de vos questions afin que vous puissiez tirer le meilleur parti de l’IAG.
Outils et exigences de traitement
Q : Comment installer des cadres d’apprentissage profond dans ArcGIS Pro?
R : Il est possible de télécharger des bibliothèques et des cadres d’apprentissage profond à partir de la page GitHub sur les programmes d’installation de bibliothèques d’apprentissage profond. Vous y trouverez également toutes les exigences à respecter pour pouvoir utiliser les outils d’apprentissage profond, y compris les modules d’extension sous licence dont vous avez besoin et les exigences système nécessaires pour obtenir des performances optimales. Consultez cette vidéo de deux minutes qui montre comment installer des cadres d’apprentissage profond sur votre ordinateur aux fins d’utilisation dans ArcGIS Pro.
VIDÉO : Installer des bibliothèques d’apprentissage profond dans ArcGIS Pro
Q : Comment savoir si mon ordinateur est en mesure d’exécuter des outils d’apprentissage profond?
R : La plupart des paquetages utilisés dans les outils d’apprentissage profond peuvent être exécutés sur n’importe quelle configuration de machine, mais certains nécessitent un processeur graphique afin d’obtenir de meilleures performances. Consultez le billet de blogue intitulé Trucs et astuces sur l’apprentissage profond avec ArcGIS Pro (en anglais) afin de vous familiariser avec les étapes à suivre pour faire vos premiers pas avec l’apprentissage profond dans ArcGIS Pro. Vous apprendrez également à vérifier si votre machine est dotée d’un processeur graphique compatible.
Q : Les outils d’apprentissage automatique et d’apprentissage profond présentent-ils des limites relativement à l’utilisation des données ou au traitement?
R : En général, les limites d’utilisation des outils de classification d’images et d’apprentissage profond sont liées à la puissance de traitement de l’ordinateur, plutôt qu’aux limites liées à la quantité de données qui sont propres à l’outil. Pour connaître les exigences générales de traitement dans ArcGIS Pro, veuillez consulter la page d’aide sur les exigences système d’ArcGIS Pro. ArcGIS Pro offre également des performances accrues grâce à un processeur graphique (accessible dans les paramètres d’environnements de géotraitement). En ce qui a trait à l’utilisation d’outils d’apprentissage profond aux fins d’entraînement et d’exécution d’inférences dans ArcGIS Pro, il est recommandé de disposer d’une mémoire RAM vidéo de 8 Go. Si vous ne faites qu’exécuter des inférences (p. ex., détection ou classification à l’aide d’un modèle préentraîné), 4 Go de mémoire RAM vidéo suffisent, mais il est recommandé de disposer d’une mémoire RAM vidéo de 8 Go. Si vous ne disposez pas des 4 à 8 Go de mémoire RAM vidéo nécessaires, vous pouvez exécuter les outils d’apprentissage profond sur l’unité centrale, mais le temps de traitement sera plus long. Consultez la page GitHub sur les cadres d’apprentissage profond afin d’en savoir plus sur les exigences système à respecter pour utiliser des outils d’apprentissage profond dans ArcGIS Pro.
Q : L’assistant de classification d’images peut-il être exécuté à l’aide du processeur graphique? D’une manière similaire à celle dont les modèles d’apprentissage profond (p. ex., « Classer des pixels à l’aide de l’apprentissage profond ») peuvent être exécutés sur le processeur graphique avec les paramètres d’environnement de l’outil?
R : À l’heure actuelle, il n’existe aucune option permettant d’exécuter l’assistant de classification d’images ou les outils de géotraitement équivalents à l’aide du processeur graphique. Ce n’est possible que pour les outils d’apprentissage profond et certains outils de la boîte à outils de Spatial Analyst. Toutefois, si vous souhaitez bénéficier de performances accrues, les outils de géotraitement de classification d’images disposent d’une option de traitement parallèle qui permet de répartir l’opération sur plusieurs cœurs d’unité centrale.
Q : L’utilisation des modèles et outils d’apprentissage automatique et d’apprentissage profond entraîne-t-elle des coûts en crédit?
R : Cela dépend si vous utilisez les outils dans ArcGIS Pro ou ArcGIS Online.
Dans ArcGIS Pro, les outils d’apprentissage automatique et d’apprentissage profond sont compris avec la boîte à outils d’analyse d’images, et leur utilisation ne nécessite aucun crédit. Les modèles préentraînés accessibles dans ArcGIS Living Atlas peuvent être téléchargés gratuitement, et leur utilisation avec les outils de géotraitement d’apprentissage profond d’ArcGIS Pro ne nécessite aucun crédit non plus.
En revanche, l’utilisation d’outils d’apprentissage profond dans ArcGIS Online consomme des crédits de service, à l’instar des autres outils d’analyse d’ArcGIS Online. Par exemple, le téléchargement d’un modèle d’apprentissage profond préentraîné à partir d’ArcGIS Living Atlas est gratuit. Cependant, si vous souhaitez l’utiliser pour déduire un jeu de données hébergé dans le Map Viewer d’ArcGIS Online, vous aurez à utiliser des crédits de service. Pour utiliser les outils d’apprentissage profond dans ArcGIS Online, les clients doivent disposer du module d’extension de type d’utilisateur ArcGIS Image for ArcGIS Online afin d’accéder aux outils d’apprentissage profond de l’onglet Analyse. Lorsque vous utilisez les outils d’analyse d’ArcGIS Online, vous pouvez estimer les crédits qu’un processus consommera avant d’exécuter ce dernier.
Estimer la consommation de crédits pour l’utilisation d’outils d’analyse d’apprentissage profond dans ArcGIS Online.
Entraînement de modèles
Q : Est-il possible d’exécuter une classification d’images pour une image à laquelle n’est associée aucune donnée d’entraînement?
R : Dans l’assistant de classification d’images, les utilisateurs ont la possibilité de générer un fichier de définition de classe en sortie (fichier .ecd) à l’étape Classer. Ce fichier .ecd permet d’effectuer des classifications ultérieures sur des matrices spectralement similaires sans avoir à entraîner de nouveaux échantillons de données. Utilisez l’outil Classer le raster (Spatial Analyst) avec le fichier .ecd en entrée pour effectuer ce type de classification d’image.
Q : Qu’est-ce que l’augmentation des données et quand doit-elle être utilisée?
R : L’augmentation des données consiste à accroître artificiellement la quantité de données d’entraînement dont vous disposez en transformant celles existantes pour créer des puces d’images supplémentaires. Il s’agit d’un excellent moyen d’améliorer les performances d’un modèle lorsque vous êtes limité par la quantité de données d’entraînement disponibles (p. ex., un nombre limité d’échantillons recueillis sur le terrain, une zone restreinte, etc.).
Il est possible d’effectuer une augmentation des données à l’aide de l’outil de géotraitement d’exportation des données d’entraînement pour l’apprentissage profond, en définissant le paramètre de rotation facultatif. D’autres options d’augmentation des données peuvent être configurées au moyen de la fonction prepare_data() dans le module arcgis.learn d’ArcGIS API for Python.
Q : Quelles sont les meilleures tailles et formes à utiliser pour dessiner des polygones autour d’échantillons d’entraînement d’objets?
R : Lors de la collecte d’échantillons d’entraînement pour un modèle de détection d’objets, votre polygone (ou encadré de délimitation) doit être aussi près que possible de l’objet que vous essayez de détecter, en plus d’en inclure tous les pixels. Il est acceptable de recueillir quelques pixels en trop autour de l’objet, mais plus l’ajustement est bon, plus la délimitation de l’objet est claire pour l’ordinateur. Le choix de la forme (polygone, rectangle, cercle) dépend de la forme générale de l’objet : les palmiers seront mieux détectés au moyen de cercles, tandis que les maisons devront être représentées à l’aide de polygones dessinés à la main.
Les polygones d’entraînement d’objets doivent pratiquement affleurer l’objet que vous essayez de détecter.
Q : Est-il possible de mettre au point les hyperparamètres des modèles d’apprentissage profond dans ArcGIS Pro?
R : Oui! Les hyperparamètres des outils d’apprentissage profond comprennent la taille de lot et le taux d’apprentissage. Ces paramètres peuvent être définis dans la fenêtre de l’outil géotraitement ou dans les arguments de l’outil en Python. La mise au point des hyperparamètres s’avère souvent une tâche chronophage. Il faut procéder par essais et erreurs afin de trouver les valeurs optimales pour votre modèle.
Q : Quelle est l’incidence de la résolution d’images sur la qualité des données d’entraînement et la précision du modèle global?
R : Voici une bonne règle de base : si vous (un humain, je l’espère) pouvez facilement identifier les objets ou les classes dans l’image, alors un ordinateur peut être entraîné à faire de même. Comme pour nous, plus la résolution de l’image est élevée, plus il est facile pour l’ordinateur de distinguer les objets et les classes, mais cela dépend aussi de ce que nous essayons d’identifier. Les petits objets tels que les bateaux bénéficieront d’une imagerie à plus haute résolution, tandis que certains objets plus grands comme les lacs peuvent facilement être détectés à faible résolution. La résolution d’image appropriée à votre tâche est fonction de ce que vous essayez d’accomplir et de l’imagerie dont vous disposez.
La meilleure résolution dépend de ce que vous essayez de détecter.
Q : Comment peut-on décider quand utiliser des méthodes de classification dirigées ou non dirigées?
R : La distinction entre les méthodes de classification dirigées et non dirigées est généralement la suivante :
La classification dirigée des images
- Utilisez la classification dirigée lorsque vous disposez d’un ensemble d’échantillons d’entraînement représentatifs et bien étiquetés selon les classes connues.
- Cette méthode est idéale lorsque vous avez des connaissances préalables sur les classes présentes dans l’image et que vous souhaitez classer les pixels selon ces classes prédéfinies.
- Cependant, il est nécessaire que l’utilisateur définisse manuellement des échantillons d’entraînement ou qu’il recueille des données de référence aux fins d’entraînement.
La classification non dirigée des images - Utilisez la classification non dirigée lorsque vos connaissances préalables des classes présentes dans l’image sont limitées ou inexistantes.
- Cette méthode est adaptée pour procéder à une analyse exploratoire ou pour relever des tendances ou des regroupements dans les données d’une image.
- Il n’est pas nécessaire de disposer d’échantillons d’entraînement étiquetés. Au lieu de cela, les pixels sont automatiquement mis en grappes sur la base de leurs caractéristiques spectrales.
Il convient également de noter que, dans certains cas, une combinaison des deux approches, dirigée et non dirigée, peut s’avérer bénéfique. Par exemple, vous pouvez recourir à une classification non dirigée dans un premier temps pour identifier les grappes, puis les exploiter comme données d’entraînement par classification dirigée afin d’affiner les résultats de la classification.
Q : Quels formats d’images peut-on utiliser comme entrée pour les outils d’apprentissage automatique et d’apprentissage profond?
R : Les outils d’apprentissage automatique et d’apprentissage profond dans ArcGIS Pro peuvent s’utiliser avec n’importe quel format matriciel pris en charge par Esri, qu’il s’agisse de plusieurs données matricielles dans un jeu de données en mosaïque, d’un service d’images, d’un dossier d’images ou d’une classe d’entités avec des images jointes.
Notez que lorsque vous utilisez votre modèle pour déduire une nouvelle imagerie, le format de cette dernière (y compris le nombre de canaux, la profondeur de pixel, etc.) doit correspondre au format de l’image des données sur lesquelles le modèle a été entraîné. Il se peut que vous obteniez des résultats non optimaux ou que vous commettiez des erreurs lorsque vous utilisez des données dont le format diffère de celui des données d’entraînement. Si vous utilisez un modèle d’apprentissage profond préentraîné, vous pouvez trouver le format d’imagerie recommandé dans les guides et les descriptions disponibles pour chaque paquetage d’apprentissage profond sur la page connexe d’ArcGIS Living Atlas.
Les formats d’imagerie recommandés pour chaque modèle préentraîné sont disponibles sur la page connexe au modèle.
Q : Est-il envisageable d’utiliser plusieurs types d’entrées pour améliorer la segmentation d’objets similaires dans la classification des images?
R : La segmentation peut s’effectuer dans Image Classification Wizard (assistant de classification d’images) ou avec l’outil Segment Mean Shift (Spatial Analyst) (décalage moyen de segment) en utilisant une entrée matricielle unique prise en charge par Esri. Il n’existe pas d’option pour utiliser des entrées matricielles multiples. En revanche, une option permet d’indiquer les index de canal, de sorte que les utilisateurs sont en mesure de sélectionner les trois canaux qui offrent la plus grande différenciation entre les entités d’intérêt.
Apprentissage profond avancé
Q : Les outils d’apprentissage profond sont-ils exécutables à partir de Python?
R : Tous les outils de géotraitement par apprentissage profond ont des équivalents en python dans la bibliothèque ArcPy. Des exemples de scripts sont donnés en bas de la documentation de chacun des outils, par exemple : Modèles d’apprentissage profond préentraînés
En outre, ArcGIS API for Python dispose d’une fonctionnalité d’apprentissage profond encore plus poussée dans le module arcgis.learn. Vous pouvez combiner les outils des bibliothèques ArcPy et ArcGIS API for Python pour écrire des scripts de traitement dans des blocs-notes ou d’autres environnements de développement intégré (IDE). Pour en savoir plus sur ArcGIS API for Python et le module arcgis.learn, veuillez consulter le billet de blogue Modèles d’apprentissage profond dans arcgis.learn (en anglais).
Q : Est-il possible d’importer un modèle externe dans ArcGIS Pro pour l’utiliser avec les outils d’apprentissage profond?
R : La liste des seuls modèles disponibles pour une utilisation avec les outils d’apprentissage profond dans ArcGIS Pro se trouve ici. Cependant, vous pouvez utiliser ArcGIS API for Python pour accéder à des modèles externes utilisables avec le module arcgis.learn à l’aide de Model Extension (extension du modèle). Model Extension est une enveloppe à usage général pour tout modèle de détection d’objets et de classification de pixels (que vous ayez trouvé le modèle ou que vous l’ayez créé vous-même) qui se superpose au cadre ArcGIS existant. Suivez les directives de ce guide (en anglais) pour ajouter un nouveau modèle à l’aide de Model Extension (extension du modèle).
Q : Peut-on affiner un modèle existant (ou préentraîné) avec de nouvelles données d’entraînement?
R : Oui! L’outil d’entraînement de modèle d’apprentissage profond dispose d’un paramètre appelé « Pre-trained Model » (modèle préentraîné) dans la section Advanced (Avancé) qui vous permet de télécharger un modèle préentraîné existant (qu’il ait été entraîné par vous ou téléchargé à partir de Living Atlas) à utiliser comme base lors de l’entraînement du nouveau modèle. Ce processus est appelé apprentissage par transfert, une technique d’apprentissage profond qui consiste à réutiliser un modèle existant pour une autre tâche similaire. Consultez le billet de blogue Réutilisation des modèles d’apprentissage profond à l’aide de l’apprentissage par transfert dans ArcGIS (en anglais) pour plus d’informations sur l’utilisation de l’apprentissage par transfert dans ArcGIS.
Il est possible de charger un modèle préentraîné dans les paramètres avancés de l’outil d’entraînement de modèle d’apprentissage profond.
Voilà qui répond à vos principales questions concernant le travail avec l’intelligence artificielle géospatiale et l’imagerie, qu’il s’agisse de l’installation des bibliothèques d’apprentissage profond ou de l’ajustement des hyperparamètres. Restez à l’affût pour en savoir plus sur l’IAG.