Développer un système de livraison d’images sur l’imagerie aérienne française

Bastien Hell
namR
Published in
4 min readAug 19, 2021

namR développe des outils d’analyse du territoire. Parmi ceux-ci, la vision par ordinateur permet d’extraire de l’information des images, notamment aériennes, de manière à compléter la connaissance des caractéristiques des bâtiments et des terrains. Notre pipeline d’analyse d’image consiste tout d’abord en un service découpant autour d’une localisation donnée, les images (aériennes ou satellitaires) disponibles. Ces images découpées sont “livrées” à nos algorithmes qui les analysent et en extraient des caractéristiques d’intérêt des bâtiments ou terrains présents à cette localisation. Ces caractéristiques sont alors stockées et référencées dans notre Digital Twin. Dans cet article, nous présentons la première étape de cette pipeline, à savoir le service de découpage et de livraison des images à analyser.

La pipeline d’analyse d’images aériennes chez namR
La pipeline d’analyse d’images aériennes chez namR

Ce service doit pouvoir livrer une image aérienne de l’un des 34 millions de bâtiments en France, soit généralement une image de 50m*50m, à partir d’une base d’images recouvrant plus de 600⁣ 000 km² ! Pour s’intégrer dans un environnement de production, il faut également que les images soient livrées à un rythme soutenu afin de permettre l’analyse de plusieurs To d’images en un temps raisonnable. Ainsi, nous avons dû développer une pipeline robuste, rapide, et pouvant être testée et déployée à chaque actualisation des données source.

Pour cela notre pipeline se doit de livrer des images aériennes dans un format standardisé différent de celui des images source car celles-ci sont au format JPEG2000, format peu adapté à des requêtes fréquentes. Nous avons donc choisi de transformer ces images sources en fichiers Cloud GeoTIFF, des images stockées dans le cloud dans lesquelles il est plus rapide de rechercher des pixels précis sur une zone limitée.

La lecture dans ces fichiers est, quant à elle, contrôlée par un “raster virtuel” (VRT) qui sert d’interface et qui peut s’apparenter à une forme d’indexation dans une base de données. Ce type de fichiers est facilement utilisable par les packages de traitement de données géolocalisées tels que rasterio, une librairie qui permet également d’accéder nativement aux données Cloud GeoTIFF. Ce fichier VRT a l’avantage de contenir les informations nécessaires à la lecture des fichiers tout en restant très léger.

Par exemple, en Python :

with rasterio.open(path_vrt) as dataset:
image, metadata = rasterio.mask(dataset,
[geometry],
crop=True,
filled=False,
pad=True)

permet de découper une image et les métadonnées associées dans un fichier VRT (path_vrt) stocké dans le cloud, à partir d’une géométrie (geometry, au format geosjon par exemple).

La pipeline de livraison d’images : géométrie du bâtiment d’intérêt en entrée, image découpée en sortie
La pipeline de livraison d’images : géométrie du bâtiment d’intérêt en entrée, image découpée en sortie

A partir de ces données, il est finalement possible de construire un service qui découpe et livre l’image correspondant à une zone géographique donnée en entrée.

Nous avons donc développé un service automatisé et testé à chaque étape, sous forme de pipeline Gitlab, en 3 étapes :

  • Conversion des fichiers source JPEG2000 en Cloud GeoTIFF
  • Création du fichier VRT
  • Déploiement d’un service de livraison d’images utilisant ce VRT
Illustration de la pipeline de déploiement et de test du service de livraison d’images

Ce service est supporté par la technologie Docker qui garantit un contrôle total de l’environnement de production. Les images générées sont sauvegardées ou livrées directement à un algorithme de traitement d’images, base de notre production d’attributs.

Ces services sont soutenus par une batterie de tests unitaires permettant de vérifier à chaque étape que tous les fichiers sont tous traités et que les données générées sont celles attendues. De plus, cette pipeline est exécutée à chaque mise à jour des données d’entrée afin de bénéficier des images les plus récentes pour l’analyse du territoire.

Ce service nous permet par exemple de fournir à notre pipeline d’analyse d’images 350 images par seconde. Ainsi, nos algorithmes de computer vision comme la détection des parcelles végétalisées ou le potentiel solaire des bâtiments, peuvent balayer l’ensemble du territoire français en quelques heures.

Résumé des technologies utilisées et leurs apports

Nous vous présenterons dans un futur post l’ensemble de notre chaîne de traitement d’images aériennes, alors suivez-nous pour plus de publications techniques !

--

--