L’intégration des techniques d’apprentissage automatisée (Machine Learning et Deep Learning), et de ce que l’on appelle l’intelligence artificielle plus généralement, dans les SIG et la Géomatique est un enjeu très important dans l’innovation technologique du traitement de données spatiales. Plusieurs applications de ces techniques d’apprentissage ont déjà fait leur apparition notamment dans la reconnaissance d’image et dans la télédétection. L’intégration directe des outils de développement d’apprentissage automatisée dans les SIG et les outils Géomatique est ainsi cruciale, notamment l’intégration de l’outil Tensorflow.
La librairie Tensorflow pour le Machine Learning et le Deep Learning
Tensorflow est une plateforme opensource développée par Google fournissant un environnement complet de développement pour appliquer des modèles de Machine Learning (ML) et de Deep Learning (DL). Elle est développée en C++ et en Python et peut être utilisée en Python ou en Julia (langage de programmation pour les calculs scientifiques).
Cet outil est particulièrement performant étant basé sur l’API Keras (librairie opensource écrite en Python permettant de mettre en place des réseaux de neurones).
Un des gros avantages de Tensorflow est son caractère portatif typique du langage Python. De plus c’est une interface dites haut niveau, c’est-à-dire qu’elle permet de s’abstraire des caractéristiques techniques du matériel utilisé (machine, serveur, processeur, carte graphique…) pour écrire et exécuter les programmes. Une interface haut niveau permet ainsi une utilisation plus simple et permet de se concentrer sur le problème à résoudre plutôt que sur les contraintes techniques (peut aussi être considéré comme une limite).
L’intégration de Tensorflow dans les SIG et la Géomatique
Tensorflow étant développé en Python, on comprend rapidement que son intégration dans les SIG est possible (ArcPy et PyQGIS). Il est par contre moins évident de comprendre comment mettre en place les possibilités de l’outil dans la Géomatique et les processus SIG habituels.
La reconnaissance d’images
Une des utilisations les plus communes qui peut être faites de Tensorflow est la reconnaissance d’images. Cette option peut permettre la production automatique de données à partir de vidéos, ou encore le traitement massif d’images satellitaires pour la classification de l’occupation du sol. Tensorflow permet alors de traiter de gros volumes de données en entrée pour produire des sorties homogènes tout en minimisant les erreurs autant que possible (processus backward des modèles de DL, descente de gradient, fonctions d’erreur…).
Les méthodes de DL et de ML permettent dans ce cas de figure une automatisation des tâches très fastidieuses dans la production et la récolte de données. Paradoxalement un des problèmes dans ce type d’application est l’acquisition de données d’entrée homogènes et classifiées. Les algorithmes ont besoin d’un très grand nombre d’exemples ce qui induit la production de données d’entraînement traitables directement.
La prédiction et l’estimation de valeurs
Une des grandes forces des algorithmes de DL et ML est de prédire et d’estimer des résultats à partir des inputs (données d’entrée). Tensorflow permet de mettre en place des modèles d’estimation performants et robustes assez facilement. Dans les SIG et la Géomatique, les perspectives des processus de prédiction et d’estimation sont aisément visibles. Les analyses géospatiales ont régulièrement recours à la prédiction et à l’estimation pour homogénéiser des données et produire des résultats concrets (interpolation spatiale, prédiction des zones d’influence en géomarketing, prédiction et estimation temporelle dans les analyses climatiques…).
Le traitement et l’homogénéisation de données hétérogènes
En Géomatique, et en science des données plus généralement, un des principaux enjeux dans la production de résultats est le pré-traitement de données provenant de sources très hétérogènes. Les modèles d’apprentissage automatisée permettent d’automatiser le nettoyage, tri, formatage, mise en commun et intégration de ces différentes sources. C’est ici une autre manière de voir l’intérêt du ML et du DL, on se focalise plus sur la préparation que sur le résultat. C’est également une des forces de Tensorflow, l’outil intègre notamment les processus de NumPy permettant la mise en forme et le traitement de matrices multidimensionnelles pour le traitement de données massives (Big Data).
Les perspectives d’évolution de Tensorflow pour les SIG et la Géomatique
Bien que Tensorflow soit une interface haut niveau à priori simple à utiliser, son utilisation dans les SIG et la Géomatique n’est pas la plus accessible, et ce pour une raison simple : la plateforme n’intègre pas d’outil direct pour la manipulation de données spatiales. En effet, Tensorflow ne traite pas différemment les données spatiales des données dites classiques. C’est donc à l’utilisateur de traiter les données spatiales de manière particulière, à l’aide notamment de librairies spécialisées (GDAL, PROJ, GEOS, GeoPandas…). La complexité des processus de DL et ML dans la Géomatique réside ainsi dans la compatibilité des différentes plateformes (intégration de Tensorflow dans PyQGIS et ArcPy notamment) et dans la compatibilité des formats de données.
Tensorflow a ainsi un grand potentiel d’évolution en Géomatique en développant éventuellement une extension spatiale, comme c’est le cas pour d’autres librairies (GeoPandas pour Pandas, GeoDjango pour Django…).
Sources
https://fr.wikipedia.org/wiki/TensorFlow
https://gisgeography.com/deep-machine-learning-ml-artificial-intelligence-ai-gis/
https://fr.wikipedia.org/wiki/R%C3%A9tropropagation_du_gradient