Amélioration de la détection des nuages hauts dans MAJA pour les images de Sentinel-2

=>

La recherche pour l'amélioration des performances des méthodes de MAJA repose actuellement sur une toute petite équipe au CESBIO, composée de deux personnes, Bastien Rouquié, qui travaille sur l'amélioration des estimations d'aérosols, et moi, qui passe presque tout mon temps en réunions, ou a écrire des articles de blog (et parfois les deux en même temps). C'est pour cette raison que de nombreux points que nous aimerions améliorer sur MAJA ne s'améliorent que lentement.

 

Absorption atmosphérique. En bleu, la réflectance de surface pour un pixel couvert de végétation, en fonction de la longueur d'onde, en rouge la réflectance au sommet de l'atmosphère pour ce même pixel. A 1.38 µm, la vapeur d'eau absorbe totalement la lumière provenant de la surface au niveau de la mer.

J'ai pu récemment consacrer un peu de temps à l'amélioration de la détection des nuages, notamment au dessus de l'eau, et plus récemment, à améliorer la détection des nuages hauts, en utilisant la  bande "cirrus" située à 1.38 µm, qui est disponible sur Sentinel-2 et Landsat 8. Comme précisé dans ce post, la bande "cirrus" est située dans une forte bande d'absorption de la vapeur d'eau, telle qu'au niveau de la mer, les photons ont très peu de chances de faire le parcours du soleil au satellite en passant par la surface de la terre sans être absorbés. Comme la majorité de la vapeur d'eau est située dans les basses couches de l'atmosphère, les nuages situés plus haut dans l'atmosphère ont davantage de chances de renvoyer de la lumière jusqu'au satellite. C'est donc un moyen de détecter les nuages hauts.

 

La méthode de détection parait donc très simple, il suffit de faire un seuillage sur la réflectance dans la bande 1.38 µm.  Malheureusement, c'est plus compliqué que ça.

Les montagnes aussi peuvent dépasser de la couche absorbante, et donc renvoyer de la lumière vers le satellite. Il faut donc tenir compte de l'altitude de la surface dans la détection des cirrus.

 

Bien que la théorie indique une loi exponentielle, nous utilisons un seuil de détection qui évolue linéairement en fonction de l'altitude, ce qui ne nécessite que de régler deux paramètres, l'ordonnée à l'origine et le gain

Seuil= S0 + G*h

Le réglage de ces deux valeurs s'effectue en deux temps. Détermination de S0 sur des images de plaine, puis détermination de G sur des images en altitude. Bien évidemment, il est nécessaire d'utiliser différents sites et de nombreuses images pour laisser varier les réflectances de surface, les quantités de vapeur d'eau.

 

La courbe ci-dessous montre la nouvelle loi de seuillage à laquelle je suis arrivé, et la compare a des observations de cirrus que j'ai relevées avec mes petites mains sur 6 images différentes, avec et sans cirrus, une en plaine (tuile 31TCJ à Toulouse), et deux en altitude, sur les hauts plateaux de Madagascar (tuile 38KPC) et sur l'Atlas au Maroc (Tuile 20RPQ). Le jeu de données est bien sûr très insuffisant et ne sert que d'illustration de la complexité de cette détection.

 

Sentinel-2 cirrus band reflectance as a function of surface altitude for cirrus clouds (blue) and cloud free (red) pixels for 6 images from three sites in France(31TFJ), Madagascar (38KPC) and Morocco (29RPQ). The New Threshold line is in green, while the previous one (until product version 1.5 is in black).

 

Ce nouveau seuillage entrera en vigueur avec la version 1.6 des produits de Theia, d'ici quelques semaines. L'ancienne loi de seuillage, utilisée jusqu'à la version 1.5 des produits générés par Theia, avait été définie pour éviter de classer comme nuages des montagnes en atmosphère sèche. Cependant cette loi avait le défaut de ne pas détecter les cirrus les plus fins. La nouvelle loi choisie va détecter des nuages beaucoup plus fins, mais aussi faire de fausses détections de nuages en montagne, sur des zones sèches et brillantes.

C'est par exemple ce que nous observons dans le cas suivant, au dessus de l'Atlas, sur une image quasiment dépourvue de nuages :

Old cirrus threshold

New cirrus threshold

Nous pouvons toutefois espérer que ces zones fortement réfléchissantes avec un air très sec sont des zones peu nuageuses qui sont donc observées fréquemment et pour lesquelles on peut se passer de quelques dates d'observation.

 

Ceci dit, dans la plupart des cas, le nouveau seuillage améliore fortement la détection.

Old cirrus threshold New cirrus threshold

 

De même, sur cette image de Madagascar :

Old cirrus threshold New cirrus threshold

Les bons observateurs noteront que les cirrus les plus fins échappent toujours à la détection, mais c'est le prix à payer pour ne pas rendre nuageuses toutes les montagnes sèches. La détection des nuages par MAJA ne dépend pas que de la bande cirrus, et plusieurs autres tests, notamment le test multi-temporel, peuvent aussi détecter ces nuages.

 

Certains d'entre vous on peut-être aussi remarqué que d'après la courbe ci-dessus, le seuil de détection des cirrus pourrait être plus sévère à basse altitude pour éliminer un plus grand nombre de symboles bleus. Cependant, une partie de ces symboles bleus correspondent à l'image ci-dessous (à gauche, l'image de la bande B10 codée entre 0 et 0.02). On y voit bien des cirrus, mais ceux-ci ne perturbent quasiment pas l'image dans les autres canaux. Il serait donc bien dommage de conseiller aux utilisateurs de ne pas utiliser ces pixels en les classant comme nuageux. Finalement, ce n'est pas si simple, la détection des cirrus !

B10 band New cirrus threshold

 

Posted under: Corrections (geometry, atmosphere, clouds), En Français, Sentinel-2

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>