Utiliser des modèles de Deep Learning préentrainés dans ArcGIS Pro




ArcGIS propose une large variété d’outils de traitement de données par apprentissage automatique (Machine Learning), dont des outils d’apprentissage profond (Deep Learning). Ces derniers ont été intégrés dans ArcGIS pour permettre aux utilisateurs de réaliser les 3 phases (préparation des données d’apprentissage, apprentissage et optimisation des hyperparamètres du modèle, inférence du modèle) dans son environnement SIG. Cela permet d’exploiter tout l’outillage nécessaire en amont et en aval de ces 3 étapes de base de tout processus de Deep Learning. Pour les utilisateurs ne souhaitant pas créer eux-mêmes leur modèle de Deep Learning, il est possible d’exploiter des modèles préentrainés par Esri ou par la communauté ArcGIS via le Living Atlas. Dans ce pas-à-pas, nous vous proposons de voir deux exemples d’utilisation de modèles préentrainés pour la détection d’emprises de bâtiments et d’emprises d’arbres.

Pas-à-Pas réalisé par Gaëtan Lavenu 
(Esri France), en partenariat avec le blog arcOrama.fr

1- Il est important de noter que les librairies de Deep Learning sont optionnelles pour ArcGIS. La première étape consiste donc à installer les librairies de Deep Learning qui correspondent à votre version d’ArcGIS Pro (ou ArcGIS Enterprise). Elles sont regroupées sur Internet (esri.com). Notez aussi qu’il est nécessaire de disposer de l’extension ArcGIS Image Analyst pour ArcGIS Pro. Pour l’utilisation des outils d’inférence de modèles de Deep Learning, il est largement recommandé d’être équipé d’une carte graphiquede type NVIDIA supportant les capacités de calcul CUDA.

2- Une fois ces prérequis vérifiés, ouvrez un projet ArcGIS Pro avec une carte contenant la couche d’imagerie correspondant à votre orthophoto. Cette couche peut être basée sur tout type de donnée raster (fichier, Géodatabase, service d’imagerie dynamique). Elle doit cependant respecter les caractéristiques (résolution, nombre de bandes, type de valeur, etc.) attendues par le modèle de Deep Learning utilisé. Ici, nous allons utiliser une orthophoto HR de l’IGN sur la zone de Bellegarde-sur-Valserine (Ain).

3- L’étape suivante consiste à rechercher le paquetage de modèle de Deep Learning. Pour cela, dans le catalogue, vous utilisez l’onglet « Portail », puis la rubrique « Living Atlas ». Lancez alors une recherche sur la chaine « Building Extraction », puis survolez le paquetage de Deep Learning nommé « Building Footprint Extraction – USA » pour afficher sa description. Cliquez ensuite sur le lien permettant d’afficher la page de description de l’élément sur ArcGIS Online.

4- Cette page de description permet d’en savoir plus sur le modèle d’IA. Vous saurez notamment sur quel type d’imagerie il a été entrainé, avec quel algorithme de Deep Learning (ici MaskRCNN) et avec quel niveau de qualité (ici une précision moyenne de 71,8 %). Le lien « guide » vous donne accès au tutoriel expliquant comment l’utiliser dans ArcGIS Pro. Après avoir pris connaissance des caractéristiques du modèle, cliquez sur le bouton « Télécharger » afin d’enregistrer le fichier DLPK (le paquetage de Deep Learning) sur votre poste.

5- De retour dans ArcGIS Pro, ouvrez l’outil « Détecter des objets à l’aide du Deep Learning ». Indiquez sur quelle couche d’imagerie appliquer le modèle d’IA, ainsi que le nom de la classe d’entités (Detection_Batiments_Brut) qui contiendra les emprises de bâtiments en sortie. Sélectionnez ensuite le fichier DLPK contenant le modèle de Deep Learning. Dès lors, les paramètres requis pour ce modèle sont affichés. Vous pouvez les adapter notamment en augmentant la valeur « batch_size » sur votre carte graphique et vérifier si elle a les ressources nécessaires. Le paramètre « threshold » vous permet de spécifier le score de confiance que vous souhaitez avoir pour les entités en sortie. Pour terminer, utilisez l’onglet « Environnement » pour forcer l’usage de la GPU pour ce traitement. Vous pouvez maintenant exécuter l’outil.

6- Après quelques minutes (selon la puissance de votre machine), la couche des emprises de bâtiments s’affiche. Il s’agit bien entendu d’une couche brute qui peut contenir des imperfections (comme tout modèle de Deep Learning de ce type). En particulier, certains polygones se superposent partiellement. Pour résoudre le problème, vous allez utiliser l’outil « Fusionner » pour agréger les polygones qui appartiennent au même bâtiment. Indiquez le nom de la classe d’entités en sortie (Batiments_fusionnés) et spécifiez que vous ne voulez pas générer de polygones multiparties. Lancez une nouvelle fois l’exécution de l’outil.

7- La nouvelle couche fusionnée est représentée ici en jaune. Elle contient l’enveloppe fusionnée de chaque bâtiment. On constate que cette enveloppe est encore assez brute en termes de géométrie. Vous allez donc lui appliquer un traitement de régularisation des contours afin de généraliser et améliorer ces géométries pour les rendre plus orthogonales au niveau des angles et des diagonales. Nous avons choisi ici l’option « Angles droits et diagonales » ainsi qu’une tolérance de 1 m, une précision de 0,25 m et une pénalité de diagonale de 1,5. La nouvelle classe d’entités se nommera « Bâtiments ». Vous pouvez à nouveau exécuter l’outil.

8- La nouvelle couche régularisée s’affiche alors sur la carte. Vous constatez que les emprises de bâtiments sont dorénavantplus conformes à leur forme réelle. Avec un modèle de Deep Learning ayant une fiabilité de 71.8 %, il est normal de visualiser des emprises de bâtiments qui n’en sont pas et des emprises manquantes. À cette étape, à l’aide des outils de sélection attributaire et des outils de mise à jour d’entités, vous pouvez supprimer des bâtiments en filtrant ceux qui ont un score de confiance trop faible. Vous pouvez également constater que certains bâtiments n’ont pas été reconnus, les outils de création d’entités vous permettront de compléter.

9- Vous constatez également que certaines emprises de bâtiment ont une forme incorrecte, ne sont pas complètes ou ne sont pas découpées comme il le faudrait. Pour cela, ArcGIS Pro dispose de nombreux outils de mise à jour comme « Remodeler », « Modifier les sommets », « Fractionner », etc. Dans l’exemple, ici nous avons corrigé ponctuellement certains coins de bâtiments et fractionné les emprises qui doivent l’être. Bien entendu, des croisements avec d’autres couches du SIG, comme les parcelles, permettront de fractionner les bâtiments comme vous le souhaitez.

10- Dans les trois dernières étapes de ce pas-à-pas, voyons comment faire de même pour extraire l’emprise des arbres. Pour cela, ouvrez de nouveau l’outil « Détecter des objets à l’aide du Deep Learning ». Donnez le nom de la classe d’entités en sortie (ici « arbres »). Pour le modèle de Deep Learning, vous pouvez le sélectionner directement en recherchant dans l’onglet « Portail », puis dans « Living Atlas » le modèle nommé « Tree détection ». Pour les paramètres, vous pouvez modifier « threshold » et le mettre à un seuil de score de 0,2 ce qui semble très bas, mais qui vous permettra d’avoir un nombre important d’emprises candidates.

11- Pour éliminer les emprises d’arbres incorrectes, différents types de post-traitements peuvent être appliqués. Prenons un exemple. Pour éliminer les arbres incorrects identifiés sur les bâtiments, une simple sélection par la localisation permettra de les sélectionner puis de les supprimer. Une fois ces traitements automatiques ou manuels réalisés, convertissez cette couche de polygones en points à l’aide de l’outil « Entités vers points ».

12- Enfin, vous pouvez utiliser les outils de jointure spatiale pour récupérer la taille des arbres. Faites cela par exemple à partir d’un ratio de la superficie des emprises. Ainsi, vous pourrez représenter les arbres avec un rendu par symboles proportionnels. Pour terminer, on notera que d’autres modèles de Deep Learning préentrainés sont disponibles pour extraire les axes de voies ou encore pour réaliser une classification des pixels de la couche d’imagerie en fonction de l’occupation des sols.


Article mis en ligne par la rédaction SIGMAG & SIGTV.FR