Introduction aux composites sans cloud

Aperçu

Cette session consiste à créer des ensembles de données et des images représentatifs à partir de plusieurs pas de temps. Cela nous permet de supprimer et de remplacer les données indésirables, telles que les nuages, et également de former des images qui représentent avec précision la zone d’intérêt sur une période de temps.

Ceci est résumé dans la vidéo de cette semaine, Agrégation temporelle des données. Regardez la vidéo pour voir comment utiliser les données d’observation de la Terre à différents moments dans le temps.

Vidéo: agrégation temporelle des données

Télécharger les diapositives de la vidéo au format PDF

Dans la vidéo, nous avons vu que nous pouvons compenser les points de données manquants ou troubles en utilisant des données de différents points dans le temps pour combler les lacunes. Il s’agit d’un processus en deux étapes:

  1. Identifiez et supprimez les données troubles - c’est ce qu’on appelle le «masquage du cloud»

  2. Utilisez des données d’une autre époque pour remplir les données manquantes - cela peut être fait en calculant les géomédiens

Dans cette section, nous nous concentrons sur les raisons pour lesquelles le masquage cloud est une étape importante dans la préparation de votre ensemble de données et présentons le moyen le plus simple de le faire dans le bac à sable. Nous expliquons ensuite brièvement la signification des géomédiens par rapport à d’autres valeurs statistiques.

Les deux pages qui suivent cette introduction impliqueront des exercices pas à pas, vous pouvez donc essayer d’effectuer ces étapes vous-même après avoir lu à leur sujet dans cette section.

Récapitulatif: chargement et traçage des données

Dans la dernière session, nous avons tracé des images RVB pour Dar es Salaam en Tanzanie. L’image présentait des nuages dans les versions Landsat 8 et Sentinel-2.

dc.charger les images de la session précédente.

Données Landsat 8 du 16 février 2018 (à gauche) et données Sentinel-2 du 15 février 2018 (à droite). Une certaine couverture nuageuse est visible sur les deux images.

Et si nous voulons savoir ce qu’il y a sous ces nuages? Si vous ne disposez de données qu’à un moment donné, cela n’est pas possible. Cependant, si nous avons des données pour le même endroit à un moment différent, lorsque les nuages ne sont pas présents, nous pouvons utiliser ces données pour «remplir» des zones de nuage.

Pour ce faire, nous devons d’abord identifier quels pixels sont des nuages. Le processus de détermination et de suppression des points de données cloud est appelé «masquage cloud».

load_ard() contre dc.load()

La façon la plus simple d’appliquer un masque de nuage à votre ensemble de données est de le charger dans l’Environnement de test en utilisant la fonction load_ard(). ard signifie “Analysis-Ready Data” et la fonction load_ard() applique automatiquement un masque de nuage.

Nous avons précédemment chargé des données dans le Sandbox en utilisant dc.load(). dc.load() est une fonction universelle pour charger des données depuis le datacube et il est important de savoir comment l’utiliser. Cependant, elle ne dispose pas d’une fonction intégrée de masquage des nuages.

Lorsque nous avons tracé les images RVB de la Tanzanie avec les données chargées à l’aide de dc.load(), les nuages faisaient partie de l’image. Il est donc difficile d’effectuer un masquage des nuages, car l’ensemble de données ne distingue pas les nuages des autres.

Dans cet exercice, nous allons plutôt utiliser la commande load_ard() pour charger nos données. Elle demande des paramètres similaires à ceux de dc.load(), mais identifie automatiquement les pixels des nuages, et applique le masquage des nuages aux données chargées.

dc.load vs load_ard.

Données Sentinel-2 du 15 février 2018 chargées avec dc.load() (gauche) et load_ard() (droite). L’image dc.load montre la couverture nuageuse, tandis que les pixels blancs dans l’image load_ard ne sont pas des nuages, mais des points où les données ont été supprimées par le masque de nuage.

L’algorithme de masquage du cloud sur les données Sentinel-2 est plus agressif que son homologue Landsat 8. Cela signifie qu’il interprète parfois à tort les plages de sable blanc ou les régions urbaines comme des nuages. Cela peut réduire la quantité de données disponibles.

Note

load_ard() est compatible avec le jeu de données Sentinel-2 et le jeu de données Landsat 8 que nous avons utilisé lors de la dernière session. Cependant, il n’est pas compatible avec certains autres produits Digital Earth Africa, tels que Water Observations from Space ou GeoMAD, avec lesquels vous devrez utiliser dc.load().

Calcul d’un composite

Maintenant que nous savons comment masquer les nuages en utilisant load_ard(), nous pouvons charger plusieurs pas de temps de nos données masquées par les nuages. Celles-ci doivent être combinées de manière significative pour produire une image unique. Pour ce faire, nous composons nos données.

La composition crée une valeur pour chaque bande pour chaque pixel en fonction des données de série chronologique pour ce pixel.

Nous comparerons brièvement les composites médians et géomédiens, et expliquerons pourquoi il est plus fiable d’utiliser des géomédiens.

Composites médians

Pour chaque bande de l’image, les composites médians définissent la valeur de chaque pixel sur la valeur médiane de cette bande. Pour un pixel donné, la médiane de chaque bande est indépendante des autres.

L’avantage d’un composite médian est qu’il est très rapide à calculer, il peut donc être utilisé pour créer rapidement des images sans nuage pour une zone.

Cependant, les médianes ne tiennent pas compte du fait que chaque pixel contient des informations pour plusieurs bandes. Il est donc préférable d’utiliser une statistique configurée pour des données multidimensionnelles, comme un géomédian.

Explication composite médiane

A median considers data from each band independently. This can be seen in Step 2 of the median compositing algorithm shown above.

Composites géomédiens

Les composites géomédiens - ou « médiane géométrique » - sont des généralisations multibandes des composites médians. Au lieu de trouver la valeur médiane d’un pixel pour chaque bande individuellement, comme le fait un composite médian, un composite géomédian trouve les valeurs médianes des bandes pour chaque pixel lorsqu’elles sont considérées ensemble.

Cela signifie qu’ils représentent les données mieux que les composites médians.

Explication du composite géomédiatique

Unlike the median composite, the geometric median (geomedian) considers all bands of data together. Each band adds a dimension to the geomedian calculation. For a three-band dataset, such as the RGB dataset shown in the geomedian compositing algorithm above, each point can be represented on a three-dimensional scatter plot. The geomedian is the minimised “sum of distances” between all the points.

Comparaison des médianes et des géomédians

La différence entre les médianes et les géomédians peut souvent être subtile, surtout si vous regardez l’image composite globale. Par exemple, les images RVB de ces composites médian et géomédian semblent presque identiques.

RVB de la médiane et de la géomédiane

Cependant, pixel par pixel, il est possible de visualiser la différence entre la médiane et la géomédiane. La meilleure façon de procéder est d’utiliser le widget geomedian pour explorer les effets de différents ensembles de données sur la médiane et la géomédiane.

Exemple de widget.

Le widget geomedian utilise des curseurs interactifs pour modifier la valeur des données. Cela affecte les valeurs médiane et géomédiane en sortie. Vous verrez bientôt que chaque méthode de composition peut produire des résultats très différents. À plus grande échelle (comme une image entière, ou sur plusieurs années), cela peut affecter l’image composite finale.

Téléchargez le carnet de notes du widget ici ou visitez la page Didget geomedien pour plus d’informations, y compris des instructions sur l’exécution du widget dans le bac à sable.

L’essentiel: utilisez les géomédiens

Les géomédiatiques prennent plus de temps à calculer que les composites médians. Cependant, à moins que vous n’effectuiez une visualisation rapide, vous devez utiliser la méthode geomedian lors de la création de composites. En effet, la valeur géomédiane est plus rigoureuse scientifiquement car elle prend en compte toutes les bandes de l’ensemble de données.

Note

DE Africa produit une géomédiane annuelle pré-calculée dans le cadre du service GeoMAD. Nous ne l’utiliserons pas dans ce cours de formation, mais il produit de superbes images géomédiennes sans nuages qui peuvent être explorées via DE Africa Maps ou dans le Sandbox. Jetez un coup d’œil à la Documentation GeoMAD pour en savoir plus.

Conclusion

Vous savez maintenant que nous pouvons effectuer un masquage des nuages à l’aide de la fonction load_ard(), et que nous devons combiner différents pas de temps de données en utilisant un calcul géomédian.

L’exercice de cette session est couvert dans les deux sections suivantes.

  1. Nous allons suivre le processus d’utilisation de load_ard() pour charger des données avec un masque de nuage.

  2. Nous utiliserons ensuite les données chargées pour créer et tracer des géomédiens.

Cette technique sera utile dans les prochaines sessions pour mener des analyses sur des images sans nuage.