Les modèles d’apprentissage profond préentraînés : pourquoi sont-ils utiles et comment les utiliser?
Il existe actuellement plus de 60 modèles d’apprentissage profond préentraînés dans ArcGIS Living Atlas of the World qui peuvent accélérer vos flux de travaux géospatiaux liés à l’extraction et détection d’entités à partir d’images, à la classification des pixels, au suivi d’objets, à la classification de nuages de points et au caviardage d’images – et le nombre de modèles ne cesse de croître. Dans ce billet de blogue, nous explorerons les avantages que présentent ces modèles préentraînés prêts à l’emploi et les façons de commencer à les utiliser dans le système ArcGIS.
L’intelligence artificielle (IA), l’apprentissage automatique et l’apprentissage profond contribuent à améliorer le monde de diverses manières. Par exemple, l’agriculture de précision alimentée par les technologies de l’IA améliore la productivité des cultures, en assurant une répartition efficace des ressources et en maximisant les rendements. Dans le domaine de l’application de la loi, les modèles de patrouille prédictive pilotés par l’IA aident à lutter contre la criminalité de manière proactive, en cernant les tendances et les points névralgiques potentiels afin de prévenir les activités criminelles. Dans le domaine des prévisions météorologiques et de la gestion des catastrophes, l’utilisation d’algorithmes d’apprentissage profond permet de prédire avec précision les phénomènes météorologiques violents, ce qui donne le temps de se préparer adéquatement pour contrer efficacement les conséquences. Si vous ne connaissez pas encore les termes IA, apprentissage automatique et apprentissage profond, je vous recommande de lire ce billet de blogue pour apprendre à les distinguer.
L’un des domaines de l’IA où l’apprentissage profond a obtenu d’excellents résultats est la vision artificielle, c’est-à-dire la capacité des ordinateurs à voir. Nous pouvons utiliser les modèles d’apprentissage profond dans ArcGIS pour effectuer des tâches telles que la détection d’objets, la classification d’images, la classification sémantique (ou de pixels) et la segmentation d’instances (extraction d’entités précises). La figure 1 présente quelques-unes des tâches de vision artificielle les plus importantes et la manière dont elles s’appliquent aux SIG.
Figure 1 : Les tâches de vision artificielle comprennent la classification d’images, la classification de pixels, la détection d’objets et la segmentation d’instances.
La classification d’images consiste à attribuer une étiquette ou une catégorie unique à l’ensemble d’une image, par exemple en déterminant si une image représente une maison « endommagée » ou « non endommagée ». La classification des pixels, en revanche, vise à étiqueter les pixels individuels d’une image et sert souvent à des tâches comme la classification de l’occupation du sol. La détection d’objets va plus loin en repérant et en localisant plusieurs objets dans une image, par exemple en détectant des bâtiments ou des arbres dans des images aériennes. Enfin, la segmentation des instances implique non seulement la détection des objets, mais aussi la délimitation précise des limites de chaque instance, comme la détection et la délimitation de maisons individuelles dans les images satellites. Chacune de ces techniques sert un objectif unique pour ce qui est de l’extraction de renseignements utiles à partir de données géographiques et de télédétection.
Des exemples d’applications de modèles d’apprentissage profond préentraînés dans le système ArcGIS peuvent être consultés dans la carte narrative suivante.
Grâce aux capteurs qui nous entourent et aux nombreux satellites qui prennent chaque jour des images du monde entier, les données spatiales sont devenues plus abondantes et plus diversifiées que jamais. Extraire des renseignements exploitables de cette vaste quantité de données géospatiales peut s’avérer une tâche ardue. Cependant, l’avènement des techniques d’apprentissage et l’intégration de modèles préentraînés dans le système ArcGIS (figure 2) changent la donne. Il est plus facile que jamais de lancer une analyse et d’automatiser l’extraction d’entités à partir de ces données spatiales. Cette capacité est désormais accessible à un plus grand nombre d’utilisateurs des SIG, même ceux qui connaissent mal l’apprentissage profond, les architectures de modèles ou les techniques d’entraînement. Dans les sections suivantes, nous explorerons les modèles d’apprentissage profond préentraînés prêts à l’emploi dans ArcGIS Living Atlas of the World, et nous nous pencherons sur leurs applications et leurs avantages.
Figure 2 : Une liste des modèles préentraînés offerts dans ArcGIS Living Atlas of the World peut être trouvée en recherchant « ArcGIS Living Atlas of the World » sur votre navigateur et en tapant « dlpk » ou « deep learning models » dans la barre de recherche.
Pourquoi devons-nous utiliser des modèles préentraînés?
Supposons que nous voulions créer un modèle capable de trouver des maisons à Calgary, en Alberta. Nous pouvons commencer par montrer au modèle des images de maisons de tailles et de formes différentes. Ces images seront utilisées pour entraîner le modèle. Au fur et à mesure que le modèle apprend, il construit des couches de connaissances en commençant par des éléments simples comme les bords et les couleurs, puis en passant à des détails plus complexes comme la structure des maisons. Chaque couche attribue différents niveaux d’importance à ces détails en calculant des probabilités. Ces valeurs probabilistes, appelées poids de probabilité, sont stockées dans chaque couche du réseau neuronal adjoint au modèle d’apprentissage profond. Au fur et à mesure que s’ajoutent des couches, la compréhension de la représentation s’améliore. La création d’un tel modèle à partir de zéro nécessiterait une quantité massive de données (jusqu’à des millions de lignes). Ces données sont souvent coûteuses et difficiles à obtenir, mais l’on ne peut faire de compromis à leur égard sans amoindrir l’efficacité du modèle.
Au lieu de construire un modèle d’apprentissage profond à partir de zéro, nous pouvons utiliser des modèles préentraînés et les affiner pour résoudre un nouveau problème similaire. Un modèle d’IA préentraîné est un modèle d’apprentissage profond qui est entraîné sur de grands ensembles de données pour accomplir une tâche précise, et il peut être utilisé tel quel ou personnalisé pour s’adapter à des études de cas particulières ou aux exigences quant au type d’application. Grâce à la richesse des connaissances acquises au préentraînement, la phase de réglage fin permet au nouveau modèle de traiter efficacement de nouvelles tâches, même avec un faible volume de données. C’est pourquoi les modèles préentraînés avec des poids précalculés sont utiles.
En utilisant un modèle préentraîné de haute qualité avec des poids précis, nous augmentons les chances de succès de nos déploiements de modèles. Nous pouvons également modifier les poids et ajouter d’autres données pour personnaliser ou affiner le modèle. Pour transférer l’apprentissage d’un modèle préentraîné, nous avons à notre disposition l’outil Entraîner le modèle d’apprentissage profond. Les données d’entrée sont le modèle préentraîné, ainsi que quelques échantillons d’entraînement liés à la classe ou à l’objet qui nous intéresse. Les échantillons peuvent être créés à l’aide de l’outil Étiqueter les objets pour l’apprentissage profond. C’est comme si vous achetiez une robe ou une chemise toute faite et que vous procédiez à de petits ajustements pour qu’elle vous aille parfaitement, plutôt que de partir de zéro avec du tissu, du fil et une aiguille. La figure 3 illustre l’environnement d’apprentissage par transfert pour les modèles d’apprentissage profond. On y voit un exemple d’extraction de contours de bâtiments. Les poids proviennent d’un modèle d’apprentissage profond précédemment entraîné avec un ensemble de données plus large comprenant de nombreux types d’objets. Ces poids sont transférés vers un modèle d’apprentissage profond nouvellement entraîné, lequel s’appuie sur un ensemble de données plus modeste ne comprenant que des bâtiments. En bref, l’utilisation de modèles d’IA préentraînés permet d’économiser du temps, de l’argent et des efforts, car elle élimine le besoin de prendre en charge d’énormes volumes de données d’entraînement, ainsi que des ressources informatiques massives. En outre, ce processus de transfert nous permet d’adapter le modèle selon nos besoins précis, même si nos connaissances en intelligence artificielle sont limitées.
Figure 3 : Schéma conceptuel illustrant l’apprentissage par transfert pour les modèles d’apprentissage profond.
Comment utiliser les modèles préentraînés dans ArcGIS?
Nous pouvons utiliser ces modèles d’apprentissage profond préentraînés dans le système ArcGIS en passant par les applications ArcGIS Image, notamment ArcGIS Image for ArcGIS Online, ArcGIS Image Analyst for ArcGIS Pro et ArcGIS Image Server for ArcGIS Enterprise, ainsi qu’avec le module arcgis.learn inclus dans ArcGIS API for Python. Par exemple, vous pouvez spécifier un paquetage d’apprentissage profond (*.dlpk) que vous avez téléchargé comme définition de modèle pour des outils de géotraitement comme Détecter des objets à l’aide de l’apprentissage profond dans ArcGIS Pro (figure 4). Vous pouvez ensuite personnaliser les paramètres du modèle en fonction des besoins particuliers à votre étude de cas.
Figure 4 : Capture d’écran de l’un des outils d’apprentissage profond dans ArcGIS Pro (version 3.1.1) qui permet l’utilisation d’un modèle préentraîné.
L’un des modèles préentraînés récemment ajoutés au ArcGIS Living Atlas of the World est le modèle de segmentation généralisée de Meta (SAM), qui segmente les objets dans n’importe quelle image. Ce modèle a été entraîné sur un large éventail d’images (environ 11 millions d’images et plus d’un milliard de masques) et est capable de segmenter avec une grande précision divers objets et éléments dans une image. Le modèle SAM est très performant en ce qui concerne l’absence de prise de vue sur une variété de tâches de segmentation. Par absence de prise de vue, l’on entend que le SAM peut segmenter des objets sans aucun entraînement ni mise au point pour une tâche précise ou un domaine particulier. Par exemple, il segmente les voitures, les routes, les arbres, les maisons et les plans d’eau sans supervision ni connaissance préalable. En d’autres termes, le modèle a intégré une notion générale sur la nature des objets. Il peut donc générer des masques pour ces objets dans n’importe quelle image ou vidéo, y compris des objets et des types d’images qu’il n’a pas rencontrés au cours de l’entraînement. Ce modèle libre est publié en vertu de la version 2.0 de la licence Apache et peut être consulté et téléchargé à partir de GitHub. Vous pouvez en savoir plus sur les données d’entraînement et l’architecture du modèle SAM dans l’article intitulé Tout segmenter.
Voici les étapes à suivre pour utiliser des modèles préentraînés dans ArcGIS Pro :
Étape 1) Installer les bibliothèques d’apprentissage profond. Allez à la page Programmes d’installation de bibliothèques d’apprentissage profond pour ArcGIS et téléchargez le programme d’installation correspondant à la version d’ArcGIS Pro que vous utilisez.
Étape 2) Aller à ArcGIS Living Atlas of the World. Recherchez le modèle préentraîné que vous désirez et ouvrez la page de l’élément à partir des résultats de la recherche. Cliquez sur le bouton permettant de télécharger le modèle.
Étape 3) Ajouter votre couche d’images dans ArcGIS Pro et zoomer sur une zone d’intérêt.
Étape 4) Cliquer sur Tools (outils) à l’onglet Analysis (analyse). Ensuite, développez les outils Image Analyst (vous devez disposer du module d’extension Image Analyst pour ArcGIS Pro), et sélectionnez l’outil de géotraitement approprié pour votre tâche (comme Classer des pixels à l’aide de l’apprentissage profond ou Détecter des objets à l’aide de l’apprentissage profond) sous Jeux d’outils d’apprentissage profond.
Étape 5) Définir les variables en conséquence sous l’onglet Paramètres. Le modèle préentraîné peut être utilisé tel quel ou affiné. N’oubliez pas de changer le type de processeur à GPU (si possible) sous l’onglet Environnements. Cliquez ensuite sur Exécuter. Dès que le traitement est terminé, la couche de sortie est ajoutée à la carte.
Vous trouverez de plus amples renseignements sur le modèle d’apprentissage profond Building Footprints – USA (contours de bâtiments aux États-Unis) et voir son déploiement dans d’autres parties du monde sur cette carte narrative portant sur l’extraction de contours de bâtiments.
En résumé, l’intégration de modèles d’apprentissage profond préentraînés dans ArcGIS a ouvert de nouvelles possibilités pour l’analyse des données spatiales. Grâce à ces modèles, les utilisateurs peuvent extraire des renseignements utiles des données géospatiales, de manière rapide et précise. L’apprentissage profond est en constante évolution. Les modèles préentraînés dans ArcGIS s’amélioreront du coup et permettront aux spécialistes des SIG de relever des défis géospatiaux complexes et de révéler le plein potentiel de l’imagerie et des données spatiales massives.