Makina Blog
IA & cartographie : l'IA pour créer des cartes [Article 1]
Premier article de notre série sur les applications de geoIA : comment les techniques d'intelligence artificielle peuvent aider à la création de cartes ?
Pendant longtemps, la création de cartes était un travail long, laborieux, minutieux et coûteux. Cette histoire est captivante, et si cela vous intéresse la BnF propose une exposition virtuelle qui revient sur l'histoire de la cartographie de l'Antiquité à nos jours.
Aujourd'hui, les campagnes de prises de vues aériennes remplacent l'ancienne exploration du territoire avec planche à dessin et compas sous le bras. Mais même si l'arrivée du numérique a grandement simplifié les procédés de fabrication, la mise à jour de base de données géographiques est encore un travail coûteux (consultez cette courte vidéo expliquant le processus de la fabrication d'une carte par l'IGN).
Dans cet article, nous allons voir comment les algorithmes d'intelligence artificielle peuvent simplifier la création des cartes.
Réalisation de carte ou de plan
L'arrivée des algorithmes de deep-learning couplée à la mise à disposition d'images satellites toujours plus précises amènent de nouveaux acteurs dans le secteur de la fabrication de cartes ou de bases de données géographiques. Google, Mapbox, Facebook ne se contentent plus d'agglomérer des bases de données pour assurer la couverture cartographique de la planète, ils sont désormais capables d'enrichir directement leurs cartes.
Ces algorithmes permettent notamment de mettre à jour plus régulièrement les bases de données cartographiques, au rythme de la disponibilité des images satellitaires. Ils utilisent les techniques de détection d'objets sur lesquels nous allons revenir par la suite.
Des recherches sont aussi actuellement en cours pour automatiser les opérations de généralisation cartographique, c'est-à-dire de simplification ou d’adaptation du tracé d’un contour cartographique à l'échelle représentée (Touya et al., 2019). Il s'agit par exemple de regrouper plusieurs bâtiments ensemble ou de supprimer certains virages d'une route sinueuse lorsque le niveau de zoom est inférieur à une certaine valeur. Des solutions basées sur des techniques d'intelligence artificielle sont testées.
Enfin, des solutions automatisées pour la réalisation de plans d'intérieur commencent à être diffusées. Ce type d'applications pourrait se révéler particulièrement précieux en situation d'urgence où la cartographie rapide des lieux est un atout majeur pour la coordination des secours, comme le montre cet article présentant un prototype créé par une équipe du MIT.
source : Automatic building mapping could help emergency responders, MIT News, 2012.
Création ou transfert de style
Créer une carte ne signifie pas seulement représenter graphiquement des objets géographiques (routes, bâtiments, portes, etc.), il est aussi nécessaire de définir la sémiologie graphique qui va être utilisée. Plus couramment, nous parlerons de style cartographique.
La définition "manuellement" du style à appliquer est possible, comme ici pour représenter des données vectorielles dans le style de la carte de Cassini ou dans le style d'un atlas pour enfant.
Les algorithmes d'IA décuplent les possibilités en la matière. Les algorithmes de transfert de style entre images par deep-learning peuvent facilement être appliqués à des tuiles raster. C'est ce qu'a entrepris un collectif d'artistes de Milan en entraînant des réseaux de neurones à créer des cartes de villes dans un projet intitulé Invisible cities. Ils parviennent ainsi à transférer le style architectural d'une ville à une autre, par exemple celui de Venise à un quartier de Los Angeles.
Transfert du style de Venise à un quartier de Los Angeles - source : Invisible Cities
Grâce à leur modèle, ils sont aussi capables de créer l'image aérienne d'une ville imaginaire dessinée schématiquement sur une feuille de papier.
Création d'une ville imaginaire à partir d'un dessin - source : Invisible Cities
Détection d'objets
S'il est aujourd'hui possible de créer des cartes à partir d'images satellitaires, c'est que les algorithmes d'IA (réseaux de neurones convolutifs) permettent de détecter des objets qu'ils ont appris à reconnaître. C'est un domaine de recherche très actif qui a produit des algorithmes de reconnaissance d'objets (dans des images ou flux vidéo) désormais matures pour penser les utiliser en production.
Ces réseaux de neurones sont capables, selon leur architecture, de déterminer :
- la probabilité qu'une image contienne l'objet recherché, comme dans notre article où nous détections des formes dans le paysage
- la localisation de l'objet par une boite englobante, ce qui est suffisant par exemple pour localiser les bornes d'un réseau d'eau
- la localisation précise de l'objet, très utilisée pour la détection automatique de bâtiments (Bischke et al, 2017) comme dans la solution que nous avons présentée pour l'extraction d'objets pour la cartographie.
Pour utiliser ces réseaux comme un modèle prédictif, il est nécessaire de les avoir auparavant entraînés sur un jeu de données d'apprentissage (ensemble de données associées aux résultats attendus).
"Qui peut le plus, peut le moins" n'est pas un bon adage en deep-learning. En effet, il sera bien plus compliqué et long d'entraîner un modèle à localiser précisément un objet dans l'image que de lui demander si oui ou non l'image contient l'objet recherché. Nous aurons donc tout intérêt à bien définir le besoin avant de commencer à créer un modèle de détection d'objets et à l'entraîner.
Une solution open-source initialement portée par Mapbox, Robosat, permet de gérer toutes les étapes pour extraire de l'information géographique à partir d'images aériennes ou satellitaires. C'est un projet complet pour mettre en œuvre rapidement ce type de solution en se basant sur les images de Mapbox et les informations de la base de données OpenStreetMap. Malheureusement, il n'est plus supporté par Mapbox et ne permet pas simplement de travailler à partir de données - raster et vecteur - locales.
C'est pourquoi, Makina Corpus a récemment développé et mis à disposition en open-source un nouvel outil, geolabel-maker, celui-ci permet la création d'un jeu de données d'apprentissage complet sous la forme de couples (images, labels) ou sous la forme d'un lot d'images accompagné d'un fichier descriptif des objets contenus par les images. Ce jeu de données peut ensuite être injecté dans la chaîne de traitements de Robosat ou utilisé pour l'entraînement du modèle choisi.
Des solutions similaires existent pour travailler à partir d'images terrestres. Nous avons testé certaines de ces solutions dans le cadre d'un partenariat avec l’École Fédérale de Lausane où nous cherchions à décrire automatiquement des paysages.
À gauche l'image originale, à droite l'image segmentée selon 7 classes.
De la même façon, Mapillary développe grâce aux milliers d'images que les contributeurs et contributrices partagent sur sa plateforme une solution avancée d'analyse de scène et de détection de la signalisation routière.
source : Expanding Mapping Capabilities with Deep Learning, GeoAwesomeness, 2019
Avec ce type de solutions, il devient incroyablement facile d'enrichir et de maintenir des bases de données, telle que celle d'OSM comme Mappilary le présentait à la conférence FOSS4G l'année dernière.
Enfin, il est aussi possible de travailler à partir de nuages de points de 3D et de chercher à y localiser des objets - comme par exemple pour la détection de lignes haute-tension.
Lignes à haute tension détectée par deep-learning - source : PointCNN: replacing 50,000 man hours with AI, Medium, 2019
C'est l'objectif du projet PointNet. Ce type d'application peut notamment être intéressant pour la détection de portes et fenêtres sur les façades avant reconstruction automatique des bâtiments sous forme de modèles 3D. Nous obtiendrons ainsi des modèles de bâtiments non standardisés, mais très proches de leur réalité architecturale.
Une fois les objets localisés dans les images ou nuages de points, il est alors possible de réaliser des analyses spatiales ou spatio-temporelles à partir des résultats produits par les algorithmes d'IA.
Analyse spatiale suite à la détection d'objets (ou régions)
Parmi les plus classiques des analyses spatiales, il y a évidemment l'analyse de l'occupation du sol. C'est ce qu'a récemment présenté la Radiant Earth Fundation avec sa solution de classification du sol par deep-learning à partir d'images multispectrales.
Des solutions originales sont aussi proposées pour l'identification des zones végétalisées en combinant les sources de données classiquement utilisées : les images satellitaires (en particulier leur composante infrarouge) pour le calcul du NDVI (Normalized Difference Vegetation Index) et les nuages de points LIDAR. Grâce à cela, il est envisageable de compter les arbres en ville de manière automatique.
source : Every Tree in the City, Mapped, CityLab, 2018
C'est donc tout un ensemble d'analyses qui peut être revu ou facilité grâce aux algorithmes d'IA.
Analyse spatio-temporelle suite à la détection d'objets (ou régions)
Généralement, les étapes les plus longues et coûteuses dans la mise en place d'une solution d'intelligence artificielle sont la constitution du jeu de données d'apprentissage et l'entraînement du modèle. Mais une fois ces étapes réalisées, le modèle est facilement applicable à différents jeux de données, comme par exemple d'époques différentes. L'obtention d'analyses spatio-temporelles est alors relativement rapide (dès lors que les données sont disponibles) par extraction d'informations à partir de cartes historiques numérisées ou à partir de séries de photographies terrestres ou aériennes.
Nous avons mené ce type d'étude pour analyser l'évolution de paysages au fil du temps. Les résultats de classification des pixels des images étaient analysés pour qualifier les modifications du paysage au fur et à mesure des prises de vue.
Graphique présentant l'évolution de chaque catégorie dans le temps. La ligne traitillée jaune indique un changement important dans le paysage, ici la disparition de la végétation. La bordure noire sur les images est la marque du redressement des images appliquées avant la segmentation.
Ce type d'algorithme permet d'automatiser des analyses qui peuvent autrement se révéler très fastidieuses sur de larges jeux de données.
Conclusion
Les techniques d’intelligence artificielle ont d’ors et déjà su montrer tout leur potentiel pour la création de cartes à chaque étape du processus : qu’il s’agisse de la mise à jour de bases de données géographiques, de généralisation cartographique, de création de style cartographique ou encore de la réalisation d’analyses spatio-temporelles. Aucun doute sur le fait qu’elles seront bientôt incontournables en cartographie numérique. D’autant que leur apport ne s’arrête pas là. Nous verrons dans le prochain article comment l’IA peut aider à la navigation et à la découverte d’un territoire.
Sommaire de la série
- Article 3 : L'IA pour aider à la prise de décision (à venir)
- Article 4 : L'IA pour améliorer la qualité des données géographiques (à venir)
Formations
Formations associées
Formations IA / Data Science
Formation Machine Learning
À distance (FOAD) Du 25 au 29 novembre 2024
Voir la formationFormations SIG / Cartographie
Formation Développer avec l'écosystème d'OpenStreetMap
Aucune session de formation n'est prévue pour le moment.
Pour plus d'informations, n'hésitez pas à nous contacter.
Voir la formationFormations IA / Data Science
Formation Mise en place de projets Deep Learning avec Keras
Toulouse Du 19 au 21 mars 2025
Voir la formationActualités en lien
IA et cartographie : l'IA pour découvrir un territoire [Article 2]
Deuxième article de notre série sur les applications de geoIA : comment les techniques d'intelligence artificielle peuvent aider à la découverte d'un territoire ?
Série d'articles : IA & cartographie
Tour d'horizon de l'apport de l’intelligence artificielle à la cartographie ! Quand dans une discussion sont lancés les mots "intelligence artificielle" et "cartographie", il y a fort à parier que les protagonistes en viennent rapidement à parler de conduite assistée et voitures autonomes.
Initiation au Machine Learning avec Python - La théorie
Dans ce tutoriel en 2 parties nous vous proposons de découvrir les bases de l'apprentissage automatique et de vous y initier avec le langage Python. Cette première partie se veut non technique et présente les concepts du Machine Learning, les différents types d'apprentissage et leurs principaux algorithmes. Il situe enfin Python dans cet univers en présentant les nombreuses librairies à votre disposition pour aborder cette discipline.