MAJA 3.3 is available, with a LOT of improvements

What's new ?

Pfew ! It has been quite long, but MAJA 3.3 is available, and it improves a LOT of things !

  • Some bugs have been fixed, like the one which caused detection of cloud or cloud shadows on the edges of the images
  • It seems we have finally solved the bugs that plagued the CAMS option since we released MAJA V3.0. Since V3.0, this option uses the Copernicus Atmosphere aerosol forecasts to set the aerosol type before retrieving the aerosol optical thickness (AOT) from Sentinel-2 data
  • We now also use CAMS AOT as a default value, when it is not possible to estimate AOT using the images, for instance above a snow covered landscape or for small gaps in a large cloud cover. Before that, we used 0.1 everywhere as a default value. The default value is used in the cost function with a very low weight, it has no impact when conditions for AOT estimates are good, but a large impact in bad conditions.
  • The cirrus correction module was over correcting the impact of thick cirrus clouds, providing images with dark clouds. We have limited the correction in order to get more realistic values
  • We have improved the cloud detection, with a better compromise between false positives and false negatives. We also handle better the variation against altitude of the cirrus cloud detection with band 10 (1.38 µm). MAJA 3.3 is the version with which we obtained the results of our recently published article. This paper shows that MAJA has slightly better performances than FMask 4.0, and much better performances than Sen2Cor.

Moreover, when we validated the results, we figured out that one of the parameters in our settings had a wrong value (10 instead of 1). It is easy to make such errors, because there are about 150 parameters in MAJA, and it's easy to make an error. We have set up a version management of MAJA settings since 2017, but the erroneous value was already there before that. And this value has a big impact ! The standard deviation of errors in AOT estimates is reduced by 30 to 40% !!

The W_dark parameter controls the weight of the dark pixel method in the AOT estimation. This method is just supposed to be used as a safeguard in case the multi-temporal or multi-spectral methods provide wrong results. It should therefore have a low weight, but with a weight of 10, it was in fact the method which had the highest weight in our estimates. As this method provides a maximum value of the AOT, it tended to reduce the provide too low AOTs. This improvement is therefore a great piece of news, but it comes with some shame not to have found this error before.

 

AOT validation against AERONET for 10 sites with the wrong W_dark value AOT validation against AERONET for 10 sites with the correct W_dark value

The blue dots correspond to validation obtained in good conditions, while red dots correspond to less reliable validation points.

These are the results of comparison of version 3.3 with CAMS activated, changing only the W_dark parameter, but if we compare with the results of version 3.1, the improvement is even more impressive :

AOT validation against AERONET for 10 sites, version 3.1/td> AOT validation against AERONET for 10 sites version 3.3, with the correct W_dark value

How to access MAJA ?

Here is how to access MAJA 3.3 :

  • MAJA 3.3 is distributed as a free software for non commercial purposes from CNES free software site (select the 3.3 TM version in the download tab). If you need it for commercial purposes, you just have to ask me for a different licence, but it still will be free of charge.
  • The best way to use MAJA is to run it with Start_MAJA, which is a simple python code that runs MAJA for a whole time series for a given Sentinel-2 tile. The Strart MAJA readme also explains how to get the good settings, with the good W_dark value, how to prepare the DEM or how to get CAMS data.
  • PEPS on-demand processing facility will be updated soon, but it is still working with MAJA 3.2 so far
  • THEIA is also running MAJA 3.2. We will update first the wdark parameter, and then MAJA 3.3 and then start production with CAMS, hopefully before summer. If everything goes well, we will then start a reprocessing of all our data set. So, stay tuned on this information channel.

New paper ! An active learning cloud detection tool to generate reference cloud masks for Sentinel-2. Application to the validation of MAJA, Sen2cor and FMask cloud masks

Example of reference cloud mask generated by ALCD, and comparison with the cloud masks generated by three operational processors (Sen2cor, FMask and MAJA). True positive invalid pixels appear in blue, true negative in green, false negative in red and false positive in purple..

It is not that frequent when the work of a trainee ends up as a peer reviewed publication, but Louis Baetens was a brilliant trainee. In a six months training period at CESBIO, funded by CNES, here is what Louis Baetens did:

  • developed an active learning method to generate reference cloud masks for Sentinel-2, using multi-temporal data as input
  • validated the quality of the produced masks (around 99% overall accuracy)
  • generated cloud and shadow masks covering 32 entire Sentinel-2 images
  • produced these same scenes with Sen2cor 2.5.5, FMask 4.0 and MAJA 3.3
  • evaluated the results using ALCD masks
  • wrote a report and a user manual for ALCD
  • released the masks and tools on open access platforms
  • And wrote (with Camille and myself) a scientific publication

 

The publication was just released by remote sensing :

Baetens, L.; Desjardins, C.; Hagolle, O. Validation of Copernicus Sentinel-2 Cloud Masks Obtained from MAJA, Sen2Cor, and FMask Processors Using Reference Cloud Masks Generated with a Supervised Active Learning Procedure. Remote Sens. 2019, 11, 433.

 

The remaining of the post provides a plain language summary (but it's better to read the paper !)

Continue reading

4 thèses en cours à Toulouse pour étudier les forêts tempérées par télédétection

Le pôle toulousain de recherche publique en télédétection est surtout connu sur la thématique forestière grâce à la mission BIOMASS, qui sera lancée vers 2021 et qui est portée par le CESBio, mais qui concerne surtout les forêts tropicales. L’objectif de cet article est de présenter les travaux en cours sur les forêts tempérées, dans le contexte de la France métropolitaine, qui sont portées en synergie par l’UMR Dynafor (collègues INRA, Ensat et EI Purpan) et par l’UMR CESBio. En effet, 4 thèses sont actuellement en cours dont 2 qui seront soutenues fin 2019. Le point commun à ces 4 thèses comme aux travaux qui les ont précédées est l’utilisation de séries temporelles, d’abord basse résolution (Modis), puis, depuis 2015, en haute résolution spatiale avec Sentinel 1 et 2 (‘S1’ et ‘S2’).

 

Différence de phenologie entre chênes

Figure 1. Différences de phénologie entre espèces de chênes.

Continue reading

Validation systématique des produits Sentinel-2 de Theia

=>

Camille Desjardins (du CNES (DSO/SI/MO)), qui s'occupe de la validation des produits de niveau 2A distribués par THEIA, a très récement mis en place une validation systématique des produits fournis par MAJA, avec l'aide d'un service d'exploitation du CNES (DNO.OT/PE). Le travail est effectué par Bruno Besson avec l'aide de Nicolas Guilleminot (de Thales Services), en utilisant des outils développés par Aurélie Courtois, elle aussi de Thales).

 

Systématiquement, tous les mois, les valeurs d'épaisseurs optiques d'aérosols et de vapeur d'eau, déterminées par MAJA, sont comparées avec celles du réseau Aeronet, à chaque fois qu'un produit om THEIA observe l'un de ses sites.

 

Les deux figures ci-dessous montrent les résultats obtenus pour le mois de Février, pour l'épaisseur optique, à gauche, et pour la vapeur d'eau (à droite). Les points bleus correspondent à des validations effectuées dans les conditions idéales pour une bonne comparaison (peu de nuages, pas de données interpolées, données Aeronet qualifiées au niveau 2 ). Les points rouges correspondent à des conditions dégradées, et pour la plupart d'entre eux, c'est dû au fait que les données Aeronet qualifiées ne sont pas encore disponibles.  Dans ce cas, il est possible qu'elles soient dégradées, en raison d'une dérive de leur étalonnage... ou de la présence d'une araignée dans le tube du collimateur.

 

Validation des épaisseurs optiques d'aérosols des produits Sentinel-2 N2A de Theia  pour toutes les observations conjointes avec Aeronet en février 2018 Validation de la vapeur d'eau des produits Sentinel-2 N2A de Theia  pour toutes les observations conjointes avec Aeronet en février 2018

 

Continue reading

Systematic validation of Sentinel-2 THEIA L2A products

=>

Very recently, Camille Desjardins (from CNES), who is handling the validation of the L2A products generated by THEIA, has set up a systematic validation of the products delivered by MAJA, with the help of an operational service from CNES (OT/PE) (Bruno Besson, and Nicolas Guilleminot from Thales Services, using tools developed by Aurélie Courtois, also from Thales)

 

Systematically, a comparison of AOT and water vapour is made for every Sentinel-2 L2A product from THEIA which observes one of the sites of the Aeronet network.

 

Both plots below show the results obtained during the month of February, for the Aerosol Optical Thickness (left), and for the water vapour content (right). Blue dots correspond to validations in ideal conditions (low cloud amount, no gap filling, and quality assured Aeronet data (Level 2.0). The red dots allow degraded conditions, and most of them correspond to the unavailability, yet, of version 2.0 Aeronet data. As data are processed in near real time, and level 2.0 data are made available a few months later, these plots rely mainly on Level 1.5 data, which are more prone to errors (such as a calibration drift... or the presence of a spider in the instrument tubes).

 

Aerosol optical thickness validation of Sentinel-2 L2A for all Aeronet match-ups gathered in February 2018 Water vapour validation of Sentinel-2 L2A for all Aeronet match-ups gathered in February 2018 (in g/cm2)

 

Continue reading

Another validation of CESBIO's 2016 France land-cover map

In this post, a validation of the land-cover map of France produced by CESBIO for the 2016 period was presented. This validation used independent data (that is data collected by different teams and using different procedures than the data used for the classifier training), but the validation procedure consisted in applying classical machine learning metrics which, as described in this other post, have some limitations.

A fully independent validation following a sound protocol is costly and needs skills and expertise that are very specific. SIRS is a company which is specialised in the production of geographic data from satellite or aerial images. Among other things, they are the producers of Corine Land Cover for France and they are also responsible for quality control and validation of other Copernicus Land products.

SIRS has recently performed a validation of the 2016 France land-cover map. The executive summary of the report reads as follows:

This report provides the evaluation results of the CESBIO OSO 2016 10m layer and the CESBIO OSO 2016 20m layer.

The thematic accuracy assessment was conducted in a two-stage process:

  1. An initial blind interpretation in which the validation team did not have knowledge of the product’s thematic classes.
  2. A plausibility analysis was performed on all sample units in disagreement with the production data to consider the following cases:
  • Uncertain code, both producer and operator codes are plausible. Final validation code used is producer code.
  • Error from first validation interpretation. Final validation used is producer code
  • Error from producer. Final validation code used is from first validation interpretation
  • Producer and operator are both wrong. Final Validation code used is a new code from this second interpretation.

Resulting to this two-stage approach, it should be noticed that the plausibility analysis exhibit better results than the blind analysis.

The thematic accuracy assessment was carried out over 1,428 sample units covering France and Corsica.
The final results show that the CESBIO OSO product meet the usually accepted thematic validation requirement, i.e. 85 % in both blind interpretation and plausibility analysis. Indeed, the overall accuracies obtained are 81.4 +/- 3.68% for the blind analysis and 91.7 +/- 1.25% for the plausibility analysis on the CESBIO OSO 10m layer. The analysis on the 20m layer shows us that the overall accuracy for the blind approach is 81.1 +/-3.65% and 88.2 +/-3.15% for the plausibility approach.
Quality checks of the validation points have been made by French experts. It should be noticed that for the blind analysis, the methodology of control was based mostly on Google Earth imagery, no additional thematic source of information that could provide further context was used such as forest stand maps, peatland maps, etc.

These results are very good news for us and for our users. The report also contains interesting recommendations that will help us to improve our algorithms. The full report is available for download.

Machine learning benchmarking for land cover map production

Land cover map validation is a complex task. If you read French, you can check this post by Vincent Thierion which shows how the 2016 LC map of France produced by CESBIO stands with respect to data sources independent from those used for its production. But this is only one aspect of the validation. A land cover map is a map, and therefore, there are other issues than checking if individual points belong to the correct class. By the way, being sure that the correct class is known, is not so easy neither.

 

In this epoch of machine learning hype 1, it is easy to fall in the trap of thinking that optimising a single metric accounts for all issues in map validation. Typical approaches used in machine learning contests are far from enough for this complex task. Let's have a look at how we proceed at CESBIO when we assess the quality of a LC map produced by classification.
Continue reading

Premières validations de la carte d'occupation du sol OSO

En 2017, le Centre d'Expertise Scientifique OSO (Occupation du SOl) par l'intermédiaire du CESBIO a produit une carte d'occupation du sol de l'année 2016 à l'échelle du territoire métropolitain français et corse. On l'appelle la carte d'occupation du sol OSO ! Cette carte est le résultat de traitements automatiques massifs de séries temporelles d'images satellites optiques Sentinel-2. Comme les images Sentinel-2, cette carte a une résolution spatiale de 10 m correspondant à une unité minimale de collecte (UMC) de 0.01 ha. L'occupation du sol est décrite grâce à 8 classes au premier niveau et 17 classes à second niveau de détail, définies en fonction des potentialités de détection de l'imagerie Sentinel-2 et des besoins exprimés par des utilisateurs finaux. Ces classes couvrent les grands thèmes d'occupation du sol (surfaces artificialisées, agricoles et semi-naturelles).

Son principal avantage en comparaison avec d'autres cartes d'occupation du sol existantes, (loin de nous l'idée de les critiquer) est son exhaustivité territoriale et surtout sa fraîcheur ! Disposer d'une carte d'occupation du sol exhaustive sur l'ensemble du territoire national au premier trimestre de l'année suivante, c'est ce qu'OSO vous propose !

Quelle richesse thématique ?

Les classes détectées par télédétection sont celles du second niveau, celles du premier niveau sont obtenues par agrégation des classes du second niveau :

  • Culture annuelle
    • Culture d'hiver
    • Culture d'été
  • Culture pérenne
    • Prairie
    • Verger
    • Vigne
  • Forêt
    • Forêt de feuillus
    • Forêt de conifères
  • Formation naturelle basse
    • Pelouse
    • Lande ligneuse
  • Urbain
    • Urbain dense
    • Urbain diffus
    • Zone industrielle et commerciale
    • Surface route / asphalte
  • Surface minérale
    • Surfaces minérales
    • Plages et dunes
  • Eau
    • Eau
  • Glaciers et neiges éternelles
    • Glaciers et neiges éternelles

Avec quelle qualité ?

Valider une carte d'occupation n'est pas une procédure simple. Il s'agit de s'interroger sur :

  • la spécification des classes
  • l'échelle de validation
  • le jeu de données de validation

Dans tous les cas, il est rarement possible d'établir une validation exhaustive sur l'ensemble d'un territoire. Classiquement, une validation statistique permet d'appréhender partiellement la précision de la cartographie obtenue, et ne permet pas d'identifier l'ensemble des confusions thématiques et des erreurs géométriques de classification.

La suite de cet article tente de qualifier la précision de la carte d'occupation du sol OSO de 2016 grâce à des jeux de données de partenaires du CES OSO. Une première validation, intrinsèque au processus de classification, a été effectuée. Les résultats statistiques sont visibles ici.

Le jeu de données d'échantillons de la couverture de surface a été produit grâce à des bases de données nationales telles que la BD Topo, le Registre Parcellaire Graphique (RPG) et Corine Land Cover. 70% de ces échantillons ont été utilisés pour l'apprentissage et 30% pour la validation a posteriori visible sur la figure ci-dessous. Cette validation, bien que pertinente, s'appuie sur des échantillons dont la génération suit la même procédure que les échantillons d'apprentissage, biaisant quelque peu l'indépendance de la validation.

Validation de la carte d'occupation du sol OSO avec 30% des échantillons extraits des 3 jeux de données utilisés lors de la classification - BD Topo, Registre Parcellaire Graphique et Corine Land Cover)

De plus, il nous était impossible de valider les deux cultures annuelles de la classification. En effet, l'indisponibilité du RPG pour l'année 2016 et 2015 (toujours indisponible le jour de l'écriture de cet article), nous a amené à développer une méthode d'apprentissage basée sur le principe de l'adaptation de domaine utilisant des échantillons du RPG 2014. Cette méthode est très bien expliquée ici. Quoiqu'il en soit, il nous était impossible de valider la classification des cultures d'été et d'hiver de 2016, seuls des échantillons issus du terrain nous le permettait, en voilà la preuve !

Continue reading

Validation et amélioration des produits Theia Surfaces Enneigées à partir d'images haute résolution

Post préparé par Marine Bouchet pour le blog Kalideos Alpes (version originale)
 
Les séries temporelles d'images optiques des satellites Sentinel-2 permettent un suivi de la surface enneigée à une résolution spatiale de 20 m tous les 5 jours (en l’absence de nuages). Le CNES et le CESBIO développent, depuis 2015, une chaîne Let It Snow (LIS) pour extraire de façon robuste les masques de neige associés, distribués sur la plateforme Theia.
Continue reading

New version of fully automatic land cover map of France for 2014 from LANDSAT8

=>

Over the last months, we worked a lot on our method for Land Cover map production. Three main topics (1) were studied with Arthur Vincent and David Morin at CESBIO :

  1. porting and validating the iota2 processor on the CNES High Performance Computing facilities (HPC);
  2. enhancing the method for reference data preparation. Reference data are used both for training and validation;
  3. developing a stratification method which allows to train and apply classifiers per eco-climatic area, for instance.

Using all these new features, we produced a lot (really a lot!) of maps for the continental France. We just released the 4 following examples, produced using all the available LANDSAT8 data in 2014 :

  • regarding reference data :
    1. including 4 classes of artificial surfaces : continuous urban , dicontinuous urban, road surfaces, and commercial and industrial areas (2);
    2. only one artificial class that gathers the 4 above (3);
  • regarding the stratification method :
    1. using eco-climatic areas (4);
    2. without stratification, but using a fusion of several classifiers trained over different sets of tiles.
The pink urban spot, in the center of brown zone, is the village of Chateauneuf du Pape which is famous for its wine, and the brown color is the vineyard class. Validated !

Continue reading