=>

Si vous travaillez avec des produits Sentinel2, vous avez probablement entendu dire que le nouveau traitement géométrique de l'ESA est actif depuis le 1er avril 2021. Ce nouveau traitement se base sur l'affinage des paramètres de prise de vue par rapport à un ensemble d'images de reference (Global Reference Image, GRI), et doit diminuer l'erreur de localisation absolue de 11 mètres (pour 95.5% des produits) à moins de 8 mètres. Plus important encore, l'erreur de recalage multi-temporelle (entre images d'une série temporelle pour une tuile) doit diminuer de 12 mètres (pour 95.5% des produits) à mieux que 5 mètres et même 3 mètres depuis une même orbite (source: ESA Data Quality Reports).

Au CESBIO, nous savons que le calage multi-temporel des produits Sentinel2 peut être problématique dans certains cas, et nous avons récemment développé une chaîne de traitement appelée StackReg qui permet d'estimer rapidement les biais de localisation relatifs pour une grande quantité de produits. Cet outil calcule les translations à appliquer à la géo-localisation de chaque image afin d'amélioration la cohérence spatial de la pile multi-temporelle, comme on peut l'observer dans la vidéo ci-dessous.

Haut, de gauche à droite : pile Sentinel2 sans recalage, pile Sentinel2 recalée avec les translations calculées par StackReg, dérivée temporelle sans recalage, dérivée temporelle avec recalage. Bas : profil temporelle du NDVI sans recalage (bleu) et avec recalage (rouge) au point indiqué par une croix rouge dans les images, et amplitude du recalage (tirets gris).

StackReg en quelques lignes

StackReg est un outil que j'ai du développer dans le cadre de mon travail sur l'élaboration d'un prototype de chaîne de fusion spatio-temporelle pour l'étude de phase 0 Sentinel-HR. Pour une présentation plus complète, vous pouvez consulter la présentation donnée récemment dans le cadre d'un cycle de conférence au CESBIO : les planches (anglais) sont disponibles ici, et la vidéo de l'exposé (français) est diponible ici.

StackReg met en correspondances toutes les images d'une tuile Sentinel2 donnée disponibles dans l'archive Theia avec l'image possédant la meilleure couverture des pixels de terres émergées (excluant nuages, saturations, eaux libres et données manquantes), avec l’algorithmee SIFT, qui génères des milleurs de points homologues sous-pixelliques. Les images sont découpées en sous-tuiles, et l'algorithme de mise en correspondance est appliqué à l'échelle d'une sous-tuile, afin de réduire le coût d'appariement des points et éliminer les appariements aberrants. Une fois tous les points homologues collectés, ceux qui correspondent à une déplacement supérieur à 20 mètres sont éliminés, car les Data Quality Reports nous disent que l'erreur de calage multi-temporelle est inférieure à 12 mètres dans la plupart des cas. Ce procédé est similaire à celui utilisé dans CARS (chaîne de photogrammétrie libre du CNES).

Ce procédé est distribué sur le centre de calcul haute performance (HPC) du CNES, et le traitement de l'archive complète pour une tuile prend un peu moins de 15 minutes (une fois les données téléchargées).

Matching performances for the full archive of the 31TCJ tile.
Performances de mise en correspondance pour l'archive complète disponible pour la tuile 31TCJ. Première ligne : intervisibilité (pourcentage de terre émergées visible dans les deux images), deuxième ligne : nombre de points homologues avant et après filtrage (échelle logarithmique), troisième ligne : amplitude de la moyenne des translations générées par les points homologues, quatrième ligne : amplitude de l'écart type des translations générées par les points homologues.
Positions relatives des images calculées par StackReg

Une fois les translations de l'ensemble des images de l'archive vers l'image de références calculées, nous pouvons en déduire les positions relatives de ces images en plaçant arbitrairement l'image de référence au centre du repère. Comme il n'y a pas de raison particulière pour que cette image de référence soit mieux localisée en absolu que les autres, nous calculons ensuite la position moyenne de l'ensemble des images, et l'utilisons comme position cible pour en déduire les translations à appliquer à chaque image pour recaler la pile de données, comme illustré sur la figure de droite. Ce type de graphe permet également d'analyser la précision géométrique et la cohérence du calage multi-temporel des données (mais pas la localisation absolue, nous y reviendrons).

La liste des translations estimées est écrite dans un fichier csv, qui est la seule sortie de StackReg (stocker les sorties de StackReg est donc très bon marché). Ce fichier csv peut être utiliser pour ré-échantillonner les images afin de générer une pile de données recalées à la volée (par exemple en utilisant la classe WarpedVRT de rasterio)

Ce procédé permet une amélioration significative de la cohérence spatial de la pile multi-temporelle, même quand on considère des paires d'images qui n'ont pas été mises en correspondances l'une avec l'autre, comme montré par la figure suivante. Nous pouvons en déduire que le calage est cohérent avec les chiffres des Data Quality Reports, et que StackReg est très efficaces pour construire une pile multi-temporelle cohérente spatialement.

 

Estimation de l'amplitude de l'erreur de calage entre toutes les paires possibles d'images avec un taux de couverture supérieur à 60% de la tuile 31TCH sur la période 2018-2019, en utilisant un extrait de 2000x2000 pixels, sans et avec StackReg.

Que peut nous dire StackReg du nouveau traitement géométrique Sentinel2 ?

Positions relatives des images de la tuile 31TCJ

Nous pouvons utiliser le même type de diagramme de dispersion pour voir comment les images à partir du 1er avril 2021 (date à laquelle le nouveau traitement est activé si possible) se comportent, et voir comment StackReg localise ces images par rapport aux autres. Voici ce que cela donne pour la tuile 31TCJ. Nous pouvons voir que les croix rouges (produits avec le nouveau traitement géométrique) sont localisée à l'intérieur de l'ellipse à 99%. De plus, elles semblent relativement groupées, ce qui suggère moins de variation dans leurs positions et va dans le sens d'un calage multi-temporel mieux que 5 mètres, à l'exception d'un point isolé en bas de l'ellipse (mais peut-être que le nouveau traitement géométrique n'était pas actif pour cette image). Nous pouvons également noter que, même si nous n'avons pas encore assez d'acquisitions avec le nouveau traitement actif pour en être sûr, la position moyenne des croix rouges seraient localisées 2.5 mètre au nord du centre de l'ensemble des images, ce qui semble indiquer que nous devrions utiliser cette position estimée après le 1er avril 2021 pour recentrer les images, afin d'améliorer la localisation absolue de l'ensemble.

Ces observations se confirment si l'on regarde la matrice de cohérence spatiale pour les dates postérieures au 1er avril 2021. Cette cohérence semble bonne avec le nouveau traitement géométrique, à l'exception d'une image (quoi doit être celle localisée au bas de l'ellipse). Nous pouvons également observer que StackReg permet d'améliorer encore cette cohérence et de ramener cette image fautive avec les autres.

Matrice de cohérence spatiale avec le nouveau traitement géométrique Sentinel2 pour la tuile 31TCJ

Si nous nous intéressons à d'autres tuiles, nous pouvons voir que les mêmes conclusions s'appliquent. 30TYS montre un groupement très resserré d'acquisitions. A nouveau, le centre de l'ensemble des positions ne correspond pas auc entre des dates bénéficiant du nouveau traitement géométrique, ce qui suggère que nous pourrions utiliser ce dernier pour améliorer la localisation absolue de l'ensemble. 31TGL montre également un groupe très resserré, cette fois-ci un peu plus loin de notre ellipse de confiance. A nouveau, nous sommes probablement centré sur une localisation erronée. Les mêmes conclusions peuvent être observées pour les tuiles 30TYQ et 30TXT (voir graphes à la fin de ce billet).

Que pouvons nous en conclure ? Bien sûr, nous devrons confirmer tout cela quand plus de produits seront disponible mais ... ça marche ! Nous avons juste à attendre le retraitement complet de l'archive (incluant le retraitement des produits L2A) ... Dans l'intervalle, StackReg peut nous aider à constituer de longue séries temporelles Sentinel2 avec une meilleure cohérence spatiale,  à améliorer encore la cohérence des produits qui bénéficient du nouveau traitement géométrique et parfois même à attraper des images anormalement localisée et les ramener avec les autres. Et nous allons regarder de plus près les améliorations potentielles de la localisation absolue de la pile recalée en utilisant la moyenne des positions bénéficiant du nouveau traitement géométrique.

Positions relatives des images de la tuile 31TYS

 

Positions relatives des images de la tuile 31TGL
Positions relatives des images de la tuile 30TYQ
Positions relatives des images de la tuile 30TXT

 

 

 

 

2 thoughts on “Premiers retours sur le nouveau traitement géométrique Sentinel2

  1. Bonjour Julien,

    Super intéressante comme analyse. As tu pu voir un impact du choix de l'image de référence de la pile ?
    La baseline 3.0 de l'IPF intègre aussi le support du copernicus DEM qui peut expliquer les décalages par rapport à la position moyenne.

    Il y une coquille sur le nom d'une tuile il me semble, à certains endroits tu utilise 31TYS au lieu de 30TYS.
    Cordialement
    Mickaël

    1. Bonjour Mickael, oui si tu regardes la présentation (lien dans le poste), j'ai testé l'impact du choix de l'image de référence. Sur 4 références différentes, 90% des images affichent un écart type des positions relatives < 3m.

      Je vais corriger la coquille, merci.

      Julien

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.