Les effets atmosphériques, comment ça marche ?

=>

L'atmosphère perturbe l'observation de la surface terrestre depuis un instrument optique sur un satellite. Deux effets atmosphériques se conjuguent pour altérer les images :

  • l'absorption du rayonnement par les molécules de l'air
  • la diffusion du rayonnement par les molécules et les aérosols (sans compter les nuages)

 

Voici deux images SPOT4 (Take5), acquises à 5 jours d'écart, au dessus du Maroc, avec des effets atmosphériques plus prononcés sur la deuxième date en raison d'une plus grande quantité d'aérosols en suspension dans l'atmosphère. La deuxième image est moins nette et plus "laiteuse" que la première.

 

L'absorption :
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. Les bandes d'absorption bien visibles.

Les molécules absorbent le rayonnement sur des bandes d'absorption souvent très étroites. A ces longueurs d'onde, le rayonnement est d'autant plus absorbé que l'abondance des molécules absorbantes est importante. La réflectance observée par le satellite est donc atténuée, et dans certains cas, pour de très fortes bandes d’absorption, le rayonnement peut même être totalement absorbé, et la réflectance observée est nulle (par exemple, à 1.4µm dans la figure ci-jointe, on se servira de cette propriété pour la détection des nuages hauts, avec Landsat-8 ou Sentinel-2).

 

Heureusement, les concepteurs des satellites choisissent des bandes spctrales éloignées des fortes absorptions (mais méfiez vous des concepteurs de satellites ;-) ). Dans les bandes retenues, l'effet de l’absorption est en général suffisamment faible pour qu'une connaissance peu précise de l'abondance de l'élément absorbant suffise à produire une correction précise de l'atténuation. L'information sur l'abondance des différentes molécules peut-être fournie par des analyses météorologiques (ozone, vapeur d'eau...).

 

La diffusion :

Les molécules de l'air diffusent le rayonnement lumineux. Un photon passant à proximité d'une molécule va voir sa trajectoire déviée dans une autre direction. Comme les molécules de l'air sont très petites, comparées aux longueurs d'onde du visible, elles vont avoir tendance à surtout dévier les courtes longueurs d'onde plutôt que les grandes longueur d'onde. Le ciel bleu résulte de la diffusion du rayonnement solaire par les molécules de l'air, puisque la lumière bleue envoyée par le soleil a une forte tendance à être déviée dans une autre direction, alors que les autres longueurs d'onde sont mieux transmises. Un nuage diffuse aussi la lumière, mais comme il est composé de grosses particules (gouttes ou cristaux), il dévie de la même manière toutes les longueurs d'onde, d'où sa couleur blanche.

 

En dehors des molécules et des nuages, la diffusion peut aussi être due aux aérosols : ceux-ci sont des particules de nature diverse (sulfates entourés d'eau, suies, poussières...), en suspension dans l'atmosphère. Leur quantité, leur type et leur taille sont extrêmement variables, et donc leur effet sur le rayonnement peut être très variable. Les aérosols de petite taille diffusent surtout la lumière bleue, alors que les aérosols de grande taille diffusent toutes les longueurs d'onde. Certains aérosols peuvent aussi absorber une partie du rayonnement. La variabilité de la quantité et du type d'aérosols rend la correction de leurs effets très complexe.

La vidéo ci-dessous, fournie par la NASA, donne une idée des évolutions des quantités et types d'aérosols jour par jour sur près de deux ans (la couleur indique différents types d'aérosols).

 

 

Modélisation simplifiée :

D'une manière très simplifiée (trop simplifiée pour les puristes), on peut modéliser les effets atmosphériques de la manière suivante :

ρTOA= Tgatm +Td ρsurf)

  • ρTOA est la réflectance au sommet de l'atmosphère
  • ρsurf est la réflectance de surface qu'on cherche à mesurer
  • ρatm est la réflectance de l'atmosphère, qu'on observerait au dessus d'un sol noir.
  • Tg est la transmission gazeuse, inférieure à 1
  • Td est la transmission due à la diffusion, inférieure à 1.

Quand l'abondance d'aérosols augmente, on observe que ρatm augmente, alors que Td diminue. Ces deux variables varient aussi avec les angles d'observation et avec la position du soleil. Plus on est près de la verticale, plus ρatm est petit, et plus Td est proche de 1.

 

Effets d'environnement :

La modélisation ci-dessus n'est valable que pour un paysage uniforme, mais une atmosphère fortement chargée en aérosols va aussi rendre les images acquises à haute résolution plus floues. Tout ceci est expliqué dans un autre article.

 

Modèles, corrections.

Plusieurs modèles permettent de faire des corrections atmosphériques. Pour des corrections atmosphériques approchées, le modèle le plus simple d'utilisation est le modèle SMAC, disponible sur le site du CESBIO. Toute la difficulté est de fournir à SMAC les propriétés optiques de l'atmosphère, et notamment l'abondance et le type d'aérosols. Cette opération est décrite dans un autre article.

D'autres modèles, plus précis mais plus complexes, peuvent être utilisés. De notre côté, dans la chaîne MACCS, nous calculons à l'avance des tableaux, à partir d'un "code de transfert radiatif" qui simule le transfert de la lumière au travers de l'atmosphère (Successive Orders of Scattering). Toutefois, l'utilisation d'un code complexe ne se justifie que si on dispose d'une bonne connaissance sur la quantité d'aérosols et leur type.

La détection des ombres de nuages, comment ça marche ?

=>

Les ombres des nuages sont sombres, et ont été causées par la présence d'un nuage.

A l'exception de ces deux faits, on ne dispose pas de beaucoup d'informations pour détecter une ombre, et pour cette raison, les ombres sont encore plus difficiles à détecter que les nuages. Les ombres ne sont pas les seuls objets sombres, et les ombres de nuages peuvent être confondues avec des parcelles de sols nus humides, avec des étendues d'eau, ou avec des ombres projetées par le relief.

Ici encore, l'observation multi-temporelle peut aider à la détection, puis qu'il y aura moins de confusions si on détecte un assombrissement brutal de l'image. Cependant, l'effet d'une pluie ou d'une irrigation sur un sol nu peut-être similaire à l'effet d'une ombre de nuages.

Pour être sûr que les pixels détectés comme une ombre sont bien des ombres, il est donc bien utile de vérifier si l'on trouve le nuage qui les auraient créées.

Dans notre chaîne de traitement, nous procédons de la manière suivante :

1. Détection des nuages
2. Calcul de la différence entre l'image à traiter, et une image de référence acquise précédemment, dans la bande rouge
3. Recherche de l'altitude des nuages. Pour une altitude allant de 500 à 10000m :

  • calcul de la position éventuelle des ombres.
  • calcul de l'assombrissement moyen observé pour cette position à partir de l'image différence calculée lors de l'étape 2.

4. Recherche de l'altitude pour laquelle l'assombrissement est maximal
5. Calcul du masque d'ombres à partir du masque de nuages projeté pour l'altitude calculée lors de l'étape 4

Malheureusement, il se peut que des nuages situés en dehors de l'image projettent leurs ombres dans l'image. Ces ombres là ne seront pas détectées par la méthode ci-dessus. Si l'on tient compte du fait que les nuages peuvent atteindre 5 à 10 kilomètres d'altitude, et qu'en hiver, l'élévation solaire peut être faible, la surface concernée par ce problème peut être assez étendue. Sur ce plan là, les meilleures images sont les plus grandes, et c'est Sentinel-2 avec 300 km de largeur, qui remportera la palme.

The detection of cloud shadows : how it works.

=>

The cloud shadows are dark and, of course, they are due the presence of a nearby cloud.

Apart from these facts, there is not much information to detect clouds, and for this reason, the cloud shadows are even more difficult to detect than the clouds themselves.

The shadows are not the only dark objects, and cloud shadows can be confused with plots of bare soil, with water bodies or with shadows cast by the terrain. Again, using multi-temporal methods can reduce the risk of confusion : here the algorithm must detect a sudden darkening of a pixel. However, the effect of plowing, rainfall or irrigation on a bare soil may be similar to the effect of a cloud shadow.

To be sure that the pixels that suddenly darkened are true cloud shadows, it is useful to check that the shadow matches the cloud that casted it.

In our processor, we do as follows :

1. Cloud detection
2. Compute the difference between the processed image and a previous image (using the red spectral band)
3. For an altitude between 500m and 10000m :

  • compute the cloud shadow projection for this altitude.
  • compute the average darkening for this altitude from the diference image obtained at step 2.

4. Find the altitude for which the darkening is maximal
5. Compute the shadow mask from the cloud mask, for the altitude obtained at step 4.

However, one has to pay attention that some clouds, outside the image may cast shadows within the image. As the clouds may reach 5 to 10 km altitude, and the solar elevation may be low in winter, some shadows  in a large par of the image near the borders mays be missed. With this regard, the larger the image the better. This will be the case with sentinel 2.

 

La détection des nuages, comment ça marche ?

=>

Les nuages sont blancs, brillants, plutôt hauts dans le ciel. Leur température est en général plus basse que celle de la surface. Ils se déplacent et changent d'aspect, il n'y a donc jamais le même nuage au dessus du même endroit. Les nuages produisent des ombres sur le sol.

Toutes ces propriétés peuvent être utilisées pour détecter automatiquement les nuages.

 

Détection classique

Lorsqu'on ne dispose pas d'une série temporelle, la technique de base consiste à seuiller l'image d'une des bandes spectrales dans les courtes longueurs d'onde, de préférence dans le bleu. Les pixels dont la réflectance dépasse le seuil sont déclarés nuageux. Cette méthode n'est cependant pas très subtile et souvent ne parvient pas à détecter les nuages fins, elle fait aussi de nombreuses fausses détections. On peut aussi vérifier que le nuage est blanc, mais l'apport de cette vérification n'est pas énorme car les nuages fins ne sont pas parfaitement blancs, alors que de nombreux pixels brillants sont blancs, dans les villes par exemple.

 

Détection multi-temporelle

Les nuages détectés par la méthode multi-temporelle sur cette image Formosat-2 sont entourés de blanc. Noter que certaines parcelles agricoles sont plus brillantes que certains nuages. Cliquer sur l'image pour voir l'animation.

Lorsqu'on dispose de séries temporelles d'images de satellites à acquisition systématique, obtenues sous un angle à peu près constant, comme c'est le cas pour SPOT4(Take5),  Venµs, LANDSAT, Sentinel-2, on peut utiliser des critères temporels pour détecter les nuages.

 

La réflectance des surfaces terrestres évolue en général lentement, mais lorsqu'un nuage apparaît, la réflectance augmente brusquement. En comparant donc l'image à traiter avec une image précédente, on peut classer comme nuages les pixels pour lesquels la réflectance dans le bleu a notablement augmenté. On peut aussi vérifier que les pixels ainsi détectés ont un spectre plus blanc que dans l'image précédente. Cette méthode améliore très fortement la discrimination entre pixels nuageux et pixels clairs.

 

Cependant, cette méthode de détection présente un coût, car elle oblige à traiter les données dans l'ordre chronologique et empêche un traitement indépendant par image. Elle complique donc le centre de traitement et nuit également à la parallélisation des traitements. C'est cependant cette méthode que nous mettons en place dans MUSCATE, pour traiter les données de SPOT4(Take5), LANDSAT, Venµs et Sentinel-2.

 

Pour en savoir plus sur cette méthode, utilisée dans la chaîne de niveau 2A MACCS :

Hagolle, O., Huc, M.,  Villa Pascual D., & Dedieu, G. (2010). A multi-temporal method for cloud detection, applied to FORMOSAT-2, VENµS, LANDSAT and SENTINEL-2 images. Remote Sensing of Environment, 114(8), 1747-1755.

 

Détection des nuages hauts dans une bande d'absorption

Les traces d'avion seront beaucoup plus faciles à détecter avec la nouvelle bande 1380nm présente sur Landsat 8 et Sentinel-2.

Sur Sentinel-2 et sur Landsat 8, une nouvelle bande spectrale sera disponible, avec une longueur d'onde de 1380 nm. Cette bande spectrale correspond à une bande d'absorption totale de la vapeur d'eau. A cette longueur d'onde, le rayonnement solaire est totalement absorbé dans son aller retour entre le sommet de l'atmosphère et la surface. En revanche, le rayonnement réfléchi par un nuage à plus de 3000 mètres d'altitude n'est pas totalement absorbé car la vapeur d'eau est majoritairement située dans les basses couches de l'atmosphère. Cette bande va donc nous permettre de détecter les nuages élevés, même s'ils sont fins. Les cirrus sont en général très difficiles à détecter, ce n'est plus le cas avec cette méthode, que avons mise en place dans MACCS pour ces deux satellites.

 

Détection par la température

Les nuages hauts sont en général plus froids que la surface, la présence d'une bande thermique sur les satellites Landsat permet d'utiliser ce critère de détection. Cependant, les variations thermiques de la surface sont importantes d'un jour à l'autre, il est donc difficile de détecter les nuages bas, dont la température est proche de celle de la surface. Nous n'avons pas retenu cette méthode qui ne s'applique qu'à LANDSAT.

 

Détection stéréoscopique

Le satellite Venµs possède deux bandes identiques qui observent les scènes sous deux angles différents. Cette bande permet donc de voir le relief, avec une précision modérée, mais suffisante pour distinguer les nuages de la surface terrestre. Nous utiliserons cette méthode pour Venµs, en complément de la méthode multi-temporelle. Elle devrait permettre de détecter les nuages situés à plus de 500 mètres d'altitude, et surtout, la connaissance de cette altitude facilitera la détection des ombres.

 

Détection des ombres

La détection des ombres est expliquée ici.

The cloud detection : how it works.

=>

Clouds are white, bright, rather high in the sky. Their temperature is generally lower than that of the surface. They move and change appearance, and they cast shadows on the ground.

All these properties can be used to automatically detect clouds.

 

Standard detection

The basic technique consists in thresholding the image of a spectral band in the short wavelength range (preferably a blue band). Pixels whose reflectance is above the threshold are declared cloudy. This method is not very subtle and often does not detect thin clouds, it also makes many false detections. We can also check that the cloud is white, but the contribution of this verification is not really effective, because thin clouds are not perfectly white, while many bright pixels are white, in cities for example.

 

Multi-temporal detection

The clouds detected by the multi-temporal methodon this FORMOSAT-2 image are outlined by white contours. Note that some agricultural plots are brighter than some clouds, with nearly no confusion. Click on the image to view animation

A multi-temporal detection may be applied when time series of satellite images are available, if they are acquired with a roughly constant viewing angle, as in the case of SPOT4 (Take5), Venμs, LANDSAT, and Sentinel-2.

Usually, reflectances of land surfaces change slowly, but when a cloud appears, the reflectance increases sharply. So, by comparing the processed image with a previous image, the pixels for which the reflectance in the blue increased significantly can be classified as clouds, provided the detected pixels have a whiter spectrum than in the previous image. This method greatly improves the discrimination between cloudy and clear pixels.

However, this detection method has a cost, because it requires to process the data in chronological order and therefore prevents processing the image independently. It complicates the processing center and also affects the parallelization of processing. However, this method is implemented in MUSCATE center, to process SPOT4 (Take5), LANDSAT, Venμs and Sentinel-2 time series.

For more details on this method, used in MACCS Level 2A processor :

Hagolle, O., Huc, M., Villa Pascual D., & Dedieu, G. (2010). A multi-temporal method for cloud detection, applied to FORMOSAT-2, VENµS, LANDSAT and SENTINEL-2 images. Remote Sensing of Environment, 114(8), 1747-1755.
Detection of high clouds using an absorption band

Plane contrails will be much easier to detect with the new 1380nm band available on Landsat 8 and Sentinel-2.

On Landsat 8 and Sentinel-2,  a new spectral band is available, at 1380 nm. This spectral band corresponds to a strong water vapour absorption band. At this wavelength, the solar radiation is totally absorbed in his back and forth between the top of the atmosphere and the surface. In contrast, the radiation reflected by a cloud above 3000 meters is not totally absorbed as water vapor is mainly located in the lower layers of the atmosphere. Therefore, a simple threshold on the reflectance of this band enables to detect high clouds. Cirrus clouds are usually very difficult to detect, it will not be the case with this method which is also used within MUSCATE for LANDSAT-8 and Sentinel-2 satellites.

 

Thermal Infrared detection

High clouds are usually colder than the surface, the presence of a thermal band on Landsat satellites enables to use this property as a detection criterion. However, the thermal variations of the earth surface from a day to another are large, and prevent from detecting low clouds which have a temperature close to that of earth surface. We have not used this method as it applies only to LANDSAT.

 

3D detection

The Venµs satellite has two identical bands that observe scenes from two slightly different angles. This couple of bands makes it possible to see the terrain in 3D, with a moderate accuracy, but sufficient to tell the clouds from the surface. We use this method to detect clouds on Venμs data, in addition to the multi-temporal method. It should detect clouds  more than 500 meters high, and most importantly, knowing the cloud altitude will help detecting shadows.

 

Shadow detection

To be continued

L'ortho-rectification, comment ça marche ?

=>

L' "ortho-rectification" est une correction géométrique des images qui a pour but de les présenter comme si elles avaient été acquises depuis la verticale (en télédétection, on dit "au nadir"). En pratique, il s'agit de rendre l'image acquise par le satellite superposable à une carte.

Nous disposons de beaucoup d'informations pour réaliser cette opération :

  • on sait où il se trouve au moment de la prise de vue
  • on sait comment il est orienté
  • on sait comment l'instrument est orienté dans le satellite.

Sur les satellites récents (Pleiades), la précision de ces informations permet de positionner les pixels à mieux que 10 mètres près. Ce n'est pas le cas pour SPOT4, dont l'écart-type de la précision de localisation est de l'ordre de 400 mètres.

Image SPOT4 de niveau 1A en géométrie brute (en Angola) Image de Niveau 1C, ortho-rectifiée

 

Dans le cas de SPOT4, il faut donc "recaler les images", en utilisant des points d'appuis. Prendre un point d'appui consiste à lier un pixel de l'image à un point sur la carte. On peut créer des points d'appuis manuellement en identifiant, par exemple, un même croisement de routes sur la carte et sur l'image.

 

On peut aussi heureusement le faire automatiquement en utilisant une technique appelée "corrélation automatique" que je ne décrirai pas ici. Pour cela, on utilise une image de référence bien localisée et un bon modèle numérique de terrain (une carte du relief). La méthode que nous utilisons est la suivante :

  1. A partir de l'image de référence et des informations fournies par le satellite (les "données auxiliaires"), on simule l'image observée par SPOT4,
  2. on utilise la corrélation automatique (il existe d'autres méthodes) pour observer les décalages entre l'image simulée et l'image réelle.
  3. On en déduit une correction des données auxiliaires pour supprimer les décalages
  4. On peut donc trouver pour chaque point de la carte son correspondant dans l'image
  5. Il ne reste plus qu'à créer la carte par interpolation.

 

Dans nos chaînes, toutes ces opérations sont réalisées à partir d'un logiciel du CNES appelé SIGMA. Ce logiciel n'est pas distribué, mais des fonctions équivalentes existent dans l'OTB (Cf ci-dessous)

 

Pour l'expérience Take5, sur les sites situés en France, nous utilisons une image de référence réalisée par le projet GEOSUD (composante du PTSC), sur la France entière, obtenue à partir de données des satellites RapidEye. Le travail géométrique de correction de ces données RapidEye a été réalisé par l'IGN, les performances de localisation sont très bonnes.

 

Hors de France, nous ne disposons pas d'une telle référence, et nous avons décidé d'utiliser des données issues des satellites LANDSAT, dont la qualité de positionnement est honorable quoique d'un niveau inférieur à celui de GEOSUD (de l'ordre de 30 mètres), mais qui sont disponibles sur le monde entier. Mais nous ne pouvons pas nous permettre de rechercher, pays par pays les meilleures cartographies disponibles.

 

Cette opération demande une dizaine de minutes par image sur nos machines.

 

Pour en savoir plus :

  • Baillarin, S., P. Gigord, et O. Hagolle. 2008. « Automatic Registration of Optical Images, a Stake for Future Missions: Application to Ortho-Rectification, Time Series and Mosaic Products ». In Geoscience and Remote Sensing Symposium, 2008, 2:II‑1112‑II‑1115. doi:10.1109/IGARSS.2008.4779194.

The orthorectification : how it works

=>

The "orthorectification" is a geometrical correction of images that aims at presenting them as if they had been captured from the vertical (in the remote sensing community, we say from "Nadir"), In practice, it transforms the satellite picture in an image that can be regiistered on a map.

 

To do that, the raw (L1A) product provides us with a lot of information

  • we know where the satelllte was when the picture was taken
  • we know how it the satellite is oriented
  • we know how the instrument is oriented in the satellite.

 

On recent satellites (Pleiades), the accuracy of this information allows positioning pixels to better than 10 meters. This is not the case for SPOT4, for which the standard deviation of the positioning accuracy is around 400 meters.

SPOT4 Level 1A image with a raw geometry (in Angola) SPOT4 Level 1C orthorectified image

 

In the case of SPOT4, we must "register" the images, using ground control points (GCP).  To take a GCP is to link a pixel of the image to a point on the map. You can create a GCP manually by identifying, for example, the same crossroads on the map and the image. Fortunately, you can also do this automatically using a technique called "automatic image matching", that I will not describe here.

 

For this, we use a reference image accurately located,  and a good digital terrain model (a relief map). The method we use is as follows:

  • From the reference image and the information provided by the satellite (the "ancillary data"), we simulate the image that should have been observed by SPOT4 if these ancillary data were accurate
  • We use automatic image matching to measure shifts between the simulated image and the actual image.
  • We deduce how the auxiliary data need to be corrected to remove these offsets
  • We are the able to find the location of all the points in the map within the L1A satellite image
  • Finally, the map is created by interpolation

 

All these operations are carried out using a software developed by CNES, called SIGMA. SIGMA is not distributed outside CNES, but many other frameworks exist among which the OTB, which is also a CNES tool.

 

For the SPOT4(Take5) sites located in France, we use a reference image made by the GEOSUD project  (a component of the French National Land Data Center), covering the whole of France and obtained from RapidEye satellite data. The orthorectification of RapidEye data was conducted by IGN, and its localization performance is very good.

 

Outside France, we do not have such a reference, and we decided to use data from LANDSAT satellites : the quality of positioning of LANDSAT data honorable, though at a lower level than GEOSUD (about 30 meters), but it has the main advantage of being available worldwide.

 

The orthorectification of a SPOT4(Take5) image takes 10 minutes on our computers (using only one core).

 

In more details :

  • Baillarin, S., P. Gigord, et O. Hagolle. 2008. « Automatic Registration of Optical Images, a Stake for Future Missions: Application to Ortho-Rectification, Time Series and Mosaic Products ». In Geoscience and Remote Sensing Symposium, 2008, 2:II‑1112‑II‑1115. doi:10.1109/IGARSS.2008.4779194.

Acquisitions systématiques ou à la demande ?

Exemple de programmation de Pleiades (CNES). Parmi les sites demandés, seuls ceux qui sont reliés à l'orbite sont acquis.

=>

Les satellites d'observation à haute résolution peuvent être répartis en deux catégories :

  • les Satellites à Acquisition à la Demande  (SAD) :

Les utilisateurs demandent une acquisition sur leur site au fournisseur d'images, qui optimise la programmation de manière à satisfaire le maximum d'utilisateurs (et aussi de manière à optimiser son bénéfice). Le fournisseur d'images facture fréquemment un surcoût si l'image doit être acquise à une date précise, et l'utilisateur n'est pas certain d'obtenir une acquisition, sauf s'il paye le coût d'une acquisition prioritaire.

SPOT, Pleiades, Ikonos, Quickbird, Formosat-2, et la plupart des satellites Radar sont des SAD.

 

  • les Satellites à Acquisition Systématique (SAS)

Continue reading