Première comparaison des masques de nuages Sentinel-2 produits par MACCS et SEN2COR

=>

Une nouvelle version de Sen2cor a été publiée récemment, et nous avons refait la comparaison. Les résultats sont publiés ici.

 

Alors que le CNES se prépare à produire et distribuer des données de niveau 2A pour Sentinel-2 à partir de notre processeur MACCS, quelques utilisateurs impatients m'ont demandé ce que je pensais du masque de nuages fourni par l'outil SEN2COR distribué par l'ESA. Pour me faire une idée, j'ai téléchargé SEN2COR et je l'ai fait tourner sur quelques produits. SEN2COR fonctionne sur plusieurs types de plate-formes, dont Linux, et il est plutôt facile à installer et utiliser dans sa configuration nominale.

 

 

MACCS 

SEN2COR 

Comparaison des masques de nuages obtenus par MACCS et SEN2COR sur une scène complètement claire acquise sur Toulouse. Les contours des masques sont superposés aux images et tracés en vert pour les nuages, en jaune pour leurs ombres, en bleu pour l'eau, et en rose pour la neige.

Commençons par rappeler les méthodes utilisées dans les deux codes.

MACCS :

Comme vous le savez déjà si vous suivez ce blog depuis quelque temps, MACCS utilise une méthode multi-temporelle pour obtenir une meilleure discrimination des nuages et des surfaces terrestres :

  • Les nuages sont principalement détectés par une augmentation de leur réflectance dans le bleu, mais nous utilisons aussi la bande 1.38 µm de Sentinel-2 pour détecter les nuages situés au dessus de 2000m d'altitude.
  • Les ombres de nuages probables sont aussi détectées au travers de la détection d'assombrissements. Mais les ombres probables ne sont incluses dans le masque d'ombres que si on a pu les relier à un nuage.
  • L'eau est aussi détectée avec une méthode multi-temporelle. En effet, sur une seule date, l'eau peut-être confondue avec une ombre de nuages qui n'aurait pas été détectée. Pour cette raison, nous vérifions que l'eau reste bien au même endroit sur plusieurs images qui se suivent.
  • Enfin, les pixels de neige sont des pixels nuageux brillants dans le visible, avec une faible réflectance dans le moyen infra-rouge.

Les masques de MACCS  (arrivez vous à le répéter rapidement et à voix haute ?) sont assez compliqués et longs à produire. Pour raccourcir les temps de traitement, et parce que les nuages font rarement moins de quelques centaines de mètres, les masques sont calculés à une résolution de 240m.

SEN2COR :

Dans le but de distribuer un logiciel facile à utiliser (ce qui est d 'ailleurs le cas), les auteurs de SEN2COR ont décider de se limiter à des méthodes mono-dates. Bien que la documentation soit assez succincte, on peut deviner que :

  • Les nuages sont détectés par des critères spectraux,  à partir de la bande 1.38 µm.d'u seuillage dans le bleu, et de critères de blancheur. SEN2COR fournit un masque de nuages à 3 niveaux de probabilité (faible, moyenne et forte), plus le masque de nuages hauts, improprement appelé masque de cirrus. Vu que SEN2COR a vraiment tendance à détecter trop de nuages, nous n'avons considéré que les nuages de probabilité élevée, et les nuages hauts.
  • Les ombres sont sombres
  • L'eau est sombre et à une très faible réflectance dans le proche infra-rouge
  • La neige est brillante et a une faible réflectance dans le moyen infra-rouge

Les masques de SEn2COR sont calculés à 20m de résolution.

Comparaison :

La validation des masques de nuages, n'est pas une tâche aisée, puisqu'il n'y a pas vraiment de sources indépendantes qui permettent d'affirmer qu'un pixel est nuageux. Pour estimer la valeur d'un masque de nuages, c'est l’œil qui est utilisé habituellement, après un peu d'entraînement.

 

Nos collègues américains de la NASA ou de l'USGS ont fabriqué une base d'images de référence avec un masque de nuages fait main, pour évaluer les performances de leurs méthodes. Mais cela a du coûter assez cher, et personne en Europe ne semble vouloir entreprendre ce travail pour Sentinel-2 (pourtant, j'ai insisté, croyez moi).

 

Pour cette comparaison, nous avons donc produit quelques masques avec MACCS et SEN2COR et comparé leurs sorties. Nous utilisons des quicklooks auxquels nous superposons le contour des nuages, en vert, des ombres de nuages, en jaune, de l'eau, en bleu, et de la neige (en rose). Comme vous le verrez, les différences sautent au yeux.

 

Voici un premier exemple, pour une image complètement claire, obtenu par Sentinel-2 au dessus de Toulouse, acquise le 25 août. MACCS trouve par erreur deux tout petits nuages, mais pour SEN2COR, toutes les villes et quasiment tous les bâtiments sont classés comme nuages.

Voici un autre exemple obtenu en Provence le 22 août

MACCS

SEN2COR

Les contours des masques ont été ajoutés sur les images. En vert, le contour des nuages, les ombres en jaune, l'eau en bleu, et la neige en rose. Les emprises des images sont différentes, car MACCS a traité des produits de niveau 1C élaborés au CNES, alors que SEN2COR a tourné sur des produits L1C de l'ESA.

 

Dans les deux cas, SEN2COR détecte beaucoup trop de nuages, en faisant la confusion entre des nuages fins peu brillants, et des surfaces brillantes, comme les sols nus et les bâtiments. Mais ce qui m'étonne le plus, c'est que SEN2COR détecte des pièces d'eau sur les nuages (Les collègues qui ont défini les masques de nuages sur SEN2COR m'ont confirmé qu c'était un bug). MACCS détecte tous les nuages à part les traces d'avions les plus fines (en raison de la résolution grossière du masque de nuages), alors que SEN2COR oublie les parties plus fines de certains nuages, malgré sa tendance globale à détecter trop de nuages.

 

MACCS a tendance a détecter de la neige sur les surfaces de sel et de sable ( tout celà, c'est de la poudre blanche !) ou les étangs trop turbides. Quant à SEN2COR, il trouve de la neige au milieu des nuages.

 

En bref, n'oublions pas que les deux méthodes en sont à leurs premières étapes de réglage de leurs paramètres pour Sentinel-2 et au début de leur validation. De nouvelles versions sont prévues, pour corriger les erreurs des masques de SEN2COR, ou, dans le cas de MACCS, pour améliorer les masques d'ombres. Mais ceci dit les résultats actuels de MACCS démontrent déjà le pouvoir de discrimination des méthodes multi-temporelles.

 

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

Tagged as:

8 comments

  • Cedric lardeux on 21/02/2016 at 09:04 said:

    Hello,

    Very interesting to see cloud mask eficciency.
    You speak about cnes data processing... When and how to get this data ? Also, this processing will be applied on all world data ?
    Best

    • Olivier Hagolle on 21/02/2016 at 18:36 said:

      Bonjour Cédric,
      you started in English...
      Theia will start processing Sentinel-2 L2A data this spring, probably in May. 5 M km2 will be processed, of course including France. We are now finalising the zones to process which were defined through a call for proposals. It seems that you did not receive it. Here are the zones which were proposed.
      http://www.cesbio.ups-tlse.fr/multitemp/?p=6596

      This is only a first step, as we are trying to convince ESA to use MACCS for a global production, but this will take one or two years, I am afraid.

      Cordialement,
      Olivier

  • Agustin Lobo on 11/03/2016 at 07:51 said:

    Good to know better alternatives do exist, congrats for your chain.
    Your comparison focuses on the cloud mask, but are there other differences for the rest of correction? Is your chain based on a different model? Could you post one scene processed with both chains? (best the one embracing the eastern Pyrenees, of course...).

    Agus

    • Olivier Hagolle on 11/03/2016 at 13:59 said:

      Dear Agus,
      the methods are completely different, here is a description of MACCS : http://www.cesbio.ups-tlse.fr/multitemp/?p=6203
      Contrarily to the cloud mask, for which your eyes can tell you if the cloud mask is right or wrong, a simple comparison will not tell you which one is right. A validation exercise is necessary. This comparison will start soon, and will take some time.

      Un saludo !
      Olivier

  • dorsaf on 17/03/2016 at 21:38 said:

    SLT ,j'ai eu des difficultées lors de l'éxécution de la correction atmospherique en utilisant sen2cor et j'ai besoin de qlqs documents sur sentinel 2A en français ... svp est ce que vous pouvez m'aidez c urgent pour mon stage pfe et merci d'avance :)

  • dorsaf on 18/03/2016 at 14:15 said:

    ok merci :) stp est ce que tu peux me définir le processus de regroupement des bandes (stack) pour quelle but??

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>